@taiga-ui/kit 3.39.1 → 3.40.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-kit-components-accordion.umd.js +11 -7
- package/bundles/taiga-ui-kit-components-accordion.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-calendar-month.umd.js +1 -1
- package/bundles/taiga-ui-kit-components-calendar-month.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-calendar-range.umd.js +7 -3
- package/bundles/taiga-ui-kit-components-calendar-range.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-files.umd.js +12 -8
- package/bundles/taiga-ui-kit-components-files.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-input-number.umd.js +42 -22
- package/bundles/taiga-ui-kit-components-input-number.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-input-range.umd.js +5 -23
- package/bundles/taiga-ui-kit-components-input-range.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-input-slider.umd.js +5 -1
- package/bundles/taiga-ui-kit-components-input-slider.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-input-tag.umd.js +7 -3
- package/bundles/taiga-ui-kit-components-input-tag.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-pagination.umd.js +22 -25
- package/bundles/taiga-ui-kit-components-pagination.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-pdf-viewer.umd.js +7 -3
- package/bundles/taiga-ui-kit-components-pdf-viewer.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-progress.umd.js +6 -5
- package/bundles/taiga-ui-kit-components-progress.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-prompt.umd.js +1 -1
- package/bundles/taiga-ui-kit-components-prompt.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-push.umd.js +7 -3
- package/bundles/taiga-ui-kit-components-push.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-select-option.umd.js +7 -3
- package/bundles/taiga-ui-kit-components-select-option.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-stepper.umd.js +7 -3
- package/bundles/taiga-ui-kit-components-stepper.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-tabs.umd.js +11 -7
- package/bundles/taiga-ui-kit-components-tabs.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-tag.umd.js +16 -27
- package/bundles/taiga-ui-kit-components-tag.umd.js.map +1 -1
- package/bundles/{taiga-ui-kit-components-text-area.umd.js → taiga-ui-kit-components-textarea.umd.js} +81 -64
- package/bundles/taiga-ui-kit-components-textarea.umd.js.map +1 -0
- package/bundles/taiga-ui-kit-components-tiles.umd.js +5 -0
- package/bundles/taiga-ui-kit-components-tiles.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-tree.umd.js +7 -3
- package/bundles/taiga-ui-kit-components-tree.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components.umd.js +6 -6
- package/components/accordion/accordion-item/accordion-item.component.d.ts +3 -1
- package/components/calendar-range/calendar-range.component.d.ts +4 -3
- package/components/files/file/file.component.d.ts +3 -2
- package/components/index.d.ts +1 -1
- package/components/input-number/input-number.component.d.ts +7 -4
- package/components/input-range/input-range.component.d.ts +2 -4
- package/components/input-tag/input-tag.component.d.ts +5 -4
- package/components/pagination/pagination.component.d.ts +7 -6
- package/components/pagination/pagination.module.d.ts +3 -3
- package/components/pdf-viewer/pdf-viewer.component.d.ts +3 -1
- package/components/progress/progress-circle/progress-circle.component.d.ts +1 -1
- package/components/push/push.component.d.ts +3 -1
- package/components/select-option/select-option.component.d.ts +4 -3
- package/components/stepper/step/step.component.d.ts +3 -1
- package/components/tabs/tabs-with-more/tabs-with-more.component.d.ts +3 -1
- package/components/tag/tag.component.d.ts +3 -5
- package/components/tag/tag.module.d.ts +3 -4
- package/components/textarea/deprecated.d.ts +15 -0
- package/components/textarea/index.d.ts +4 -0
- package/components/textarea/package.json +10 -0
- package/components/{text-area/taiga-ui-kit-components-text-area.d.ts → textarea/taiga-ui-kit-components-textarea.d.ts} +1 -1
- package/components/{text-area/text-area.component.d.ts → textarea/textarea.component.d.ts} +3 -3
- package/components/textarea/textarea.directive.d.ts +8 -0
- package/components/{text-area/text-area.module.d.ts → textarea/textarea.module.d.ts} +6 -6
- package/components/tiles/tile.component.d.ts +3 -2
- package/components/tree/components/tree-item-content/tree-item-content.component.d.ts +3 -1
- package/esm2015/components/accordion/accordion-item/accordion-item.component.js +9 -4
- package/esm2015/components/calendar-month/calendar-month.component.js +1 -1
- package/esm2015/components/calendar-range/calendar-range.component.js +9 -5
- package/esm2015/components/files/file/file.component.js +9 -4
- package/esm2015/components/index.js +2 -2
- package/esm2015/components/input-number/input-number.component.js +29 -10
- package/esm2015/components/input-range/input-range.component.js +6 -16
- package/esm2015/components/input-slider/input-slider.component.js +6 -2
- package/esm2015/components/input-tag/input-tag.component.js +9 -5
- package/esm2015/components/pagination/pagination.component.js +18 -12
- package/esm2015/components/pagination/pagination.module.js +5 -8
- package/esm2015/components/pdf-viewer/pdf-viewer.component.js +9 -5
- package/esm2015/components/progress/progress-circle/progress-circle.component.js +7 -6
- package/esm2015/components/prompt/prompt.component.js +1 -1
- package/esm2015/components/push/push.component.js +9 -5
- package/esm2015/components/select-option/select-option.component.js +9 -5
- package/esm2015/components/stepper/step/step.component.js +9 -5
- package/esm2015/components/tabs/tabs-with-more/tabs-with-more.component.js +9 -4
- package/esm2015/components/tag/tag.component.js +12 -16
- package/esm2015/components/tag/tag.module.js +1 -5
- package/esm2015/components/textarea/deprecated.js +16 -0
- package/esm2015/components/textarea/index.js +5 -0
- package/esm2015/components/textarea/taiga-ui-kit-components-textarea.js +5 -0
- package/esm2015/components/textarea/textarea.component.js +217 -0
- package/esm2015/components/textarea/textarea.directive.js +19 -0
- package/esm2015/components/textarea/textarea.module.js +51 -0
- package/esm2015/components/tiles/tile.component.js +6 -1
- package/esm2015/components/tree/components/tree-item-content/tree-item-content.component.js +9 -4
- package/fesm2015/taiga-ui-kit-components-accordion.js +8 -3
- package/fesm2015/taiga-ui-kit-components-accordion.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-calendar-month.js +1 -1
- package/fesm2015/taiga-ui-kit-components-calendar-month.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-calendar-range.js +8 -4
- package/fesm2015/taiga-ui-kit-components-calendar-range.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-files.js +9 -5
- package/fesm2015/taiga-ui-kit-components-files.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-input-number.js +29 -10
- package/fesm2015/taiga-ui-kit-components-input-number.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-input-range.js +5 -15
- package/fesm2015/taiga-ui-kit-components-input-range.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-input-slider.js +5 -1
- package/fesm2015/taiga-ui-kit-components-input-slider.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-input-tag.js +8 -4
- package/fesm2015/taiga-ui-kit-components-input-tag.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-pagination.js +22 -19
- package/fesm2015/taiga-ui-kit-components-pagination.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-pdf-viewer.js +8 -4
- package/fesm2015/taiga-ui-kit-components-pdf-viewer.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-progress.js +6 -5
- package/fesm2015/taiga-ui-kit-components-progress.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-prompt.js +1 -1
- package/fesm2015/taiga-ui-kit-components-prompt.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-push.js +8 -4
- package/fesm2015/taiga-ui-kit-components-push.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-select-option.js +8 -4
- package/fesm2015/taiga-ui-kit-components-select-option.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-stepper.js +8 -4
- package/fesm2015/taiga-ui-kit-components-stepper.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-tabs.js +8 -3
- package/fesm2015/taiga-ui-kit-components-tabs.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-tag.js +12 -19
- package/fesm2015/taiga-ui-kit-components-tag.js.map +1 -1
- package/fesm2015/{taiga-ui-kit-components-text-area.js → taiga-ui-kit-components-textarea.js} +41 -27
- package/fesm2015/taiga-ui-kit-components-textarea.js.map +1 -0
- package/fesm2015/taiga-ui-kit-components-tiles.js +5 -0
- package/fesm2015/taiga-ui-kit-components-tiles.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-tree.js +8 -4
- package/fesm2015/taiga-ui-kit-components-tree.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components.js +1 -1
- package/package.json +5 -5
- package/bundles/taiga-ui-kit-components-text-area.umd.js.map +0 -1
- package/components/text-area/index.d.ts +0 -3
- package/components/text-area/package.json +0 -10
- package/components/text-area/text-area.directive.d.ts +0 -8
- package/esm2015/components/text-area/index.js +0 -4
- package/esm2015/components/text-area/taiga-ui-kit-components-text-area.js +0 -5
- package/esm2015/components/text-area/text-area.component.js +0 -217
- package/esm2015/components/text-area/text-area.directive.js +0 -18
- package/esm2015/components/text-area/text-area.module.js +0 -51
- package/fesm2015/taiga-ui-kit-components-text-area.js.map +0 -1
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
import { DoCheck, ElementRef, OnInit, TemplateRef } from '@angular/core';
|
|
2
2
|
import { NgControl } from '@angular/forms';
|
|
3
3
|
import { AbstractTuiControl, TuiContextWithImplicit, TuiIdentityMatcher } from '@taiga-ui/cdk';
|
|
4
|
-
import { TuiDataListComponent, TuiDataListHost, TuiOptionComponent } from '@taiga-ui/core';
|
|
4
|
+
import { TuiCommonIcons, TuiDataListComponent, TuiDataListHost, TuiOptionComponent } from '@taiga-ui/core';
|
|
5
5
|
import { PolymorpheusComponent } from '@tinkoff/ng-polymorpheus';
|
|
6
6
|
import * as i0 from "@angular/core";
|
|
7
7
|
export declare class TuiSelectOptionComponent<T> implements OnInit, DoCheck {
|
|
8
|
+
readonly icons: TuiCommonIcons;
|
|
8
9
|
readonly context: TuiContextWithImplicit<TemplateRef<Record<string, unknown>>>;
|
|
9
10
|
private readonly host;
|
|
10
11
|
private readonly el;
|
|
@@ -14,13 +15,13 @@ export declare class TuiSelectOptionComponent<T> implements OnInit, DoCheck {
|
|
|
14
15
|
protected readonly abstractControl: AbstractTuiControl<T> | null;
|
|
15
16
|
private readonly changeDetection$;
|
|
16
17
|
readonly selected$: import("rxjs").Observable<boolean>;
|
|
17
|
-
constructor(context: TuiContextWithImplicit<TemplateRef<Record<string, unknown>>>, host: TuiDataListHost<T>, el: ElementRef<HTMLElement>, option: TuiOptionComponent<T>, dataList: TuiDataListComponent<T> | null, control: NgControl, abstractControl: AbstractTuiControl<T> | null);
|
|
18
|
+
constructor(icons: TuiCommonIcons, context: TuiContextWithImplicit<TemplateRef<Record<string, unknown>>>, host: TuiDataListHost<T>, el: ElementRef<HTMLElement>, option: TuiOptionComponent<T>, dataList: TuiDataListComponent<T> | null, control: NgControl, abstractControl: AbstractTuiControl<T> | null);
|
|
18
19
|
get matcher(): TuiIdentityMatcher<T>;
|
|
19
20
|
ngDoCheck(): void;
|
|
20
21
|
ngOnInit(): void;
|
|
21
22
|
protected get value(): T | null;
|
|
22
23
|
protected get selected(): boolean;
|
|
23
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<TuiSelectOptionComponent<any>, [null, null, null, null, { optional: true; }, null, { optional: true; }]>;
|
|
24
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<TuiSelectOptionComponent<any>, [null, null, null, null, null, { optional: true; }, null, { optional: true; }]>;
|
|
24
25
|
static ɵcmp: i0.ɵɵComponentDeclaration<TuiSelectOptionComponent<any>, "tui-select-option", never, {}, {}, never, never>;
|
|
25
26
|
}
|
|
26
27
|
export declare const TUI_SELECT_OPTION: PolymorpheusComponent<TuiSelectOptionComponent<unknown>, any>;
|
|
@@ -1,15 +1,17 @@
|
|
|
1
1
|
import { ElementRef } from '@angular/core';
|
|
2
2
|
import { TuiFocusVisibleService } from '@taiga-ui/cdk';
|
|
3
|
+
import { TuiCommonIcons } from '@taiga-ui/core';
|
|
3
4
|
import { Observable } from 'rxjs';
|
|
4
5
|
import { TuiStepperComponent } from '../stepper.component';
|
|
5
6
|
import * as i0 from "@angular/core";
|
|
6
7
|
export declare class TuiStepComponent {
|
|
7
8
|
private readonly stepper;
|
|
8
9
|
private readonly el;
|
|
10
|
+
readonly icons: TuiCommonIcons;
|
|
9
11
|
stepState: 'error' | 'normal' | 'pass';
|
|
10
12
|
icon: string;
|
|
11
13
|
focusVisible: boolean;
|
|
12
|
-
constructor(focusVisible$: TuiFocusVisibleService, routerLinkActive$: Observable<boolean>, stepper: TuiStepperComponent, el: ElementRef<HTMLElement
|
|
14
|
+
constructor(focusVisible$: TuiFocusVisibleService, routerLinkActive$: Observable<boolean>, stepper: TuiStepperComponent, el: ElementRef<HTMLElement>, icons: TuiCommonIcons);
|
|
13
15
|
get isActive(): boolean;
|
|
14
16
|
get isVertical(): boolean;
|
|
15
17
|
get tabIndex(): number;
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { AfterViewInit, ChangeDetectorRef, ElementRef, EventEmitter, QueryList, TemplateRef } from '@angular/core';
|
|
2
2
|
import { TuiActiveZoneDirective, TuiContextWithImplicit } from '@taiga-ui/cdk';
|
|
3
|
+
import { TuiArrowOptions } from '@taiga-ui/kit/components/arrow';
|
|
3
4
|
import { PolymorpheusContent } from '@tinkoff/ng-polymorpheus';
|
|
4
5
|
import { Observable } from 'rxjs';
|
|
5
6
|
import { TuiTabsOptions } from '../tabs.options';
|
|
@@ -11,6 +12,7 @@ export declare class TuiTabsWithMoreComponent implements AfterViewInit {
|
|
|
11
12
|
private readonly el;
|
|
12
13
|
private readonly cdr;
|
|
13
14
|
readonly moreWord$: Observable<string>;
|
|
15
|
+
readonly arrowOptions: TuiArrowOptions;
|
|
14
16
|
private readonly moreButton?;
|
|
15
17
|
private maxIndex;
|
|
16
18
|
moreContent: PolymorpheusContent;
|
|
@@ -21,7 +23,7 @@ export declare class TuiTabsWithMoreComponent implements AfterViewInit {
|
|
|
21
23
|
readonly activeItemIndexChange: EventEmitter<number>;
|
|
22
24
|
readonly items: QueryList<TemplateRef<Record<string, unknown>>>;
|
|
23
25
|
open: boolean;
|
|
24
|
-
constructor(options: TuiTabsOptions, margin: number, refresh$: Observable<unknown>, el: ElementRef<HTMLElement>, cdr: ChangeDetectorRef, moreWord$: Observable<string
|
|
26
|
+
constructor(options: TuiTabsOptions, margin: number, refresh$: Observable<unknown>, el: ElementRef<HTMLElement>, cdr: ChangeDetectorRef, moreWord$: Observable<string>, arrowOptions: TuiArrowOptions);
|
|
25
27
|
get tabs(): readonly HTMLElement[];
|
|
26
28
|
get activeElement(): HTMLElement | null;
|
|
27
29
|
get isMoreAlone(): boolean;
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { ElementRef, EventEmitter } from '@angular/core';
|
|
2
|
-
import {
|
|
3
|
-
import { TuiBrightness, TuiSizeL, TuiSizeS, TuiSizeXS, TuiTextfieldController } from '@taiga-ui/core';
|
|
2
|
+
import { TuiBrightness, TuiCommonIcons, TuiSizeL, TuiSizeS, TuiSizeXS } from '@taiga-ui/core';
|
|
4
3
|
import { TuiStatus } from '@taiga-ui/kit/types';
|
|
5
4
|
import { PolymorpheusContent } from '@tinkoff/ng-polymorpheus';
|
|
6
5
|
import { Observable } from 'rxjs';
|
|
@@ -10,7 +9,7 @@ export declare class TuiTagComponent {
|
|
|
10
9
|
private readonly el;
|
|
11
10
|
readonly mode$: Observable<TuiBrightness | null>;
|
|
12
11
|
private readonly options;
|
|
13
|
-
readonly
|
|
12
|
+
readonly icons: TuiCommonIcons;
|
|
14
13
|
value: string;
|
|
15
14
|
editable: boolean;
|
|
16
15
|
separator: RegExp | string;
|
|
@@ -27,12 +26,11 @@ export declare class TuiTagComponent {
|
|
|
27
26
|
editing: boolean;
|
|
28
27
|
editedText: string | null;
|
|
29
28
|
set input(input: ElementRef<HTMLInputElement>);
|
|
30
|
-
constructor(el: ElementRef<HTMLElement>, mode$: Observable<TuiBrightness | null>, options: TuiTagOptions,
|
|
29
|
+
constructor(el: ElementRef<HTMLElement>, mode$: Observable<TuiBrightness | null>, options: TuiTagOptions, icons: TuiCommonIcons);
|
|
31
30
|
get backgroundColor(): string | null;
|
|
32
31
|
get canRemove(): boolean;
|
|
33
32
|
get displayText(): string;
|
|
34
33
|
get loaderSize(): TuiSizeXS;
|
|
35
|
-
get iconCleaner(): PolymorpheusContent<TuiContextWithImplicit<TuiSizeL | TuiSizeS>>;
|
|
36
34
|
edit(event: Event): void;
|
|
37
35
|
remove(event: Event): void;
|
|
38
36
|
onInput(value: string): void;
|
|
@@ -2,11 +2,10 @@ import * as i0 from "@angular/core";
|
|
|
2
2
|
import * as i1 from "./tag.component";
|
|
3
3
|
import * as i2 from "@angular/common";
|
|
4
4
|
import * as i3 from "@angular/forms";
|
|
5
|
-
import * as i4 from "@taiga-ui/
|
|
6
|
-
import * as i5 from "@
|
|
7
|
-
import * as i6 from "@tinkoff/ng-polymorpheus";
|
|
5
|
+
import * as i4 from "@taiga-ui/core";
|
|
6
|
+
import * as i5 from "@tinkoff/ng-polymorpheus";
|
|
8
7
|
export declare class TuiTagModule {
|
|
9
8
|
static ɵfac: i0.ɵɵFactoryDeclaration<TuiTagModule, never>;
|
|
10
|
-
static ɵmod: i0.ɵɵNgModuleDeclaration<TuiTagModule, [typeof i1.TuiTagComponent], [typeof i2.CommonModule, typeof i3.FormsModule, typeof i4.
|
|
9
|
+
static ɵmod: i0.ɵɵNgModuleDeclaration<TuiTagModule, [typeof i1.TuiTagComponent], [typeof i2.CommonModule, typeof i3.FormsModule, typeof i4.TuiSvgModule, typeof i4.TuiLoaderModule, typeof i5.PolymorpheusModule], [typeof i1.TuiTagComponent]>;
|
|
11
10
|
static ɵinj: i0.ɵɵInjectorDeclaration<TuiTagModule>;
|
|
12
11
|
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { TuiTextareaComponent } from './textarea.component';
|
|
2
|
+
import { TuiTextareaDirective } from './textarea.directive';
|
|
3
|
+
import { TuiTextareaModule } from './textarea.module';
|
|
4
|
+
/**
|
|
5
|
+
* @deprecated: use {@link TuiTextareaComponent}
|
|
6
|
+
*/
|
|
7
|
+
export declare const TuiTextAreaComponent: typeof TuiTextareaComponent;
|
|
8
|
+
/**
|
|
9
|
+
* @deprecated: use {@link TuiTextareaDirective}
|
|
10
|
+
*/
|
|
11
|
+
export declare const TuiTextAreaDirective: typeof TuiTextareaDirective;
|
|
12
|
+
/**
|
|
13
|
+
* @deprecated: use {@link TuiTextareaModule}
|
|
14
|
+
*/
|
|
15
|
+
export declare const TuiTextAreaModule: typeof TuiTextareaModule;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
{
|
|
2
|
+
"main": "../../bundles/taiga-ui-kit-components-textarea.umd.js",
|
|
3
|
+
"module": "../../fesm2015/taiga-ui-kit-components-textarea.js",
|
|
4
|
+
"es2015": "../../fesm2015/taiga-ui-kit-components-textarea.js",
|
|
5
|
+
"esm2015": "../../esm2015/components/textarea/taiga-ui-kit-components-textarea.js",
|
|
6
|
+
"fesm2015": "../../fesm2015/taiga-ui-kit-components-textarea.js",
|
|
7
|
+
"typings": "taiga-ui-kit-components-textarea.d.ts",
|
|
8
|
+
"sideEffects": false,
|
|
9
|
+
"name": "@taiga-ui/kit/components/textarea"
|
|
10
|
+
}
|
|
@@ -8,7 +8,7 @@ import * as i0 from "@angular/core";
|
|
|
8
8
|
export declare const DEFAULT_ROWS = 20;
|
|
9
9
|
export declare const LINE_HEIGHT_M = 20;
|
|
10
10
|
export declare const LINE_HEIGHT_L = 24;
|
|
11
|
-
export declare class
|
|
11
|
+
export declare class TuiTextareaComponent extends AbstractTuiControl<string> implements TuiFocusableElementAccessor {
|
|
12
12
|
readonly isIOS: boolean;
|
|
13
13
|
readonly mode$: Observable<TuiBrightness | null>;
|
|
14
14
|
readonly controller: TuiTextfieldController;
|
|
@@ -46,6 +46,6 @@ export declare class TuiTextAreaComponent extends AbstractTuiControl<string> imp
|
|
|
46
46
|
protected getFallbackValue(): string;
|
|
47
47
|
private get lineHeight();
|
|
48
48
|
private get placeholderRaisable();
|
|
49
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<
|
|
50
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<
|
|
49
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<TuiTextareaComponent, [{ optional: true; self: true; }, null, null, null, null, { optional: true; }]>;
|
|
50
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<TuiTextareaComponent, "tui-textarea, tui-text-area", never, { "rows": "rows"; "maxLength": "maxLength"; "expandable": "expandable"; }, {}, ["textfield"], ["*", "textarea"]>;
|
|
51
51
|
}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { AbstractTuiTextfieldHost } from '@taiga-ui/core';
|
|
2
|
+
import { TuiTextareaComponent } from './textarea.component';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export declare class TuiTextareaDirective extends AbstractTuiTextfieldHost<TuiTextareaComponent> {
|
|
5
|
+
onValueChange(value: string): void;
|
|
6
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<TuiTextareaDirective, never>;
|
|
7
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<TuiTextareaDirective, "tui-textarea, tui-text-area", never, {}, {}, never>;
|
|
8
|
+
}
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import * as i0 from "@angular/core";
|
|
2
|
-
import * as i1 from "./
|
|
3
|
-
import * as i2 from "./
|
|
2
|
+
import * as i1 from "./textarea.component";
|
|
3
|
+
import * as i2 from "./textarea.directive";
|
|
4
4
|
import * as i3 from "@angular/common";
|
|
5
5
|
import * as i4 from "@angular/forms";
|
|
6
6
|
import * as i5 from "@taiga-ui/cdk";
|
|
7
7
|
import * as i6 from "@taiga-ui/core";
|
|
8
8
|
import * as i7 from "@tinkoff/ng-polymorpheus";
|
|
9
|
-
export declare class
|
|
10
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<
|
|
11
|
-
static ɵmod: i0.ɵɵNgModuleDeclaration<
|
|
12
|
-
static ɵinj: i0.ɵɵInjectorDeclaration<
|
|
9
|
+
export declare class TuiTextareaModule {
|
|
10
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<TuiTextareaModule, never>;
|
|
11
|
+
static ɵmod: i0.ɵɵNgModuleDeclaration<TuiTextareaModule, [typeof i1.TuiTextareaComponent, typeof i2.TuiTextareaDirective], [typeof i3.CommonModule, typeof i4.FormsModule, typeof i5.TuiFocusableModule, typeof i6.TuiScrollbarModule, typeof i6.TuiTooltipModule, typeof i6.TuiWrapperModule, typeof i6.TuiSvgModule, typeof i6.TuiPrimitiveTextfieldModule, typeof i7.PolymorpheusModule], [typeof i1.TuiTextareaComponent, typeof i2.TuiTextareaDirective, typeof i6.TuiTextfieldComponent]>;
|
|
12
|
+
static ɵinj: i0.ɵɵInjectorDeclaration<TuiTextareaModule>;
|
|
13
13
|
}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { ElementRef, NgZone } from '@angular/core';
|
|
1
|
+
import { ElementRef, NgZone, OnDestroy } from '@angular/core';
|
|
2
2
|
import { BehaviorSubject, Observable } from 'rxjs';
|
|
3
3
|
import { TuiTilesComponent } from './tiles.component';
|
|
4
4
|
import * as i0 from "@angular/core";
|
|
5
|
-
export declare class TuiTileComponent {
|
|
5
|
+
export declare class TuiTileComponent implements OnDestroy {
|
|
6
6
|
private readonly ngZone;
|
|
7
7
|
private readonly el;
|
|
8
8
|
private readonly tiles;
|
|
@@ -25,6 +25,7 @@ export declare class TuiTileComponent {
|
|
|
25
25
|
onEnter(): void;
|
|
26
26
|
onDrag(dragged: boolean): void;
|
|
27
27
|
onTransitionEnd(): void;
|
|
28
|
+
ngOnDestroy(): void;
|
|
28
29
|
static ɵfac: i0.ɵɵFactoryDeclaration<TuiTileComponent, never>;
|
|
29
30
|
static ɵcmp: i0.ɵɵComponentDeclaration<TuiTileComponent, "tui-tile", never, { "width": "width"; "height": "height"; }, {}, never, ["*"]>;
|
|
30
31
|
}
|
|
@@ -1,9 +1,11 @@
|
|
|
1
|
+
import { TuiCommonIcons } from '@taiga-ui/core';
|
|
1
2
|
import type { TuiTreeController, TuiTreeItemContext } from '../../misc/tree.interfaces';
|
|
2
3
|
import * as i0 from "@angular/core";
|
|
3
4
|
export declare class TuiTreeItemContentComponent {
|
|
5
|
+
readonly icons: TuiCommonIcons;
|
|
4
6
|
readonly context: TuiTreeItemContext;
|
|
5
7
|
private readonly controller;
|
|
6
|
-
constructor(context: TuiTreeItemContext, controller: TuiTreeController);
|
|
8
|
+
constructor(icons: TuiCommonIcons, context: TuiTreeItemContext, controller: TuiTreeController);
|
|
7
9
|
get isExpanded(): boolean;
|
|
8
10
|
get isExpandable(): boolean;
|
|
9
11
|
onClick(): void;
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ContentChild, EventEmitter, HostBinding, Inject, Input, Output, ViewChild, } from '@angular/core';
|
|
2
2
|
import { AbstractTuiInteractive, tuiAsFocusableItemAccessor, tuiIsNativeFocused, } from '@taiga-ui/cdk';
|
|
3
3
|
import { MODE_PROVIDER, TUI_MODE } from '@taiga-ui/core';
|
|
4
|
+
import { TUI_ARROW_OPTIONS } from '@taiga-ui/kit/components/arrow';
|
|
4
5
|
import { TuiAccordionItemContentDirective } from './accordion-item-content.directive';
|
|
5
6
|
import { TuiAccordionItemEagerContentDirective } from './accordion-item-eager-content.directive';
|
|
6
7
|
import * as i0 from "@angular/core";
|
|
@@ -10,10 +11,11 @@ import * as i3 from "@angular/common";
|
|
|
10
11
|
import * as i4 from "@tinkoff/ng-polymorpheus";
|
|
11
12
|
import * as i5 from "rxjs";
|
|
12
13
|
export class TuiAccordionItemComponent extends AbstractTuiInteractive {
|
|
13
|
-
constructor(cdr, mode
|
|
14
|
+
constructor(cdr, mode$, options) {
|
|
14
15
|
super();
|
|
15
16
|
this.cdr = cdr;
|
|
16
17
|
this.mode$ = mode$;
|
|
18
|
+
this.options = options;
|
|
17
19
|
this.noPadding = false;
|
|
18
20
|
this.showArrow = true;
|
|
19
21
|
this.borders = 'all';
|
|
@@ -62,8 +64,8 @@ export class TuiAccordionItemComponent extends AbstractTuiInteractive {
|
|
|
62
64
|
this.openChange.emit(open);
|
|
63
65
|
}
|
|
64
66
|
}
|
|
65
|
-
TuiAccordionItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiAccordionItemComponent, deps: [{ token: ChangeDetectorRef }, { token: TUI_MODE }], target: i0.ɵɵFactoryTarget.Component });
|
|
66
|
-
TuiAccordionItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: TuiAccordionItemComponent, selector: "tui-accordion-item", inputs: { noPadding: "noPadding", showArrow: "showArrow", borders: "borders", size: "size", disabled: "disabled", disableHover: "disableHover", open: "open", async: "async" }, outputs: { openChange: "openChange" }, host: { listeners: { "$.data-mode.attr": "mode$" }, properties: { "class._no-padding": "this.noPadding", "class._has-arrow": "this.showArrow", "attr.data-borders": "this.borders", "attr.data-size": "this.size", "class._disabled": "this.disabled" } }, providers: [tuiAsFocusableItemAccessor(TuiAccordionItemComponent), MODE_PROVIDER], queries: [{ propertyName: "eagerContent", first: true, predicate: TuiAccordionItemEagerContentDirective, descendants: true }, { propertyName: "lazyContent", first: true, predicate: TuiAccordionItemContentDirective, descendants: true }], viewQueries: [{ propertyName: "focusableElement", first: true, predicate: ["focusableElement"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<div\n automation-id=\"tui-accordion__item-wrapper\"\n class=\"t-wrapper\"\n>\n <button\n #focusableElement\n automation-id=\"tui-accordion__item-header\"\n type=\"button\"\n class=\"t-header\"\n [disabled]=\"computedDisabled\"\n [class.t-header_open]=\"open\"\n [class.t-header_hoverable]=\"!disableHover\"\n [tuiFocusable]=\"computedFocusable\"\n (tuiFocusVisibleChange)=\"onFocusVisible($event)\"\n (tuiFocusedChange)=\"onFocused($event)\"\n (keydown.esc)=\"onItemKeyDownEsc($event)\"\n (click)=\"onRowToggle()\"\n >\n <span\n automation-id=\"tui-accordion__item-title\"\n class=\"t-title\"\n >\n <ng-content></ng-content>\n </span>\n <tui-svg\n
|
|
67
|
+
TuiAccordionItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiAccordionItemComponent, deps: [{ token: ChangeDetectorRef }, { token: TUI_MODE }, { token: TUI_ARROW_OPTIONS }], target: i0.ɵɵFactoryTarget.Component });
|
|
68
|
+
TuiAccordionItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: TuiAccordionItemComponent, selector: "tui-accordion-item", inputs: { noPadding: "noPadding", showArrow: "showArrow", borders: "borders", size: "size", disabled: "disabled", disableHover: "disableHover", open: "open", async: "async" }, outputs: { openChange: "openChange" }, host: { listeners: { "$.data-mode.attr": "mode$" }, properties: { "class._no-padding": "this.noPadding", "class._has-arrow": "this.showArrow", "attr.data-borders": "this.borders", "attr.data-size": "this.size", "class._disabled": "this.disabled" } }, providers: [tuiAsFocusableItemAccessor(TuiAccordionItemComponent), MODE_PROVIDER], queries: [{ propertyName: "eagerContent", first: true, predicate: TuiAccordionItemEagerContentDirective, descendants: true }, { propertyName: "lazyContent", first: true, predicate: TuiAccordionItemContentDirective, descendants: true }], viewQueries: [{ propertyName: "focusableElement", first: true, predicate: ["focusableElement"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<div\n automation-id=\"tui-accordion__item-wrapper\"\n class=\"t-wrapper\"\n>\n <button\n #focusableElement\n automation-id=\"tui-accordion__item-header\"\n type=\"button\"\n class=\"t-header\"\n [disabled]=\"computedDisabled\"\n [class.t-header_open]=\"open\"\n [class.t-header_hoverable]=\"!disableHover\"\n [tuiFocusable]=\"computedFocusable\"\n (tuiFocusVisibleChange)=\"onFocusVisible($event)\"\n (tuiFocusedChange)=\"onFocused($event)\"\n (keydown.esc)=\"onItemKeyDownEsc($event)\"\n (click)=\"onRowToggle()\"\n >\n <span\n automation-id=\"tui-accordion__item-title\"\n class=\"t-title\"\n >\n <ng-content></ng-content>\n </span>\n <ng-container *ngIf=\"showArrow\">\n <tui-svg\n *polymorpheusOutlet=\"options.iconLarge as src\"\n automation-id=\"tui-accordion__item-arrow\"\n class=\"t-icon\"\n [class.t-icon_open]=\"open\"\n [src]=\"src\"\n ></tui-svg>\n </ng-container>\n </button>\n <tui-expand\n [async]=\"async\"\n [expanded]=\"open\"\n >\n <ng-template tuiExpandContent>\n <div\n *ngIf=\"lazyContent\"\n automation-id=\"tui-accordion__item-content\"\n class=\"t-content\"\n >\n <ng-container *polymorpheusOutlet=\"lazyContent as text\">\n {{ text }}\n </ng-container>\n </div>\n </ng-template>\n <div\n *ngIf=\"eagerContent\"\n class=\"t-content\"\n >\n <ng-content select=\"[tuiAccordionItemContent]\"></ng-content>\n </div>\n </tui-expand>\n</div>\n", styles: [":host{position:relative;display:block;overflow:hidden;border-radius:var(--tui-radius-l)}:host[data-borders=top-bottom]{border-radius:0!important}.t-wrapper{position:relative;border-radius:inherit}.t-wrapper:after{position:absolute;top:0;left:0;width:100%;height:100%;content:\"\";box-sizing:border-box;border-radius:inherit;border:1px solid var(--tui-base-04);pointer-events:none}:host:not([data-borders]) .t-wrapper:after{border-width:0}:host[data-borders=all] .t-wrapper:after{border-width:1px}:host[data-borders=top-bottom] .t-wrapper:after{border-left-width:0;border-right-width:0}:host[data-borders=top] .t-wrapper:after{border-left-width:0;border-right-width:0;border-bottom-width:0}:host[data-borders=bottom] .t-wrapper:after{border-left-width:0;border-right-width:0;border-top-width:0}:host[data-mode=onDark] .t-wrapper:after{border-color:var(--tui-base-03)}:host[data-mode=onLight] .t-wrapper:after{border-color:var(--tui-text-01)}:host._focus-visible .t-wrapper:after{border:2px solid var(--tui-focus)}:host:not([data-mode]) .t-wrapper{background:var(--tui-base-01)}.t-header{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:none;font-size:inherit;line-height:inherit;transition-property:background;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;display:flex;width:100%;font:var(--tui-font-text-l);align-items:center;box-sizing:border-box;border-bottom:1px solid var(--tui-base-04);min-height:var(--tui-height-l);padding:.75rem 1.25rem;color:var(--tui-text-01);cursor:pointer;text-align:left;outline:none}:host[data-mode=onDark] .t-header{color:var(--tui-text-01-night);border-color:var(--tui-base-03)}:host[data-mode=onLight] .t-header{border-color:var(--tui-text-01)}:host:not([data-borders]) .t-header{border-bottom-width:0;box-shadow:none}:host._has-arrow .t-header{padding-right:.75rem}:host[data-mode=onDark] .t-header_open{background:var(--tui-clear-inverse)}:host[data-mode=onLight] .t-header_open{background:var(--tui-clear)}:host[data-size=s] .t-header{font:var(--tui-font-text-m);min-height:var(--tui-height-m);padding:.625rem .75rem .625rem 1rem}:host._no-padding .t-header{padding-left:0;padding-right:0}:host._disabled .t-header{cursor:default}:host:hover:not([data-mode]) .t-header_hoverable{background:var(--tui-base-02)}:host:hover[data-mode=onDark] .t-header_hoverable{background:var(--tui-clear-inverse)}:host:hover[data-mode=onLight] .t-header_hoverable{background:var(--tui-clear)}.t-title{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-right:0;flex-grow:1}:host._has-arrow .t-title{margin-right:.5rem}.t-icon{transition-property:transform,color;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;width:1.5rem;height:1.5rem;margin-left:auto;color:var(--tui-base-06)}.t-icon_open{transform:rotate(180deg)}:host[data-mode] .t-icon{opacity:var(--tui-disabled-opacity)}:host:hover[data-mode] .t-icon{opacity:.8}:host[data-mode=onDark] .t-icon{color:var(--tui-text-01-night)}:host[data-mode=onLight] .t-icon{color:var(--tui-text-01)}:host:hover:not([data-mode]) .t-icon{color:var(--tui-base-07)}.t-content{font:var(--tui-font-text-m);padding:1.25rem;word-wrap:break-word}:host[data-size=s] .t-content{font:var(--tui-font-text-s);padding:1rem}\n"], components: [{ type: i1.TuiSvgComponent, selector: "tui-svg", inputs: ["src"] }, { type: i1.TuiExpandComponent, selector: "tui-expand", inputs: ["async", "expanded"] }], directives: [{ type: i2.TuiFocusableDirective, selector: "[tuiFocusable]", inputs: ["tuiFocusable"] }, { type: i2.TuiFocusVisibleDirective, selector: "[tuiFocusVisibleChange]", outputs: ["tuiFocusVisibleChange"] }, { type: i2.TuiFocusedDirective, selector: "[tuiFocusedChange]", outputs: ["tuiFocusedChange"] }, { type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4.PolymorpheusOutletDirective, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }, { type: i1.TuiExpandContentDirective, selector: "[tuiExpandContent]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
67
69
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiAccordionItemComponent, decorators: [{
|
|
68
70
|
type: Component,
|
|
69
71
|
args: [{
|
|
@@ -82,6 +84,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
|
|
|
82
84
|
}] }, { type: i5.Observable, decorators: [{
|
|
83
85
|
type: Inject,
|
|
84
86
|
args: [TUI_MODE]
|
|
87
|
+
}] }, { type: undefined, decorators: [{
|
|
88
|
+
type: Inject,
|
|
89
|
+
args: [TUI_ARROW_OPTIONS]
|
|
85
90
|
}] }]; }, propDecorators: { focusableElement: [{
|
|
86
91
|
type: ViewChild,
|
|
87
92
|
args: ['focusableElement']
|
|
@@ -125,4 +130,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
|
|
|
125
130
|
type: ContentChild,
|
|
126
131
|
args: [TuiAccordionItemContentDirective]
|
|
127
132
|
}] } });
|
|
128
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNjb3JkaW9uLWl0ZW0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2l0L2NvbXBvbmVudHMvYWNjb3JkaW9uL2FjY29yZGlvbi1pdGVtL2FjY29yZGlvbi1pdGVtLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2tpdC9jb21wb25lbnRzL2FjY29yZGlvbi9hY2NvcmRpb24taXRlbS9hY2NvcmRpb24taXRlbS50ZW1wbGF0ZS5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCx1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxZQUFZLEVBRVosWUFBWSxFQUNaLFdBQVcsRUFDWCxNQUFNLEVBQ04sS0FBSyxFQUNMLE1BQU0sRUFDTixTQUFTLEdBQ1osTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUNILHNCQUFzQixFQUN0QiwwQkFBMEIsRUFFMUIsa0JBQWtCLEdBRXJCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBQyxhQUFhLEVBQUUsUUFBUSxFQUEwQixNQUFNLGdCQUFnQixDQUFDO0FBR2hGLE9BQU8sRUFBQyxnQ0FBZ0MsRUFBQyxNQUFNLG9DQUFvQyxDQUFDO0FBQ3BGLE9BQU8sRUFBQyxxQ0FBcUMsRUFBQyxNQUFNLDBDQUEwQyxDQUFDOzs7Ozs7O0FBWS9GLE1BQU0sT0FBTyx5QkFDVCxTQUFRLHNCQUFzQjtJQTRDOUIsWUFDZ0QsR0FBc0IsRUFDdkMsS0FBdUM7UUFFbEUsS0FBSyxFQUFFLENBQUM7UUFIb0MsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUFDdkMsVUFBSyxHQUFMLEtBQUssQ0FBa0M7UUF0Q3RFLGNBQVMsR0FBRyxLQUFLLENBQUM7UUFJbEIsY0FBUyxHQUFHLElBQUksQ0FBQztRQUlqQixZQUFPLEdBQWdDLEtBQUssQ0FBQztRQUk3QyxTQUFJLEdBQWEsR0FBRyxDQUFDO1FB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QkFJOUIsWUFBWTtzQkFEWCxLQUFLO2dCQUlOLElBQUk7c0JBREgsS0FBSztnQkFJTixLQUFLO3NCQURKLEtBQUs7Z0JBSUcsVUFBVTtzQkFEbEIsTUFBTTtnQkFJRSxZQUFZO3NCQURwQixZQUFZO3VCQUFDLHFDQUFxQztnQkFJMUMsV0FBVztzQkFEbkIsWUFBWTt1QkFBQyxnQ0FBZ0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENoYW5nZURldGVjdG9yUmVmLFxuICAgIENvbXBvbmVudCxcbiAgICBDb250ZW50Q2hpbGQsXG4gICAgRWxlbWVudFJlZixcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgSG9zdEJpbmRpbmcsXG4gICAgSW5qZWN0LFxuICAgIElucHV0LFxuICAgIE91dHB1dCxcbiAgICBWaWV3Q2hpbGQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgICBBYnN0cmFjdFR1aUludGVyYWN0aXZlLFxuICAgIHR1aUFzRm9jdXNhYmxlSXRlbUFjY2Vzc29yLFxuICAgIFR1aUZvY3VzYWJsZUVsZW1lbnRBY2Nlc3NvcixcbiAgICB0dWlJc05hdGl2ZUZvY3VzZWQsXG4gICAgVHVpTmF0aXZlRm9jdXNhYmxlRWxlbWVudCxcbn0gZnJvbSAnQHRhaWdhLXVpL2Nkayc7XG5pbXBvcnQge01PREVfUFJPVklERVIsIFRVSV9NT0RFLCBUdWlCcmlnaHRuZXNzLCBUdWlTaXplU30gZnJvbSAnQHRhaWdhLXVpL2NvcmUnO1xuaW1wb3J0IHtPYnNlcnZhYmxlfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHtUdWlBY2NvcmRpb25JdGVtQ29udGVudERpcmVjdGl2ZX0gZnJvbSAnLi9hY2NvcmRpb24taXRlbS1jb250ZW50LmRpcmVjdGl2ZSc7XG5pbXBvcnQge1R1aUFjY29yZGlvbkl0ZW1FYWdlckNvbnRlbnREaXJlY3RpdmV9IGZyb20gJy4vYWNjb3JkaW9uLWl0ZW0tZWFnZXItY29udGVudC5kaXJlY3RpdmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3R1aS1hY2NvcmRpb24taXRlbScsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2FjY29yZGlvbi1pdGVtLnRlbXBsYXRlLmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2FjY29yZGlvbi1pdGVtLnN0eWxlLmxlc3MnXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBwcm92aWRlcnM6IFt0dWlBc0ZvY3VzYWJsZUl0ZW1BY2Nlc3NvcihUdWlBY2NvcmRpb25JdGVtQ29tcG9uZW50KSwgTU9ERV9QUk9WSURFUl0sXG4gICAgaG9zdDoge1xuICAgICAgICAnKCQuZGF0YS1tb2RlLmF0dHIpJzogJ21vZGUkJyxcbiAgICB9LFxufSlcbmV4cG9ydCBjbGFzcyBUdWlBY2NvcmRpb25JdGVtQ29tcG9uZW50XG4gICAgZXh0ZW5kcyBBYnN0cmFjdFR1aUludGVyYWN0aXZlXG4gICAgaW1wbGVtZW50cyBUdWlGb2N1c2FibGVFbGVtZW50QWNjZXNzb3JcbntcbiAgICBAVmlld0NoaWxkKCdmb2N1c2FibGVFbGVtZW50JylcbiAgICBwcml2YXRlIHJlYWRvbmx5IGZvY3VzYWJsZUVsZW1lbnQ/OiBFbGVtZW50UmVmPFR1aU5hdGl2ZUZvY3VzYWJsZUVsZW1lbnQ+O1xuXG4gICAgQElucHV0KClcbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLl9uby1wYWRkaW5nJylcbiAgICBub1BhZGRpbmcgPSBmYWxzZTtcblxuICAgIEBJbnB1dCgpXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5faGFzLWFycm93JylcbiAgICBzaG93QXJyb3cgPSB0cnVlO1xuXG4gICAgQElucHV0KClcbiAgICBASG9zdEJpbmRpbmcoJ2F0dHIuZGF0YS1ib3JkZXJzJylcbiAgICBib3JkZXJzOiAnYWxsJyB8ICd0b3AtYm90dG9tJyB8IG51bGwgPSAnYWxsJztcblxuICAgIEBJbnB1dCgpXG4gICAgQEhvc3RCaW5kaW5nKCdhdHRyLmRhdGEtc2l6ZScpXG4gICAgc2l6ZTogVHVpU2l6ZVMgPSAnbSc7XG5cbiAgICBASW5wdXQoKVxuICAgIEBIb3N0QmluZGluZygnY2xhc3MuX2Rpc2FibGVkJylcbiAgICBkaXNhYmxlZCA9IGZhbHNlO1xuXG4gICAgQElucHV0KClcbiAgICBkaXNhYmxlSG92ZXIgPSBmYWxzZTtcblxuICAgIEBJbnB1dCgpXG4gICAgb3BlbiA9IGZhbHNlO1xuXG4gICAgQElucHV0KClcbiAgICBhc3luYyA9IGZhbHNlO1xuXG4gICAgQE91dHB1dCgpXG4gICAgcmVhZG9ubHkgb3BlbkNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcblxuICAgIEBDb250ZW50Q2hpbGQoVHVpQWNjb3JkaW9uSXRlbUVhZ2VyQ29udGVudERpcmVjdGl2ZSlcbiAgICByZWFkb25seSBlYWdlckNvbnRlbnQ/OiBUdWlBY2NvcmRpb25JdGVtRWFnZXJDb250ZW50RGlyZWN0aXZlO1xuXG4gICAgQENvbnRlbnRDaGlsZChUdWlBY2NvcmRpb25JdGVtQ29udGVudERpcmVjdGl2ZSlcbiAgICByZWFkb25seSBsYXp5Q29udGVudD86IFR1aUFjY29yZGlvbkl0ZW1Db250ZW50RGlyZWN0aXZlO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIEBJbmplY3QoQ2hhbmdlRGV0ZWN0b3JSZWYpIHByaXZhdGUgcmVhZG9ubHkgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICAgICAgQEluamVjdChUVUlfTU9ERSkgcmVhZG9ubHkgbW9kZSQ6IE9ic2VydmFibGU8VHVpQnJpZ2h0bmVzcyB8IG51bGw+LFxuICAgICkge1xuICAgICAgICBzdXBlcigpO1xuICAgIH1cblxuICAgIGdldCBuYXRpdmVGb2N1c2FibGVFbGVtZW50KCk6IFR1aU5hdGl2ZUZvY3VzYWJsZUVsZW1lbnQgfCBudWxsIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZGlzYWJsZWQgfHwgIXRoaXMuZm9jdXNhYmxlRWxlbWVudFxuICAgICAgICAgICAgPyBudWxsXG4gICAgICAgICAgICA6IHRoaXMuZm9jdXNhYmxlRWxlbWVudC5uYXRpdmVFbGVtZW50O1xuICAgIH1cblxuICAgIGdldCBmb2N1c2VkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdHVpSXNOYXRpdmVGb2N1c2VkKHRoaXMubmF0aXZlRm9jdXNhYmxlRWxlbWVudCk7XG4gICAgfVxuXG4gICAgb25Gb2N1c2VkKGZvY3VzZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgdGhpcy51cGRhdGVGb2N1c2VkKGZvY3VzZWQpO1xuICAgIH1cblxuICAgIG9uRm9jdXNWaXNpYmxlKGZvY3VzVmlzaWJsZTogYm9vbGVhbik6IHZvaWQge1xuICAgICAgICB0aGlzLnVwZGF0ZUZvY3VzVmlzaWJsZShmb2N1c1Zpc2libGUpO1xuICAgIH1cblxuICAgIG9uUm93VG9nZ2xlKCk6IHZvaWQge1xuICAgICAgICBpZiAoIXRoaXMuZGlzYWJsZWQpIHtcbiAgICAgICAgICAgIHRoaXMudXBkYXRlT3BlbighdGhpcy5vcGVuKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG9uSXRlbUtleURvd25Fc2MoZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy5vcGVuKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgdGhpcy51cGRhdGVPcGVuKGZhbHNlKTtcbiAgICB9XG5cbiAgICBjbG9zZSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy51cGRhdGVPcGVuKGZhbHNlKTtcbiAgICAgICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSB1cGRhdGVPcGVuKG9wZW46IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMub3BlbiA9PT0gb3Blbikge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5vcGVuID0gb3BlbjtcbiAgICAgICAgdGhpcy5vcGVuQ2hhbmdlLmVtaXQob3Blbik7XG4gICAgfVxufVxuIiwiPGRpdlxuICAgIGF1dG9tYXRpb24taWQ9XCJ0dWktYWNjb3JkaW9uX19pdGVtLXdyYXBwZXJcIlxuICAgIGNsYXNzPVwidC13cmFwcGVyXCJcbj5cbiAgICA8YnV0dG9uXG4gICAgICAgICNmb2N1c2FibGVFbGVtZW50XG4gICAgICAgIGF1dG9tYXRpb24taWQ9XCJ0dWktYWNjb3JkaW9uX19pdGVtLWhlYWRlclwiXG4gICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICBjbGFzcz1cInQtaGVhZGVyXCJcbiAgICAgICAgW2Rpc2FibGVkXT1cImNvbXB1dGVkRGlzYWJsZWRcIlxuICAgICAgICBbY2xhc3MudC1oZWFkZXJfb3Blbl09XCJvcGVuXCJcbiAgICAgICAgW2NsYXNzLnQtaGVhZGVyX2hvdmVyYWJsZV09XCIhZGlzYWJsZUhvdmVyXCJcbiAgICAgICAgW3R1aUZvY3VzYWJsZV09XCJjb21wdXRlZEZvY3VzYWJsZVwiXG4gICAgICAgICh0dWlGb2N1c1Zpc2libGVDaGFuZ2UpPVwib25Gb2N1c1Zpc2libGUoJGV2ZW50KVwiXG4gICAgICAgICh0dWlGb2N1c2VkQ2hhbmdlKT1cIm9uRm9jdXNlZCgkZXZlbnQpXCJcbiAgICAgICAgKGtleWRvd24uZXNjKT1cIm9uSXRlbUtleURvd25Fc2MoJGV2ZW50KVwiXG4gICAgICAgIChjbGljayk9XCJvblJvd1RvZ2dsZSgpXCJcbiAgICA+XG4gICAgICAgIDxzcGFuXG4gICAgICAgICAgICBhdXRvbWF0aW9uLWlkPVwidHVpLWFjY29yZGlvbl9faXRlbS10aXRsZVwiXG4gICAgICAgICAgICBjbGFzcz1cInQtdGl0bGVcIlxuICAgICAgICA+XG4gICAgICAgICAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gICAgICAgIDwvc3Bhbj5cbiAgICAgICAgPHR1aS1zdmdcbiAgICAgICAgICAgICpuZ0lmPVwic2hvd0Fycm93XCJcbiAgICAgICAgICAgIGF1dG9tYXRpb24taWQ9XCJ0dWktYWNjb3JkaW9uX19pdGVtLWFycm93XCJcbiAgICAgICAgICAgIHNyYz1cInR1aUljb25DaGV2cm9uRG93bkxhcmdlXCJcbiAgICAgICAgICAgIGNsYXNzPVwidC1pY29uXCJcbiAgICAgICAgICAgIFtjbGFzcy50LWljb25fb3Blbl09XCJvcGVuXCJcbiAgICAgICAgPjwvdHVpLXN2Zz5cbiAgICA8L2J1dHRvbj5cbiAgICA8dHVpLWV4cGFuZFxuICAgICAgICBbYXN5bmNdPVwiYXN5bmNcIlxuICAgICAgICBbZXhwYW5kZWRdPVwib3BlblwiXG4gICAgPlxuICAgICAgICA8bmctdGVtcGxhdGUgdHVpRXhwYW5kQ29udGVudD5cbiAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAqbmdJZj1cImxhenlDb250ZW50XCJcbiAgICAgICAgICAgICAgICBhdXRvbWF0aW9uLWlkPVwidHVpLWFjY29yZGlvbl9faXRlbS1jb250ZW50XCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cInQtY29udGVudFwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqcG9seW1vcnBoZXVzT3V0bGV0PVwibGF6eUNvbnRlbnQgYXMgdGV4dFwiPlxuICAgICAgICAgICAgICAgICAgICB7eyB0ZXh0IH19XG4gICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgPGRpdlxuICAgICAgICAgICAgKm5nSWY9XCJlYWdlckNvbnRlbnRcIlxuICAgICAgICAgICAgY2xhc3M9XCJ0LWNvbnRlbnRcIlxuICAgICAgICA+XG4gICAgICAgICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJbdHVpQWNjb3JkaW9uSXRlbUNvbnRlbnRdXCI+PC9uZy1jb250ZW50PlxuICAgICAgICA8L2Rpdj5cbiAgICA8L3R1aS1leHBhbmQ+XG48L2Rpdj5cbiJdfQ==
|
|
133
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNjb3JkaW9uLWl0ZW0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2l0L2NvbXBvbmVudHMvYWNjb3JkaW9uL2FjY29yZGlvbi1pdGVtL2FjY29yZGlvbi1pdGVtLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2tpdC9jb21wb25lbnRzL2FjY29yZGlvbi9hY2NvcmRpb24taXRlbS9hY2NvcmRpb24taXRlbS50ZW1wbGF0ZS5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCx1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxZQUFZLEVBRVosWUFBWSxFQUNaLFdBQVcsRUFDWCxNQUFNLEVBQ04sS0FBSyxFQUNMLE1BQU0sRUFDTixTQUFTLEdBQ1osTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUNILHNCQUFzQixFQUN0QiwwQkFBMEIsRUFFMUIsa0JBQWtCLEdBRXJCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBQyxhQUFhLEVBQUUsUUFBUSxFQUEwQixNQUFNLGdCQUFnQixDQUFDO0FBQ2hGLE9BQU8sRUFBQyxpQkFBaUIsRUFBa0IsTUFBTSxnQ0FBZ0MsQ0FBQztBQUdsRixPQUFPLEVBQUMsZ0NBQWdDLEVBQUMsTUFBTSxvQ0FBb0MsQ0FBQztBQUNwRixPQUFPLEVBQUMscUNBQXFDLEVBQUMsTUFBTSwwQ0FBMEMsQ0FBQzs7Ozs7OztBQVkvRixNQUFNLE9BQU8seUJBQ1QsU0FBUSxzQkFBc0I7SUE0QzlCLFlBQ2dELEdBQXNCLEVBQ3ZDLEtBQXVDLEVBQzlCLE9BQXdCO1FBRTVELEtBQUssRUFBRSxDQUFDO1FBSm9DLFFBQUcsR0FBSCxHQUFHLENBQW1CO1FBQ3ZDLFVBQUssR0FBTCxLQUFLLENBQWtDO1FBQzlCLFlBQU8sR0FBUCxPQUFPLENBQWlCO1FBdkNoRSxjQUFTLEdBQUcsS0FBSyxD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OztzQkFDTCxXQUFXO3VCQUFDLG1CQUFtQjtnQkFLaEMsSUFBSTtzQkFGSCxLQUFLOztzQkFDTCxXQUFXO3VCQUFDLGdCQUFnQjtnQkFLN0IsUUFBUTtzQkFGUCxLQUFLOztzQkFDTCxXQUFXO3VCQUFDLGlCQUFpQjtnQkFJOUIsWUFBWTtzQkFEWCxLQUFLO2dCQUlOLElBQUk7c0JBREgsS0FBSztnQkFJTixLQUFLO3NCQURKLEtBQUs7Z0JBSUcsVUFBVTtzQkFEbEIsTUFBTTtnQkFJRSxZQUFZO3NCQURwQixZQUFZO3VCQUFDLHFDQUFxQztnQkFJMUMsV0FBVztzQkFEbkIsWUFBWTt1QkFBQyxnQ0FBZ0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENoYW5nZURldGVjdG9yUmVmLFxuICAgIENvbXBvbmVudCxcbiAgICBDb250ZW50Q2hpbGQsXG4gICAgRWxlbWVudFJlZixcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgSG9zdEJpbmRpbmcsXG4gICAgSW5qZWN0LFxuICAgIElucHV0LFxuICAgIE91dHB1dCxcbiAgICBWaWV3Q2hpbGQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgICBBYnN0cmFjdFR1aUludGVyYWN0aXZlLFxuICAgIHR1aUFzRm9jdXNhYmxlSXRlbUFjY2Vzc29yLFxuICAgIFR1aUZvY3VzYWJsZUVsZW1lbnRBY2Nlc3NvcixcbiAgICB0dWlJc05hdGl2ZUZvY3VzZWQsXG4gICAgVHVpTmF0aXZlRm9jdXNhYmxlRWxlbWVudCxcbn0gZnJvbSAnQHRhaWdhLXVpL2Nkayc7XG5pbXBvcnQge01PREVfUFJPVklERVIsIFRVSV9NT0RFLCBUdWlCcmlnaHRuZXNzLCBUdWlTaXplU30gZnJvbSAnQHRhaWdhLXVpL2NvcmUnO1xuaW1wb3J0IHtUVUlfQVJST1dfT1BUSU9OUywgVHVpQXJyb3dPcHRpb25zfSBmcm9tICdAdGFpZ2EtdWkva2l0L2NvbXBvbmVudHMvYXJyb3cnO1xuaW1wb3J0IHtPYnNlcnZhYmxlfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHtUdWlBY2NvcmRpb25JdGVtQ29udGVudERpcmVjdGl2ZX0gZnJvbSAnLi9hY2NvcmRpb24taXRlbS1jb250ZW50LmRpcmVjdGl2ZSc7XG5pbXBvcnQge1R1aUFjY29yZGlvbkl0ZW1FYWdlckNvbnRlbnREaXJlY3RpdmV9IGZyb20gJy4vYWNjb3JkaW9uLWl0ZW0tZWFnZXItY29udGVudC5kaXJlY3RpdmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3R1aS1hY2NvcmRpb24taXRlbScsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2FjY29yZGlvbi1pdGVtLnRlbXBsYXRlLmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2FjY29yZGlvbi1pdGVtLnN0eWxlLmxlc3MnXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBwcm92aWRlcnM6IFt0dWlBc0ZvY3VzYWJsZUl0ZW1BY2Nlc3NvcihUdWlBY2NvcmRpb25JdGVtQ29tcG9uZW50KSwgTU9ERV9QUk9WSURFUl0sXG4gICAgaG9zdDoge1xuICAgICAgICAnKCQuZGF0YS1tb2RlLmF0dHIpJzogJ21vZGUkJyxcbiAgICB9LFxufSlcbmV4cG9ydCBjbGFzcyBUdWlBY2NvcmRpb25JdGVtQ29tcG9uZW50XG4gICAgZXh0ZW5kcyBBYnN0cmFjdFR1aUludGVyYWN0aXZlXG4gICAgaW1wbGVtZW50cyBUdWlGb2N1c2FibGVFbGVtZW50QWNjZXNzb3JcbntcbiAgICBAVmlld0NoaWxkKCdmb2N1c2FibGVFbGVtZW50JylcbiAgICBwcml2YXRlIHJlYWRvbmx5IGZvY3VzYWJsZUVsZW1lbnQ/OiBFbGVtZW50UmVmPFR1aU5hdGl2ZUZvY3VzYWJsZUVsZW1lbnQ+O1xuXG4gICAgQElucHV0KClcbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLl9uby1wYWRkaW5nJylcbiAgICBub1BhZGRpbmcgPSBmYWxzZTtcblxuICAgIEBJbnB1dCgpXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5faGFzLWFycm93JylcbiAgICBzaG93QXJyb3cgPSB0cnVlO1xuXG4gICAgQElucHV0KClcbiAgICBASG9zdEJpbmRpbmcoJ2F0dHIuZGF0YS1ib3JkZXJzJylcbiAgICBib3JkZXJzOiAnYWxsJyB8ICd0b3AtYm90dG9tJyB8IG51bGwgPSAnYWxsJztcblxuICAgIEBJbnB1dCgpXG4gICAgQEhvc3RCaW5kaW5nKCdhdHRyLmRhdGEtc2l6ZScpXG4gICAgc2l6ZTogVHVpU2l6ZVMgPSAnbSc7XG5cbiAgICBASW5wdXQoKVxuICAgIEBIb3N0QmluZGluZygnY2xhc3MuX2Rpc2FibGVkJylcbiAgICBkaXNhYmxlZCA9IGZhbHNlO1xuXG4gICAgQElucHV0KClcbiAgICBkaXNhYmxlSG92ZXIgPSBmYWxzZTtcblxuICAgIEBJbnB1dCgpXG4gICAgb3BlbiA9IGZhbHNlO1xuXG4gICAgQElucHV0KClcbiAgICBhc3luYyA9IGZhbHNlO1xuXG4gICAgQE91dHB1dCgpXG4gICAgcmVhZG9ubHkgb3BlbkNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcblxuICAgIEBDb250ZW50Q2hpbGQoVHVpQWNjb3JkaW9uSXRlbUVhZ2VyQ29udGVudERpcmVjdGl2ZSlcbiAgICByZWFkb25seSBlYWdlckNvbnRlbnQ/OiBUdWlBY2NvcmRpb25JdGVtRWFnZXJDb250ZW50RGlyZWN0aXZlO1xuXG4gICAgQENvbnRlbnRDaGlsZChUdWlBY2NvcmRpb25JdGVtQ29udGVudERpcmVjdGl2ZSlcbiAgICByZWFkb25seSBsYXp5Q29udGVudD86IFR1aUFjY29yZGlvbkl0ZW1Db250ZW50RGlyZWN0aXZlO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIEBJbmplY3QoQ2hhbmdlRGV0ZWN0b3JSZWYpIHByaXZhdGUgcmVhZG9ubHkgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICAgICAgQEluamVjdChUVUlfTU9ERSkgcmVhZG9ubHkgbW9kZSQ6IE9ic2VydmFibGU8VHVpQnJpZ2h0bmVzcyB8IG51bGw+LFxuICAgICAgICBASW5qZWN0KFRVSV9BUlJPV19PUFRJT05TKSByZWFkb25seSBvcHRpb25zOiBUdWlBcnJvd09wdGlvbnMsXG4gICAgKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgfVxuXG4gICAgZ2V0IG5hdGl2ZUZvY3VzYWJsZUVsZW1lbnQoKTogVHVpTmF0aXZlRm9jdXNhYmxlRWxlbWVudCB8IG51bGwge1xuICAgICAgICByZXR1cm4gdGhpcy5kaXNhYmxlZCB8fCAhdGhpcy5mb2N1c2FibGVFbGVtZW50XG4gICAgICAgICAgICA/IG51bGxcbiAgICAgICAgICAgIDogdGhpcy5mb2N1c2FibGVFbGVtZW50Lm5hdGl2ZUVsZW1lbnQ7XG4gICAgfVxuXG4gICAgZ2V0IGZvY3VzZWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0dWlJc05hdGl2ZUZvY3VzZWQodGhpcy5uYXRpdmVGb2N1c2FibGVFbGVtZW50KTtcbiAgICB9XG5cbiAgICBvbkZvY3VzZWQoZm9jdXNlZDogYm9vbGVhbik6IHZvaWQge1xuICAgICAgICB0aGlzLnVwZGF0ZUZvY3VzZWQoZm9jdXNlZCk7XG4gICAgfVxuXG4gICAgb25Gb2N1c1Zpc2libGUoZm9jdXNWaXNpYmxlOiBib29sZWFuKTogdm9pZCB7XG4gICAgICAgIHRoaXMudXBkYXRlRm9jdXNWaXNpYmxlKGZvY3VzVmlzaWJsZSk7XG4gICAgfVxuXG4gICAgb25Sb3dUb2dnbGUoKTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy5kaXNhYmxlZCkge1xuICAgICAgICAgICAgdGhpcy51cGRhdGVPcGVuKCF0aGlzLm9wZW4pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgb25JdGVtS2V5RG93bkVzYyhldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgaWYgKCF0aGlzLm9wZW4pIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgICB0aGlzLnVwZGF0ZU9wZW4oZmFsc2UpO1xuICAgIH1cblxuICAgIGNsb3NlKCk6IHZvaWQge1xuICAgICAgICB0aGlzLnVwZGF0ZU9wZW4oZmFsc2UpO1xuICAgICAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHVwZGF0ZU9wZW4ob3BlbjogYm9vbGVhbik6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5vcGVuID09PSBvcGVuKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLm9wZW4gPSBvcGVuO1xuICAgICAgICB0aGlzLm9wZW5DaGFuZ2UuZW1pdChvcGVuKTtcbiAgICB9XG59XG4iLCI8ZGl2XG4gICAgYXV0b21hdGlvbi1pZD1cInR1aS1hY2NvcmRpb25fX2l0ZW0td3JhcHBlclwiXG4gICAgY2xhc3M9XCJ0LXdyYXBwZXJcIlxuPlxuICAgIDxidXR0b25cbiAgICAgICAgI2ZvY3VzYWJsZUVsZW1lbnRcbiAgICAgICAgYXV0b21hdGlvbi1pZD1cInR1aS1hY2NvcmRpb25fX2l0ZW0taGVhZGVyXCJcbiAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgIGNsYXNzPVwidC1oZWFkZXJcIlxuICAgICAgICBbZGlzYWJsZWRdPVwiY29tcHV0ZWREaXNhYmxlZFwiXG4gICAgICAgIFtjbGFzcy50LWhlYWRlcl9vcGVuXT1cIm9wZW5cIlxuICAgICAgICBbY2xhc3MudC1oZWFkZXJfaG92ZXJhYmxlXT1cIiFkaXNhYmxlSG92ZXJcIlxuICAgICAgICBbdHVpRm9jdXNhYmxlXT1cImNvbXB1dGVkRm9jdXNhYmxlXCJcbiAgICAgICAgKHR1aUZvY3VzVmlzaWJsZUNoYW5nZSk9XCJvbkZvY3VzVmlzaWJsZSgkZXZlbnQpXCJcbiAgICAgICAgKHR1aUZvY3VzZWRDaGFuZ2UpPVwib25Gb2N1c2VkKCRldmVudClcIlxuICAgICAgICAoa2V5ZG93bi5lc2MpPVwib25JdGVtS2V5RG93bkVzYygkZXZlbnQpXCJcbiAgICAgICAgKGNsaWNrKT1cIm9uUm93VG9nZ2xlKClcIlxuICAgID5cbiAgICAgICAgPHNwYW5cbiAgICAgICAgICAgIGF1dG9tYXRpb24taWQ9XCJ0dWktYWNjb3JkaW9uX19pdGVtLXRpdGxlXCJcbiAgICAgICAgICAgIGNsYXNzPVwidC10aXRsZVwiXG4gICAgICAgID5cbiAgICAgICAgICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgICAgICAgPC9zcGFuPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwic2hvd0Fycm93XCI+XG4gICAgICAgICAgICA8dHVpLXN2Z1xuICAgICAgICAgICAgICAgICpwb2x5bW9ycGhldXNPdXRsZXQ9XCJvcHRpb25zLmljb25MYXJnZSBhcyBzcmNcIlxuICAgICAgICAgICAgICAgIGF1dG9tYXRpb24taWQ9XCJ0dWktYWNjb3JkaW9uX19pdGVtLWFycm93XCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cInQtaWNvblwiXG4gICAgICAgICAgICAgICAgW2NsYXNzLnQtaWNvbl9vcGVuXT1cIm9wZW5cIlxuICAgICAgICAgICAgICAgIFtzcmNdPVwic3JjXCJcbiAgICAgICAgICAgID48L3R1aS1zdmc+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgIDwvYnV0dG9uPlxuICAgIDx0dWktZXhwYW5kXG4gICAgICAgIFthc3luY109XCJhc3luY1wiXG4gICAgICAgIFtleHBhbmRlZF09XCJvcGVuXCJcbiAgICA+XG4gICAgICAgIDxuZy10ZW1wbGF0ZSB0dWlFeHBhbmRDb250ZW50PlxuICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICpuZ0lmPVwibGF6eUNvbnRlbnRcIlxuICAgICAgICAgICAgICAgIGF1dG9tYXRpb24taWQ9XCJ0dWktYWNjb3JkaW9uX19pdGVtLWNvbnRlbnRcIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwidC1jb250ZW50XCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpwb2x5bW9ycGhldXNPdXRsZXQ9XCJsYXp5Q29udGVudCBhcyB0ZXh0XCI+XG4gICAgICAgICAgICAgICAgICAgIHt7IHRleHQgfX1cbiAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICA8ZGl2XG4gICAgICAgICAgICAqbmdJZj1cImVhZ2VyQ29udGVudFwiXG4gICAgICAgICAgICBjbGFzcz1cInQtY29udGVudFwiXG4gICAgICAgID5cbiAgICAgICAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIlt0dWlBY2NvcmRpb25JdGVtQ29udGVudF1cIj48L25nLWNvbnRlbnQ+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvdHVpLWV4cGFuZD5cbjwvZGl2PlxuIl19
|
|
@@ -159,7 +159,7 @@ export class TuiCalendarMonthComponent {
|
|
|
159
159
|
}
|
|
160
160
|
}
|
|
161
161
|
TuiCalendarMonthComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiCalendarMonthComponent, deps: [{ token: TUI_CALENDAR_MONTHS }], target: i0.ɵɵFactoryTarget.Component });
|
|
162
|
-
TuiCalendarMonthComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: TuiCalendarMonthComponent, selector: "tui-calendar-month", inputs: { value: "value", year: "year", disabledItemHandler: "disabledItemHandler", min: "min", max: "max" }, outputs: { monthClick: "monthClick", hoveredItemChange: "hoveredItemChange", yearChange: "yearChange" }, host: { properties: { "class._single": "this.isSingle" } }, ngImport: i0, template: "<tui-scrollbar\n *ngIf=\"isYearPickerShown; else monthSelect\"\n class=\"t-scrollbar\"\n>\n <tui-primitive-year-picker\n [min]=\"computedMin\"\n [max]=\"computedMax\"\n [initialItem]=\"year\"\n [value]=\"value\"\n (yearClick)=\"onPickerYearClick($event)\"\n ></tui-primitive-year-picker>\n</tui-scrollbar>\n<ng-template #monthSelect>\n <tui-primitive-spin-button\n [focusable]=\"false\"\n [leftDisabled]=\"previousYearDisabled\"\n [rightDisabled]=\"nextYearDisabled\"\n (leftClick)=\"onPreviousYear()\"\n (rightClick)=\"onNextYear()\"\n >\n <button\n tuiLink\n type=\"button\"\n automation-id=\"tui-calendar-month__active-year\"\n [tuiFocusable]=\"false\"\n (click)=\"onYearClick()\"\n >\n {{ year.formattedYear }}\n </button>\n </tui-primitive-spin-button>\n <div class=\"t-row\">\n <ng-container *ngFor=\"let month of months$ | async; let index = index\">\n <div\n *tuiLet=\"getTuiMonth(index, year.year) as item\"\n class=\"t-cell\"\n [class.t-cell_today]=\"isItemToday(item)\"\n [class.t-cell_interval]=\"isItemInsideRange(item)\"\n [attr.data-range]=\"getItemRange(item)\"\n [attr.data-state]=\"getItemState(item)\"\n (tuiHoveredChange)=\"onItemHovered($event, item)\"\n (tuiPressedChange)=\"onItemHovered($event, item)\"\n (click)=\"onItemClick(item)\"\n >\n <div class=\"t-item\">{{ month }}</div>\n </div>\n </ng-container>\n </div>\n</ng-template>\n", styles: [":host{display:block;font:var(--tui-font-text-m)}.t-row{position:relative;z-index:0;display:flex;justify-content:space-between;height:2.25rem}.t-item{position:relative;flex:1;line-height:2rem;border-radius:var(--tui-radius-m)}.t-item:before,.t-item:after{content:\"\";position:absolute;top:0;left:0;right:0;bottom:0;z-index:-1;border-radius:var(--tui-radius-m)}.t-item:after{border-radius:.5rem}.t-cell{position:relative;display:flex;align-items:center;justify-content:center;width:3.9375rem;text-align:center;outline:none;cursor:pointer;background-clip:content-box;box-sizing:border-box;border:.125rem solid transparent}.t-cell:before{content:\"\";position:absolute;top:0;left:0;right:0;bottom:0;z-index:-1;border-radius:var(--tui-radius-m)}.t-cell_today:after{position:absolute;left:50%;transform:translate(-50%);content:\"\";bottom:.3125rem;height:.125rem;width:.75rem;border-radius:.375rem;background-color:var(--tui-text-01)}.t-cell_interval:before{background:var(--tui-base-02)}:host._single .t-cell_interval:before{background:var(--tui-secondary-hover)}.t-cell_interval:not(:last-child):before{right:-.25rem;border-top-right-radius:0;border-bottom-right-radius:0}.t-cell_interval:not([data-range=\"start\"]):not(:first-child):before{border-top-left-radius:0;border-bottom-left-radius:0}.t-cell_interval:last-child:first-child:before{right:0}.t-cell_interval:first-child>.t-item{border-top-left-radius:var(--tui-radius-m);border-bottom-left-radius:var(--tui-radius-m)}.t-cell_interval:last-child>.t-item{border-top-right-radius:var(--tui-radius-m);border-bottom-right-radius:var(--tui-radius-m)}.t-cell_interval>.t-item{border-radius:0}.t-cell[data-range]:after{background-color:var(--tui-primary-text)}.t-cell[data-range]>.t-item{color:var(--tui-primary-text)}.t-cell[data-range]>.t-item:before,.t-cell[data-range]>.t-item:after{background-color:var(--tui-primary)}.t-cell[data-range][data-state=hover]>.t-item:before,.t-cell[data-range][data-state=hover]>.t-item:after{background-color:var(--tui-primary-hover)}.t-cell[data-range][data-state=active]>.t-item:before,.t-cell[data-range][data-state=active]>.t-item:after{background-color:var(--tui-primary-active)}.t-cell[data-range=end]:before{background:var(--tui-base-02)}:host._single .t-cell[data-range=end]:before{background:var(--tui-secondary-hover)}.t-cell[data-range=end]:not(:first-child):before{border-top-left-radius:0;border-bottom-left-radius:0}.t-cell[data-range=end]>.t-item:before{left:.625rem;border-top-left-radius:0;border-bottom-left-radius:0}.t-cell[data-range=end]>.t-item:after{left:-2rem;right:100%;transform:translate(1.6rem) scaleY(.83) scaleX(.5) rotate(45deg)}.t-cell[data-range=start]>.t-item:before{right:.625rem;border-top-right-radius:0;border-bottom-right-radius:0}.t-cell[data-range=start]>.t-item:after{left:100%;right:-2rem;transform:translate(-1.6rem) scaleY(.83) scaleX(.5) rotate(45deg)}.t-cell[data-range=single]>.t-item:after{display:none}.t-cell[data-state=disabled]{pointer-events:none}.t-cell[data-state=disabled]>.t-item{opacity:.36}.t-cell[data-state=hover]:hover:not([data-range])>.t-item{background-color:var(--tui-secondary-hover)}.t-cell[data-state=active]:hover:not([data-range])>.t-item{background-color:var(--tui-secondary-active)}:host{display:block;height:13.625rem;width:15.75rem;padding:1.125rem;box-sizing:content-box}.t-row{flex-wrap:wrap;margin-top:1.4375rem}.t-cell:nth-child(n + 5){margin-top:1.75rem}.t-cell_interval:nth-child(4n):before{right:0}.t-scrollbar{height:inherit;width:inherit}\n"], components: [{ type: i1.TuiScrollbarComponent, selector: "tui-scrollbar", inputs: ["hidden"] }, { type: i1.TuiPrimitiveYearPickerComponent, selector: "tui-primitive-year-picker", inputs: ["value", "initialItem", "min", "max", "disabledItemHandler"], outputs: ["yearClick"] }, { type: i1.TuiPrimitiveSpinButtonComponent, selector: "tui-primitive-spin-button", inputs: ["disabled", "
|
|
162
|
+
TuiCalendarMonthComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: TuiCalendarMonthComponent, selector: "tui-calendar-month", inputs: { value: "value", year: "year", disabledItemHandler: "disabledItemHandler", min: "min", max: "max" }, outputs: { monthClick: "monthClick", hoveredItemChange: "hoveredItemChange", yearChange: "yearChange" }, host: { properties: { "class._single": "this.isSingle" } }, ngImport: i0, template: "<tui-scrollbar\n *ngIf=\"isYearPickerShown; else monthSelect\"\n class=\"t-scrollbar\"\n>\n <tui-primitive-year-picker\n [min]=\"computedMin\"\n [max]=\"computedMax\"\n [initialItem]=\"year\"\n [value]=\"value\"\n (yearClick)=\"onPickerYearClick($event)\"\n ></tui-primitive-year-picker>\n</tui-scrollbar>\n<ng-template #monthSelect>\n <tui-primitive-spin-button\n [focusable]=\"false\"\n [leftDisabled]=\"previousYearDisabled\"\n [rightDisabled]=\"nextYearDisabled\"\n (leftClick)=\"onPreviousYear()\"\n (rightClick)=\"onNextYear()\"\n >\n <button\n tuiLink\n type=\"button\"\n automation-id=\"tui-calendar-month__active-year\"\n [tuiFocusable]=\"false\"\n (click)=\"onYearClick()\"\n >\n {{ year.formattedYear }}\n </button>\n </tui-primitive-spin-button>\n <div class=\"t-row\">\n <ng-container *ngFor=\"let month of months$ | async; let index = index\">\n <div\n *tuiLet=\"getTuiMonth(index, year.year) as item\"\n class=\"t-cell\"\n [class.t-cell_today]=\"isItemToday(item)\"\n [class.t-cell_interval]=\"isItemInsideRange(item)\"\n [attr.data-range]=\"getItemRange(item)\"\n [attr.data-state]=\"getItemState(item)\"\n (tuiHoveredChange)=\"onItemHovered($event, item)\"\n (tuiPressedChange)=\"onItemHovered($event, item)\"\n (click)=\"onItemClick(item)\"\n >\n <div class=\"t-item\">{{ month }}</div>\n </div>\n </ng-container>\n </div>\n</ng-template>\n", styles: [":host{display:block;font:var(--tui-font-text-m)}.t-row{position:relative;z-index:0;display:flex;justify-content:space-between;height:2.25rem}.t-item{position:relative;flex:1;line-height:2rem;border-radius:var(--tui-radius-m)}.t-item:before,.t-item:after{content:\"\";position:absolute;top:0;left:0;right:0;bottom:0;z-index:-1;border-radius:var(--tui-radius-m)}.t-item:after{border-radius:.5rem}.t-cell{position:relative;display:flex;align-items:center;justify-content:center;width:3.9375rem;text-align:center;outline:none;cursor:pointer;background-clip:content-box;box-sizing:border-box;border:.125rem solid transparent}.t-cell:before{content:\"\";position:absolute;top:0;left:0;right:0;bottom:0;z-index:-1;border-radius:var(--tui-radius-m)}.t-cell_today:after{position:absolute;left:50%;transform:translate(-50%);content:\"\";bottom:.3125rem;height:.125rem;width:.75rem;border-radius:.375rem;background-color:var(--tui-text-01)}.t-cell_interval:before{background:var(--tui-base-02)}:host._single .t-cell_interval:before{background:var(--tui-secondary-hover)}.t-cell_interval:not(:last-child):before{right:-.25rem;border-top-right-radius:0;border-bottom-right-radius:0}.t-cell_interval:not([data-range=\"start\"]):not(:first-child):before{border-top-left-radius:0;border-bottom-left-radius:0}.t-cell_interval:last-child:first-child:before{right:0}.t-cell_interval:first-child>.t-item{border-top-left-radius:var(--tui-radius-m);border-bottom-left-radius:var(--tui-radius-m)}.t-cell_interval:last-child>.t-item{border-top-right-radius:var(--tui-radius-m);border-bottom-right-radius:var(--tui-radius-m)}.t-cell_interval>.t-item{border-radius:0}.t-cell[data-range]:after{background-color:var(--tui-primary-text)}.t-cell[data-range]>.t-item{color:var(--tui-primary-text)}.t-cell[data-range]>.t-item:before,.t-cell[data-range]>.t-item:after{background-color:var(--tui-primary)}.t-cell[data-range][data-state=hover]>.t-item:before,.t-cell[data-range][data-state=hover]>.t-item:after{background-color:var(--tui-primary-hover)}.t-cell[data-range][data-state=active]>.t-item:before,.t-cell[data-range][data-state=active]>.t-item:after{background-color:var(--tui-primary-active)}.t-cell[data-range=end]:before{background:var(--tui-base-02)}:host._single .t-cell[data-range=end]:before{background:var(--tui-secondary-hover)}.t-cell[data-range=end]:not(:first-child):before{border-top-left-radius:0;border-bottom-left-radius:0}.t-cell[data-range=end]>.t-item:before{left:.625rem;border-top-left-radius:0;border-bottom-left-radius:0}.t-cell[data-range=end]>.t-item:after{left:-2rem;right:100%;transform:translate(1.6rem) scaleY(.83) scaleX(.5) rotate(45deg)}.t-cell[data-range=start]>.t-item:before{right:.625rem;border-top-right-radius:0;border-bottom-right-radius:0}.t-cell[data-range=start]>.t-item:after{left:100%;right:-2rem;transform:translate(-1.6rem) scaleY(.83) scaleX(.5) rotate(45deg)}.t-cell[data-range=single]>.t-item:after{display:none}.t-cell[data-state=disabled]{pointer-events:none}.t-cell[data-state=disabled]>.t-item{opacity:.36}.t-cell[data-state=hover]:hover:not([data-range])>.t-item{background-color:var(--tui-secondary-hover)}.t-cell[data-state=active]:hover:not([data-range])>.t-item{background-color:var(--tui-secondary-active)}:host{display:block;height:13.625rem;width:15.75rem;padding:1.125rem;box-sizing:content-box}.t-row{flex-wrap:wrap;margin-top:1.4375rem}.t-cell:nth-child(n + 5){margin-top:1.75rem}.t-cell_interval:nth-child(4n):before{right:0}.t-scrollbar{height:inherit;width:inherit}\n"], components: [{ type: i1.TuiScrollbarComponent, selector: "tui-scrollbar", inputs: ["hidden"] }, { type: i1.TuiPrimitiveYearPickerComponent, selector: "tui-primitive-year-picker", inputs: ["value", "initialItem", "min", "max", "disabledItemHandler"], outputs: ["yearClick"] }, { type: i1.TuiPrimitiveSpinButtonComponent, selector: "tui-primitive-spin-button", inputs: ["disabled", "leftDisabled", "rightDisabled"], outputs: ["leftClick", "rightClick"] }, { type: i1.TuiLinkComponent, selector: "a[tuiLink], button[tuiLink]", inputs: ["pseudo", "icon", "iconAlign", "iconRotated", "mode"], exportAs: ["tuiLink"] }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.TuiFocusableDirective, selector: "[tuiFocusable]", inputs: ["tuiFocusable"] }, { type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i3.TuiLetDirective, selector: "[tuiLet]", inputs: ["tuiLet"] }, { type: i3.TuiHoveredDirective, selector: "[tuiHoveredChange]", outputs: ["tuiHoveredChange"] }, { type: i3.TuiPressedDirective, selector: "[tuiPressedChange]", outputs: ["tuiPressedChange"] }], pipes: { "async": i2.AsyncPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
163
163
|
__decorate([
|
|
164
164
|
tuiPure
|
|
165
165
|
], TuiCalendarMonthComponent.prototype, "calculateDisabledItemHandlerWithMinMax", null);
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { __decorate } from "tslib";
|
|
2
2
|
import { ChangeDetectionStrategy, ChangeDetectorRef, Component, EventEmitter, HostListener, Inject, Input, Optional, Output, Self, } from '@angular/core';
|
|
3
3
|
import { ALWAYS_FALSE_HANDLER, TUI_FIRST_DAY, TUI_LAST_DAY, TuiDayRange, TuiDestroyService, tuiIsString, TuiMonth, tuiNullableSame, tuiObjectFromEntries, tuiPure, tuiWatch, } from '@taiga-ui/cdk';
|
|
4
|
-
import { TUI_DEFAULT_MARKER_HANDLER, } from '@taiga-ui/core';
|
|
4
|
+
import { TUI_COMMON_ICONS, TUI_DEFAULT_MARKER_HANDLER, } from '@taiga-ui/core';
|
|
5
5
|
import { MAX_DAY_RANGE_LENGTH_MAPPER } from '@taiga-ui/kit/constants';
|
|
6
6
|
import { TUI_CALENDAR_DATE_STREAM, TUI_OTHER_DATE_TEXT } from '@taiga-ui/kit/tokens';
|
|
7
7
|
import { takeUntil } from 'rxjs/operators';
|
|
@@ -12,8 +12,9 @@ import * as i3 from "@angular/common";
|
|
|
12
12
|
import * as i4 from "@taiga-ui/cdk";
|
|
13
13
|
import * as i5 from "rxjs";
|
|
14
14
|
export class TuiCalendarRangeComponent {
|
|
15
|
-
constructor(valueChanges, cdr, destroy$, otherDateText
|
|
15
|
+
constructor(valueChanges, cdr, destroy$, otherDateText$, icons) {
|
|
16
16
|
this.otherDateText$ = otherDateText$;
|
|
17
|
+
this.icons = icons;
|
|
17
18
|
this.defaultViewedMonth = TuiMonth.currentLocal();
|
|
18
19
|
this.disabledItemHandler = ALWAYS_FALSE_HANDLER;
|
|
19
20
|
this.markerHandler = TUI_DEFAULT_MARKER_HANDLER;
|
|
@@ -108,8 +109,8 @@ export class TuiCalendarRangeComponent {
|
|
|
108
109
|
};
|
|
109
110
|
}
|
|
110
111
|
}
|
|
111
|
-
TuiCalendarRangeComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiCalendarRangeComponent, deps: [{ token: TUI_CALENDAR_DATE_STREAM, optional: true }, { token: ChangeDetectorRef }, { token: TuiDestroyService, self: true }, { token: TUI_OTHER_DATE_TEXT }], target: i0.ɵɵFactoryTarget.Component });
|
|
112
|
-
TuiCalendarRangeComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: TuiCalendarRangeComponent, selector: "tui-calendar-range", inputs: { defaultViewedMonth: "defaultViewedMonth", disabledItemHandler: "disabledItemHandler", markerHandler: "markerHandler", items: "items", min: "min", max: "max", minLength: "minLength", maxLength: "maxLength", value: "value" }, outputs: { valueChange: "valueChange" }, host: { listeners: { "document:keydown.capture": "onEsc($event)" } }, providers: [TuiDestroyService], ngImport: i0, template: "<tui-primitive-calendar-range\n *ngIf=\"!items.length; else presets\"\n automation-id=\"tui-calendar-range__calendars\"\n tuiPreventDefault=\"mousedown\"\n [markerHandler]=\"markerHandler\"\n [min]=\"computedMin | tuiMapper : maxLengthMapper : value : maxLength : true\"\n [max]=\"computedMax | tuiMapper : maxLengthMapper : value : maxLength : false\"\n [defaultViewedMonthFirst]=\"defaultViewedMonth\"\n [disabledItemHandler]=\"calculatedDisabledItemHandler\"\n [value]=\"value\"\n (dayClick)=\"onDayClick($event)\"\n></tui-primitive-calendar-range>\n<ng-template #presets>\n <div class=\"t-wrapper\">\n <tui-calendar\n automation-id=\"tui-calendar-range__calendar\"\n tuiPreventDefault=\"mousedown\"\n [value]=\"value\"\n [markerHandler]=\"markerHandler\"\n [min]=\"computedMin | tuiMapper : maxLengthMapper : value : maxLength : true\"\n [max]=\"computedMax | tuiMapper : maxLengthMapper : value : maxLength : false\"\n [month]=\"computedMonth\"\n [disabledItemHandler]=\"calculatedDisabledItemHandler\"\n (dayClick)=\"onDayClick($event)\"\n ></tui-calendar>\n <tui-data-list\n role=\"menu\"\n automation-id=\"tui-calendar-range__menu\"\n class=\"t-menu\"\n >\n <button\n *ngFor=\"let item of items | tuiMapper : mapper : min : max : minLength : (otherDateText$ | async)\"\n tuiOption\n tuiPreventDefault=\"mousedown\"\n role=\"menuitemradio\"\n automation-id=\"tui-calendar-range__menu__item\"\n [attr.aria-checked]=\"isItemActive(item)\"\n (keydown.enter.prevent)=\"onItemSelect(item)\"\n (keydown.space.prevent)=\"onItemSelect(item)\"\n (click)=\"onItemSelect(item)\"\n >\n {{ item }}\n <tui-svg\n *ngIf=\"isItemActive(item)\"\n automation-id=\"tui-calendar-range__checkmark\"\n
|
|
112
|
+
TuiCalendarRangeComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiCalendarRangeComponent, deps: [{ token: TUI_CALENDAR_DATE_STREAM, optional: true }, { token: ChangeDetectorRef }, { token: TuiDestroyService, self: true }, { token: TUI_OTHER_DATE_TEXT }, { token: TUI_COMMON_ICONS }], target: i0.ɵɵFactoryTarget.Component });
|
|
113
|
+
TuiCalendarRangeComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: TuiCalendarRangeComponent, selector: "tui-calendar-range", inputs: { defaultViewedMonth: "defaultViewedMonth", disabledItemHandler: "disabledItemHandler", markerHandler: "markerHandler", items: "items", min: "min", max: "max", minLength: "minLength", maxLength: "maxLength", value: "value" }, outputs: { valueChange: "valueChange" }, host: { listeners: { "document:keydown.capture": "onEsc($event)" } }, providers: [TuiDestroyService], ngImport: i0, template: "<tui-primitive-calendar-range\n *ngIf=\"!items.length; else presets\"\n automation-id=\"tui-calendar-range__calendars\"\n tuiPreventDefault=\"mousedown\"\n [markerHandler]=\"markerHandler\"\n [min]=\"computedMin | tuiMapper : maxLengthMapper : value : maxLength : true\"\n [max]=\"computedMax | tuiMapper : maxLengthMapper : value : maxLength : false\"\n [defaultViewedMonthFirst]=\"defaultViewedMonth\"\n [disabledItemHandler]=\"calculatedDisabledItemHandler\"\n [value]=\"value\"\n (dayClick)=\"onDayClick($event)\"\n></tui-primitive-calendar-range>\n<ng-template #presets>\n <div class=\"t-wrapper\">\n <tui-calendar\n automation-id=\"tui-calendar-range__calendar\"\n tuiPreventDefault=\"mousedown\"\n [value]=\"value\"\n [markerHandler]=\"markerHandler\"\n [min]=\"computedMin | tuiMapper : maxLengthMapper : value : maxLength : true\"\n [max]=\"computedMax | tuiMapper : maxLengthMapper : value : maxLength : false\"\n [month]=\"computedMonth\"\n [disabledItemHandler]=\"calculatedDisabledItemHandler\"\n (dayClick)=\"onDayClick($event)\"\n ></tui-calendar>\n <tui-data-list\n role=\"menu\"\n automation-id=\"tui-calendar-range__menu\"\n class=\"t-menu\"\n >\n <button\n *ngFor=\"let item of items | tuiMapper : mapper : min : max : minLength : (otherDateText$ | async)\"\n tuiOption\n tuiPreventDefault=\"mousedown\"\n role=\"menuitemradio\"\n automation-id=\"tui-calendar-range__menu__item\"\n [attr.aria-checked]=\"isItemActive(item)\"\n (keydown.enter.prevent)=\"onItemSelect(item)\"\n (keydown.space.prevent)=\"onItemSelect(item)\"\n (click)=\"onItemSelect(item)\"\n >\n {{ item }}\n <tui-svg\n *ngIf=\"isItemActive(item)\"\n automation-id=\"tui-calendar-range__checkmark\"\n class=\"t-checkmark\"\n [src]=\"icons.check\"\n ></tui-svg>\n </button>\n </tui-data-list>\n </div>\n</ng-template>\n", styles: [":host{display:block}.t-wrapper{display:flex}.t-menu{width:11rem;border-left:1px solid var(--tui-base-03)}.t-checkmark{margin-left:auto;width:1rem;height:1rem}\n"], components: [{ type: i1.TuiPrimitiveCalendarRangeComponent, selector: "tui-primitive-calendar-range", inputs: ["disabledItemHandler", "markerHandler", "defaultViewedMonthFirst", "defaultViewedMonthSecond", "min", "max", "value"], outputs: ["dayClick"] }, { type: i2.TuiCalendarComponent, selector: "tui-calendar", inputs: ["month", "disabledItemHandler", "min", "max", "minViewedMonth", "maxViewedMonth", "hoveredItem", "showAdjacent", "markerHandler", "value"], outputs: ["dayClick", "monthChange", "hoveredItemChange"] }, { type: i2.TuiDataListComponent, selector: "tui-data-list", inputs: ["role", "emptyContent", "size"] }, { type: i2.TuiOptionComponent, selector: "button[tuiOption], a[tuiOption]", inputs: ["size", "role", "disabled", "value"] }, { type: i2.TuiSvgComponent, selector: "tui-svg", inputs: ["src"] }], directives: [{ type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4.TuiPreventDefaultDirective, selector: "[tuiPreventDefault]", inputs: ["tuiPreventDefault"] }, { type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], pipes: { "tuiMapper": i4.TuiMapperPipe, "async": i3.AsyncPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
113
114
|
__decorate([
|
|
114
115
|
tuiPure
|
|
115
116
|
], TuiCalendarRangeComponent.prototype, "calculateDisabledItemHandler", null);
|
|
@@ -138,6 +139,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
|
|
|
138
139
|
}] }, { type: i5.Observable, decorators: [{
|
|
139
140
|
type: Inject,
|
|
140
141
|
args: [TUI_OTHER_DATE_TEXT]
|
|
142
|
+
}] }, { type: undefined, decorators: [{
|
|
143
|
+
type: Inject,
|
|
144
|
+
args: [TUI_COMMON_ICONS]
|
|
141
145
|
}] }]; }, propDecorators: { defaultViewedMonth: [{
|
|
142
146
|
type: Input
|
|
143
147
|
}], disabledItemHandler: [{
|
|
@@ -162,4 +166,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
|
|
|
162
166
|
type: HostListener,
|
|
163
167
|
args: ['document:keydown.capture', ['$event']]
|
|
164
168
|
}], calculateDisabledItemHandler: [] } });
|
|
165
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsZW5kYXItcmFuZ2UuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2l0L2NvbXBvbmVudHMvY2FsZW5kYXItcmFuZ2UvY2FsZW5kYXItcmFuZ2UuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2l0L2NvbXBvbmVudHMvY2FsZW5kYXItcmFuZ2UvY2FsZW5kYXItcmFuZ2UudGVtcGxhdGUuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUNILHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUNULFlBQVksRUFDWixZQUFZLEVBQ1osTUFBTSxFQUNOLEtBQUssRUFDTCxRQUFRLEVBQ1IsTUFBTSxFQUNOLElBQUksR0FDUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQ0gsb0JBQW9CLEVBQ3BCLGFBQWEsRUFDYixZQUFZLEVBSVosV0FBVyxFQUNYLGlCQUFpQixFQUNqQixXQUFXLEVBRVgsUUFBUSxFQUNSLGVBQWUsRUFDZixvQkFBb0IsRUFDcEIsT0FBTyxFQUNQLFFBQVEsR0FDWCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQ0gsMEJBQTBCLEdBRzdCLE1BQU0sZ0JBQWdCLENBQUM7QUFFeEIsT0FBTyxFQUFDLDJCQUEyQixFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFDcEUsT0FBTyxFQUFDLHdCQUF3QixFQUFFLG1CQUFtQixFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFFbkYsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLGdCQUFnQixDQUFDOzs7Ozs7O0FBU3pDLE1BQU0sT0FBTyx5QkFBeUI7SUEyQ2xDLFlBR0ksWUFBbUQsRUFDeEIsR0FBc0IsRUFDZCxRQUEyQixFQUN4QixjQUFrQztRQUFsQyxtQkFBYyxHQUFkLGNBQWMsQ0FBb0I7UUEvQzVFLHVCQUFrQixHQUFhLFFBQVEsQ0FBQyxZQUFZLEVBQUUsQ0FB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QUE0QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgQ29tcG9uZW50LFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBIb3N0TGlzdGVuZXIsXG4gICAgSW5qZWN0LFxuICAgIElucHV0LFxuICAgIE9wdGlvbmFsLFxuICAgIE91dHB1dCxcbiAgICBTZWxmLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gICAgQUxXQVlTX0ZBTFNFX0hBTkRMRVIsXG4gICAgVFVJX0ZJUlNUX0RBWSxcbiAgICBUVUlfTEFTVF9EQVksXG4gICAgVHVpQm9vbGVhbkhhbmRsZXIsXG4gICAgVHVpRGF5LFxuICAgIFR1aURheUxpa2UsXG4gICAgVHVpRGF5UmFuZ2UsXG4gICAgVHVpRGVzdHJveVNlcnZpY2UsXG4gICAgdHVpSXNTdHJpbmcsXG4gICAgVHVpTWFwcGVyLFxuICAgIFR1aU1vbnRoLFxuICAgIHR1aU51bGxhYmxlU2FtZSxcbiAgICB0dWlPYmplY3RGcm9tRW50cmllcyxcbiAgICB0dWlQdXJlLFxuICAgIHR1aVdhdGNoLFxufSBmcm9tICdAdGFpZ2EtdWkvY2RrJztcbmltcG9ydCB7XG4gICAgVFVJX0RFRkFVTFRfTUFSS0VSX0hBTkRMRVIsXG4gICAgVHVpTWFya2VySGFuZGxlcixcbiAgICBUdWlXaXRoT3B0aW9uYWxNaW5NYXgsXG59IGZyb20gJ0B0YWlnYS11aS9jb3JlJztcbmltcG9ydCB7VHVpRGF5UmFuZ2VQZXJpb2R9IGZyb20gJ0B0YWlnYS11aS9raXQvY2xhc3Nlcyc7XG5pbXBvcnQge01BWF9EQVlfUkFOR0VfTEVOR1RIX01BUFBFUn0gZnJvbSAnQHRhaWdhLXVpL2tpdC9jb25zdGFudHMnO1xuaW1wb3J0IHtUVUlfQ0FMRU5EQVJfREFURV9TVFJFQU0sIFRVSV9PVEhFUl9EQVRFX1RFWFR9IGZyb20gJ0B0YWlnYS11aS9raXQvdG9rZW5zJztcbmltcG9ydCB7T2JzZXJ2YWJsZX0gZnJvbSAncnhqcyc7XG5pbXBvcnQge3Rha2VVbnRpbH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3R1aS1jYWxlbmRhci1yYW5nZScsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2NhbGVuZGFyLXJhbmdlLnRlbXBsYXRlLmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2NhbGVuZGFyLXJhbmdlLnN0eWxlLmxlc3MnXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBwcm92aWRlcnM6IFtUdWlEZXN0cm95U2VydmljZV0sXG59KVxuZXhwb3J0IGNsYXNzIFR1aUNhbGVuZGFyUmFuZ2VDb21wb25lbnQgaW1wbGVtZW50cyBUdWlXaXRoT3B0aW9uYWxNaW5NYXg8VHVpRGF5PiB7XG4gICAgQElucHV0KClcbiAgICBkZWZhdWx0Vmlld2VkTW9udGg6IFR1aU1vbnRoID0gVHVpTW9udGguY3VycmVudExvY2FsKCk7XG5cbiAgICBASW5wdXQoKVxuICAgIGRpc2FibGVkSXRlbUhhbmRsZXI6IFR1aUJvb2xlYW5IYW5kbGVyPFR1aURheT4gPSBBTFdBWVNfRkFMU0VfSEFORExFUjtcblxuICAgIEBJbnB1dCgpXG4gICAgbWFya2VySGFuZGxlcjogVHVpTWFya2VySGFuZGxlciA9IFRVSV9ERUZBVUxUX01BUktFUl9IQU5ETEVSO1xuXG4gICAgQElucHV0KClcbiAgICBpdGVtczogcmVhZG9ubHkgVHVpRGF5UmFuZ2VQZXJpb2RbXSA9IFtdO1xuXG4gICAgQElucHV0KClcbiAgICBtaW46IFR1aURheSB8IG51bGwgPSBUVUlfRklSU1RfREFZO1xuXG4gICAgQElucHV0KClcbiAgICBtYXg6IFR1aURheSB8IG51bGwgPSBUVUlfTEFTVF9EQVk7XG5cbiAgICBASW5wdXQoKVxuICAgIG1pbkxlbmd0aDogVHVpRGF5TGlrZSB8IG51bGwgPSBudWxsO1xuXG4gICAgQElucHV0KClcbiAgICBtYXhMZW5ndGg6IFR1aURheUxpa2UgfCBudWxsID0gbnVsbDtcblxuICAgIEBJbnB1dCgpXG4gICAgdmFsdWU6IFR1aURheVJhbmdlIHwgbnVsbCA9IG51bGw7XG5cbiAgICBAT3V0cHV0KClcbiAgICByZWFkb25seSB2YWx1ZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8VHVpRGF5UmFuZ2UgfCBudWxsPigpO1xuXG4gICAgcHJldmlvdXNWYWx1ZTogVHVpRGF5UmFuZ2UgfCBudWxsID0gbnVsbDtcblxuICAgIHJlYWRvbmx5IG1heExlbmd0aE1hcHBlcjogVHVpTWFwcGVyPFR1aURheSwgVHVpRGF5PiA9IE1BWF9EQVlfUkFOR0VfTEVOR1RIX01BUFBFUjtcblxuICAgIGdldCBjb21wdXRlZE1pbigpOiBUdWlEYXkge1xuICAgICAgICByZXR1cm4gdGhpcy5taW4gPz8gVFVJX0ZJUlNUX0RBWTtcbiAgICB9XG5cbiAgICBnZXQgY29tcHV0ZWRNYXgoKTogVHVpRGF5IHtcbiAgICAgICAgcmV0dXJuIHRoaXMubWF4ID8/IFRVSV9MQVNUX0RBWTtcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgQE9wdGlvbmFsKClcbiAgICAgICAgQEluamVjdChUVUlfQ0FMRU5EQVJfREFURV9TVFJFQU0pXG4gICAgICAgIHZhbHVlQ2hhbmdlczogT2JzZXJ2YWJsZTxUdWlEYXlSYW5nZSB8IG51bGw+IHwgbnVsbCxcbiAgICAgICAgQEluamVjdChDaGFuZ2VEZXRlY3RvclJlZikgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICAgICAgQFNlbGYoKSBASW5qZWN0KFR1aURlc3Ryb3lTZXJ2aWNlKSBkZXN0cm95JDogVHVpRGVzdHJveVNlcnZpY2UsXG4gICAgICAgIEBJbmplY3QoVFVJX09USEVSX0RBVEVfVEVYVCkgcmVhZG9ubHkgb3RoZXJEYXRlVGV4dCQ6IE9ic2VydmFibGU8c3RyaW5nPixcbiAgICApIHtcbiAgICAgICAgaWYgKCF2YWx1ZUNoYW5nZXMpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHZhbHVlQ2hhbmdlcy5waXBlKHR1aVdhdGNoKGNkciksIHRha2VVbnRpbChkZXN0cm95JCkpLnN1YnNjcmliZSh2YWx1ZSA9PiB7XG4gICAgICAgICAgICB0aGlzLnZhbHVlID0gdmFsdWU7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIEBIb3N0TGlzdGVuZXIoJ2RvY3VtZW50OmtleWRvd24uY2FwdHVyZScsIFsnJGV2ZW50J10pXG4gICAgb25Fc2MoZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgaWYgKGV2ZW50LmtleSAhPT0gJ0VzY2FwZScgfHwgIXRoaXMudmFsdWU/LmlzU2luZ2xlRGF5KSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgdGhpcy52YWx1ZSA9IHRoaXMucHJldmlvdXNWYWx1ZTtcbiAgICB9XG5cbiAgICByZWFkb25seSBtYXBwZXI6IFR1aU1hcHBlcjxcbiAgICAgICAgcmVhZG9ubHkgVHVpRGF5UmFuZ2VQZXJpb2RbXSxcbiAgICAgICAgUmVhZG9ubHlBcnJheTxUdWlEYXlSYW5nZVBlcmlvZCB8IHN0cmluZz5cbiAgICA+ID0gKFxuICAgICAgICBpdGVtcyxcbiAgICAgICAgbWluOiBUdWlEYXksXG4gICAgICAgIG1heDogVHVpRGF5IHwgbnVsbCxcbiAgICAgICAgbWluTGVuZ3RoOiBUdWlEYXlMaWtlIHwgbnVsbCxcbiAgICAgICAgb3RoZXJEYXRlVGV4dDogc3RyaW5nLFxuICAgICkgPT4gW1xuICAgICAgICAuLi5pdGVtcy5maWx0ZXIoXG4gICAgICAgICAgICBpdGVtID0+XG4gICAgICAgICAgICAgICAgKG1pbkxlbmd0aCA9PT0gbnVsbCB8fFxuICAgICAgICAgICAgICAgICAgICBpdGVtLnJhbmdlLmZyb20uYXBwZW5kKG1pbkxlbmd0aCkuZGF5U2FtZU9yQmVmb3JlKGl0ZW0ucmFuZ2UudG8pKSAmJlxuICAgICAgICAgICAgICAgIGl0ZW0ucmFuZ2UudG8uZGF5U2FtZU9yQWZ0ZXIobWluKSAmJlxuICAgICAgICAgICAgICAgIChtYXggPT09IG51bGwgfHwgaXRlbS5yYW5nZS5mcm9tLmRheVNhbWVPckJlZm9yZShtYXgpKSxcbiAgICAgICAgKSxcbiAgICAgICAgb3RoZXJEYXRlVGV4dCxcbiAgICBdO1xuXG4gICAgZ2V0IGNhbGN1bGF0ZWREaXNhYmxlZEl0ZW1IYW5kbGVyKCk6IFR1aUJvb2xlYW5IYW5kbGVyPFR1aURheT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5jYWxjdWxhdGVEaXNhYmxlZEl0ZW1IYW5kbGVyKFxuICAgICAgICAgICAgdGhpcy5kaXNhYmxlZEl0ZW1IYW5kbGVyLFxuICAgICAgICAgICAgdGhpcy52YWx1ZSxcbiAgICAgICAgICAgIHRoaXMubWluTGVuZ3RoLFxuICAgICAgICApO1xuICAgIH1cblxuICAgIGdldCBjb21wdXRlZE1vbnRoKCk6IFR1aU1vbnRoIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudmFsdWUgPyB0aGlzLnZhbHVlLnRvIDogdGhpcy5kZWZhdWx0Vmlld2VkTW9udGg7XG4gICAgfVxuXG4gICAgaXNJdGVtQWN0aXZlKGl0ZW06IFR1aURheVJhbmdlUGVyaW9kIHwgc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgICAgIGNvbnN0IHthY3RpdmVQZXJpb2R9ID0gdGhpcztcblxuICAgICAgICByZXR1cm4gKHR1aUlzU3RyaW5nKGl0ZW0pICYmIGFjdGl2ZVBlcmlvZCA9PT0gbnVsbCkgfHwgYWN0aXZlUGVyaW9kID09PSBpdGVtO1xuICAgIH1cblxuICAgIG9uUmFuZ2VDaGFuZ2UoZGF5UmFuZ2U6IFR1aURheVJhbmdlKTogdm9pZCB7XG4gICAgICAgIHRoaXMudXBkYXRlVmFsdWUoZGF5UmFuZ2UpO1xuICAgIH1cblxuICAgIG9uRGF5Q2xpY2soZGF5OiBUdWlEYXkpOiB2b2lkIHtcbiAgICAgICAgY29uc3Qge3ZhbHVlfSA9IHRoaXM7XG5cbiAgICAgICAgdGhpcy5wcmV2aW91c1ZhbHVlID0gdmFsdWU7XG5cbiAgICAgICAgaWYgKHZhbHVlID09PSBudWxsIHx8ICF2YWx1ZS5pc1NpbmdsZURheSkge1xuICAgICAgICAgICAgdGhpcy52YWx1ZSA9IG5ldyBUdWlEYXlSYW5nZShkYXksIGRheSk7XG5cbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMudXBkYXRlVmFsdWUoVHVpRGF5UmFuZ2Uuc29ydCh2YWx1ZS5mcm9tLCBkYXkpKTtcbiAgICB9XG5cbiAgICBvbkl0ZW1TZWxlY3QoaXRlbTogVHVpRGF5UmFuZ2VQZXJpb2QgfCBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgaWYgKHR5cGVvZiBpdGVtICE9PSAnc3RyaW5nJykge1xuICAgICAgICAgICAgdGhpcy51cGRhdGVWYWx1ZShpdGVtLnJhbmdlLmRheUxpbWl0KHRoaXMubWluLCB0aGlzLm1heCkpO1xuXG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy5hY3RpdmVQZXJpb2QgIT09IG51bGwpIHtcbiAgICAgICAgICAgIHRoaXMudXBkYXRlVmFsdWUobnVsbCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICB1cGRhdGVWYWx1ZSh2YWx1ZTogVHVpRGF5UmFuZ2UgfCBudWxsKTogdm9pZCB7XG4gICAgICAgIHRoaXMudmFsdWUgPSB2YWx1ZTtcbiAgICAgICAgdGhpcy52YWx1ZUNoYW5nZS5lbWl0KHZhbHVlKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldCBhY3RpdmVQZXJpb2QoKTogVHVpRGF5UmFuZ2VQZXJpb2QgfCBudWxsIHtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgIHRoaXMuaXRlbXMuZmluZChpdGVtID0+XG4gICAgICAgICAgICAgICAgdHVpTnVsbGFibGVTYW1lPFR1aURheVJhbmdlPihcbiAgICAgICAgICAgICAgICAgICAgdGhpcy52YWx1ZSxcbiAgICAgICAgICAgICAgICAgICAgaXRlbS5yYW5nZSxcbiAgICAgICAgICAgICAgICAgICAgKGEsIGIpID0+XG4gICAgICAgICAgICAgICAgICAgICAgICBhLmZyb20uZGF5U2FtZShiLmZyb20uZGF5TGltaXQodGhpcy5taW4sIHRoaXMubWF4KSkgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgIGEudG8uZGF5U2FtZShiLnRvLmRheUxpbWl0KHRoaXMubWluLCB0aGlzLm1heCkpLFxuICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICApIHx8IG51bGxcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBAdHVpUHVyZVxuICAgIHByaXZhdGUgY2FsY3VsYXRlRGlzYWJsZWRJdGVtSGFuZGxlcihcbiAgICAgICAgZGlzYWJsZWRJdGVtSGFuZGxlcjogVHVpQm9vbGVhbkhhbmRsZXI8VHVpRGF5PixcbiAgICAgICAgdmFsdWU6IFR1aURheVJhbmdlIHwgbnVsbCxcbiAgICAgICAgbWluTGVuZ3RoOiBUdWlEYXlMaWtlIHwgbnVsbCxcbiAgICApOiBUdWlCb29sZWFuSGFuZGxlcjxUdWlEYXk+IHtcbiAgICAgICAgcmV0dXJuIGl0ZW0gPT4ge1xuICAgICAgICAgICAgaWYgKCF2YWx1ZT8uaXNTaW5nbGVEYXkgfHwgIW1pbkxlbmd0aCkge1xuICAgICAgICAgICAgICAgIHJldHVybiBkaXNhYmxlZEl0ZW1IYW5kbGVyKGl0ZW0pO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBjb25zdCBuZWdhdGl2ZU1pbkxlbmd0aCA9IHR1aU9iamVjdEZyb21FbnRyaWVzKFxuICAgICAgICAgICAgICAgIE9iamVjdC5lbnRyaWVzKG1pbkxlbmd0aCkubWFwKChba2V5LCB2YWx1ZV0pID0+IFtrZXksIC12YWx1ZV0pLFxuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIGNvbnN0IGRpc2FibGVkQmVmb3JlID0gdmFsdWUuZnJvbS5hcHBlbmQobmVnYXRpdmVNaW5MZW5ndGgpLmFwcGVuZCh7ZGF5OiAxfSk7XG4gICAgICAgICAgICBjb25zdCBkaXNhYmxlZEFmdGVyID0gdmFsdWUuZnJvbS5hcHBlbmQobWluTGVuZ3RoKS5hcHBlbmQoe2RheTogLTF9KTtcbiAgICAgICAgICAgIGNvbnN0IGluRGlzYWJsZWRSYW5nZSA9XG4gICAgICAgICAgICAgICAgZGlzYWJsZWRCZWZvcmUuZGF5QmVmb3JlKGl0ZW0pICYmIGRpc2FibGVkQWZ0ZXIuZGF5QWZ0ZXIoaXRlbSk7XG5cbiAgICAgICAgICAgIHJldHVybiBpbkRpc2FibGVkUmFuZ2UgfHwgZGlzYWJsZWRJdGVtSGFuZGxlcihpdGVtKTtcbiAgICAgICAgfTtcbiAgICB9XG59XG4iLCI8dHVpLXByaW1pdGl2ZS1jYWxlbmRhci1yYW5nZVxuICAgICpuZ0lmPVwiIWl0ZW1zLmxlbmd0aDsgZWxzZSBwcmVzZXRzXCJcbiAgICBhdXRvbWF0aW9uLWlkPVwidHVpLWNhbGVuZGFyLXJhbmdlX19jYWxlbmRhcnNcIlxuICAgIHR1aVByZXZlbnREZWZhdWx0PVwibW91c2Vkb3duXCJcbiAgICBbbWFya2VySGFuZGxlcl09XCJtYXJrZXJIYW5kbGVyXCJcbiAgICBbbWluXT1cImNvbXB1dGVkTWluIHwgdHVpTWFwcGVyIDogbWF4TGVuZ3RoTWFwcGVyIDogdmFsdWUgOiBtYXhMZW5ndGggOiB0cnVlXCJcbiAgICBbbWF4XT1cImNvbXB1dGVkTWF4IHwgdHVpTWFwcGVyIDogbWF4TGVuZ3RoTWFwcGVyIDogdmFsdWUgOiBtYXhMZW5ndGggOiBmYWxzZVwiXG4gICAgW2RlZmF1bHRWaWV3ZWRNb250aEZpcnN0XT1cImRlZmF1bHRWaWV3ZWRNb250aFwiXG4gICAgW2Rpc2FibGVkSXRlbUhhbmRsZXJdPVwiY2FsY3VsYXRlZERpc2FibGVkSXRlbUhhbmRsZXJcIlxuICAgIFt2YWx1ZV09XCJ2YWx1ZVwiXG4gICAgKGRheUNsaWNrKT1cIm9uRGF5Q2xpY2soJGV2ZW50KVwiXG4+PC90dWktcHJpbWl0aXZlLWNhbGVuZGFyLXJhbmdlPlxuPG5nLXRlbXBsYXRlICNwcmVzZXRzPlxuICAgIDxkaXYgY2xhc3M9XCJ0LXdyYXBwZXJcIj5cbiAgICAgICAgPHR1aS1jYWxlbmRhclxuICAgICAgICAgICAgYXV0b21hdGlvbi1pZD1cInR1aS1jYWxlbmRhci1yYW5nZV9fY2FsZW5kYXJcIlxuICAgICAgICAgICAgdHVpUHJldmVudERlZmF1bHQ9XCJtb3VzZWRvd25cIlxuICAgICAgICAgICAgW3ZhbHVlXT1cInZhbHVlXCJcbiAgICAgICAgICAgIFttYXJrZXJIYW5kbGVyXT1cIm1hcmtlckhhbmRsZXJcIlxuICAgICAgICAgICAgW21pbl09XCJjb21wdXRlZE1pbiB8IHR1aU1hcHBlciA6IG1heExlbmd0aE1hcHBlciA6IHZhbHVlIDogbWF4TGVuZ3RoIDogdHJ1ZVwiXG4gICAgICAgICAgICBbbWF4XT1cImNvbXB1dGVkTWF4IHwgdHVpTWFwcGVyIDogbWF4TGVuZ3RoTWFwcGVyIDogdmFsdWUgOiBtYXhMZW5ndGggOiBmYWxzZVwiXG4gICAgICAgICAgICBbbW9udGhdPVwiY29tcHV0ZWRNb250aFwiXG4gICAgICAgICAgICBbZGlzYWJsZWRJdGVtSGFuZGxlcl09XCJjYWxjdWxhdGVkRGlzYWJsZWRJdGVtSGFuZGxlclwiXG4gICAgICAgICAgICAoZGF5Q2xpY2spPVwib25EYXlDbGljaygkZXZlbnQpXCJcbiAgICAgICAgPjwvdHVpLWNhbGVuZGFyPlxuICAgICAgICA8dHVpLWRhdGEtbGlzdFxuICAgICAgICAgICAgcm9sZT1cIm1lbnVcIlxuICAgICAgICAgICAgYXV0b21hdGlvbi1pZD1cInR1aS1jYWxlbmRhci1yYW5nZV9fbWVudVwiXG4gICAgICAgICAgICBjbGFzcz1cInQtbWVudVwiXG4gICAgICAgID5cbiAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAqbmdGb3I9XCJsZXQgaXRlbSBvZiBpdGVtcyB8IHR1aU1hcHBlciA6IG1hcHBlciA6IG1pbiA6IG1heCA6IG1pbkxlbmd0aCA6IChvdGhlckRhdGVUZXh0JCB8IGFzeW5jKVwiXG4gICAgICAgICAgICAgICAgdHVpT3B0aW9uXG4gICAgICAgICAgICAgICAgdHVpUHJldmVudERlZmF1bHQ9XCJtb3VzZWRvd25cIlxuICAgICAgICAgICAgICAgIHJvbGU9XCJtZW51aXRlbXJhZGlvXCJcbiAgICAgICAgICAgICAgICBhdXRvbWF0aW9uLWlkPVwidHVpLWNhbGVuZGFyLXJhbmdlX19tZW51X19pdGVtXCJcbiAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLWNoZWNrZWRdPVwiaXNJdGVtQWN0aXZlKGl0ZW0pXCJcbiAgICAgICAgICAgICAgICAoa2V5ZG93bi5lbnRlci5wcmV2ZW50KT1cIm9uSXRlbVNlbGVjdChpdGVtKVwiXG4gICAgICAgICAgICAgICAgKGtleWRvd24uc3BhY2UucHJldmVudCk9XCJvbkl0ZW1TZWxlY3QoaXRlbSlcIlxuICAgICAgICAgICAgICAgIChjbGljayk9XCJvbkl0ZW1TZWxlY3QoaXRlbSlcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIHt7IGl0ZW0gfX1cbiAgICAgICAgICAgICAgICA8dHVpLXN2Z1xuICAgICAgICAgICAgICAgICAgICAqbmdJZj1cImlzSXRlbUFjdGl2ZShpdGVtKVwiXG4gICAgICAgICAgICAgICAgICAgIGF1dG9tYXRpb24taWQ9XCJ0dWktY2FsZW5kYXItcmFuZ2VfX2NoZWNrbWFya1wiXG4gICAgICAgICAgICAgICAgICAgIHNyYz1cInR1aUljb25DaGVja1wiXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwidC1jaGVja21hcmtcIlxuICAgICAgICAgICAgICAgID48L3R1aS1zdmc+XG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgPC90dWktZGF0YS1saXN0PlxuICAgIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
|
|
169
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsZW5kYXItcmFuZ2UuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2l0L2NvbXBvbmVudHMvY2FsZW5kYXItcmFuZ2UvY2FsZW5kYXItcmFuZ2UuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2l0L2NvbXBvbmVudHMvY2FsZW5kYXItcmFuZ2UvY2FsZW5kYXItcmFuZ2UudGVtcGxhdGUuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUNILHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUNULFlBQVksRUFDWixZQUFZLEVBQ1osTUFBTSxFQUNOLEtBQUssRUFDTCxRQUFRLEVBQ1IsTUFBTSxFQUNOLElBQUksR0FDUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQ0gsb0JBQW9CLEVBQ3BCLGFBQWEsRUFDYixZQUFZLEVBSVosV0FBVyxFQUNYLGlCQUFpQixFQUNqQixXQUFXLEVBRVgsUUFBUSxFQUNSLGVBQWUsRUFDZixvQkFBb0IsRUFDcEIsT0FBTyxFQUNQLFFBQVEsR0FDWCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQ0gsZ0JBQWdCLEVBQ2hCLDBCQUEwQixHQUk3QixNQUFNLGdCQUFnQixDQUFDO0FBRXhCLE9BQU8sRUFBQywyQkFBMkIsRUFBQyxNQUFNLHlCQUF5QixDQUFDO0FBQ3BFLE9BQU8sRUFBQyx3QkFBd0IsRUFBRSxtQkFBbUIsRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBRW5GLE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7OztBQVN6QyxNQUFNLE9BQU8seUJBQXlCO0lBMkNsQyxZQUdJLFlBQW1ELEVBQ3hCLEdBQXNCLEVBQ2QsUUFBMkIsRUFDeEIsY0FBa0MsRUFDckMsS0FBcUI7UUFEbEIsbUJBQWMsR0FBZCxjQUFjLENBQW9CO1FBQ3JDLFVBQUssR0FBTCxL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SztnQkFJRyxXQUFXO3NCQURuQixNQUFNO2dCQWtDUCxLQUFLO3NCQURKLFlBQVk7dUJBQUMsMEJBQTBCLEVBQUUsQ0FBQyxRQUFRLENBQUM7Z0JBa0c1Qyw0QkFBNEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENoYW5nZURldGVjdG9yUmVmLFxuICAgIENvbXBvbmVudCxcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgSG9zdExpc3RlbmVyLFxuICAgIEluamVjdCxcbiAgICBJbnB1dCxcbiAgICBPcHRpb25hbCxcbiAgICBPdXRwdXQsXG4gICAgU2VsZixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICAgIEFMV0FZU19GQUxTRV9IQU5ETEVSLFxuICAgIFRVSV9GSVJTVF9EQVksXG4gICAgVFVJX0xBU1RfREFZLFxuICAgIFR1aUJvb2xlYW5IYW5kbGVyLFxuICAgIFR1aURheSxcbiAgICBUdWlEYXlMaWtlLFxuICAgIFR1aURheVJhbmdlLFxuICAgIFR1aURlc3Ryb3lTZXJ2aWNlLFxuICAgIHR1aUlzU3RyaW5nLFxuICAgIFR1aU1hcHBlcixcbiAgICBUdWlNb250aCxcbiAgICB0dWlOdWxsYWJsZVNhbWUsXG4gICAgdHVpT2JqZWN0RnJvbUVudHJpZXMsXG4gICAgdHVpUHVyZSxcbiAgICB0dWlXYXRjaCxcbn0gZnJvbSAnQHRhaWdhLXVpL2Nkayc7XG5pbXBvcnQge1xuICAgIFRVSV9DT01NT05fSUNPTlMsXG4gICAgVFVJX0RFRkFVTFRfTUFSS0VSX0hBTkRMRVIsXG4gICAgVHVpQ29tbW9uSWNvbnMsXG4gICAgVHVpTWFya2VySGFuZGxlcixcbiAgICBUdWlXaXRoT3B0aW9uYWxNaW5NYXgsXG59IGZyb20gJ0B0YWlnYS11aS9jb3JlJztcbmltcG9ydCB7VHVpRGF5UmFuZ2VQZXJpb2R9IGZyb20gJ0B0YWlnYS11aS9raXQvY2xhc3Nlcyc7XG5pbXBvcnQge01BWF9EQVlfUkFOR0VfTEVOR1RIX01BUFBFUn0gZnJvbSAnQHRhaWdhLXVpL2tpdC9jb25zdGFudHMnO1xuaW1wb3J0IHtUVUlfQ0FMRU5EQVJfREFURV9TVFJFQU0sIFRVSV9PVEhFUl9EQVRFX1RFWFR9IGZyb20gJ0B0YWlnYS11aS9raXQvdG9rZW5zJztcbmltcG9ydCB7T2JzZXJ2YWJsZX0gZnJvbSAncnhqcyc7XG5pbXBvcnQge3Rha2VVbnRpbH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3R1aS1jYWxlbmRhci1yYW5nZScsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2NhbGVuZGFyLXJhbmdlLnRlbXBsYXRlLmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2NhbGVuZGFyLXJhbmdlLnN0eWxlLmxlc3MnXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBwcm92aWRlcnM6IFtUdWlEZXN0cm95U2VydmljZV0sXG59KVxuZXhwb3J0IGNsYXNzIFR1aUNhbGVuZGFyUmFuZ2VDb21wb25lbnQgaW1wbGVtZW50cyBUdWlXaXRoT3B0aW9uYWxNaW5NYXg8VHVpRGF5PiB7XG4gICAgQElucHV0KClcbiAgICBkZWZhdWx0Vmlld2VkTW9udGg6IFR1aU1vbnRoID0gVHVpTW9udGguY3VycmVudExvY2FsKCk7XG5cbiAgICBASW5wdXQoKVxuICAgIGRpc2FibGVkSXRlbUhhbmRsZXI6IFR1aUJvb2xlYW5IYW5kbGVyPFR1aURheT4gPSBBTFdBWVNfRkFMU0VfSEFORExFUjtcblxuICAgIEBJbnB1dCgpXG4gICAgbWFya2VySGFuZGxlcjogVHVpTWFya2VySGFuZGxlciA9IFRVSV9ERUZBVUxUX01BUktFUl9IQU5ETEVSO1xuXG4gICAgQElucHV0KClcbiAgICBpdGVtczogcmVhZG9ubHkgVHVpRGF5UmFuZ2VQZXJpb2RbXSA9IFtdO1xuXG4gICAgQElucHV0KClcbiAgICBtaW46IFR1aURheSB8IG51bGwgPSBUVUlfRklSU1RfREFZO1xuXG4gICAgQElucHV0KClcbiAgICBtYXg6IFR1aURheSB8IG51bGwgPSBUVUlfTEFTVF9EQVk7XG5cbiAgICBASW5wdXQoKVxuICAgIG1pbkxlbmd0aDogVHVpRGF5TGlrZSB8IG51bGwgPSBudWxsO1xuXG4gICAgQElucHV0KClcbiAgICBtYXhMZW5ndGg6IFR1aURheUxpa2UgfCBudWxsID0gbnVsbDtcblxuICAgIEBJbnB1dCgpXG4gICAgdmFsdWU6IFR1aURheVJhbmdlIHwgbnVsbCA9IG51bGw7XG5cbiAgICBAT3V0cHV0KClcbiAgICByZWFkb25seSB2YWx1ZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8VHVpRGF5UmFuZ2UgfCBudWxsPigpO1xuXG4gICAgcHJldmlvdXNWYWx1ZTogVHVpRGF5UmFuZ2UgfCBudWxsID0gbnVsbDtcblxuICAgIHJlYWRvbmx5IG1heExlbmd0aE1hcHBlcjogVHVpTWFwcGVyPFR1aURheSwgVHVpRGF5PiA9IE1BWF9EQVlfUkFOR0VfTEVOR1RIX01BUFBFUjtcblxuICAgIGdldCBjb21wdXRlZE1pbigpOiBUdWlEYXkge1xuICAgICAgICByZXR1cm4gdGhpcy5taW4gPz8gVFVJX0ZJUlNUX0RBWTtcbiAgICB9XG5cbiAgICBnZXQgY29tcHV0ZWRNYXgoKTogVHVpRGF5IHtcbiAgICAgICAgcmV0dXJuIHRoaXMubWF4ID8/IFRVSV9MQVNUX0RBWTtcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgQE9wdGlvbmFsKClcbiAgICAgICAgQEluamVjdChUVUlfQ0FMRU5EQVJfREFURV9TVFJFQU0pXG4gICAgICAgIHZhbHVlQ2hhbmdlczogT2JzZXJ2YWJsZTxUdWlEYXlSYW5nZSB8IG51bGw+IHwgbnVsbCxcbiAgICAgICAgQEluamVjdChDaGFuZ2VEZXRlY3RvclJlZikgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICAgICAgQFNlbGYoKSBASW5qZWN0KFR1aURlc3Ryb3lTZXJ2aWNlKSBkZXN0cm95JDogVHVpRGVzdHJveVNlcnZpY2UsXG4gICAgICAgIEBJbmplY3QoVFVJX09USEVSX0RBVEVfVEVYVCkgcmVhZG9ubHkgb3RoZXJEYXRlVGV4dCQ6IE9ic2VydmFibGU8c3RyaW5nPixcbiAgICAgICAgQEluamVjdChUVUlfQ09NTU9OX0lDT05TKSByZWFkb25seSBpY29uczogVHVpQ29tbW9uSWNvbnMsXG4gICAgKSB7XG4gICAgICAgIGlmICghdmFsdWVDaGFuZ2VzKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB2YWx1ZUNoYW5nZXMucGlwZSh0dWlXYXRjaChjZHIpLCB0YWtlVW50aWwoZGVzdHJveSQpKS5zdWJzY3JpYmUodmFsdWUgPT4ge1xuICAgICAgICAgICAgdGhpcy52YWx1ZSA9IHZhbHVlO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBASG9zdExpc3RlbmVyKCdkb2N1bWVudDprZXlkb3duLmNhcHR1cmUnLCBbJyRldmVudCddKVxuICAgIG9uRXNjKGV2ZW50OiBLZXlib2FyZEV2ZW50KTogdm9pZCB7XG4gICAgICAgIGlmIChldmVudC5rZXkgIT09ICdFc2NhcGUnIHx8ICF0aGlzLnZhbHVlPy5pc1NpbmdsZURheSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgIHRoaXMudmFsdWUgPSB0aGlzLnByZXZpb3VzVmFsdWU7XG4gICAgfVxuXG4gICAgcmVhZG9ubHkgbWFwcGVyOiBUdWlNYXBwZXI8XG4gICAgICAgIHJlYWRvbmx5IFR1aURheVJhbmdlUGVyaW9kW10sXG4gICAgICAgIFJlYWRvbmx5QXJyYXk8VHVpRGF5UmFuZ2VQZXJpb2QgfCBzdHJpbmc+XG4gICAgPiA9IChcbiAgICAgICAgaXRlbXMsXG4gICAgICAgIG1pbjogVHVpRGF5LFxuICAgICAgICBtYXg6IFR1aURheSB8IG51bGwsXG4gICAgICAgIG1pbkxlbmd0aDogVHVpRGF5TGlrZSB8IG51bGwsXG4gICAgICAgIG90aGVyRGF0ZVRleHQ6IHN0cmluZyxcbiAgICApID0+IFtcbiAgICAgICAgLi4uaXRlbXMuZmlsdGVyKFxuICAgICAgICAgICAgaXRlbSA9PlxuICAgICAgICAgICAgICAgIChtaW5MZW5ndGggPT09IG51bGwgfHxcbiAgICAgICAgICAgICAgICAgICAgaXRlbS5yYW5nZS5mcm9tLmFwcGVuZChtaW5MZW5ndGgpLmRheVNhbWVPckJlZm9yZShpdGVtLnJhbmdlLnRvKSkgJiZcbiAgICAgICAgICAgICAgICBpdGVtLnJhbmdlLnRvLmRheVNhbWVPckFmdGVyKG1pbikgJiZcbiAgICAgICAgICAgICAgICAobWF4ID09PSBudWxsIHx8IGl0ZW0ucmFuZ2UuZnJvbS5kYXlTYW1lT3JCZWZvcmUobWF4KSksXG4gICAgICAgICksXG4gICAgICAgIG90aGVyRGF0ZVRleHQsXG4gICAgXTtcblxuICAgIGdldCBjYWxjdWxhdGVkRGlzYWJsZWRJdGVtSGFuZGxlcigpOiBUdWlCb29sZWFuSGFuZGxlcjxUdWlEYXk+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY2FsY3VsYXRlRGlzYWJsZWRJdGVtSGFuZGxlcihcbiAgICAgICAgICAgIHRoaXMuZGlzYWJsZWRJdGVtSGFuZGxlcixcbiAgICAgICAgICAgIHRoaXMudmFsdWUsXG4gICAgICAgICAgICB0aGlzLm1pbkxlbmd0aCxcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBnZXQgY29tcHV0ZWRNb250aCgpOiBUdWlNb250aCB7XG4gICAgICAgIHJldHVybiB0aGlzLnZhbHVlID8gdGhpcy52YWx1ZS50byA6IHRoaXMuZGVmYXVsdFZpZXdlZE1vbnRoO1xuICAgIH1cblxuICAgIGlzSXRlbUFjdGl2ZShpdGVtOiBUdWlEYXlSYW5nZVBlcmlvZCB8IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgICAgICBjb25zdCB7YWN0aXZlUGVyaW9kfSA9IHRoaXM7XG5cbiAgICAgICAgcmV0dXJuICh0dWlJc1N0cmluZyhpdGVtKSAmJiBhY3RpdmVQZXJpb2QgPT09IG51bGwpIHx8IGFjdGl2ZVBlcmlvZCA9PT0gaXRlbTtcbiAgICB9XG5cbiAgICBvblJhbmdlQ2hhbmdlKGRheVJhbmdlOiBUdWlEYXlSYW5nZSk6IHZvaWQge1xuICAgICAgICB0aGlzLnVwZGF0ZVZhbHVlKGRheVJhbmdlKTtcbiAgICB9XG5cbiAgICBvbkRheUNsaWNrKGRheTogVHVpRGF5KTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHt2YWx1ZX0gPSB0aGlzO1xuXG4gICAgICAgIHRoaXMucHJldmlvdXNWYWx1ZSA9IHZhbHVlO1xuXG4gICAgICAgIGlmICh2YWx1ZSA9PT0gbnVsbCB8fCAhdmFsdWUuaXNTaW5nbGVEYXkpIHtcbiAgICAgICAgICAgIHRoaXMudmFsdWUgPSBuZXcgVHVpRGF5UmFuZ2UoZGF5LCBkYXkpO1xuXG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnVwZGF0ZVZhbHVlKFR1aURheVJhbmdlLnNvcnQodmFsdWUuZnJvbSwgZGF5KSk7XG4gICAgfVxuXG4gICAgb25JdGVtU2VsZWN0KGl0ZW06IFR1aURheVJhbmdlUGVyaW9kIHwgc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIGlmICh0eXBlb2YgaXRlbSAhPT0gJ3N0cmluZycpIHtcbiAgICAgICAgICAgIHRoaXMudXBkYXRlVmFsdWUoaXRlbS5yYW5nZS5kYXlMaW1pdCh0aGlzLm1pbiwgdGhpcy5tYXgpKTtcblxuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMuYWN0aXZlUGVyaW9kICE9PSBudWxsKSB7XG4gICAgICAgICAgICB0aGlzLnVwZGF0ZVZhbHVlKG51bGwpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgdXBkYXRlVmFsdWUodmFsdWU6IFR1aURheVJhbmdlIHwgbnVsbCk6IHZvaWQge1xuICAgICAgICB0aGlzLnZhbHVlID0gdmFsdWU7XG4gICAgICAgIHRoaXMudmFsdWVDaGFuZ2UuZW1pdCh2YWx1ZSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXQgYWN0aXZlUGVyaW9kKCk6IFR1aURheVJhbmdlUGVyaW9kIHwgbnVsbCB7XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICB0aGlzLml0ZW1zLmZpbmQoaXRlbSA9PlxuICAgICAgICAgICAgICAgIHR1aU51bGxhYmxlU2FtZTxUdWlEYXlSYW5nZT4oXG4gICAgICAgICAgICAgICAgICAgIHRoaXMudmFsdWUsXG4gICAgICAgICAgICAgICAgICAgIGl0ZW0ucmFuZ2UsXG4gICAgICAgICAgICAgICAgICAgIChhLCBiKSA9PlxuICAgICAgICAgICAgICAgICAgICAgICAgYS5mcm9tLmRheVNhbWUoYi5mcm9tLmRheUxpbWl0KHRoaXMubWluLCB0aGlzLm1heCkpICYmXG4gICAgICAgICAgICAgICAgICAgICAgICBhLnRvLmRheVNhbWUoYi50by5kYXlMaW1pdCh0aGlzLm1pbiwgdGhpcy5tYXgpKSxcbiAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgKSB8fCBudWxsXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgQHR1aVB1cmVcbiAgICBwcml2YXRlIGNhbGN1bGF0ZURpc2FibGVkSXRlbUhhbmRsZXIoXG4gICAgICAgIGRpc2FibGVkSXRlbUhhbmRsZXI6IFR1aUJvb2xlYW5IYW5kbGVyPFR1aURheT4sXG4gICAgICAgIHZhbHVlOiBUdWlEYXlSYW5nZSB8IG51bGwsXG4gICAgICAgIG1pbkxlbmd0aDogVHVpRGF5TGlrZSB8IG51bGwsXG4gICAgKTogVHVpQm9vbGVhbkhhbmRsZXI8VHVpRGF5PiB7XG4gICAgICAgIHJldHVybiBpdGVtID0+IHtcbiAgICAgICAgICAgIGlmICghdmFsdWU/LmlzU2luZ2xlRGF5IHx8ICFtaW5MZW5ndGgpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gZGlzYWJsZWRJdGVtSGFuZGxlcihpdGVtKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgY29uc3QgbmVnYXRpdmVNaW5MZW5ndGggPSB0dWlPYmplY3RGcm9tRW50cmllcyhcbiAgICAgICAgICAgICAgICBPYmplY3QuZW50cmllcyhtaW5MZW5ndGgpLm1hcCgoW2tleSwgdmFsdWVdKSA9PiBba2V5LCAtdmFsdWVdKSxcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICBjb25zdCBkaXNhYmxlZEJlZm9yZSA9IHZhbHVlLmZyb20uYXBwZW5kKG5lZ2F0aXZlTWluTGVuZ3RoKS5hcHBlbmQoe2RheTogMX0pO1xuICAgICAgICAgICAgY29uc3QgZGlzYWJsZWRBZnRlciA9IHZhbHVlLmZyb20uYXBwZW5kKG1pbkxlbmd0aCkuYXBwZW5kKHtkYXk6IC0xfSk7XG4gICAgICAgICAgICBjb25zdCBpbkRpc2FibGVkUmFuZ2UgPVxuICAgICAgICAgICAgICAgIGRpc2FibGVkQmVmb3JlLmRheUJlZm9yZShpdGVtKSAmJiBkaXNhYmxlZEFmdGVyLmRheUFmdGVyKGl0ZW0pO1xuXG4gICAgICAgICAgICByZXR1cm4gaW5EaXNhYmxlZFJhbmdlIHx8IGRpc2FibGVkSXRlbUhhbmRsZXIoaXRlbSk7XG4gICAgICAgIH07XG4gICAgfVxufVxuIiwiPHR1aS1wcmltaXRpdmUtY2FsZW5kYXItcmFuZ2VcbiAgICAqbmdJZj1cIiFpdGVtcy5sZW5ndGg7IGVsc2UgcHJlc2V0c1wiXG4gICAgYXV0b21hdGlvbi1pZD1cInR1aS1jYWxlbmRhci1yYW5nZV9fY2FsZW5kYXJzXCJcbiAgICB0dWlQcmV2ZW50RGVmYXVsdD1cIm1vdXNlZG93blwiXG4gICAgW21hcmtlckhhbmRsZXJdPVwibWFya2VySGFuZGxlclwiXG4gICAgW21pbl09XCJjb21wdXRlZE1pbiB8IHR1aU1hcHBlciA6IG1heExlbmd0aE1hcHBlciA6IHZhbHVlIDogbWF4TGVuZ3RoIDogdHJ1ZVwiXG4gICAgW21heF09XCJjb21wdXRlZE1heCB8IHR1aU1hcHBlciA6IG1heExlbmd0aE1hcHBlciA6IHZhbHVlIDogbWF4TGVuZ3RoIDogZmFsc2VcIlxuICAgIFtkZWZhdWx0Vmlld2VkTW9udGhGaXJzdF09XCJkZWZhdWx0Vmlld2VkTW9udGhcIlxuICAgIFtkaXNhYmxlZEl0ZW1IYW5kbGVyXT1cImNhbGN1bGF0ZWREaXNhYmxlZEl0ZW1IYW5kbGVyXCJcbiAgICBbdmFsdWVdPVwidmFsdWVcIlxuICAgIChkYXlDbGljayk9XCJvbkRheUNsaWNrKCRldmVudClcIlxuPjwvdHVpLXByaW1pdGl2ZS1jYWxlbmRhci1yYW5nZT5cbjxuZy10ZW1wbGF0ZSAjcHJlc2V0cz5cbiAgICA8ZGl2IGNsYXNzPVwidC13cmFwcGVyXCI+XG4gICAgICAgIDx0dWktY2FsZW5kYXJcbiAgICAgICAgICAgIGF1dG9tYXRpb24taWQ9XCJ0dWktY2FsZW5kYXItcmFuZ2VfX2NhbGVuZGFyXCJcbiAgICAgICAgICAgIHR1aVByZXZlbnREZWZhdWx0PVwibW91c2Vkb3duXCJcbiAgICAgICAgICAgIFt2YWx1ZV09XCJ2YWx1ZVwiXG4gICAgICAgICAgICBbbWFya2VySGFuZGxlcl09XCJtYXJrZXJIYW5kbGVyXCJcbiAgICAgICAgICAgIFttaW5dPVwiY29tcHV0ZWRNaW4gfCB0dWlNYXBwZXIgOiBtYXhMZW5ndGhNYXBwZXIgOiB2YWx1ZSA6IG1heExlbmd0aCA6IHRydWVcIlxuICAgICAgICAgICAgW21heF09XCJjb21wdXRlZE1heCB8IHR1aU1hcHBlciA6IG1heExlbmd0aE1hcHBlciA6IHZhbHVlIDogbWF4TGVuZ3RoIDogZmFsc2VcIlxuICAgICAgICAgICAgW21vbnRoXT1cImNvbXB1dGVkTW9udGhcIlxuICAgICAgICAgICAgW2Rpc2FibGVkSXRlbUhhbmRsZXJdPVwiY2FsY3VsYXRlZERpc2FibGVkSXRlbUhhbmRsZXJcIlxuICAgICAgICAgICAgKGRheUNsaWNrKT1cIm9uRGF5Q2xpY2soJGV2ZW50KVwiXG4gICAgICAgID48L3R1aS1jYWxlbmRhcj5cbiAgICAgICAgPHR1aS1kYXRhLWxpc3RcbiAgICAgICAgICAgIHJvbGU9XCJtZW51XCJcbiAgICAgICAgICAgIGF1dG9tYXRpb24taWQ9XCJ0dWktY2FsZW5kYXItcmFuZ2VfX21lbnVcIlxuICAgICAgICAgICAgY2xhc3M9XCJ0LW1lbnVcIlxuICAgICAgICA+XG4gICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgKm5nRm9yPVwibGV0IGl0ZW0gb2YgaXRlbXMgfCB0dWlNYXBwZXIgOiBtYXBwZXIgOiBtaW4gOiBtYXggOiBtaW5MZW5ndGggOiAob3RoZXJEYXRlVGV4dCQgfCBhc3luYylcIlxuICAgICAgICAgICAgICAgIHR1aU9wdGlvblxuICAgICAgICAgICAgICAgIHR1aVByZXZlbnREZWZhdWx0PVwibW91c2Vkb3duXCJcbiAgICAgICAgICAgICAgICByb2xlPVwibWVudWl0ZW1yYWRpb1wiXG4gICAgICAgICAgICAgICAgYXV0b21hdGlvbi1pZD1cInR1aS1jYWxlbmRhci1yYW5nZV9fbWVudV9faXRlbVwiXG4gICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1jaGVja2VkXT1cImlzSXRlbUFjdGl2ZShpdGVtKVwiXG4gICAgICAgICAgICAgICAgKGtleWRvd24uZW50ZXIucHJldmVudCk9XCJvbkl0ZW1TZWxlY3QoaXRlbSlcIlxuICAgICAgICAgICAgICAgIChrZXlkb3duLnNwYWNlLnByZXZlbnQpPVwib25JdGVtU2VsZWN0KGl0ZW0pXCJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwib25JdGVtU2VsZWN0KGl0ZW0pXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICB7eyBpdGVtIH19XG4gICAgICAgICAgICAgICAgPHR1aS1zdmdcbiAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJpc0l0ZW1BY3RpdmUoaXRlbSlcIlxuICAgICAgICAgICAgICAgICAgICBhdXRvbWF0aW9uLWlkPVwidHVpLWNhbGVuZGFyLXJhbmdlX19jaGVja21hcmtcIlxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInQtY2hlY2ttYXJrXCJcbiAgICAgICAgICAgICAgICAgICAgW3NyY109XCJpY29ucy5jaGVja1wiXG4gICAgICAgICAgICAgICAgPjwvdHVpLXN2Zz5cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8L3R1aS1kYXRhLWxpc3Q+XG4gICAgPC9kaXY+XG48L25nLXRlbXBsYXRlPlxuIl19
|