@tetacom/ng-components 1.0.141 → 1.0.143

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.
Files changed (40) hide show
  1. package/component/autocomplete/autocomplete/autocomplete.component.d.ts +8 -0
  2. package/component/autocomplete/autocomplete.module.d.ts +8 -0
  3. package/component/autocomplete/public-api.d.ts +2 -0
  4. package/component/property-grid/property-grid/property-grid-group/property-grid-group.component.d.ts +5 -4
  5. package/component/property-grid/property-grid/property-grid-item/property-grid-item.component.d.ts +13 -10
  6. package/component/property-grid/property-grid/property-grid-item-description.directive.d.ts +9 -0
  7. package/component/property-grid/property-grid/property-grid.component.d.ts +12 -7
  8. package/component/property-grid/property-grid.module.d.ts +15 -18
  9. package/component/property-grid/public-api.d.ts +1 -0
  10. package/component/public-api.d.ts +1 -0
  11. package/directive/loader/loader.directive.d.ts +3 -2
  12. package/esm2020/common/util/position-util.mjs +4 -4
  13. package/esm2020/component/autocomplete/autocomplete/autocomplete.component.mjs +14 -0
  14. package/esm2020/component/autocomplete/autocomplete.module.mjs +24 -0
  15. package/esm2020/component/autocomplete/public-api.mjs +3 -0
  16. package/esm2020/component/input/input/input.component.mjs +3 -3
  17. package/esm2020/component/property-grid/property-grid/property-grid-group/property-grid-group.component.mjs +8 -7
  18. package/esm2020/component/property-grid/property-grid/property-grid-item/property-grid-item.component.mjs +55 -29
  19. package/esm2020/component/property-grid/property-grid/property-grid-item-description.directive.mjs +19 -0
  20. package/esm2020/component/property-grid/property-grid/property-grid.component.mjs +31 -10
  21. package/esm2020/component/property-grid/property-grid.module.mjs +7 -16
  22. package/esm2020/component/property-grid/public-api.mjs +2 -1
  23. package/esm2020/component/public-api.mjs +3 -1
  24. package/esm2020/component/table/table/table.component.mjs +5 -2
  25. package/esm2020/directive/loader/loader.directive.mjs +13 -4
  26. package/esm2020/util/forms-util.mjs +24 -9
  27. package/fesm2015/tetacom-ng-components.mjs +178 -106
  28. package/fesm2015/tetacom-ng-components.mjs.map +1 -1
  29. package/fesm2020/tetacom-ng-components.mjs +175 -106
  30. package/fesm2020/tetacom-ng-components.mjs.map +1 -1
  31. package/package.json +1 -1
  32. package/util/forms-util.d.ts +5 -1
  33. package/component/property-grid/default/date-item-default/date-item-default.component.d.ts +0 -8
  34. package/component/property-grid/default/list-item-default/list-item-default.component.d.ts +0 -8
  35. package/component/property-grid/default/numeric-item-default/numeric-item-default.component.d.ts +0 -8
  36. package/component/property-grid/default/string-item-default/string-item-default.component.d.ts +0 -8
  37. package/esm2020/component/property-grid/default/date-item-default/date-item-default.component.mjs +0 -13
  38. package/esm2020/component/property-grid/default/list-item-default/list-item-default.component.mjs +0 -13
  39. package/esm2020/component/property-grid/default/numeric-item-default/numeric-item-default.component.mjs +0 -13
  40. package/esm2020/component/property-grid/default/string-item-default/string-item-default.component.mjs +0 -13
@@ -0,0 +1,8 @@
1
+ import { OnInit } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export declare class AutocompleteComponent implements OnInit {
4
+ constructor();
5
+ ngOnInit(): void;
6
+ static ɵfac: i0.ɵɵFactoryDeclaration<AutocompleteComponent, never>;
7
+ static ɵcmp: i0.ɵɵComponentDeclaration<AutocompleteComponent, "teta-autocomplete", never, {}, {}, never, never, false>;
8
+ }
@@ -0,0 +1,8 @@
1
+ import * as i0 from "@angular/core";
2
+ import * as i1 from "./autocomplete/autocomplete.component";
3
+ import * as i2 from "@angular/common";
4
+ export declare class AutocompleteModule {
5
+ static ɵfac: i0.ɵɵFactoryDeclaration<AutocompleteModule, never>;
6
+ static ɵmod: i0.ɵɵNgModuleDeclaration<AutocompleteModule, [typeof i1.AutocompleteComponent], [typeof i2.CommonModule], [typeof i1.AutocompleteComponent]>;
7
+ static ɵinj: i0.ɵɵInjectorDeclaration<AutocompleteModule>;
8
+ }
@@ -0,0 +1,2 @@
1
+ export * from './autocomplete.module';
2
+ export * from './autocomplete/autocomplete.component';
@@ -1,20 +1,21 @@
1
- import { EventEmitter, OnInit } from '@angular/core';
1
+ import { EventEmitter, OnInit, QueryList } from '@angular/core';
2
2
  import { TableColumn } from '../../../table/contract/table-column';
3
3
  import { IDictionary } from '../../../../common/contract/i-dictionary';
4
4
  import { IIdName } from '../../../../common/contract/i-id-name';
5
- import { UntypedFormGroup } from '@angular/forms';
5
+ import { PropertyGridItemDescriptionDirective } from "../property-grid-item-description.directive";
6
6
  import * as i0 from "@angular/core";
7
7
  export declare class PropertyGridGroupComponent<T> implements OnInit {
8
8
  column: TableColumn;
9
9
  hideNonEditable: boolean;
10
10
  dict: IDictionary<IIdName<any>[]>;
11
- formGroup: UntypedFormGroup;
11
+ item: T;
12
12
  horizontal: boolean;
13
13
  controlValueChange: EventEmitter<IIdName<any>>;
14
14
  decimalPart: number;
15
+ itemTemplates: QueryList<PropertyGridItemDescriptionDirective>;
15
16
  constructor();
16
17
  ngOnInit(): void;
17
18
  trackColumns(index: number, column: TableColumn): any;
18
19
  static ɵfac: i0.ɵɵFactoryDeclaration<PropertyGridGroupComponent<any>, never>;
19
- static ɵcmp: i0.ɵɵComponentDeclaration<PropertyGridGroupComponent<any>, "teta-property-grid-group", never, { "column": "column"; "hideNonEditable": "hideNonEditable"; "dict": "dict"; "formGroup": "formGroup"; "horizontal": "horizontal"; "decimalPart": "decimalPart"; }, { "controlValueChange": "controlValueChange"; }, never, never, false>;
20
+ static ɵcmp: i0.ɵɵComponentDeclaration<PropertyGridGroupComponent<any>, "teta-property-grid-group", never, { "column": "column"; "hideNonEditable": "hideNonEditable"; "dict": "dict"; "item": "item"; "horizontal": "horizontal"; "decimalPart": "decimalPart"; "itemTemplates": "itemTemplates"; }, { "controlValueChange": "controlValueChange"; }, never, never, false>;
20
21
  }
@@ -1,35 +1,38 @@
1
- import { EventEmitter, OnDestroy, OnInit } from '@angular/core';
1
+ import { EventEmitter, OnChanges, OnDestroy, OnInit, QueryList, SimpleChanges } from '@angular/core';
2
2
  import { TableColumn } from '../../../table/contract/table-column';
3
3
  import { IDictionary } from '../../../../common/contract/i-dictionary';
4
4
  import { IIdName } from '../../../../common/contract/i-id-name';
5
5
  import { FilterType } from '../../../filter/enum/filter-type.enum';
6
- import { UntypedFormGroup } from '@angular/forms';
6
+ import { ControlContainer, FormGroup } from '@angular/forms';
7
7
  import { TranslocoService } from '@ngneat/transloco';
8
8
  import { Align } from '../../../../common/enum/align.enum';
9
+ import { PropertyGridItemDescriptionDirective } from "../property-grid-item-description.directive";
9
10
  import * as i0 from "@angular/core";
10
- export declare class PropertyGridItemComponent<T> implements OnInit, OnDestroy {
11
+ export declare class PropertyGridItemComponent<T> implements OnInit, OnDestroy, OnChanges {
11
12
  private _transloco;
13
+ private _formGroup;
12
14
  column: TableColumn;
13
15
  hideNonEditable: boolean;
14
16
  dict: IDictionary<IIdName<any>[]>;
15
17
  decimalPart: number;
16
- set formGroup(form: UntypedFormGroup);
17
- get formGroup(): UntypedFormGroup;
18
+ item: T;
19
+ itemTemplates: QueryList<PropertyGridItemDescriptionDirective>;
20
+ get template(): PropertyGridItemDescriptionDirective;
21
+ get formGroup(): FormGroup;
18
22
  horizontal: boolean;
19
23
  controlValueChange: EventEmitter<IIdName<any>>;
20
24
  align: typeof Align;
21
25
  filterTypeEnum: typeof FilterType;
22
- private _formGroup;
23
26
  private _formSub;
24
27
  get caption(): string;
25
28
  private _alive;
26
- constructor(_transloco: TranslocoService);
29
+ constructor(_transloco: TranslocoService, _formGroup: ControlContainer);
27
30
  getDict(): IIdName<any>[];
28
31
  controlIsInvalid(controlName: string): boolean;
29
32
  getError(column: TableColumn): string;
30
- valueChange(): void;
31
33
  ngOnInit(): void;
32
34
  ngOnDestroy(): void;
33
- static ɵfac: i0.ɵɵFactoryDeclaration<PropertyGridItemComponent<any>, never>;
34
- static ɵcmp: i0.ɵɵComponentDeclaration<PropertyGridItemComponent<any>, "teta-property-grid-item", never, { "column": "column"; "hideNonEditable": "hideNonEditable"; "dict": "dict"; "decimalPart": "decimalPart"; "formGroup": "formGroup"; "horizontal": "horizontal"; }, { "controlValueChange": "controlValueChange"; }, never, never, false>;
35
+ ngOnChanges(changes: SimpleChanges): void;
36
+ static ɵfac: i0.ɵɵFactoryDeclaration<PropertyGridItemComponent<any>, [null, { optional: true; }]>;
37
+ static ɵcmp: i0.ɵɵComponentDeclaration<PropertyGridItemComponent<any>, "teta-property-grid-item", never, { "column": "column"; "hideNonEditable": "hideNonEditable"; "dict": "dict"; "decimalPart": "decimalPart"; "item": "item"; "itemTemplates": "itemTemplates"; "horizontal": "horizontal"; }, { "controlValueChange": "controlValueChange"; }, never, never, false>;
35
38
  }
@@ -0,0 +1,9 @@
1
+ import { TemplateRef } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export declare class PropertyGridItemDescriptionDirective {
4
+ template: TemplateRef<any>;
5
+ name: string;
6
+ constructor(template: TemplateRef<any>);
7
+ static ɵfac: i0.ɵɵFactoryDeclaration<PropertyGridItemDescriptionDirective, never>;
8
+ static ɵdir: i0.ɵɵDirectiveDeclaration<PropertyGridItemDescriptionDirective, "[tetaPropertyGridItemDescription]", never, { "name": "tetaPropertyGridItemDescription"; }, {}, never, never, false>;
9
+ }
@@ -1,25 +1,30 @@
1
- import { EventEmitter, OnDestroy, OnInit } from '@angular/core';
1
+ import { AfterViewInit, EventEmitter, OnDestroy, OnInit, QueryList } from '@angular/core';
2
2
  import { TableColumn } from '../../table/contract/table-column';
3
3
  import { IDictionary } from '../../../common/contract/i-dictionary';
4
4
  import { IIdName } from '../../../common/contract/i-id-name';
5
- import { UntypedFormGroup } from '@angular/forms';
5
+ import { ControlContainer, FormGroup } from '@angular/forms';
6
+ import { PropertyGridItemDescriptionDirective } from "./property-grid-item-description.directive";
6
7
  import * as i0 from "@angular/core";
7
- export declare class PropertyGridComponent<T> implements OnInit, OnDestroy {
8
+ export declare class PropertyGridComponent<T> implements OnInit, OnDestroy, AfterViewInit {
9
+ private _formGroup;
8
10
  formClass: boolean;
11
+ itemTemplates: QueryList<PropertyGridItemDescriptionDirective>;
9
12
  hideNonEditable: boolean;
10
13
  columns: TableColumn[];
11
14
  dict: IDictionary<IIdName<any>[]>;
12
- formGroup: UntypedFormGroup;
15
+ item: T;
13
16
  horizontal: boolean;
14
17
  decimalPart: number;
15
18
  controlValueChange: EventEmitter<IIdName<any>>;
16
19
  private _alive;
17
- constructor();
20
+ get formGroup(): FormGroup;
21
+ constructor(_formGroup: ControlContainer);
18
22
  onControlValueChange(event: IIdName<any>): void;
19
23
  ngOnInit(): void;
20
24
  ngOnDestroy(): void;
21
25
  trackColumns(index: number, column: TableColumn): any;
22
26
  private getDictValue;
23
- static ɵfac: i0.ɵɵFactoryDeclaration<PropertyGridComponent<any>, never>;
24
- static ɵcmp: i0.ɵɵComponentDeclaration<PropertyGridComponent<any>, "teta-property-grid", never, { "hideNonEditable": "hideNonEditable"; "columns": "columns"; "dict": "dict"; "formGroup": "formGroup"; "horizontal": "horizontal"; "decimalPart": "decimalPart"; }, { "controlValueChange": "controlValueChange"; }, never, never, false>;
27
+ ngAfterViewInit(): void;
28
+ static ɵfac: i0.ɵɵFactoryDeclaration<PropertyGridComponent<any>, [{ optional: true; }]>;
29
+ static ɵcmp: i0.ɵɵComponentDeclaration<PropertyGridComponent<any>, "teta-property-grid", never, { "hideNonEditable": "hideNonEditable"; "columns": "columns"; "dict": "dict"; "item": "item"; "horizontal": "horizontal"; "decimalPart": "decimalPart"; }, { "controlValueChange": "controlValueChange"; }, ["itemTemplates"], never, false>;
25
30
  }
@@ -1,24 +1,21 @@
1
1
  import * as i0 from "@angular/core";
2
2
  import * as i1 from "./property-grid/property-grid.component";
3
- import * as i2 from "./default/numeric-item-default/numeric-item-default.component";
4
- import * as i3 from "./default/date-item-default/date-item-default.component";
5
- import * as i4 from "./default/list-item-default/list-item-default.component";
6
- import * as i5 from "./default/string-item-default/string-item-default.component";
7
- import * as i6 from "./property-grid/property-grid-group/property-grid-group.component";
8
- import * as i7 from "./property-grid/property-grid-item/property-grid-item.component";
9
- import * as i8 from "@angular/common";
10
- import * as i9 from "@angular/forms";
11
- import * as i10 from "../../pipe/number-pipe/number-pipe.module";
12
- import * as i11 from "../date-picker/date-picker.module";
13
- import * as i12 from "../select/select.module";
14
- import * as i13 from "../../directive/only-number/only-number.module";
15
- import * as i14 from "../input/input.module";
16
- import * as i15 from "../toggle/toggle.module";
17
- import * as i16 from "@ngneat/transloco";
18
- import * as i17 from "../../directive/hint/hint.module";
19
- import * as i18 from "../expand-card/expand-card.module";
3
+ import * as i2 from "./property-grid/property-grid-group/property-grid-group.component";
4
+ import * as i3 from "./property-grid/property-grid-item/property-grid-item.component";
5
+ import * as i4 from "./property-grid/property-grid-item-description.directive";
6
+ import * as i5 from "@angular/common";
7
+ import * as i6 from "@angular/forms";
8
+ import * as i7 from "../../pipe/number-pipe/number-pipe.module";
9
+ import * as i8 from "../date-picker/date-picker.module";
10
+ import * as i9 from "../select/select.module";
11
+ import * as i10 from "../../directive/only-number/only-number.module";
12
+ import * as i11 from "../input/input.module";
13
+ import * as i12 from "../toggle/toggle.module";
14
+ import * as i13 from "@ngneat/transloco";
15
+ import * as i14 from "../../directive/hint/hint.module";
16
+ import * as i15 from "../expand-card/expand-card.module";
20
17
  export declare class PropertyGridModule {
21
18
  static ɵfac: i0.ɵɵFactoryDeclaration<PropertyGridModule, never>;
22
- static ɵmod: i0.ɵɵNgModuleDeclaration<PropertyGridModule, [typeof i1.PropertyGridComponent, typeof i2.NumericItemDefaultComponent, typeof i3.DateItemDefaultComponent, typeof i4.ListItemDefaultComponent, typeof i5.StringItemDefaultComponent, typeof i6.PropertyGridGroupComponent, typeof i7.PropertyGridItemComponent], [typeof i8.CommonModule, typeof i9.FormsModule, typeof i10.NumberPipeModule, typeof i11.DatePickerModule, typeof i12.SelectModule, typeof i13.OnlyNumberModule, typeof i14.InputModule, typeof i15.ToggleModule, typeof i9.ReactiveFormsModule, typeof i16.TranslocoModule, typeof i17.HintModule, typeof i18.ExpandCardModule], [typeof i1.PropertyGridComponent]>;
19
+ static ɵmod: i0.ɵɵNgModuleDeclaration<PropertyGridModule, [typeof i1.PropertyGridComponent, typeof i2.PropertyGridGroupComponent, typeof i3.PropertyGridItemComponent, typeof i4.PropertyGridItemDescriptionDirective], [typeof i5.CommonModule, typeof i6.FormsModule, typeof i7.NumberPipeModule, typeof i8.DatePickerModule, typeof i9.SelectModule, typeof i10.OnlyNumberModule, typeof i11.InputModule, typeof i12.ToggleModule, typeof i6.ReactiveFormsModule, typeof i13.TranslocoModule, typeof i14.HintModule, typeof i15.ExpandCardModule], [typeof i1.PropertyGridComponent, typeof i4.PropertyGridItemDescriptionDirective]>;
23
20
  static ɵinj: i0.ɵɵInjectorDeclaration<PropertyGridModule>;
24
21
  }
@@ -1,2 +1,3 @@
1
1
  export * from './property-grid.module';
2
2
  export * from './property-grid/property-grid.component';
3
+ export * from './property-grid/property-grid-item-description.directive';
@@ -1,4 +1,5 @@
1
1
  export * from './accordion/public-api';
2
+ export * from './autocomplete/public-api';
2
3
  export * from './button/public-api';
3
4
  export * from './checkbox/public-api';
4
5
  export * from './date-picker/public-api';
@@ -1,9 +1,10 @@
1
- import { ElementRef, OnDestroy, Renderer2 } from '@angular/core';
1
+ import { ElementRef, NgZone, OnDestroy, Renderer2 } from '@angular/core';
2
2
  import * as i0 from "@angular/core";
3
3
  export declare class LoaderDirective implements OnDestroy {
4
4
  private _elementRef;
5
5
  private _renderer;
6
6
  private _document;
7
+ protected _zone: NgZone;
7
8
  appendToBody: boolean;
8
9
  mask: boolean;
9
10
  set tetaLoader(value: boolean);
@@ -13,7 +14,7 @@ export declare class LoaderDirective implements OnDestroy {
13
14
  private _mask;
14
15
  private _alive;
15
16
  private _loading;
16
- constructor(_elementRef: ElementRef, _renderer: Renderer2, _document: any);
17
+ constructor(_elementRef: ElementRef, _renderer: Renderer2, _document: any, _zone: NgZone);
17
18
  ngOnDestroy(): void;
18
19
  private show;
19
20
  private hide;
@@ -86,12 +86,12 @@ export class PositionUtil {
86
86
  (containerPosition.top + containerPosition.bottom) / 2 -
87
87
  elementHeight / 2;
88
88
  }
89
- if (rect.left < 0) {
90
- rect.left = 0;
91
- }
92
89
  if (rect.left + elementWidth > window.innerWidth) {
93
90
  rect.left = window.innerWidth - elementWidth;
94
91
  }
92
+ if (rect.left < 0) {
93
+ rect.left = 0;
94
+ }
95
95
  if (rect.top + elementHeight > window.innerHeight || rect.bottom < 0) {
96
96
  rect.bottom = 0;
97
97
  }
@@ -138,4 +138,4 @@ export class PositionUtil {
138
138
  return maxWidth;
139
139
  }
140
140
  }
141
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9zaXRpb24tdXRpbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21tb24vdXRpbC9wb3NpdGlvbi11dGlsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBQyxLQUFLLEVBQUMsTUFBTSxvQkFBb0IsQ0FBQztBQUN6QyxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sNkJBQTZCLENBQUM7QUFFMUQsTUFBTSxPQUFPLFlBQVk7SUFDaEIsTUFBTSxDQUFDLFdBQVcsQ0FDdkIsaUJBQXdCLEVBQ3hCLGVBQXNCLEVBQ3RCLEtBQVksRUFDWixhQUE0QixFQUM1QixTQUFpQixDQUFDLEVBQ2xCLGlCQUF5QixDQUFDLEVBQzFCLHdCQUErQjtRQUM3QixJQUFJLEVBQUUsQ0FBQztRQUNQLEtBQUssRUFBRSxDQUFDO1FBQ1IsR0FBRyxFQUFFLENBQUM7UUFDTixNQUFNLEVBQUUsQ0FBQztLQUNWO1FBRUQsTUFBTSxJQUFJLEdBQVUsRUFBRSxDQUFDO1FBQ3ZCLE1BQU0sWUFBWSxHQUFHLGVBQWUsQ0FBQyxLQUFLLEdBQUcsZUFBZSxDQUFDLElBQUksQ0FBQztRQUNsRSxNQUFNLGFBQWEsR0FBRyxlQUFlLENBQUMsTUFBTSxHQUFHLGVBQWUsQ0FBQyxHQUFHLENBQUM7UUFDbkUsTUFBTSxjQUFjLEdBQUcsaUJBQWlCLENBQUMsS0FBSyxHQUFHLGlCQUFpQixDQUFDLElBQUksQ0FBQztRQUN4RSxNQUFNLGVBQWUsR0FBRyxpQkFBaUIsQ0FBQyxNQUFNLEdBQUcsaUJBQWlCLENBQUMsR0FBRyxDQUFDO1FBQ3pFLElBQUksS0FBSyxLQUFLLEtBQUssQ0FBQyxJQUFJLEVBQUU7WUFDeEIsS0FBSyxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUM7WUFDbkIsSUFBSSxNQUFNLENBQUMsVUFBVSxHQUFHLGlCQUFpQixDQUFDLElBQUksR0FBRyxZQUFZLEVBQUU7Z0JBQzdELEtBQUssR0FBRyxLQUFLLENBQUMsS0FBSyxD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QUFHLENBQUMsQ0FBQztRQUNiLE9BQU8sUUFBUSxDQUFDO0lBQ2xCLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7SVJlY3R9IGZyb20gJy4uL2NvbnRyYWN0L2ktcmVjdCc7XG5pbXBvcnQge0FsaWdufSBmcm9tICcuLi9lbnVtL2FsaWduLmVudW0nO1xuaW1wb3J0IHtWZXJ0aWNhbEFsaWdufSBmcm9tICcuLi9lbnVtL3ZlcnRpY2FsLWFsaWduLmVudW0nO1xuXG5leHBvcnQgY2xhc3MgUG9zaXRpb25VdGlsIHtcbiAgcHVibGljIHN0YXRpYyBnZXRQb3NpdGlvbihcbiAgICBjb250YWluZXJQb3NpdGlvbjogSVJlY3QsXG4gICAgZWxlbWVudFBvc2l0aW9uOiBJUmVjdCxcbiAgICBhbGlnbjogQWxpZ24sXG4gICAgdmVydGljYWxBbGlnbjogVmVydGljYWxBbGlnbixcbiAgICBtYXJnaW46IG51bWJlciA9IDAsXG4gICAgdmVydGljYWxNYXJnaW46IG51bWJlciA9IDAsXG4gICAgdHJhbnNmb3JtZWRQYXJlbnRSZWN0OiBJUmVjdCA9IHtcbiAgICAgIGxlZnQ6IDAsXG4gICAgICByaWdodDogMCxcbiAgICAgIHRvcDogMCxcbiAgICAgIGJvdHRvbTogMFxuICAgIH1cbiAgKTogSVJlY3Qge1xuICAgIGNvbnN0IHJlY3Q6IElSZWN0ID0ge307XG4gICAgY29uc3QgZWxlbWVudFdpZHRoID0gZWxlbWVudFBvc2l0aW9uLnJpZ2h0IC0gZWxlbWVudFBvc2l0aW9uLmxlZnQ7XG4gICAgY29uc3QgZWxlbWVudEhlaWdodCA9IGVsZW1lbnRQb3NpdGlvbi5ib3R0b20gLSBlbGVtZW50UG9zaXRpb24udG9wO1xuICAgIGNvbnN0IGNvbnRhaW5lcldpZHRoID0gY29udGFpbmVyUG9zaXRpb24ucmlnaHQgLSBjb250YWluZXJQb3NpdGlvbi5sZWZ0O1xuICAgIGNvbnN0IGNvbnRhaW5lckhlaWdodCA9IGNvbnRhaW5lclBvc2l0aW9uLmJvdHRvbSAtIGNvbnRhaW5lclBvc2l0aW9uLnRvcDtcbiAgICBpZiAoYWxpZ24gPT09IEFsaWduLmF1dG8pIHtcbiAgICAgIGFsaWduID0gQWxpZ24ubGVmdDtcbiAgICAgIGlmICh3aW5kb3cuaW5uZXJXaWR0aCA8IGNvbnRhaW5lclBvc2l0aW9uLmxlZnQgKyBlbGVtZW50V2lkdGgpIHtcbiAgICAgICAgYWxpZ24gPSBBbGlnbi5yaWdodDtcbiAgICAgIH1cbiAgICB9XG4gICAgaWYgKGFsaWduID09PSBBbGlnbi5sZWZ0KSB7XG4gICAgICByZWN0LmxlZnQgPSBjb250YWluZXJQb3NpdGlvbi5sZWZ0ICsgbWFyZ2luO1xuICAgIH1cbiAgICBpZiAoYWxpZ24gPT09IEFsaWduLnJpZ2h0KSB7XG4gICAgICByZWN0LmxlZnQgPSBjb250YWluZXJQb3NpdGlvbi5yaWdodCAtIGVsZW1lbnRXaWR0aCAtIG1hcmdpbjtcbiAgICB9XG4gICAgaWYgKGFsaWduID09PSBBbGlnbi5jZW50ZXIpIHtcbiAgICAgIHJlY3QubGVmdCA9XG4gICAgICAgIChjb250YWluZXJQb3NpdGlvbi5sZWZ0ICsgY29udGFpbmVyUG9zaXRpb24ucmlnaHQpIC8gMiAtXG4gICAgICAgIGVsZW1lbnRXaWR0aCAvIDI7XG4gICAgfVxuICAgIGlmIChhbGlnbiA9PT0gQWxpZ24ub3V0ZXJBdXRvKSB7XG4gICAgICBhbGlnbiA9IEFsaWduLm91dGVyUmlnaHQ7XG4gICAgICBpZiAod2luZG93LmlubmVyV2lkdGggPCBjb250YWluZXJQb3NpdGlvbi5yaWdodCArIGVsZW1lbnRXaWR0aCkge1xuICAgICAgICBhbGlnbiA9IEFsaWduLm91dGVyTGVmdDtcbiAgICAgIH1cbiAgICB9XG4gICAgaWYgKGFsaWduID09PSBBbGlnbi5vdXRlckxlZnQpIHtcbiAgICAgIHJlY3QubGVmdCA9IGNvbnRhaW5lclBvc2l0aW9uLmxlZnQgLSBlbGVtZW50V2lkdGggKyBtYXJnaW47XG4gICAgfVxuICAgIGlmIChhbGlnbiA9PT0gQWxpZ24ub3V0ZXJSaWdodCkge1xuICAgICAgcmVjdC5sZWZ0ID0gY29udGFpbmVyUG9zaXRpb24ucmlnaHQgLSBtYXJnaW47XG4gICAgfVxuXG4gICAgaWYgKGFsaWduID09PSBBbGlnbi5maXRXaWR0aCkge1xuICAgICAgcmVjdC5sZWZ0ID0gY29udGFpbmVyUG9zaXRpb24ubGVmdCArIG1hcmdpbjtcbiAgICAgIHJlY3QucmlnaHQgPSB3aW5kb3cuaW5uZXJXaWR0aCAtIGNvbnRhaW5lclBvc2l0aW9uLnJpZ2h0ICsgbWFyZ2luO1xuICAgIH1cblxuICAgIGlmIChhbGlnbiA9PT0gQWxpZ24ubWluV2lkdGgpIHtcbiAgICAgIHJlY3QubGVmdCA9IGNvbnRhaW5lclBvc2l0aW9uLmxlZnQgKyBtYXJnaW47XG4gICAgICByZWN0Lm1pbldpZHRoID0gY29udGFpbmVyV2lkdGg7XG4gICAgfVxuXG4gICAgaWYgKHZlcnRpY2FsQWxpZ24gPT09IFZlcnRpY2FsQWxpZ24uYXV0bykge1xuICAgICAgaWYgKFxuICAgICAgICBjb250YWluZXJQb3NpdGlvbi5ib3R0b20gK1xuICAgICAgICAoZWxlbWVudFBvc2l0aW9uLmJvdHRvbSAtIGVsZW1lbnRQb3NpdGlvbi50b3ApIDw9XG4gICAgICAgIHdpbmRvdy5pbm5lckhlaWdodFxuICAgICAgKSB7XG4gICAgICAgIHZlcnRpY2FsQWxpZ24gPSBWZXJ0aWNhbEFsaWduLmJvdHRvbTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHZlcnRpY2FsQWxpZ24gPSBWZXJ0aWNhbEFsaWduLnRvcDtcbiAgICAgIH1cbiAgICB9XG4gICAgaWYgKHZlcnRpY2FsQWxpZ24gPT09IFZlcnRpY2FsQWxpZ24uaW5uZXJBdXRvKSB7XG4gICAgICBpZiAoXG4gICAgICAgIGNvbnRhaW5lclBvc2l0aW9uLmJvdHRvbSArXG4gICAgICAgIChlbGVtZW50UG9zaXRpb24uYm90dG9tIC0gZWxlbWVudFBvc2l0aW9uLnRvcCkgPD1cbiAgICAgICAgd2luZG93LmlubmVySGVpZ2h0XG4gICAgICApIHtcbiAgICAgICAgdmVydGljYWxBbGlnbiA9IFZlcnRpY2FsQWxpZ24uaW5uZXJCb3R0b207XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB2ZXJ0aWNhbEFsaWduID0gVmVydGljYWxBbGlnbi5pbm5lclRvcDtcbiAgICAgIH1cbiAgICB9XG4gICAgaWYgKHZlcnRpY2FsQWxpZ24gPT09IFZlcnRpY2FsQWxpZ24udG9wKSB7XG4gICAgICByZWN0LnRvcCA9IGNvbnRhaW5lclBvc2l0aW9uLnRvcCAtIGVsZW1lbnRIZWlnaHQgLSB2ZXJ0aWNhbE1hcmdpbjtcbiAgICB9XG4gICAgaWYgKHZlcnRpY2FsQWxpZ24gPT09IFZlcnRpY2FsQWxpZ24uYm90dG9tKSB7XG4gICAgICByZWN0LnRvcCA9IGNvbnRhaW5lclBvc2l0aW9uLmJvdHRvbSArIHZlcnRpY2FsTWFyZ2luO1xuICAgIH1cbiAgICBpZiAodmVydGljYWxBbGlnbiA9PT0gVmVydGljYWxBbGlnbi5pbm5lclRvcCkge1xuICAgICAgcmVjdC50b3AgPSBjb250YWluZXJQb3NpdGlvbi5ib3R0b20gLSBlbGVtZW50SGVpZ2h0IC0gdmVydGljYWxNYXJnaW47XG4gICAgfVxuICAgIGlmICh2ZXJ0aWNhbEFsaWduID09PSBWZXJ0aWNhbEFsaWduLmlubmVyQm90dG9tKSB7XG4gICAgICByZWN0LnRvcCA9IGNvbnRhaW5lclBvc2l0aW9uLnRvcCArIHZlcnRpY2FsTWFyZ2luO1xuICAgIH1cbiAgICBpZiAodmVydGljYWxBbGlnbiA9PT0gVmVydGljYWxBbGlnbi5jZW50ZXIpIHtcbiAgICAgIHJlY3QudG9wID1cbiAgICAgICAgKGNvbnRhaW5lclBvc2l0aW9uLnRvcCArIGNvbnRhaW5lclBvc2l0aW9uLmJvdHRvbSkgLyAyIC1cbiAgICAgICAgZWxlbWVudEhlaWdodCAvIDI7XG4gICAgfVxuXG4gICAgaWYgKHJlY3QubGVmdCA8IDApIHtcbiAgICAgIHJlY3QubGVmdCA9IDA7XG4gICAgfVxuICAgIGlmIChyZWN0LmxlZnQgKyBlbGVtZW50V2lkdGggPiB3aW5kb3cuaW5uZXJXaWR0aCkge1xuICAgICAgcmVjdC5sZWZ0ID0gd2luZG93LmlubmVyV2lkdGggLSBlbGVtZW50V2lkdGg7XG4gICAgfVxuICAgIGlmIChyZWN0LnRvcCArIGVsZW1lbnRIZWlnaHQgPiB3aW5kb3cuaW5uZXJIZWlnaHQgfHwgcmVjdC5ib3R0b20gPCAwKSB7XG4gICAgICByZWN0LmJvdHRvbSA9IDA7XG4gICAgfVxuICAgIGlmIChyZWN0LnRvcCA8IDApIHtcbiAgICAgIHJlY3QudG9wID0gMDtcbiAgICB9XG4gICAgaWYgKHZlcnRpY2FsQWxpZ24gPT09IFZlcnRpY2FsQWxpZ24uYm90dG9tIHx8IHZlcnRpY2FsQWxpZ24gPT09IFZlcnRpY2FsQWxpZ24uY2VudGVyIHx8IHZlcnRpY2FsQWxpZ24gPT09IFZlcnRpY2FsQWxpZ24uaW5uZXJCb3R0b20pIHtcbiAgICAgIHJlY3QubWF4SGVpZ2h0ID0gd2luZG93LmlubmVySGVpZ2h0IC0gcmVjdC50b3A7XG4gICAgfVxuICAgIGlmICh2ZXJ0aWNhbEFsaWduID09PSBWZXJ0aWNhbEFsaWduLnRvcCB8fCB2ZXJ0aWNhbEFsaWduID09PSBWZXJ0aWNhbEFsaWduLmlubmVyVG9wKSB7XG4gICAgICByZWN0Lm1heEhlaWdodCA9IGNvbnRhaW5lclBvc2l0aW9uLnRvcDtcbiAgICB9XG4gICAgaWYgKCFpc05hTihyZWN0LmxlZnQpKSB7XG4gICAgICByZWN0LmxlZnQgPSByZWN0LmxlZnQgLSB0cmFuc2Zvcm1lZFBhcmVudFJlY3QubGVmdDtcbiAgICB9XG4gICAgaWYgKCFpc05hTihyZWN0LnJpZ2h0KSkge1xuICAgICAgcmVjdC5yaWdodCA9IHJlY3QucmlnaHQgLSB0cmFuc2Zvcm1lZFBhcmVudFJlY3QubGVmdDtcbiAgICB9XG4gICAgaWYgKCFpc05hTihyZWN0LnRvcCkpIHtcbiAgICAgIHJlY3QudG9wID0gcmVjdC50b3AgLSB0cmFuc2Zvcm1lZFBhcmVudFJlY3QudG9wO1xuICAgIH1cbiAgICBpZiAoIWlzTmFOKHJlY3QuYm90dG9tKSkge1xuICAgICAgcmVjdC5ib3R0b20gPSByZWN0LmJvdHRvbSA/IHJlY3QuYm90dG9tIC0gdHJhbnNmb3JtZWRQYXJlbnRSZWN0LmJvdHRvbSA6IHJlY3QuYm90dG9tO1xuICAgIH1cbiAgICByZXR1cm4gcmVjdDtcbiAgfVxuXG4gIHB1YmxpYyBzdGF0aWMgc2V0RWxlbWVudFBvc2l0aW9uKGVsZW1lbnQ6IEhUTUxFbGVtZW50LCByZWN0OiBJUmVjdCk6IHZvaWQge1xuICAgIGVsZW1lbnQuc3R5bGUubGVmdCA9IHJlY3QubGVmdCAhPSBudWxsID8gYCR7cmVjdC5sZWZ0fXB4YCA6ICcnO1xuICAgIGVsZW1lbnQuc3R5bGUucmlnaHQgPSByZWN0LnJpZ2h0ICE9IG51bGwgPyBgJHtyZWN0LnJpZ2h0fXB4YCA6ICcnO1xuICAgIGVsZW1lbnQuc3R5bGUudG9wID0gcmVjdC50b3AgIT0gbnVsbCA/IGAke3JlY3QudG9wfXB4YCA6ICcnO1xuICAgIGVsZW1lbnQuc3R5bGUuYm90dG9tID0gcmVjdC5ib3R0b20gIT0gbnVsbCA/IGAke3JlY3QuYm90dG9tfXB4YCA6ICcnO1xuICAgIGVsZW1lbnQuc3R5bGUubWF4SGVpZ2h0ID1cbiAgICAgIHJlY3QubWF4SGVpZ2h0ICE9IG51bGwgPyBgJHtyZWN0Lm1heEhlaWdodH1weGAgOiAnJztcbiAgICBlbGVtZW50LnN0eWxlLm1pbldpZHRoID0gcmVjdC5taW5XaWR0aCAhPSBudWxsID8gYCR7cmVjdC5taW5XaWR0aH1weGAgOiAnJztcbiAgfVxuXG4gIHB1YmxpYyBzdGF0aWMgZ2V0TWF4SGVpZ2h0KHBvc2l0aW9uOiBJUmVjdCk6IG51bWJlciB8IG51bGwge1xuICAgIGxldCBtYXhIZWlnaHQgPSBudWxsO1xuICAgIG1heEhlaWdodCA9IDE7XG4gICAgcmV0dXJuIG1heEhlaWdodDtcbiAgfVxuXG4gIHB1YmxpYyBzdGF0aWMgZ2V0TWF4V2lkdGgocG9zaXRpb246IElSZWN0KTogbnVtYmVyIHwgbnVsbCB7XG4gICAgbGV0IG1heFdpZHRoID0gbnVsbDtcbiAgICBtYXhXaWR0aCA9IDE7XG4gICAgcmV0dXJuIG1heFdpZHRoO1xuICB9XG59XG4iXX0=
141
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9zaXRpb24tdXRpbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21tb24vdXRpbC9wb3NpdGlvbi11dGlsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBQyxLQUFLLEVBQUMsTUFBTSxvQkFBb0IsQ0FBQztBQUN6QyxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sNkJBQTZCLENBQUM7QUFFMUQsTUFBTSxPQUFPLFlBQVk7SUFDaEIsTUFBTSxDQUFDLFdBQVcsQ0FDdkIsaUJBQXdCLEVBQ3hCLGVBQXNCLEVBQ3RCLEtBQVksRUFDWixhQUE0QixFQUM1QixTQUFpQixDQUFDLEVBQ2xCLGlCQUF5QixDQUFDLEVBQzFCLHdCQUErQjtRQUM3QixJQUFJLEVBQUUsQ0FBQztRQUNQLEtBQUssRUFBRSxDQUFDO1FBQ1IsR0FBRyxFQUFFLENBQUM7UUFDTixNQUFNLEVBQUUsQ0FBQztLQUNWO1FBRUQsTUFBTSxJQUFJLEdBQVUsRUFBRSxDQUFDO1FBQ3ZCLE1BQU0sWUFBWSxHQUFHLGVBQWUsQ0FBQyxLQUFLLEdBQUcsZUFBZSxDQUFDLElBQUksQ0FBQztRQUNsRSxNQUFNLGFBQWEsR0FBRyxlQUFlLENBQUMsTUFBTSxHQUFHLGVBQWUsQ0FBQyxHQUFHLENBQUM7UUFDbkUsTUFBTSxjQUFjLEdBQUcsaUJBQWlCLENBQUMsS0FBSyxHQUFHLGlCQUFpQixDQUFDLElBQUksQ0FBQztRQUN4RSxNQUFNLGVBQWUsR0FBRyxpQkFBaUIsQ0FBQyxNQUFNLEdBQUcsaUJBQWlCLENBQUMsR0FBRyxDQUFDO1FBQ3pFLElBQUksS0FBSyxLQUFLLEtBQUssQ0FBQyxJQUFJLEVBQUU7WUFDeEIsS0FBSyxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUM7WUFDbkIsSUFBSSxNQUFNLENBQUMsVUFBVSxHQUFHLGlCQUFpQixDQUFDLElBQUksR0FBRyxZQUFZLEVBQUU7Z0JBQzdELEtBQUssR0FBRyxLQUFLLENBQUMsS0FBSyxD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QUFHLENBQUMsQ0FBQztRQUNiLE9BQU8sUUFBUSxDQUFDO0lBQ2xCLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7SVJlY3R9IGZyb20gJy4uL2NvbnRyYWN0L2ktcmVjdCc7XG5pbXBvcnQge0FsaWdufSBmcm9tICcuLi9lbnVtL2FsaWduLmVudW0nO1xuaW1wb3J0IHtWZXJ0aWNhbEFsaWdufSBmcm9tICcuLi9lbnVtL3ZlcnRpY2FsLWFsaWduLmVudW0nO1xuXG5leHBvcnQgY2xhc3MgUG9zaXRpb25VdGlsIHtcbiAgcHVibGljIHN0YXRpYyBnZXRQb3NpdGlvbihcbiAgICBjb250YWluZXJQb3NpdGlvbjogSVJlY3QsXG4gICAgZWxlbWVudFBvc2l0aW9uOiBJUmVjdCxcbiAgICBhbGlnbjogQWxpZ24sXG4gICAgdmVydGljYWxBbGlnbjogVmVydGljYWxBbGlnbixcbiAgICBtYXJnaW46IG51bWJlciA9IDAsXG4gICAgdmVydGljYWxNYXJnaW46IG51bWJlciA9IDAsXG4gICAgdHJhbnNmb3JtZWRQYXJlbnRSZWN0OiBJUmVjdCA9IHtcbiAgICAgIGxlZnQ6IDAsXG4gICAgICByaWdodDogMCxcbiAgICAgIHRvcDogMCxcbiAgICAgIGJvdHRvbTogMFxuICAgIH1cbiAgKTogSVJlY3Qge1xuICAgIGNvbnN0IHJlY3Q6IElSZWN0ID0ge307XG4gICAgY29uc3QgZWxlbWVudFdpZHRoID0gZWxlbWVudFBvc2l0aW9uLnJpZ2h0IC0gZWxlbWVudFBvc2l0aW9uLmxlZnQ7XG4gICAgY29uc3QgZWxlbWVudEhlaWdodCA9IGVsZW1lbnRQb3NpdGlvbi5ib3R0b20gLSBlbGVtZW50UG9zaXRpb24udG9wO1xuICAgIGNvbnN0IGNvbnRhaW5lcldpZHRoID0gY29udGFpbmVyUG9zaXRpb24ucmlnaHQgLSBjb250YWluZXJQb3NpdGlvbi5sZWZ0O1xuICAgIGNvbnN0IGNvbnRhaW5lckhlaWdodCA9IGNvbnRhaW5lclBvc2l0aW9uLmJvdHRvbSAtIGNvbnRhaW5lclBvc2l0aW9uLnRvcDtcbiAgICBpZiAoYWxpZ24gPT09IEFsaWduLmF1dG8pIHtcbiAgICAgIGFsaWduID0gQWxpZ24ubGVmdDtcbiAgICAgIGlmICh3aW5kb3cuaW5uZXJXaWR0aCA8IGNvbnRhaW5lclBvc2l0aW9uLmxlZnQgKyBlbGVtZW50V2lkdGgpIHtcbiAgICAgICAgYWxpZ24gPSBBbGlnbi5yaWdodDtcbiAgICAgIH1cbiAgICB9XG4gICAgaWYgKGFsaWduID09PSBBbGlnbi5sZWZ0KSB7XG4gICAgICByZWN0LmxlZnQgPSBjb250YWluZXJQb3NpdGlvbi5sZWZ0ICsgbWFyZ2luO1xuICAgIH1cbiAgICBpZiAoYWxpZ24gPT09IEFsaWduLnJpZ2h0KSB7XG4gICAgICByZWN0LmxlZnQgPSBjb250YWluZXJQb3NpdGlvbi5yaWdodCAtIGVsZW1lbnRXaWR0aCAtIG1hcmdpbjtcbiAgICB9XG4gICAgaWYgKGFsaWduID09PSBBbGlnbi5jZW50ZXIpIHtcbiAgICAgIHJlY3QubGVmdCA9XG4gICAgICAgIChjb250YWluZXJQb3NpdGlvbi5sZWZ0ICsgY29udGFpbmVyUG9zaXRpb24ucmlnaHQpIC8gMiAtXG4gICAgICAgIGVsZW1lbnRXaWR0aCAvIDI7XG4gICAgfVxuICAgIGlmIChhbGlnbiA9PT0gQWxpZ24ub3V0ZXJBdXRvKSB7XG4gICAgICBhbGlnbiA9IEFsaWduLm91dGVyUmlnaHQ7XG4gICAgICBpZiAod2luZG93LmlubmVyV2lkdGggPCBjb250YWluZXJQb3NpdGlvbi5yaWdodCArIGVsZW1lbnRXaWR0aCkge1xuICAgICAgICBhbGlnbiA9IEFsaWduLm91dGVyTGVmdDtcbiAgICAgIH1cbiAgICB9XG4gICAgaWYgKGFsaWduID09PSBBbGlnbi5vdXRlckxlZnQpIHtcbiAgICAgIHJlY3QubGVmdCA9IGNvbnRhaW5lclBvc2l0aW9uLmxlZnQgLSBlbGVtZW50V2lkdGggKyBtYXJnaW47XG4gICAgfVxuICAgIGlmIChhbGlnbiA9PT0gQWxpZ24ub3V0ZXJSaWdodCkge1xuICAgICAgcmVjdC5sZWZ0ID0gY29udGFpbmVyUG9zaXRpb24ucmlnaHQgLSBtYXJnaW47XG4gICAgfVxuXG4gICAgaWYgKGFsaWduID09PSBBbGlnbi5maXRXaWR0aCkge1xuICAgICAgcmVjdC5sZWZ0ID0gY29udGFpbmVyUG9zaXRpb24ubGVmdCArIG1hcmdpbjtcbiAgICAgIHJlY3QucmlnaHQgPSB3aW5kb3cuaW5uZXJXaWR0aCAtIGNvbnRhaW5lclBvc2l0aW9uLnJpZ2h0ICsgbWFyZ2luO1xuICAgIH1cblxuICAgIGlmIChhbGlnbiA9PT0gQWxpZ24ubWluV2lkdGgpIHtcbiAgICAgIHJlY3QubGVmdCA9IGNvbnRhaW5lclBvc2l0aW9uLmxlZnQgKyBtYXJnaW47XG4gICAgICByZWN0Lm1pbldpZHRoID0gY29udGFpbmVyV2lkdGg7XG4gICAgfVxuXG4gICAgaWYgKHZlcnRpY2FsQWxpZ24gPT09IFZlcnRpY2FsQWxpZ24uYXV0bykge1xuICAgICAgaWYgKFxuICAgICAgICBjb250YWluZXJQb3NpdGlvbi5ib3R0b20gK1xuICAgICAgICAoZWxlbWVudFBvc2l0aW9uLmJvdHRvbSAtIGVsZW1lbnRQb3NpdGlvbi50b3ApIDw9XG4gICAgICAgIHdpbmRvdy5pbm5lckhlaWdodFxuICAgICAgKSB7XG4gICAgICAgIHZlcnRpY2FsQWxpZ24gPSBWZXJ0aWNhbEFsaWduLmJvdHRvbTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHZlcnRpY2FsQWxpZ24gPSBWZXJ0aWNhbEFsaWduLnRvcDtcbiAgICAgIH1cbiAgICB9XG4gICAgaWYgKHZlcnRpY2FsQWxpZ24gPT09IFZlcnRpY2FsQWxpZ24uaW5uZXJBdXRvKSB7XG4gICAgICBpZiAoXG4gICAgICAgIGNvbnRhaW5lclBvc2l0aW9uLmJvdHRvbSArXG4gICAgICAgIChlbGVtZW50UG9zaXRpb24uYm90dG9tIC0gZWxlbWVudFBvc2l0aW9uLnRvcCkgPD1cbiAgICAgICAgd2luZG93LmlubmVySGVpZ2h0XG4gICAgICApIHtcbiAgICAgICAgdmVydGljYWxBbGlnbiA9IFZlcnRpY2FsQWxpZ24uaW5uZXJCb3R0b207XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB2ZXJ0aWNhbEFsaWduID0gVmVydGljYWxBbGlnbi5pbm5lclRvcDtcbiAgICAgIH1cbiAgICB9XG4gICAgaWYgKHZlcnRpY2FsQWxpZ24gPT09IFZlcnRpY2FsQWxpZ24udG9wKSB7XG4gICAgICByZWN0LnRvcCA9IGNvbnRhaW5lclBvc2l0aW9uLnRvcCAtIGVsZW1lbnRIZWlnaHQgLSB2ZXJ0aWNhbE1hcmdpbjtcbiAgICB9XG4gICAgaWYgKHZlcnRpY2FsQWxpZ24gPT09IFZlcnRpY2FsQWxpZ24uYm90dG9tKSB7XG4gICAgICByZWN0LnRvcCA9IGNvbnRhaW5lclBvc2l0aW9uLmJvdHRvbSArIHZlcnRpY2FsTWFyZ2luO1xuICAgIH1cbiAgICBpZiAodmVydGljYWxBbGlnbiA9PT0gVmVydGljYWxBbGlnbi5pbm5lclRvcCkge1xuICAgICAgcmVjdC50b3AgPSBjb250YWluZXJQb3NpdGlvbi5ib3R0b20gLSBlbGVtZW50SGVpZ2h0IC0gdmVydGljYWxNYXJnaW47XG4gICAgfVxuICAgIGlmICh2ZXJ0aWNhbEFsaWduID09PSBWZXJ0aWNhbEFsaWduLmlubmVyQm90dG9tKSB7XG4gICAgICByZWN0LnRvcCA9IGNvbnRhaW5lclBvc2l0aW9uLnRvcCArIHZlcnRpY2FsTWFyZ2luO1xuICAgIH1cbiAgICBpZiAodmVydGljYWxBbGlnbiA9PT0gVmVydGljYWxBbGlnbi5jZW50ZXIpIHtcbiAgICAgIHJlY3QudG9wID1cbiAgICAgICAgKGNvbnRhaW5lclBvc2l0aW9uLnRvcCArIGNvbnRhaW5lclBvc2l0aW9uLmJvdHRvbSkgLyAyIC1cbiAgICAgICAgZWxlbWVudEhlaWdodCAvIDI7XG4gICAgfVxuXG4gICAgaWYgKHJlY3QubGVmdCArIGVsZW1lbnRXaWR0aCA+IHdpbmRvdy5pbm5lcldpZHRoKSB7XG4gICAgICByZWN0LmxlZnQgPSB3aW5kb3cuaW5uZXJXaWR0aCAtIGVsZW1lbnRXaWR0aDtcbiAgICB9XG4gICAgaWYgKHJlY3QubGVmdCA8IDApIHtcbiAgICAgIHJlY3QubGVmdCA9IDA7XG4gICAgfVxuICAgIGlmIChyZWN0LnRvcCArIGVsZW1lbnRIZWlnaHQgPiB3aW5kb3cuaW5uZXJIZWlnaHQgfHwgcmVjdC5ib3R0b20gPCAwKSB7XG4gICAgICByZWN0LmJvdHRvbSA9IDA7XG4gICAgfVxuICAgIGlmIChyZWN0LnRvcCA8IDApIHtcbiAgICAgIHJlY3QudG9wID0gMDtcbiAgICB9XG4gICAgaWYgKHZlcnRpY2FsQWxpZ24gPT09IFZlcnRpY2FsQWxpZ24uYm90dG9tIHx8IHZlcnRpY2FsQWxpZ24gPT09IFZlcnRpY2FsQWxpZ24uY2VudGVyIHx8IHZlcnRpY2FsQWxpZ24gPT09IFZlcnRpY2FsQWxpZ24uaW5uZXJCb3R0b20pIHtcbiAgICAgIHJlY3QubWF4SGVpZ2h0ID0gd2luZG93LmlubmVySGVpZ2h0IC0gcmVjdC50b3A7XG4gICAgfVxuICAgIGlmICh2ZXJ0aWNhbEFsaWduID09PSBWZXJ0aWNhbEFsaWduLnRvcCB8fCB2ZXJ0aWNhbEFsaWduID09PSBWZXJ0aWNhbEFsaWduLmlubmVyVG9wKSB7XG4gICAgICByZWN0Lm1heEhlaWdodCA9IGNvbnRhaW5lclBvc2l0aW9uLnRvcDtcbiAgICB9XG4gICAgaWYgKCFpc05hTihyZWN0LmxlZnQpKSB7XG4gICAgICByZWN0LmxlZnQgPSByZWN0LmxlZnQgLSB0cmFuc2Zvcm1lZFBhcmVudFJlY3QubGVmdDtcbiAgICB9XG4gICAgaWYgKCFpc05hTihyZWN0LnJpZ2h0KSkge1xuICAgICAgcmVjdC5yaWdodCA9IHJlY3QucmlnaHQgLSB0cmFuc2Zvcm1lZFBhcmVudFJlY3QubGVmdDtcbiAgICB9XG4gICAgaWYgKCFpc05hTihyZWN0LnRvcCkpIHtcbiAgICAgIHJlY3QudG9wID0gcmVjdC50b3AgLSB0cmFuc2Zvcm1lZFBhcmVudFJlY3QudG9wO1xuICAgIH1cbiAgICBpZiAoIWlzTmFOKHJlY3QuYm90dG9tKSkge1xuICAgICAgcmVjdC5ib3R0b20gPSByZWN0LmJvdHRvbSA/IHJlY3QuYm90dG9tIC0gdHJhbnNmb3JtZWRQYXJlbnRSZWN0LmJvdHRvbSA6IHJlY3QuYm90dG9tO1xuICAgIH1cbiAgICByZXR1cm4gcmVjdDtcbiAgfVxuXG4gIHB1YmxpYyBzdGF0aWMgc2V0RWxlbWVudFBvc2l0aW9uKGVsZW1lbnQ6IEhUTUxFbGVtZW50LCByZWN0OiBJUmVjdCk6IHZvaWQge1xuICAgIGVsZW1lbnQuc3R5bGUubGVmdCA9IHJlY3QubGVmdCAhPSBudWxsID8gYCR7cmVjdC5sZWZ0fXB4YCA6ICcnO1xuICAgIGVsZW1lbnQuc3R5bGUucmlnaHQgPSByZWN0LnJpZ2h0ICE9IG51bGwgPyBgJHtyZWN0LnJpZ2h0fXB4YCA6ICcnO1xuICAgIGVsZW1lbnQuc3R5bGUudG9wID0gcmVjdC50b3AgIT0gbnVsbCA/IGAke3JlY3QudG9wfXB4YCA6ICcnO1xuICAgIGVsZW1lbnQuc3R5bGUuYm90dG9tID0gcmVjdC5ib3R0b20gIT0gbnVsbCA/IGAke3JlY3QuYm90dG9tfXB4YCA6ICcnO1xuICAgIGVsZW1lbnQuc3R5bGUubWF4SGVpZ2h0ID1cbiAgICAgIHJlY3QubWF4SGVpZ2h0ICE9IG51bGwgPyBgJHtyZWN0Lm1heEhlaWdodH1weGAgOiAnJztcbiAgICBlbGVtZW50LnN0eWxlLm1pbldpZHRoID0gcmVjdC5taW5XaWR0aCAhPSBudWxsID8gYCR7cmVjdC5taW5XaWR0aH1weGAgOiAnJztcbiAgfVxuXG4gIHB1YmxpYyBzdGF0aWMgZ2V0TWF4SGVpZ2h0KHBvc2l0aW9uOiBJUmVjdCk6IG51bWJlciB8IG51bGwge1xuICAgIGxldCBtYXhIZWlnaHQgPSBudWxsO1xuICAgIG1heEhlaWdodCA9IDE7XG4gICAgcmV0dXJuIG1heEhlaWdodDtcbiAgfVxuXG4gIHB1YmxpYyBzdGF0aWMgZ2V0TWF4V2lkdGgocG9zaXRpb246IElSZWN0KTogbnVtYmVyIHwgbnVsbCB7XG4gICAgbGV0IG1heFdpZHRoID0gbnVsbDtcbiAgICBtYXhXaWR0aCA9IDE7XG4gICAgcmV0dXJuIG1heFdpZHRoO1xuICB9XG59XG4iXX0=
@@ -0,0 +1,14 @@
1
+ import { ChangeDetectionStrategy, Component } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class AutocompleteComponent {
4
+ constructor() { }
5
+ ngOnInit() {
6
+ }
7
+ }
8
+ AutocompleteComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: AutocompleteComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
9
+ AutocompleteComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.2", type: AutocompleteComponent, selector: "teta-autocomplete", ngImport: i0, template: "<p>autocomplete works!</p>\n", styles: [""], changeDetection: i0.ChangeDetectionStrategy.OnPush });
10
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: AutocompleteComponent, decorators: [{
11
+ type: Component,
12
+ args: [{ selector: 'teta-autocomplete', changeDetection: ChangeDetectionStrategy.OnPush, template: "<p>autocomplete works!</p>\n" }]
13
+ }], ctorParameters: function () { return []; } });
14
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0b2NvbXBsZXRlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnQvYXV0b2NvbXBsZXRlL2F1dG9jb21wbGV0ZS9hdXRvY29tcGxldGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudC9hdXRvY29tcGxldGUvYXV0b2NvbXBsZXRlL2F1dG9jb21wbGV0ZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsdUJBQXVCLEVBQUUsU0FBUyxFQUFTLE1BQU0sZUFBZSxDQUFDOztBQVF6RSxNQUFNLE9BQU8scUJBQXFCO0lBRWhDLGdCQUFnQixDQUFDO0lBRWpCLFFBQVE7SUFDUixDQUFDOztrSEFMVSxxQkFBcUI7c0dBQXJCLHFCQUFxQix5RENSbEMsOEJBQ0E7MkZET2EscUJBQXFCO2tCQU5qQyxTQUFTOytCQUNFLG1CQUFtQixtQkFHWix1QkFBdUIsQ0FBQyxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBPbkluaXR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0ZXRhLWF1dG9jb21wbGV0ZScsXG4gIHRlbXBsYXRlVXJsOiAnLi9hdXRvY29tcGxldGUuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9hdXRvY29tcGxldGUuY29tcG9uZW50LnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgQXV0b2NvbXBsZXRlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcblxuICBjb25zdHJ1Y3RvcigpIHsgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICB9XG5cbn1cbiIsIjxwPmF1dG9jb21wbGV0ZSB3b3JrcyE8L3A+XG4iXX0=
@@ -0,0 +1,24 @@
1
+ import { NgModule } from '@angular/core';
2
+ import { CommonModule } from '@angular/common';
3
+ import { AutocompleteComponent } from './autocomplete/autocomplete.component';
4
+ import * as i0 from "@angular/core";
5
+ export class AutocompleteModule {
6
+ }
7
+ AutocompleteModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: AutocompleteModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
8
+ AutocompleteModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.0.2", ngImport: i0, type: AutocompleteModule, declarations: [AutocompleteComponent], imports: [CommonModule], exports: [AutocompleteComponent] });
9
+ AutocompleteModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: AutocompleteModule, imports: [CommonModule] });
10
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: AutocompleteModule, decorators: [{
11
+ type: NgModule,
12
+ args: [{
13
+ declarations: [
14
+ AutocompleteComponent
15
+ ],
16
+ exports: [
17
+ AutocompleteComponent
18
+ ],
19
+ imports: [
20
+ CommonModule
21
+ ]
22
+ }]
23
+ }] });
24
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0b2NvbXBsZXRlLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnQvYXV0b2NvbXBsZXRlL2F1dG9jb21wbGV0ZS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN2QyxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDN0MsT0FBTyxFQUFDLHFCQUFxQixFQUFDLE1BQU0sdUNBQXVDLENBQUM7O0FBYTVFLE1BQU0sT0FBTyxrQkFBa0I7OytHQUFsQixrQkFBa0I7Z0hBQWxCLGtCQUFrQixpQkFUM0IscUJBQXFCLGFBTXJCLFlBQVksYUFIWixxQkFBcUI7Z0hBTVosa0JBQWtCLFlBSDNCLFlBQVk7MkZBR0gsa0JBQWtCO2tCQVg5QixRQUFRO21CQUFDO29CQUNSLFlBQVksRUFBRTt3QkFDWixxQkFBcUI7cUJBQ3RCO29CQUNELE9BQU8sRUFBRTt3QkFDUCxxQkFBcUI7cUJBQ3RCO29CQUNELE9BQU8sRUFBRTt3QkFDUCxZQUFZO3FCQUNiO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtOZ01vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0NvbW1vbk1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7QXV0b2NvbXBsZXRlQ29tcG9uZW50fSBmcm9tICcuL2F1dG9jb21wbGV0ZS9hdXRvY29tcGxldGUuY29tcG9uZW50JztcblxuQE5nTW9kdWxlKHtcbiAgZGVjbGFyYXRpb25zOiBbXG4gICAgQXV0b2NvbXBsZXRlQ29tcG9uZW50XG4gIF0sXG4gIGV4cG9ydHM6IFtcbiAgICBBdXRvY29tcGxldGVDb21wb25lbnRcbiAgXSxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZVxuICBdXG59KVxuZXhwb3J0IGNsYXNzIEF1dG9jb21wbGV0ZU1vZHVsZSB7XG59XG4iXX0=
@@ -0,0 +1,3 @@
1
+ export * from './autocomplete.module';
2
+ export * from './autocomplete/autocomplete.component';
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnQvYXV0b2NvbXBsZXRlL3B1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyx1QkFBdUIsQ0FBQztBQUN0QyxjQUFjLHVDQUF1QyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9hdXRvY29tcGxldGUubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vYXV0b2NvbXBsZXRlL2F1dG9jb21wbGV0ZS5jb21wb25lbnQnO1xuIl19
@@ -14,10 +14,10 @@ export class InputComponent {
14
14
  ngOnInit() { }
15
15
  }
16
16
  InputComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: InputComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
17
- InputComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.2", type: InputComponent, selector: "teta-input", inputs: { label: "label", hint: "hint", horizontal: "horizontal", required: "required" }, host: { properties: { "class.row": "this.horizontal", "class.column": "this.column" } }, ngImport: i0, template: "<div class=\"font-caption color-text-90 align-center row nowrap overflow-hidden text-overflow-ellipsis\"\n [class.row_6]=\"horizontal\"\n [class.text-field_required]=\"required\"\n *ngIf=\"label?.length > 0\">\n <span class=\"overflow-hidden text-overflow-ellipsis\"\n [tetaHint]=\"hint ?? label\"\n [align]=\"align.left\"\n [overflownOnly]=\"true\">\n {{label}}\n </span>\n</div>\n<div class=\"input-container\" [class.row_6]=\"horizontal\">\n <ng-content></ng-content>\n <div class=\"input-message font-error-message\">\n <ng-content select=\"message\"></ng-content>\n </div>\n</div>\n", styles: [":host{display:flex;grid-gap:4px;flex-grow:1;flex-basis:10px}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.HintDirective, selector: "[tetaHint]", inputs: ["tetaHint", "align", "verticalAlign", "delay", "overflownOnly"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
17
+ InputComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.2", type: InputComponent, selector: "teta-input", inputs: { label: "label", hint: "hint", horizontal: "horizontal", required: "required" }, host: { properties: { "class.row": "this.horizontal", "class.column": "this.column" } }, ngImport: i0, template: "<div class=\"font-caption color-text-90 align-center row nowrap overflow-hidden text-overflow-ellipsis\"\n [class.row_6]=\"horizontal\"\n [class.text-field_required]=\"required\"\n *ngIf=\"label?.length > 0\">\n <span class=\"overflow-hidden text-overflow-ellipsis\"\n [tetaHint]=\"hint ?? label\"\n [align]=\"align.left\"\n [overflownOnly]=\"!hint || hint === label\">\n {{label}}\n </span>\n</div>\n<div class=\"input-container\" [class.row_6]=\"horizontal\">\n <ng-content></ng-content>\n <div class=\"input-message font-error-message\">\n <ng-content select=\"message\"></ng-content>\n </div>\n</div>\n", styles: [":host{display:flex;grid-gap:4px;flex-grow:1;flex-basis:10px}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.HintDirective, selector: "[tetaHint]", inputs: ["tetaHint", "align", "verticalAlign", "delay", "overflownOnly"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
18
18
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: InputComponent, decorators: [{
19
19
  type: Component,
20
- args: [{ selector: 'teta-input', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"font-caption color-text-90 align-center row nowrap overflow-hidden text-overflow-ellipsis\"\n [class.row_6]=\"horizontal\"\n [class.text-field_required]=\"required\"\n *ngIf=\"label?.length > 0\">\n <span class=\"overflow-hidden text-overflow-ellipsis\"\n [tetaHint]=\"hint ?? label\"\n [align]=\"align.left\"\n [overflownOnly]=\"true\">\n {{label}}\n </span>\n</div>\n<div class=\"input-container\" [class.row_6]=\"horizontal\">\n <ng-content></ng-content>\n <div class=\"input-message font-error-message\">\n <ng-content select=\"message\"></ng-content>\n </div>\n</div>\n", styles: [":host{display:flex;grid-gap:4px;flex-grow:1;flex-basis:10px}\n"] }]
20
+ args: [{ selector: 'teta-input', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"font-caption color-text-90 align-center row nowrap overflow-hidden text-overflow-ellipsis\"\n [class.row_6]=\"horizontal\"\n [class.text-field_required]=\"required\"\n *ngIf=\"label?.length > 0\">\n <span class=\"overflow-hidden text-overflow-ellipsis\"\n [tetaHint]=\"hint ?? label\"\n [align]=\"align.left\"\n [overflownOnly]=\"!hint || hint === label\">\n {{label}}\n </span>\n</div>\n<div class=\"input-container\" [class.row_6]=\"horizontal\">\n <ng-content></ng-content>\n <div class=\"input-message font-error-message\">\n <ng-content select=\"message\"></ng-content>\n </div>\n</div>\n", styles: [":host{display:flex;grid-gap:4px;flex-grow:1;flex-basis:10px}\n"] }]
21
21
  }], ctorParameters: function () { return []; }, propDecorators: { label: [{
22
22
  type: Input
23
23
  }], hint: [{
@@ -33,4 +33,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImpor
33
33
  type: HostBinding,
34
34
  args: ['class.column']
35
35
  }] } });
36
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudC9pbnB1dC9pbnB1dC9pbnB1dC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50L2lucHV0L2lucHV0L2lucHV0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFdBQVcsRUFDWCxLQUFLLEdBRU4sTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLEtBQUssRUFBQyxNQUFNLGlDQUFpQyxDQUFDOzs7O0FBUXRELE1BQU0sT0FBTyxjQUFjO0lBa0J6QjtRQVRBLGFBQVEsR0FBRyxLQUFLLENBQUM7UUFPakIsVUFBSyxHQUFHLEtBQUssQ0FBQztJQUVDLENBQUM7SUFQaEIsSUFDSSxNQUFNO1FBQ1IsT0FBTyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUM7SUFDMUIsQ0FBQztJQU1ELFFBQVEsS0FBVSxDQUFDOzsyR0FwQlIsY0FBYzsrRkFBZCxjQUFjLHFPQ2YzQix5bkJBaUJBOzJGREZhLGNBQWM7a0JBTjFCLFNBQVM7K0JBQ0UsWUFBWSxtQkFHTCx1QkFBdUIsQ0FBQyxNQUFNOzBFQUd0QyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUlOLFVBQVU7c0JBRlQsS0FBSzs7c0JBQ0wsV0FBVzt1QkFBQyxXQUFXO2dCQUl4QixRQUFRO3NCQURQLEtBQUs7Z0JBSUYsTUFBTTtzQkFEVCxXQUFXO3VCQUFDLGNBQWMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBIb3N0QmluZGluZyxcbiAgSW5wdXQsXG4gIE9uSW5pdCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0FsaWdufSBmcm9tIFwiLi4vLi4vLi4vY29tbW9uL2VudW0vYWxpZ24uZW51bVwiO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0ZXRhLWlucHV0JyxcbiAgdGVtcGxhdGVVcmw6ICcuL2lucHV0LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vaW5wdXQuY29tcG9uZW50LnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIElucHV0Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgQElucHV0KCkgbGFiZWw6IHN0cmluZztcbiAgQElucHV0KCkgaGludDogc3RyaW5nO1xuXG4gIEBJbnB1dCgpXG4gIEBIb3N0QmluZGluZygnY2xhc3Mucm93JylcbiAgaG9yaXpvbnRhbDogYm9vbGVhbjtcblxuICBASW5wdXQoKVxuICByZXF1aXJlZCA9IGZhbHNlO1xuXG4gIEBIb3N0QmluZGluZygnY2xhc3MuY29sdW1uJylcbiAgZ2V0IGNvbHVtbigpIHtcbiAgICByZXR1cm4gIXRoaXMuaG9yaXpvbnRhbDtcbiAgfVxuXG4gIGFsaWduID0gQWxpZ247XG5cbiAgY29uc3RydWN0b3IoKSB7fVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge31cbn1cbiIsIjxkaXYgY2xhc3M9XCJmb250LWNhcHRpb24gY29sb3ItdGV4dC05MCBhbGlnbi1jZW50ZXIgcm93IG5vd3JhcCBvdmVyZmxvdy1oaWRkZW4gdGV4dC1vdmVyZmxvdy1lbGxpcHNpc1wiXG4gICAgIFtjbGFzcy5yb3dfNl09XCJob3Jpem9udGFsXCJcbiAgICAgW2NsYXNzLnRleHQtZmllbGRfcmVxdWlyZWRdPVwicmVxdWlyZWRcIlxuICAgICAqbmdJZj1cImxhYmVsPy5sZW5ndGggPiAwXCI+XG4gIDxzcGFuIGNsYXNzPVwib3ZlcmZsb3ctaGlkZGVuIHRleHQtb3ZlcmZsb3ctZWxsaXBzaXNcIlxuICAgICAgICBbdGV0YUhpbnRdPVwiaGludCA/PyBsYWJlbFwiXG4gICAgICAgIFthbGlnbl09XCJhbGlnbi5sZWZ0XCJcbiAgICAgICAgW292ZXJmbG93bk9ubHldPVwidHJ1ZVwiPlxuICAgIHt7bGFiZWx9fVxuICA8L3NwYW4+XG48L2Rpdj5cbjxkaXYgY2xhc3M9XCJpbnB1dC1jb250YWluZXJcIiBbY2xhc3Mucm93XzZdPVwiaG9yaXpvbnRhbFwiPlxuICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gIDxkaXYgY2xhc3M9XCJpbnB1dC1tZXNzYWdlIGZvbnQtZXJyb3ItbWVzc2FnZVwiPlxuICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIm1lc3NhZ2VcIj48L25nLWNvbnRlbnQ+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
36
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudC9pbnB1dC9pbnB1dC9pbnB1dC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50L2lucHV0L2lucHV0L2lucHV0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFdBQVcsRUFDWCxLQUFLLEdBRU4sTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLEtBQUssRUFBQyxNQUFNLGlDQUFpQyxDQUFDOzs7O0FBUXRELE1BQU0sT0FBTyxjQUFjO0lBa0J6QjtRQVRBLGFBQVEsR0FBRyxLQUFLLENBQUM7UUFPakIsVUFBSyxHQUFHLEtBQUssQ0FBQztJQUVDLENBQUM7SUFQaEIsSUFDSSxNQUFNO1FBQ1IsT0FBTyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUM7SUFDMUIsQ0FBQztJQU1ELFFBQVEsS0FBVSxDQUFDOzsyR0FwQlIsY0FBYzsrRkFBZCxjQUFjLHFPQ2YzQiw0b0JBaUJBOzJGREZhLGNBQWM7a0JBTjFCLFNBQVM7K0JBQ0UsWUFBWSxtQkFHTCx1QkFBdUIsQ0FBQyxNQUFNOzBFQUd0QyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUlOLFVBQVU7c0JBRlQsS0FBSzs7c0JBQ0wsV0FBVzt1QkFBQyxXQUFXO2dCQUl4QixRQUFRO3NCQURQLEtBQUs7Z0JBSUYsTUFBTTtzQkFEVCxXQUFXO3VCQUFDLGNBQWMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBIb3N0QmluZGluZyxcbiAgSW5wdXQsXG4gIE9uSW5pdCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0FsaWdufSBmcm9tIFwiLi4vLi4vLi4vY29tbW9uL2VudW0vYWxpZ24uZW51bVwiO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0ZXRhLWlucHV0JyxcbiAgdGVtcGxhdGVVcmw6ICcuL2lucHV0LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vaW5wdXQuY29tcG9uZW50LnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIElucHV0Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgQElucHV0KCkgbGFiZWw6IHN0cmluZztcbiAgQElucHV0KCkgaGludDogc3RyaW5nO1xuXG4gIEBJbnB1dCgpXG4gIEBIb3N0QmluZGluZygnY2xhc3Mucm93JylcbiAgaG9yaXpvbnRhbDogYm9vbGVhbjtcblxuICBASW5wdXQoKVxuICByZXF1aXJlZCA9IGZhbHNlO1xuXG4gIEBIb3N0QmluZGluZygnY2xhc3MuY29sdW1uJylcbiAgZ2V0IGNvbHVtbigpIHtcbiAgICByZXR1cm4gIXRoaXMuaG9yaXpvbnRhbDtcbiAgfVxuXG4gIGFsaWduID0gQWxpZ247XG5cbiAgY29uc3RydWN0b3IoKSB7fVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge31cbn1cbiIsIjxkaXYgY2xhc3M9XCJmb250LWNhcHRpb24gY29sb3ItdGV4dC05MCBhbGlnbi1jZW50ZXIgcm93IG5vd3JhcCBvdmVyZmxvdy1oaWRkZW4gdGV4dC1vdmVyZmxvdy1lbGxpcHNpc1wiXG4gICAgIFtjbGFzcy5yb3dfNl09XCJob3Jpem9udGFsXCJcbiAgICAgW2NsYXNzLnRleHQtZmllbGRfcmVxdWlyZWRdPVwicmVxdWlyZWRcIlxuICAgICAqbmdJZj1cImxhYmVsPy5sZW5ndGggPiAwXCI+XG4gIDxzcGFuIGNsYXNzPVwib3ZlcmZsb3ctaGlkZGVuIHRleHQtb3ZlcmZsb3ctZWxsaXBzaXNcIlxuICAgICAgICBbdGV0YUhpbnRdPVwiaGludCA/PyBsYWJlbFwiXG4gICAgICAgIFthbGlnbl09XCJhbGlnbi5sZWZ0XCJcbiAgICAgICAgW292ZXJmbG93bk9ubHldPVwiIWhpbnQgfHwgaGludCA9PT0gbGFiZWxcIj5cbiAgICB7e2xhYmVsfX1cbiAgPC9zcGFuPlxuPC9kaXY+XG48ZGl2IGNsYXNzPVwiaW5wdXQtY29udGFpbmVyXCIgW2NsYXNzLnJvd182XT1cImhvcml6b250YWxcIj5cbiAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICA8ZGl2IGNsYXNzPVwiaW5wdXQtbWVzc2FnZSBmb250LWVycm9yLW1lc3NhZ2VcIj5cbiAgICA8bmctY29udGVudCBzZWxlY3Q9XCJtZXNzYWdlXCI+PC9uZy1jb250ZW50PlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
@@ -1,9 +1,8 @@
1
1
  import { Component, EventEmitter, Input, Output, } from '@angular/core';
2
2
  import * as i0 from "@angular/core";
3
3
  import * as i1 from "@angular/common";
4
- import * as i2 from "@angular/forms";
5
- import * as i3 from "../../../expand-card/expand-item/expand-item.component";
6
- import * as i4 from "../property-grid-item/property-grid-item.component";
4
+ import * as i2 from "../../../expand-card/expand-item/expand-item.component";
5
+ import * as i3 from "../property-grid-item/property-grid-item.component";
7
6
  export class PropertyGridGroupComponent {
8
7
  constructor() {
9
8
  this.controlValueChange = new EventEmitter();
@@ -15,17 +14,17 @@ export class PropertyGridGroupComponent {
15
14
  }
16
15
  }
17
16
  PropertyGridGroupComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: PropertyGridGroupComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
18
- PropertyGridGroupComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.2", type: PropertyGridGroupComponent, selector: "teta-property-grid-group", inputs: { column: "column", hideNonEditable: "hideNonEditable", dict: "dict", formGroup: "formGroup", horizontal: "horizontal", decimalPart: "decimalPart" }, outputs: { controlValueChange: "controlValueChange" }, ngImport: i0, template: "<teta-expand-item>\n <span ngProjectAs='head'>\n {{column.caption}}\n </span>\n <div class=\"form-container\">\n <ng-container *ngFor=\"let col of column.columns; trackBy: trackColumns\">\n <ng-container *ngIf=\"col.columns?.length < 1\">\n <teta-property-grid-item *ngIf=\"column.editable || !hideNonEditable\"\n [id]=\"col.name\"\n [dict]=\"dict\"\n [column]=\"col\"\n [decimalPart]=\"decimalPart\"\n [hideNonEditable]=\"hideNonEditable\"\n (controlValueChange)=\"controlValueChange.emit($event)\"\n [horizontal]=\"horizontal\"\n [formGroup]=\"formGroup\"></teta-property-grid-item>\n </ng-container>\n <ng-container *ngIf=\"col.columns?.length > 0\">\n <teta-property-grid-group [id]=\"col.name\"\n [dict]=\"dict\"\n [column]=\"col\"\n [decimalPart]=\"decimalPart\"\n [hideNonEditable]=\"hideNonEditable\"\n [horizontal]=\"horizontal\"\n (controlValueChange)=\"controlValueChange.emit($event)\"\n [formGroup]=\"formGroup\"></teta-property-grid-group>\n </ng-container>\n </ng-container>\n </div>\n</teta-expand-item>\n", styles: [":host{display:flex;flex-direction:column}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "component", type: i3.ExpandItemComponent, selector: "teta-expand-item", inputs: ["open"], outputs: ["openChange"], exportAs: ["expand-item"] }, { kind: "component", type: PropertyGridGroupComponent, selector: "teta-property-grid-group", inputs: ["column", "hideNonEditable", "dict", "formGroup", "horizontal", "decimalPart"], outputs: ["controlValueChange"] }, { kind: "component", type: i4.PropertyGridItemComponent, selector: "teta-property-grid-item", inputs: ["column", "hideNonEditable", "dict", "decimalPart", "formGroup", "horizontal"], outputs: ["controlValueChange"] }] });
17
+ PropertyGridGroupComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.2", type: PropertyGridGroupComponent, selector: "teta-property-grid-group", inputs: { column: "column", hideNonEditable: "hideNonEditable", dict: "dict", item: "item", horizontal: "horizontal", decimalPart: "decimalPart", itemTemplates: "itemTemplates" }, outputs: { controlValueChange: "controlValueChange" }, ngImport: i0, template: "<teta-expand-item>\n <span ngProjectAs='head'>\n {{column.caption}}\n </span>\n <div class=\"form-container\">\n <ng-container *ngFor=\"let col of column.columns; trackBy: trackColumns\">\n <ng-container *ngIf=\"col.columns?.length < 1\">\n <teta-property-grid-item *ngIf=\"column.editable || !hideNonEditable\"\n [id]=\"col.name\"\n [dict]=\"dict\"\n [column]=\"col\"\n [item]=\"item\"\n [itemTemplates]=\"itemTemplates\"\n [decimalPart]=\"decimalPart\"\n [hideNonEditable]=\"hideNonEditable\"\n (controlValueChange)=\"controlValueChange.emit($event)\"\n [horizontal]=\"horizontal\"></teta-property-grid-item>\n </ng-container>\n <ng-container *ngIf=\"col.columns?.length > 0\">\n <teta-property-grid-group [id]=\"col.name\"\n [dict]=\"dict\"\n [column]=\"col\"\n [item]=\"item\"\n [itemTemplates]=\"itemTemplates\"\n [decimalPart]=\"decimalPart\"\n [hideNonEditable]=\"hideNonEditable\"\n [horizontal]=\"horizontal\"\n (controlValueChange)=\"controlValueChange.emit($event)\"></teta-property-grid-group>\n </ng-container>\n </ng-container>\n </div>\n</teta-expand-item>\n", styles: [":host{display:flex;flex-direction:column}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.ExpandItemComponent, selector: "teta-expand-item", inputs: ["open"], outputs: ["openChange"], exportAs: ["expand-item"] }, { kind: "component", type: PropertyGridGroupComponent, selector: "teta-property-grid-group", inputs: ["column", "hideNonEditable", "dict", "item", "horizontal", "decimalPart", "itemTemplates"], outputs: ["controlValueChange"] }, { kind: "component", type: i3.PropertyGridItemComponent, selector: "teta-property-grid-item", inputs: ["column", "hideNonEditable", "dict", "decimalPart", "item", "itemTemplates", "horizontal"], outputs: ["controlValueChange"] }] });
19
18
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: PropertyGridGroupComponent, decorators: [{
20
19
  type: Component,
21
- args: [{ selector: 'teta-property-grid-group', template: "<teta-expand-item>\n <span ngProjectAs='head'>\n {{column.caption}}\n </span>\n <div class=\"form-container\">\n <ng-container *ngFor=\"let col of column.columns; trackBy: trackColumns\">\n <ng-container *ngIf=\"col.columns?.length < 1\">\n <teta-property-grid-item *ngIf=\"column.editable || !hideNonEditable\"\n [id]=\"col.name\"\n [dict]=\"dict\"\n [column]=\"col\"\n [decimalPart]=\"decimalPart\"\n [hideNonEditable]=\"hideNonEditable\"\n (controlValueChange)=\"controlValueChange.emit($event)\"\n [horizontal]=\"horizontal\"\n [formGroup]=\"formGroup\"></teta-property-grid-item>\n </ng-container>\n <ng-container *ngIf=\"col.columns?.length > 0\">\n <teta-property-grid-group [id]=\"col.name\"\n [dict]=\"dict\"\n [column]=\"col\"\n [decimalPart]=\"decimalPart\"\n [hideNonEditable]=\"hideNonEditable\"\n [horizontal]=\"horizontal\"\n (controlValueChange)=\"controlValueChange.emit($event)\"\n [formGroup]=\"formGroup\"></teta-property-grid-group>\n </ng-container>\n </ng-container>\n </div>\n</teta-expand-item>\n", styles: [":host{display:flex;flex-direction:column}\n"] }]
20
+ args: [{ selector: 'teta-property-grid-group', template: "<teta-expand-item>\n <span ngProjectAs='head'>\n {{column.caption}}\n </span>\n <div class=\"form-container\">\n <ng-container *ngFor=\"let col of column.columns; trackBy: trackColumns\">\n <ng-container *ngIf=\"col.columns?.length < 1\">\n <teta-property-grid-item *ngIf=\"column.editable || !hideNonEditable\"\n [id]=\"col.name\"\n [dict]=\"dict\"\n [column]=\"col\"\n [item]=\"item\"\n [itemTemplates]=\"itemTemplates\"\n [decimalPart]=\"decimalPart\"\n [hideNonEditable]=\"hideNonEditable\"\n (controlValueChange)=\"controlValueChange.emit($event)\"\n [horizontal]=\"horizontal\"></teta-property-grid-item>\n </ng-container>\n <ng-container *ngIf=\"col.columns?.length > 0\">\n <teta-property-grid-group [id]=\"col.name\"\n [dict]=\"dict\"\n [column]=\"col\"\n [item]=\"item\"\n [itemTemplates]=\"itemTemplates\"\n [decimalPart]=\"decimalPart\"\n [hideNonEditable]=\"hideNonEditable\"\n [horizontal]=\"horizontal\"\n (controlValueChange)=\"controlValueChange.emit($event)\"></teta-property-grid-group>\n </ng-container>\n </ng-container>\n </div>\n</teta-expand-item>\n", styles: [":host{display:flex;flex-direction:column}\n"] }]
22
21
  }], ctorParameters: function () { return []; }, propDecorators: { column: [{
23
22
  type: Input
24
23
  }], hideNonEditable: [{
25
24
  type: Input
26
25
  }], dict: [{
27
26
  type: Input
28
- }], formGroup: [{
27
+ }], item: [{
29
28
  type: Input
30
29
  }], horizontal: [{
31
30
  type: Input
@@ -33,5 +32,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImpor
33
32
  type: Output
34
33
  }], decimalPart: [{
35
34
  type: Input
35
+ }], itemTemplates: [{
36
+ type: Input
36
37
  }] } });
37
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvcGVydHktZ3JpZC1ncm91cC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50L3Byb3BlcnR5LWdyaWQvcHJvcGVydHktZ3JpZC9wcm9wZXJ0eS1ncmlkLWdyb3VwL3Byb3BlcnR5LWdyaWQtZ3JvdXAuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudC9wcm9wZXJ0eS1ncmlkL3Byb3BlcnR5LWdyaWQvcHJvcGVydHktZ3JpZC1ncm91cC9wcm9wZXJ0eS1ncmlkLWdyb3VwLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsWUFBWSxFQUNaLEtBQUssRUFFTCxNQUFNLEdBQ1AsTUFBTSxlQUFlLENBQUM7Ozs7OztBQVd2QixNQUFNLE9BQU8sMEJBQTBCO0lBU3JDO1FBSFUsdUJBQWtCLEdBQUcsSUFBSSxZQUFZLEVBQWdCLENBQUM7SUFJaEUsQ0FBQztJQUVELFFBQVE7SUFDUixDQUFDO0lBRUQsWUFBWSxDQUFDLEtBQWEsRUFBRSxNQUFtQjtRQUM3QyxPQUFPLE1BQU0sQ0FBQyxJQUFJLENBQUM7SUFDckIsQ0FBQzs7dUhBakJVLDBCQUEwQjsyR0FBMUIsMEJBQTBCLHFSQ2pCdkMscWhEQThCQSw0d0JEYmEsMEJBQTBCOzJGQUExQiwwQkFBMEI7a0JBTHRDLFNBQVM7K0JBQ0UsMEJBQTBCOzBFQUszQixNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csZUFBZTtzQkFBdkIsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNJLGtCQUFrQjtzQkFBM0IsTUFBTTtnQkFDRSxXQUFXO3NCQUFuQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPbkluaXQsXG4gIE91dHB1dCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1RhYmxlQ29sdW1ufSBmcm9tICcuLi8uLi8uLi90YWJsZS9jb250cmFjdC90YWJsZS1jb2x1bW4nO1xuaW1wb3J0IHtJRGljdGlvbmFyeX0gZnJvbSAnLi4vLi4vLi4vLi4vY29tbW9uL2NvbnRyYWN0L2ktZGljdGlvbmFyeSc7XG5pbXBvcnQge0lJZE5hbWV9IGZyb20gJy4uLy4uLy4uLy4uL2NvbW1vbi9jb250cmFjdC9pLWlkLW5hbWUnO1xuaW1wb3J0IHtVbnR5cGVkRm9ybUdyb3VwfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3RldGEtcHJvcGVydHktZ3JpZC1ncm91cCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9wcm9wZXJ0eS1ncmlkLWdyb3VwLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vcHJvcGVydHktZ3JpZC1ncm91cC5jb21wb25lbnQuc2NzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBQcm9wZXJ0eUdyaWRHcm91cENvbXBvbmVudDxUPiBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBJbnB1dCgpIGNvbHVtbjogVGFibGVDb2x1bW47XG4gIEBJbnB1dCgpIGhpZGVOb25FZGl0YWJsZTogYm9vbGVhbjtcbiAgQElucHV0KCkgZGljdDogSURpY3Rpb25hcnk8SUlkTmFtZTxhbnk+W10+O1xuICBASW5wdXQoKSBmb3JtR3JvdXA6IFVudHlwZWRGb3JtR3JvdXA7XG4gIEBJbnB1dCgpIGhvcml6b250YWw6IGJvb2xlYW47XG4gIEBPdXRwdXQoKSBjb250cm9sVmFsdWVDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPElJZE5hbWU8YW55Pj4oKTtcbiAgQElucHV0KCkgZGVjaW1hbFBhcnQ6IG51bWJlcjtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICB9XG5cbiAgdHJhY2tDb2x1bW5zKGluZGV4OiBudW1iZXIsIGNvbHVtbjogVGFibGVDb2x1bW4pOiBhbnkge1xuICAgIHJldHVybiBjb2x1bW4ubmFtZTtcbiAgfVxufVxuIiwiPHRldGEtZXhwYW5kLWl0ZW0+XG4gIDxzcGFuIG5nUHJvamVjdEFzPSdoZWFkJz5cbiAgICB7e2NvbHVtbi5jYXB0aW9ufX1cbiAgPC9zcGFuPlxuICA8ZGl2IGNsYXNzPVwiZm9ybS1jb250YWluZXJcIj5cbiAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBjb2wgb2YgY29sdW1uLmNvbHVtbnM7IHRyYWNrQnk6IHRyYWNrQ29sdW1uc1wiPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImNvbC5jb2x1bW5zPy5sZW5ndGggPCAxXCI+XG4gICAgICAgIDx0ZXRhLXByb3BlcnR5LWdyaWQtaXRlbSAqbmdJZj1cImNvbHVtbi5lZGl0YWJsZSB8fCAhaGlkZU5vbkVkaXRhYmxlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtpZF09XCJjb2wubmFtZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZGljdF09XCJkaWN0XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjb2x1bW5dPVwiY29sXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtkZWNpbWFsUGFydF09XCJkZWNpbWFsUGFydFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbaGlkZU5vbkVkaXRhYmxlXT1cImhpZGVOb25FZGl0YWJsZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY29udHJvbFZhbHVlQ2hhbmdlKT1cImNvbnRyb2xWYWx1ZUNoYW5nZS5lbWl0KCRldmVudClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2hvcml6b250YWxdPVwiaG9yaXpvbnRhbFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZm9ybUdyb3VwXT1cImZvcm1Hcm91cFwiPjwvdGV0YS1wcm9wZXJ0eS1ncmlkLWl0ZW0+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJjb2wuY29sdW1ucz8ubGVuZ3RoID4gMFwiPlxuICAgICAgICA8dGV0YS1wcm9wZXJ0eS1ncmlkLWdyb3VwIFtpZF09XCJjb2wubmFtZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2RpY3RdPVwiZGljdFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NvbHVtbl09XCJjb2xcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtkZWNpbWFsUGFydF09XCJkZWNpbWFsUGFydFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2hpZGVOb25FZGl0YWJsZV09XCJoaWRlTm9uRWRpdGFibGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtob3Jpem9udGFsXT1cImhvcml6b250YWxcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjb250cm9sVmFsdWVDaGFuZ2UpPVwiY29udHJvbFZhbHVlQ2hhbmdlLmVtaXQoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2Zvcm1Hcm91cF09XCJmb3JtR3JvdXBcIj48L3RldGEtcHJvcGVydHktZ3JpZC1ncm91cD5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgIDwvbmctY29udGFpbmVyPlxuICA8L2Rpdj5cbjwvdGV0YS1leHBhbmQtaXRlbT5cbiJdfQ==
38
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvcGVydHktZ3JpZC1ncm91cC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50L3Byb3BlcnR5LWdyaWQvcHJvcGVydHktZ3JpZC9wcm9wZXJ0eS1ncmlkLWdyb3VwL3Byb3BlcnR5LWdyaWQtZ3JvdXAuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudC9wcm9wZXJ0eS1ncmlkL3Byb3BlcnR5LWdyaWQvcHJvcGVydHktZ3JpZC1ncm91cC9wcm9wZXJ0eS1ncmlkLWdyb3VwLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsWUFBWSxFQUNaLEtBQUssRUFFTCxNQUFNLEdBQ1AsTUFBTSxlQUFlLENBQUM7Ozs7O0FBV3ZCLE1BQU0sT0FBTywwQkFBMEI7SUFVckM7UUFKVSx1QkFBa0IsR0FBRyxJQUFJLFlBQVksRUFBZ0IsQ0FBQztJQUtoRSxDQUFDO0lBRUQsUUFBUTtJQUNSLENBQUM7SUFFRCxZQUFZLENBQUMsS0FBYSxFQUFFLE1BQW1CO1FBQzdDLE9BQU8sTUFBTSxDQUFDLElBQUksQ0FBQztJQUNyQixDQUFDOzt1SEFsQlUsMEJBQTBCOzJHQUExQiwwQkFBMEIsMlNDakJ2Qywwb0RBZ0NBLCtkRGZhLDBCQUEwQjsyRkFBMUIsMEJBQTBCO2tCQUx0QyxTQUFTOytCQUNFLDBCQUEwQjswRUFLM0IsTUFBTTtzQkFBZCxLQUFLO2dCQUNHLGVBQWU7c0JBQXZCLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNJLGtCQUFrQjtzQkFBM0IsTUFBTTtnQkFDRSxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLGFBQWE7c0JBQXJCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDb21wb25lbnQsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE9uSW5pdCxcbiAgT3V0cHV0LCBRdWVyeUxpc3QsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtUYWJsZUNvbHVtbn0gZnJvbSAnLi4vLi4vLi4vdGFibGUvY29udHJhY3QvdGFibGUtY29sdW1uJztcbmltcG9ydCB7SURpY3Rpb25hcnl9IGZyb20gJy4uLy4uLy4uLy4uL2NvbW1vbi9jb250cmFjdC9pLWRpY3Rpb25hcnknO1xuaW1wb3J0IHtJSWROYW1lfSBmcm9tICcuLi8uLi8uLi8uLi9jb21tb24vY29udHJhY3QvaS1pZC1uYW1lJztcbmltcG9ydCB7UHJvcGVydHlHcmlkSXRlbURlc2NyaXB0aW9uRGlyZWN0aXZlfSBmcm9tIFwiLi4vcHJvcGVydHktZ3JpZC1pdGVtLWRlc2NyaXB0aW9uLmRpcmVjdGl2ZVwiO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0ZXRhLXByb3BlcnR5LWdyaWQtZ3JvdXAnLFxuICB0ZW1wbGF0ZVVybDogJy4vcHJvcGVydHktZ3JpZC1ncm91cC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3Byb3BlcnR5LWdyaWQtZ3JvdXAuY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgUHJvcGVydHlHcmlkR3JvdXBDb21wb25lbnQ8VD4gaW1wbGVtZW50cyBPbkluaXQge1xuICBASW5wdXQoKSBjb2x1bW46IFRhYmxlQ29sdW1uO1xuICBASW5wdXQoKSBoaWRlTm9uRWRpdGFibGU6IGJvb2xlYW47XG4gIEBJbnB1dCgpIGRpY3Q6IElEaWN0aW9uYXJ5PElJZE5hbWU8YW55PltdPjtcbiAgQElucHV0KCkgaXRlbTogVDtcbiAgQElucHV0KCkgaG9yaXpvbnRhbDogYm9vbGVhbjtcbiAgQE91dHB1dCgpIGNvbnRyb2xWYWx1ZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8SUlkTmFtZTxhbnk+PigpO1xuICBASW5wdXQoKSBkZWNpbWFsUGFydDogbnVtYmVyO1xuICBASW5wdXQoKSBpdGVtVGVtcGxhdGVzOiBRdWVyeUxpc3Q8UHJvcGVydHlHcmlkSXRlbURlc2NyaXB0aW9uRGlyZWN0aXZlPjtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICB9XG5cbiAgdHJhY2tDb2x1bW5zKGluZGV4OiBudW1iZXIsIGNvbHVtbjogVGFibGVDb2x1bW4pOiBhbnkge1xuICAgIHJldHVybiBjb2x1bW4ubmFtZTtcbiAgfVxufVxuIiwiPHRldGEtZXhwYW5kLWl0ZW0+XG4gIDxzcGFuIG5nUHJvamVjdEFzPSdoZWFkJz5cbiAgICB7e2NvbHVtbi5jYXB0aW9ufX1cbiAgPC9zcGFuPlxuICA8ZGl2IGNsYXNzPVwiZm9ybS1jb250YWluZXJcIj5cbiAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBjb2wgb2YgY29sdW1uLmNvbHVtbnM7IHRyYWNrQnk6IHRyYWNrQ29sdW1uc1wiPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImNvbC5jb2x1bW5zPy5sZW5ndGggPCAxXCI+XG4gICAgICAgIDx0ZXRhLXByb3BlcnR5LWdyaWQtaXRlbSAqbmdJZj1cImNvbHVtbi5lZGl0YWJsZSB8fCAhaGlkZU5vbkVkaXRhYmxlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtpZF09XCJjb2wubmFtZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZGljdF09XCJkaWN0XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjb2x1bW5dPVwiY29sXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtpdGVtXT1cIml0ZW1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2l0ZW1UZW1wbGF0ZXNdPVwiaXRlbVRlbXBsYXRlc1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZGVjaW1hbFBhcnRdPVwiZGVjaW1hbFBhcnRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2hpZGVOb25FZGl0YWJsZV09XCJoaWRlTm9uRWRpdGFibGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNvbnRyb2xWYWx1ZUNoYW5nZSk9XCJjb250cm9sVmFsdWVDaGFuZ2UuZW1pdCgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtob3Jpem9udGFsXT1cImhvcml6b250YWxcIj48L3RldGEtcHJvcGVydHktZ3JpZC1pdGVtPlxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiY29sLmNvbHVtbnM/Lmxlbmd0aCA+IDBcIj5cbiAgICAgICAgPHRldGEtcHJvcGVydHktZ3JpZC1ncm91cCBbaWRdPVwiY29sLm5hbWVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtkaWN0XT1cImRpY3RcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjb2x1bW5dPVwiY29sXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbaXRlbV09XCJpdGVtXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbaXRlbVRlbXBsYXRlc109XCJpdGVtVGVtcGxhdGVzXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZGVjaW1hbFBhcnRdPVwiZGVjaW1hbFBhcnRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtoaWRlTm9uRWRpdGFibGVdPVwiaGlkZU5vbkVkaXRhYmxlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbaG9yaXpvbnRhbF09XCJob3Jpem9udGFsXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY29udHJvbFZhbHVlQ2hhbmdlKT1cImNvbnRyb2xWYWx1ZUNoYW5nZS5lbWl0KCRldmVudClcIj48L3RldGEtcHJvcGVydHktZ3JpZC1ncm91cD5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgIDwvbmctY29udGFpbmVyPlxuICA8L2Rpdj5cbjwvdGV0YS1leHBhbmQtaXRlbT5cbiJdfQ==