@ng-doc/app 15.11.2 → 15.12.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.
Files changed (37) hide show
  1. package/components/playground/index.d.ts +1 -0
  2. package/components/playground/playground-properties/playground-properties.component.d.ts +12 -3
  3. package/components/playground/playground-property/playground-property.component.d.ts +6 -7
  4. package/components/playground/playground-property-control.d.ts +7 -0
  5. package/components/playground/playground.module.d.ts +1 -1
  6. package/esm2020/components/playground/index.mjs +2 -1
  7. package/esm2020/components/playground/playground-properties/playground-properties.component.mjs +76 -7
  8. package/esm2020/components/playground/playground-property/playground-property.component.mjs +21 -48
  9. package/esm2020/components/playground/playground-property-control.mjs +2 -0
  10. package/esm2020/components/playground/playground.module.mjs +10 -4
  11. package/esm2020/interfaces/type-control-provider-options.mjs +1 -1
  12. package/esm2020/type-controls/boolean-control/boolean-control.module.mjs +2 -2
  13. package/esm2020/type-controls/number-control/number-control.module.mjs +2 -2
  14. package/esm2020/type-controls/string-control/string-control.module.mjs +2 -2
  15. package/esm2020/type-controls/type-alias-control/type-alias-control.module.mjs +2 -2
  16. package/fesm2015/ng-doc-app-components-playground.mjs +111 -60
  17. package/fesm2015/ng-doc-app-components-playground.mjs.map +1 -1
  18. package/fesm2015/ng-doc-app-type-controls-boolean-control.mjs +1 -1
  19. package/fesm2015/ng-doc-app-type-controls-boolean-control.mjs.map +1 -1
  20. package/fesm2015/ng-doc-app-type-controls-number-control.mjs +1 -1
  21. package/fesm2015/ng-doc-app-type-controls-number-control.mjs.map +1 -1
  22. package/fesm2015/ng-doc-app-type-controls-string-control.mjs +1 -1
  23. package/fesm2015/ng-doc-app-type-controls-string-control.mjs.map +1 -1
  24. package/fesm2015/ng-doc-app-type-controls-type-alias-control.mjs +1 -1
  25. package/fesm2015/ng-doc-app-type-controls-type-alias-control.mjs.map +1 -1
  26. package/fesm2020/ng-doc-app-components-playground.mjs +109 -60
  27. package/fesm2020/ng-doc-app-components-playground.mjs.map +1 -1
  28. package/fesm2020/ng-doc-app-type-controls-boolean-control.mjs +1 -1
  29. package/fesm2020/ng-doc-app-type-controls-boolean-control.mjs.map +1 -1
  30. package/fesm2020/ng-doc-app-type-controls-number-control.mjs +1 -1
  31. package/fesm2020/ng-doc-app-type-controls-number-control.mjs.map +1 -1
  32. package/fesm2020/ng-doc-app-type-controls-string-control.mjs +1 -1
  33. package/fesm2020/ng-doc-app-type-controls-string-control.mjs.map +1 -1
  34. package/fesm2020/ng-doc-app-type-controls-type-alias-control.mjs +1 -1
  35. package/fesm2020/ng-doc-app-type-controls-type-alias-control.mjs.map +1 -1
  36. package/interfaces/type-control-provider-options.d.ts +5 -0
  37. package/package.json +3 -3
@@ -5,3 +5,4 @@ export * from './playground-demo/playground-demo.component';
5
5
  export * from './playground-form';
6
6
  export * from './playground-properties/playground-properties.component';
7
7
  export * from './playground-property/playground-property.component';
8
+ export * from './playground-property-control';
@@ -1,12 +1,15 @@
1
1
  import { BreakpointObserver } from '@angular/cdk/layout';
2
- import { EventEmitter } from '@angular/core';
2
+ import { EventEmitter, Injector, OnChanges, SimpleChanges } from '@angular/core';
3
3
  import { FormControl, FormGroup } from '@angular/forms';
4
+ import { NgDocProvidedTypeControl } from '@ng-doc/app/interfaces';
4
5
  import { NgDocPlaygroundContent, NgDocPlaygroundProperties } from '@ng-doc/core/interfaces';
5
6
  import { Observable } from 'rxjs';
6
7
  import { NgDocPlaygroundForm } from '../playground-form';
8
+ import { NgDocPlaygroundPropertyControl } from '../playground-property-control';
7
9
  import * as i0 from "@angular/core";
8
- export declare class NgDocPlaygroundPropertiesComponent<P extends NgDocPlaygroundProperties, C extends Record<string, NgDocPlaygroundContent>> {
10
+ export declare class NgDocPlaygroundPropertiesComponent<P extends NgDocPlaygroundProperties, C extends Record<string, NgDocPlaygroundContent>> implements OnChanges {
9
11
  protected readonly breakpointObserver: BreakpointObserver;
12
+ private injector;
10
13
  form: FormGroup<NgDocPlaygroundForm>;
11
14
  properties?: P;
12
15
  dynamicContent?: C;
@@ -15,8 +18,14 @@ export declare class NgDocPlaygroundPropertiesComponent<P extends NgDocPlaygroun
15
18
  resetForm: EventEmitter<void>;
16
19
  readonly breakpoints: string[];
17
20
  readonly observer: Observable<boolean>;
18
- constructor(breakpointObserver: BreakpointObserver);
21
+ protected propertyControls: NgDocPlaygroundPropertyControl[];
22
+ protected contentTypeControl?: NgDocProvidedTypeControl;
23
+ constructor(breakpointObserver: BreakpointObserver, injector: Injector);
24
+ ngOnChanges({ properties }: SimpleChanges): void;
19
25
  getFormControl(controlType: keyof typeof this.form.controls, key: string): FormControl;
26
+ private getTypeControl;
27
+ private getControlForType;
28
+ private getControlForTypeAlias;
20
29
  static ɵfac: i0.ɵɵFactoryDeclaration<NgDocPlaygroundPropertiesComponent<any, any>, never>;
21
30
  static ɵcmp: i0.ɵɵComponentDeclaration<NgDocPlaygroundPropertiesComponent<any, any>, "ng-doc-playground-properties", never, { "form": "form"; "properties": "properties"; "dynamicContent": "dynamicContent"; "recreateDemo": "recreateDemo"; }, { "recreateDemoChange": "recreateDemoChange"; "resetForm": "resetForm"; }, never, ["*"], false, never>;
22
31
  }
@@ -1,22 +1,21 @@
1
1
  import { Injector, OnChanges, SimpleChanges, ViewContainerRef } from '@angular/core';
2
2
  import { FormControl } from '@angular/forms';
3
- import { NgDocTypeControlProviderOptions } from '@ng-doc/app/interfaces';
3
+ import { NgDocProvidedTypeControl, NgDocTypeControlProviderOptions } from '@ng-doc/app/interfaces';
4
4
  import { NgDocPlaygroundContent, NgDocPlaygroundProperty } from '@ng-doc/core/interfaces';
5
5
  import * as i0 from "@angular/core";
6
6
  export declare class NgDocPlaygroundPropertyComponent implements OnChanges {
7
7
  private readonly injector;
8
8
  name: string;
9
9
  property?: NgDocPlaygroundProperty | NgDocPlaygroundContent;
10
+ typeControl?: NgDocProvidedTypeControl;
10
11
  control?: FormControl;
11
12
  propertyOutlet?: ViewContainerRef;
12
- option?: NgDocTypeControlProviderOptions;
13
- private propertyControl?;
13
+ protected option?: NgDocTypeControlProviderOptions;
14
+ private propertyTypeControl?;
14
15
  constructor(injector: Injector);
15
- ngOnChanges({ property, control }: SimpleChanges): void;
16
+ ngOnChanges({ property, control, typeControl }: SimpleChanges): void;
16
17
  get hasPropertyControl(): boolean;
17
18
  get tooltipContent(): string;
18
- private getControlForType;
19
- private getControlForTypeAlias;
20
19
  static ɵfac: i0.ɵɵFactoryDeclaration<NgDocPlaygroundPropertyComponent, never>;
21
- static ɵcmp: i0.ɵɵComponentDeclaration<NgDocPlaygroundPropertyComponent, "ng-doc-playground-property", never, { "name": "name"; "property": "property"; "control": "control"; }, {}, never, never, false, never>;
20
+ static ɵcmp: i0.ɵɵComponentDeclaration<NgDocPlaygroundPropertyComponent, "ng-doc-playground-property", never, { "name": "name"; "property": "property"; "typeControl": "typeControl"; "control": "control"; }, {}, never, never, false, never>;
22
21
  }
@@ -0,0 +1,7 @@
1
+ import { NgDocProvidedTypeControl } from '@ng-doc/app/interfaces';
2
+ import { NgDocPlaygroundProperty } from '@ng-doc/core/interfaces';
3
+ export interface NgDocPlaygroundPropertyControl {
4
+ propertyName: string;
5
+ property: NgDocPlaygroundProperty;
6
+ typeControl: NgDocProvidedTypeControl;
7
+ }
@@ -10,6 +10,6 @@ import * as i8 from "@tinkoff/ng-polymorpheus";
10
10
  import * as i9 from "@ng-doc/app/components/demo-displayer";
11
11
  export declare class NgDocPlaygroundModule {
12
12
  static ɵfac: i0.ɵɵFactoryDeclaration<NgDocPlaygroundModule, never>;
13
- static ɵmod: i0.ɵɵNgModuleDeclaration<NgDocPlaygroundModule, [typeof i1.NgDocPlaygroundComponent, typeof i2.NgDocPlaygroundPropertyComponent, typeof i3.NgDocPlaygroundPropertiesComponent, typeof i4.NgDocPlaygroundDemoComponent], [typeof i5.CommonModule, typeof i6.ReactiveFormsModule, typeof i7.NgDocLabelModule, typeof i7.NgDocTooltipModule, typeof i8.PolymorpheusModule, typeof i7.NgDocAsArrayModule, typeof i7.NgDocButtonIconModule, typeof i7.NgDocIconModule, typeof i7.NgDocTextModule, typeof i7.NgDocCheckboxModule, typeof i6.FormsModule, typeof i7.NgDocButtonModule, typeof i9.NgDocDemoDisplayerModule], [typeof i1.NgDocPlaygroundComponent, typeof i2.NgDocPlaygroundPropertyComponent, typeof i3.NgDocPlaygroundPropertiesComponent, typeof i4.NgDocPlaygroundDemoComponent]>;
13
+ static ɵmod: i0.ɵɵNgModuleDeclaration<NgDocPlaygroundModule, [typeof i1.NgDocPlaygroundComponent, typeof i2.NgDocPlaygroundPropertyComponent, typeof i3.NgDocPlaygroundPropertiesComponent, typeof i4.NgDocPlaygroundDemoComponent], [typeof i5.CommonModule, typeof i6.ReactiveFormsModule, typeof i7.NgDocLabelModule, typeof i7.NgDocTooltipModule, typeof i8.PolymorpheusModule, typeof i7.NgDocAsArrayModule, typeof i7.NgDocButtonIconModule, typeof i7.NgDocIconModule, typeof i7.NgDocTextModule, typeof i7.NgDocCheckboxModule, typeof i6.FormsModule, typeof i7.NgDocButtonModule, typeof i9.NgDocDemoDisplayerModule, typeof i7.NgDocBindModule, typeof i7.NgDocRunModule], [typeof i1.NgDocPlaygroundComponent, typeof i2.NgDocPlaygroundPropertyComponent, typeof i3.NgDocPlaygroundPropertiesComponent, typeof i4.NgDocPlaygroundDemoComponent]>;
14
14
  static ɵinj: i0.ɵɵInjectorDeclaration<NgDocPlaygroundModule>;
15
15
  }
@@ -5,4 +5,5 @@ export * from './playground-demo/playground-demo.component';
5
5
  export * from './playground-form';
6
6
  export * from './playground-properties/playground-properties.component';
7
7
  export * from './playground-property/playground-property.component';
8
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FwcC9jb21wb25lbnRzL3BsYXlncm91bmQvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxtQkFBbUIsQ0FBQztBQUNsQyxjQUFjLHdCQUF3QixDQUFDO0FBQ3ZDLGNBQWMscUJBQXFCLENBQUM7QUFDcEMsY0FBYyw2Q0FBNkMsQ0FBQztBQUM1RCxjQUFjLG1CQUFtQixDQUFDO0FBQ2xDLGNBQWMseURBQXlELENBQUM7QUFDeEUsY0FBYyxxREFBcUQsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vYmFzZS1wbGF5Z3JvdW5kJztcbmV4cG9ydCAqIGZyb20gJy4vcGxheWdyb3VuZC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9wbGF5Z3JvdW5kLm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL3BsYXlncm91bmQtZGVtby9wbGF5Z3JvdW5kLWRlbW8uY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vcGxheWdyb3VuZC1mb3JtJztcbmV4cG9ydCAqIGZyb20gJy4vcGxheWdyb3VuZC1wcm9wZXJ0aWVzL3BsYXlncm91bmQtcHJvcGVydGllcy5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9wbGF5Z3JvdW5kLXByb3BlcnR5L3BsYXlncm91bmQtcHJvcGVydHkuY29tcG9uZW50JztcbiJdfQ==
8
+ export * from './playground-property-control';
9
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FwcC9jb21wb25lbnRzL3BsYXlncm91bmQvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxtQkFBbUIsQ0FBQztBQUNsQyxjQUFjLHdCQUF3QixDQUFDO0FBQ3ZDLGNBQWMscUJBQXFCLENBQUM7QUFDcEMsY0FBYyw2Q0FBNkMsQ0FBQztBQUM1RCxjQUFjLG1CQUFtQixDQUFDO0FBQ2xDLGNBQWMseURBQXlELENBQUM7QUFDeEUsY0FBYyxxREFBcUQsQ0FBQztBQUNwRSxjQUFjLCtCQUErQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9iYXNlLXBsYXlncm91bmQnO1xuZXhwb3J0ICogZnJvbSAnLi9wbGF5Z3JvdW5kLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL3BsYXlncm91bmQubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vcGxheWdyb3VuZC1kZW1vL3BsYXlncm91bmQtZGVtby5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9wbGF5Z3JvdW5kLWZvcm0nO1xuZXhwb3J0ICogZnJvbSAnLi9wbGF5Z3JvdW5kLXByb3BlcnRpZXMvcGxheWdyb3VuZC1wcm9wZXJ0aWVzLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL3BsYXlncm91bmQtcHJvcGVydHkvcGxheWdyb3VuZC1wcm9wZXJ0eS5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9wbGF5Z3JvdW5kLXByb3BlcnR5LWNvbnRyb2wnO1xuIl19
@@ -1,6 +1,8 @@
1
1
  import { BreakpointObserver, Breakpoints } from '@angular/cdk/layout';
2
- import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output } from '@angular/core';
2
+ import { ChangeDetectionStrategy, Component, EventEmitter, Injector, Input, isDevMode, Output, } from '@angular/core';
3
3
  import { FormGroup } from '@angular/forms';
4
+ import { getTokenForType, isPlaygroundProperty } from '@ng-doc/app/helpers';
5
+ import { extractValueOrThrow, isPresent, objectKeys } from '@ng-doc/core';
4
6
  import { pluck } from 'rxjs/operators';
5
7
  import * as i0 from "@angular/core";
6
8
  import * as i1 from "@angular/cdk/layout";
@@ -9,24 +11,91 @@ import * as i3 from "@angular/forms";
9
11
  import * as i4 from "@ng-doc/ui-kit";
10
12
  import * as i5 from "../playground-property/playground-property.component";
11
13
  export class NgDocPlaygroundPropertiesComponent {
12
- constructor(breakpointObserver) {
14
+ constructor(breakpointObserver, injector) {
13
15
  this.breakpointObserver = breakpointObserver;
16
+ this.injector = injector;
14
17
  this.recreateDemo = false;
15
18
  this.recreateDemoChange = new EventEmitter();
16
19
  this.resetForm = new EventEmitter();
17
20
  this.breakpoints = [Breakpoints.XSmall];
21
+ this.propertyControls = [];
22
+ this.contentTypeControl = this.getControlForType('boolean');
18
23
  this.observer = this.breakpointObserver.observe(this.breakpoints).pipe(pluck('matches'));
19
24
  }
25
+ ngOnChanges({ properties }) {
26
+ if (properties && this.properties) {
27
+ this.propertyControls = objectKeys(this.properties)
28
+ .map((key) => {
29
+ if (this.properties) {
30
+ const property = this.properties[key];
31
+ const typeControl = this.getTypeControl(property);
32
+ if (typeControl) {
33
+ return {
34
+ propertyName: String(key),
35
+ property,
36
+ typeControl,
37
+ };
38
+ }
39
+ }
40
+ return null;
41
+ })
42
+ .filter(isPresent)
43
+ .sort((a, b) => {
44
+ const aOrder = a.typeControl.options?.order;
45
+ const bOrder = b.typeControl.options?.order;
46
+ if (isPresent(aOrder) && isPresent(bOrder)) {
47
+ return aOrder - bOrder;
48
+ }
49
+ if (isPresent(aOrder)) {
50
+ return -1;
51
+ }
52
+ if (isPresent(bOrder)) {
53
+ return 1;
54
+ }
55
+ return a.property.name.localeCompare(b.property.name);
56
+ });
57
+ }
58
+ }
20
59
  getFormControl(controlType, key) {
21
60
  return this.form.get(controlType)?.get(key);
22
61
  }
62
+ getTypeControl(property) {
63
+ const type = property.type;
64
+ const typeControl = this.getControlForType(type)
65
+ ?? this.getControlForTypeAlias(isPlaygroundProperty(property) ? property.options : undefined);
66
+ if (!typeControl && isDevMode()) {
67
+ console.warn(`NgDocPlayground didn't find the control for the @Input "${property.name}", the type "${type}" was not recognized'`);
68
+ }
69
+ return typeControl;
70
+ }
71
+ getControlForType(type) {
72
+ const token = getTokenForType(type);
73
+ return token ? this.injector.get(token) : undefined;
74
+ }
75
+ getControlForTypeAlias(options) {
76
+ if (options && options.length) {
77
+ let optionsIsValid = true;
78
+ try {
79
+ // checking that all values are extractable
80
+ options.forEach((item) => extractValueOrThrow(item));
81
+ }
82
+ catch {
83
+ optionsIsValid = false;
84
+ }
85
+ if (optionsIsValid) {
86
+ const token = getTokenForType('NgDocTypeAlias');
87
+ return token ? this.injector.get(token) : undefined;
88
+ }
89
+ }
90
+ return undefined;
91
+ }
23
92
  }
24
- NgDocPlaygroundPropertiesComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: NgDocPlaygroundPropertiesComponent, deps: [{ token: i1.BreakpointObserver }], target: i0.ɵɵFactoryTarget.Component });
25
- NgDocPlaygroundPropertiesComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.4", type: NgDocPlaygroundPropertiesComponent, selector: "ng-doc-playground-properties", inputs: { form: "form", properties: "properties", dynamicContent: "dynamicContent", recreateDemo: "recreateDemo" }, outputs: { recreateDemoChange: "recreateDemoChange", resetForm: "resetForm" }, ngImport: i0, template: "<div class=\"ng-doc-playground-properties-wrapper\" [class.vertical]=\"observer | async\">\n\t<div class=\"ng-doc-playground-demos\">\n\t\t<ng-content></ng-content>\n\t</div>\n\t<div class=\"ng-doc-playground-properties\">\n\t\t<div class=\"ng-doc-playground-header\">\n\t\t\t<h4 ng-doc-text>Playground</h4>\n\t\t\t<button ng-doc-button color=\"red\" (click)=\"resetForm.emit()\">Reset</button>\n\t\t</div>\n\t\t<div class=\"ng-doc-playground-setting\">\n\t\t\t<ng-doc-checkbox [(ngModel)]=\"recreateDemo\" (ngModelChange)=\"recreateDemoChange.emit($event)\">\n\t\t\t\t<span\n\t\t\t\t\tng-doc-text\n\t\t\t\t\t[ngDocTooltip]=\"'Recreates demo everytime\\none of the input has changed'\"\n\t\t\t\t\t[positions]=\"['bottom-right', 'left-center']\"\n\t\t\t\t>\n\t\t\t\t\tRecreate\n\t\t\t\t\t<ng-doc-icon icon=\"info\" ngDocTextRight></ng-doc-icon>\n\t\t\t\t</span>\n\t\t\t</ng-doc-checkbox>\n\t\t</div>\n\t\t<div class=\"ng-doc-playground-divider\"></div>\n\t\t<ng-container *ngIf=\"(properties | keyvalue)?.length\">\n\t\t\t<h5 class=\"ng-doc-title\" ng-doc-text>Settings</h5>\n\t\t\t<ng-doc-playground-property\n\t\t\t\t*ngFor=\"let property of properties | keyvalue\"\n\t\t\t\t[name]=\"property.value.name\"\n\t\t\t\t[property]=\"property.value\"\n\t\t\t\t[control]=\"getFormControl('properties', property.key)\"\n\t\t\t>\n\t\t\t</ng-doc-playground-property>\n\t\t</ng-container>\n\n\t\t<ng-container *ngIf=\"(dynamicContent | keyvalue)?.length\">\n\t\t\t<h5 class=\"ng-doc-title\" ng-doc-text>Content</h5>\n\t\t\t<ng-doc-playground-property\n\t\t\t\t*ngFor=\"let content of dynamicContent | keyvalue\"\n\t\t\t\t[name]=\"content.value.label\"\n\t\t\t\t[property]=\"content.value\"\n\t\t\t\t[control]=\"getFormControl('content', content.key)\"\n\t\t\t>\n\t\t\t</ng-doc-playground-property>\n\t\t</ng-container>\n\t</div>\n</div>\n", styles: [":host .ng-doc-playground-properties-wrapper{position:relative;display:flex}:host .ng-doc-playground-properties-wrapper.vertical{flex-direction:column}:host .ng-doc-playground-properties-wrapper.vertical .ng-doc-playground-demos{margin-right:0;margin-bottom:calc(var(--ng-doc-base-gutter) * 2)}:host .ng-doc-playground-properties-wrapper.vertical .ng-doc-playground-properties{width:100%}:host .ng-doc-playground-properties-wrapper .ng-doc-playground-demos{display:flex;flex-direction:column;width:100%;overflow:hidden;margin-right:calc(var(--ng-doc-base-gutter) * 2)}:host .ng-doc-playground-properties-wrapper .ng-doc-playground-properties{flex-shrink:0;width:300px;padding:calc(var(--ng-doc-base-gutter) * 2) calc(var(--ng-doc-base-gutter) * 3);background-color:var(--ng-doc-base-1);border-radius:var(--ng-doc-base-gutter)}:host .ng-doc-playground-properties-wrapper .ng-doc-playground-properties ng-doc-playground-property:not(:last-child){margin-bottom:calc(var(--ng-doc-base-gutter) * 2)}:host .ng-doc-playground-properties-wrapper .ng-doc-playground-properties .ng-doc-playground-controls{display:flex;justify-content:flex-end}:host .ng-doc-playground-properties-wrapper .ng-doc-playground-properties .ng-doc-playground-header{display:flex;align-items:center;justify-content:space-between;height:40px;margin-bottom:calc(var(--ng-doc-base-gutter) * 2)}:host .ng-doc-playground-properties-wrapper .ng-doc-playground-properties .ng-doc-playground-header h4{margin:0}:host .ng-doc-playground-properties-wrapper .ng-doc-playground-properties .ng-doc-playground-setting{display:flex;flex-direction:column}:host .ng-doc-playground-properties-wrapper .ng-doc-title{margin-top:0;margin-bottom:calc(var(--ng-doc-base-gutter) + var(--ng-doc-base-gutter) / 2)}:host .ng-doc-playground-divider{margin:calc(var(--ng-doc-base-gutter) * 2) 0;height:1px;background-color:var(--ng-doc-base-2)}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgDocTooltipDirective, selector: "[ngDocTooltip]", inputs: ["ngDocTooltip", "delay", "displayOrigin", "pointerOrigin", "positions", "canOpen", "panelClass", "minHeight", "maxHeight", "height", "minWidth", "maxWidth", "width"], outputs: ["beforeOpen", "afterOpen", "beforeClose", "afterClose"], exportAs: ["ngDocTooltip"] }, { kind: "component", type: i4.NgDocIconComponent, selector: "ng-doc-icon", inputs: ["icon", "size"] }, { kind: "component", type: i4.NgDocTextComponent, selector: "[ng-doc-text]", inputs: ["size", "color", "align", "absoluteContent"] }, { kind: "directive", type: i4.NgDocTextRightDirective, selector: "[ngDocTextRight]" }, { kind: "component", type: i4.NgDocCheckboxComponent, selector: "ng-doc-checkbox", inputs: ["color"] }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i4.NgDocButtonComponent, selector: "button[ng-doc-button], a[ng-doc-button], button[ng-doc-button-flat], a[ng-doc-button-flat], button[ng-doc-button-text], a[ng-doc-button-text]", inputs: ["size", "color", "rounded"] }, { kind: "component", type: i5.NgDocPlaygroundPropertyComponent, selector: "ng-doc-playground-property", inputs: ["name", "property", "control"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }, { kind: "pipe", type: i2.KeyValuePipe, name: "keyvalue" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
93
+ NgDocPlaygroundPropertiesComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: NgDocPlaygroundPropertiesComponent, deps: [{ token: i1.BreakpointObserver }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component });
94
+ NgDocPlaygroundPropertiesComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.4", type: NgDocPlaygroundPropertiesComponent, selector: "ng-doc-playground-properties", inputs: { form: "form", properties: "properties", dynamicContent: "dynamicContent", recreateDemo: "recreateDemo" }, outputs: { recreateDemoChange: "recreateDemoChange", resetForm: "resetForm" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"ng-doc-playground-properties-wrapper\" [class.vertical]=\"observer | async\">\n\t<div class=\"ng-doc-playground-demos\">\n\t\t<ng-content></ng-content>\n\t</div>\n\t<div class=\"ng-doc-playground-properties\">\n\t\t<div class=\"ng-doc-playground-header\">\n\t\t\t<h4 ng-doc-text>Playground</h4>\n\t\t\t<button ng-doc-button color=\"red\" (click)=\"resetForm.emit()\">Reset</button>\n\t\t</div>\n\t\t<div class=\"ng-doc-playground-setting\">\n\t\t\t<ng-doc-checkbox [(ngModel)]=\"recreateDemo\" (ngModelChange)=\"recreateDemoChange.emit($event)\">\n\t\t\t\t<span\n\t\t\t\t\tng-doc-text\n\t\t\t\t\t[ngDocTooltip]=\"'Recreates demo everytime\\none of the input has changed'\"\n\t\t\t\t\t[positions]=\"['bottom-right', 'left-center']\"\n\t\t\t\t>\n\t\t\t\t\tRecreate\n\t\t\t\t\t<ng-doc-icon icon=\"info\" ngDocTextRight></ng-doc-icon>\n\t\t\t\t</span>\n\t\t\t</ng-doc-checkbox>\n\t\t</div>\n\t\t<div class=\"ng-doc-playground-divider\"></div>\n\t\t<ng-container *ngIf=\"propertyControls.length\">\n\t\t\t<h5 class=\"ng-doc-title\" ng-doc-text>Settings</h5>\n\t\t\t<ng-doc-playground-property\n\t\t\t\t*ngFor=\"let propertyControl of propertyControls\"\n\t\t\t\t[name]=\"propertyControl.property.name\"\n\t\t\t\t[property]=\"propertyControl.property\"\n\t\t\t\t[typeControl]=\"propertyControl.typeControl\"\n\t\t\t\t[control]=\"getFormControl | ngDocBind: this | ngDocRun: 'properties': propertyControl.propertyName\"\n\t\t\t>\n\t\t\t</ng-doc-playground-property>\n\t\t</ng-container>\n\n\t\t<ng-container *ngIf=\"(dynamicContent | keyvalue)?.length\">\n\t\t\t<h5 class=\"ng-doc-title\" ng-doc-text>Content</h5>\n\t\t\t<ng-doc-playground-property\n\t\t\t\t*ngFor=\"let content of dynamicContent | keyvalue\"\n\t\t\t\t[name]=\"content.value.label\"\n\t\t\t\t[property]=\"content.value\"\n\t\t\t\t[typeControl]=\"contentTypeControl\"\n\t\t\t\t[control]=\"getFormControl | ngDocBind: this | ngDocRun: 'content': content.key\"\n\t\t\t>\n\t\t\t</ng-doc-playground-property>\n\t\t</ng-container>\n\t</div>\n</div>\n", styles: [":host .ng-doc-playground-properties-wrapper{position:relative;display:flex}:host .ng-doc-playground-properties-wrapper.vertical{flex-direction:column}:host .ng-doc-playground-properties-wrapper.vertical .ng-doc-playground-demos{margin-right:0;margin-bottom:calc(var(--ng-doc-base-gutter) * 2)}:host .ng-doc-playground-properties-wrapper.vertical .ng-doc-playground-properties{width:100%}:host .ng-doc-playground-properties-wrapper .ng-doc-playground-demos{display:flex;flex-direction:column;width:100%;overflow:hidden;margin-right:calc(var(--ng-doc-base-gutter) * 2)}:host .ng-doc-playground-properties-wrapper .ng-doc-playground-properties{flex-shrink:0;width:300px;padding:calc(var(--ng-doc-base-gutter) * 2) calc(var(--ng-doc-base-gutter) * 3);background-color:var(--ng-doc-base-1);border-radius:var(--ng-doc-base-gutter)}:host .ng-doc-playground-properties-wrapper .ng-doc-playground-properties ng-doc-playground-property:not(:last-child){margin-bottom:calc(var(--ng-doc-base-gutter) * 2)}:host .ng-doc-playground-properties-wrapper .ng-doc-playground-properties .ng-doc-playground-controls{display:flex;justify-content:flex-end}:host .ng-doc-playground-properties-wrapper .ng-doc-playground-properties .ng-doc-playground-header{display:flex;align-items:center;justify-content:space-between;height:40px;margin-bottom:calc(var(--ng-doc-base-gutter) * 2)}:host .ng-doc-playground-properties-wrapper .ng-doc-playground-properties .ng-doc-playground-header h4{margin:0}:host .ng-doc-playground-properties-wrapper .ng-doc-playground-properties .ng-doc-playground-setting{display:flex;flex-direction:column}:host .ng-doc-playground-properties-wrapper .ng-doc-title{margin-top:0;margin-bottom:calc(var(--ng-doc-base-gutter) + var(--ng-doc-base-gutter) / 2)}:host .ng-doc-playground-divider{margin:calc(var(--ng-doc-base-gutter) * 2) 0;height:1px;background-color:var(--ng-doc-base-2)}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgDocTooltipDirective, selector: "[ngDocTooltip]", inputs: ["ngDocTooltip", "delay", "displayOrigin", "pointerOrigin", "positions", "canOpen", "panelClass", "minHeight", "maxHeight", "height", "minWidth", "maxWidth", "width"], outputs: ["beforeOpen", "afterOpen", "beforeClose", "afterClose"], exportAs: ["ngDocTooltip"] }, { kind: "component", type: i4.NgDocIconComponent, selector: "ng-doc-icon", inputs: ["icon", "size"] }, { kind: "component", type: i4.NgDocTextComponent, selector: "[ng-doc-text]", inputs: ["size", "color", "align", "absoluteContent"] }, { kind: "directive", type: i4.NgDocTextRightDirective, selector: "[ngDocTextRight]" }, { kind: "component", type: i4.NgDocCheckboxComponent, selector: "ng-doc-checkbox", inputs: ["color"] }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i4.NgDocButtonComponent, selector: "button[ng-doc-button], a[ng-doc-button], button[ng-doc-button-flat], a[ng-doc-button-flat], button[ng-doc-button-text], a[ng-doc-button-text]", inputs: ["size", "color", "rounded"] }, { kind: "component", type: i5.NgDocPlaygroundPropertyComponent, selector: "ng-doc-playground-property", inputs: ["name", "property", "typeControl", "control"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }, { kind: "pipe", type: i2.KeyValuePipe, name: "keyvalue" }, { kind: "pipe", type: i4.NgDocBindPipe, name: "ngDocBind" }, { kind: "pipe", type: i4.NgDocRunPipe, name: "ngDocRun" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
26
95
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: NgDocPlaygroundPropertiesComponent, decorators: [{
27
96
  type: Component,
28
- args: [{ selector: 'ng-doc-playground-properties', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"ng-doc-playground-properties-wrapper\" [class.vertical]=\"observer | async\">\n\t<div class=\"ng-doc-playground-demos\">\n\t\t<ng-content></ng-content>\n\t</div>\n\t<div class=\"ng-doc-playground-properties\">\n\t\t<div class=\"ng-doc-playground-header\">\n\t\t\t<h4 ng-doc-text>Playground</h4>\n\t\t\t<button ng-doc-button color=\"red\" (click)=\"resetForm.emit()\">Reset</button>\n\t\t</div>\n\t\t<div class=\"ng-doc-playground-setting\">\n\t\t\t<ng-doc-checkbox [(ngModel)]=\"recreateDemo\" (ngModelChange)=\"recreateDemoChange.emit($event)\">\n\t\t\t\t<span\n\t\t\t\t\tng-doc-text\n\t\t\t\t\t[ngDocTooltip]=\"'Recreates demo everytime\\none of the input has changed'\"\n\t\t\t\t\t[positions]=\"['bottom-right', 'left-center']\"\n\t\t\t\t>\n\t\t\t\t\tRecreate\n\t\t\t\t\t<ng-doc-icon icon=\"info\" ngDocTextRight></ng-doc-icon>\n\t\t\t\t</span>\n\t\t\t</ng-doc-checkbox>\n\t\t</div>\n\t\t<div class=\"ng-doc-playground-divider\"></div>\n\t\t<ng-container *ngIf=\"(properties | keyvalue)?.length\">\n\t\t\t<h5 class=\"ng-doc-title\" ng-doc-text>Settings</h5>\n\t\t\t<ng-doc-playground-property\n\t\t\t\t*ngFor=\"let property of properties | keyvalue\"\n\t\t\t\t[name]=\"property.value.name\"\n\t\t\t\t[property]=\"property.value\"\n\t\t\t\t[control]=\"getFormControl('properties', property.key)\"\n\t\t\t>\n\t\t\t</ng-doc-playground-property>\n\t\t</ng-container>\n\n\t\t<ng-container *ngIf=\"(dynamicContent | keyvalue)?.length\">\n\t\t\t<h5 class=\"ng-doc-title\" ng-doc-text>Content</h5>\n\t\t\t<ng-doc-playground-property\n\t\t\t\t*ngFor=\"let content of dynamicContent | keyvalue\"\n\t\t\t\t[name]=\"content.value.label\"\n\t\t\t\t[property]=\"content.value\"\n\t\t\t\t[control]=\"getFormControl('content', content.key)\"\n\t\t\t>\n\t\t\t</ng-doc-playground-property>\n\t\t</ng-container>\n\t</div>\n</div>\n", styles: [":host .ng-doc-playground-properties-wrapper{position:relative;display:flex}:host .ng-doc-playground-properties-wrapper.vertical{flex-direction:column}:host .ng-doc-playground-properties-wrapper.vertical .ng-doc-playground-demos{margin-right:0;margin-bottom:calc(var(--ng-doc-base-gutter) * 2)}:host .ng-doc-playground-properties-wrapper.vertical .ng-doc-playground-properties{width:100%}:host .ng-doc-playground-properties-wrapper .ng-doc-playground-demos{display:flex;flex-direction:column;width:100%;overflow:hidden;margin-right:calc(var(--ng-doc-base-gutter) * 2)}:host .ng-doc-playground-properties-wrapper .ng-doc-playground-properties{flex-shrink:0;width:300px;padding:calc(var(--ng-doc-base-gutter) * 2) calc(var(--ng-doc-base-gutter) * 3);background-color:var(--ng-doc-base-1);border-radius:var(--ng-doc-base-gutter)}:host .ng-doc-playground-properties-wrapper .ng-doc-playground-properties ng-doc-playground-property:not(:last-child){margin-bottom:calc(var(--ng-doc-base-gutter) * 2)}:host .ng-doc-playground-properties-wrapper .ng-doc-playground-properties .ng-doc-playground-controls{display:flex;justify-content:flex-end}:host .ng-doc-playground-properties-wrapper .ng-doc-playground-properties .ng-doc-playground-header{display:flex;align-items:center;justify-content:space-between;height:40px;margin-bottom:calc(var(--ng-doc-base-gutter) * 2)}:host .ng-doc-playground-properties-wrapper .ng-doc-playground-properties .ng-doc-playground-header h4{margin:0}:host .ng-doc-playground-properties-wrapper .ng-doc-playground-properties .ng-doc-playground-setting{display:flex;flex-direction:column}:host .ng-doc-playground-properties-wrapper .ng-doc-title{margin-top:0;margin-bottom:calc(var(--ng-doc-base-gutter) + var(--ng-doc-base-gutter) / 2)}:host .ng-doc-playground-divider{margin:calc(var(--ng-doc-base-gutter) * 2) 0;height:1px;background-color:var(--ng-doc-base-2)}\n"] }]
29
- }], ctorParameters: function () { return [{ type: i1.BreakpointObserver }]; }, propDecorators: { form: [{
97
+ args: [{ selector: 'ng-doc-playground-properties', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"ng-doc-playground-properties-wrapper\" [class.vertical]=\"observer | async\">\n\t<div class=\"ng-doc-playground-demos\">\n\t\t<ng-content></ng-content>\n\t</div>\n\t<div class=\"ng-doc-playground-properties\">\n\t\t<div class=\"ng-doc-playground-header\">\n\t\t\t<h4 ng-doc-text>Playground</h4>\n\t\t\t<button ng-doc-button color=\"red\" (click)=\"resetForm.emit()\">Reset</button>\n\t\t</div>\n\t\t<div class=\"ng-doc-playground-setting\">\n\t\t\t<ng-doc-checkbox [(ngModel)]=\"recreateDemo\" (ngModelChange)=\"recreateDemoChange.emit($event)\">\n\t\t\t\t<span\n\t\t\t\t\tng-doc-text\n\t\t\t\t\t[ngDocTooltip]=\"'Recreates demo everytime\\none of the input has changed'\"\n\t\t\t\t\t[positions]=\"['bottom-right', 'left-center']\"\n\t\t\t\t>\n\t\t\t\t\tRecreate\n\t\t\t\t\t<ng-doc-icon icon=\"info\" ngDocTextRight></ng-doc-icon>\n\t\t\t\t</span>\n\t\t\t</ng-doc-checkbox>\n\t\t</div>\n\t\t<div class=\"ng-doc-playground-divider\"></div>\n\t\t<ng-container *ngIf=\"propertyControls.length\">\n\t\t\t<h5 class=\"ng-doc-title\" ng-doc-text>Settings</h5>\n\t\t\t<ng-doc-playground-property\n\t\t\t\t*ngFor=\"let propertyControl of propertyControls\"\n\t\t\t\t[name]=\"propertyControl.property.name\"\n\t\t\t\t[property]=\"propertyControl.property\"\n\t\t\t\t[typeControl]=\"propertyControl.typeControl\"\n\t\t\t\t[control]=\"getFormControl | ngDocBind: this | ngDocRun: 'properties': propertyControl.propertyName\"\n\t\t\t>\n\t\t\t</ng-doc-playground-property>\n\t\t</ng-container>\n\n\t\t<ng-container *ngIf=\"(dynamicContent | keyvalue)?.length\">\n\t\t\t<h5 class=\"ng-doc-title\" ng-doc-text>Content</h5>\n\t\t\t<ng-doc-playground-property\n\t\t\t\t*ngFor=\"let content of dynamicContent | keyvalue\"\n\t\t\t\t[name]=\"content.value.label\"\n\t\t\t\t[property]=\"content.value\"\n\t\t\t\t[typeControl]=\"contentTypeControl\"\n\t\t\t\t[control]=\"getFormControl | ngDocBind: this | ngDocRun: 'content': content.key\"\n\t\t\t>\n\t\t\t</ng-doc-playground-property>\n\t\t</ng-container>\n\t</div>\n</div>\n", styles: [":host .ng-doc-playground-properties-wrapper{position:relative;display:flex}:host .ng-doc-playground-properties-wrapper.vertical{flex-direction:column}:host .ng-doc-playground-properties-wrapper.vertical .ng-doc-playground-demos{margin-right:0;margin-bottom:calc(var(--ng-doc-base-gutter) * 2)}:host .ng-doc-playground-properties-wrapper.vertical .ng-doc-playground-properties{width:100%}:host .ng-doc-playground-properties-wrapper .ng-doc-playground-demos{display:flex;flex-direction:column;width:100%;overflow:hidden;margin-right:calc(var(--ng-doc-base-gutter) * 2)}:host .ng-doc-playground-properties-wrapper .ng-doc-playground-properties{flex-shrink:0;width:300px;padding:calc(var(--ng-doc-base-gutter) * 2) calc(var(--ng-doc-base-gutter) * 3);background-color:var(--ng-doc-base-1);border-radius:var(--ng-doc-base-gutter)}:host .ng-doc-playground-properties-wrapper .ng-doc-playground-properties ng-doc-playground-property:not(:last-child){margin-bottom:calc(var(--ng-doc-base-gutter) * 2)}:host .ng-doc-playground-properties-wrapper .ng-doc-playground-properties .ng-doc-playground-controls{display:flex;justify-content:flex-end}:host .ng-doc-playground-properties-wrapper .ng-doc-playground-properties .ng-doc-playground-header{display:flex;align-items:center;justify-content:space-between;height:40px;margin-bottom:calc(var(--ng-doc-base-gutter) * 2)}:host .ng-doc-playground-properties-wrapper .ng-doc-playground-properties .ng-doc-playground-header h4{margin:0}:host .ng-doc-playground-properties-wrapper .ng-doc-playground-properties .ng-doc-playground-setting{display:flex;flex-direction:column}:host .ng-doc-playground-properties-wrapper .ng-doc-title{margin-top:0;margin-bottom:calc(var(--ng-doc-base-gutter) + var(--ng-doc-base-gutter) / 2)}:host .ng-doc-playground-divider{margin:calc(var(--ng-doc-base-gutter) * 2) 0;height:1px;background-color:var(--ng-doc-base-2)}\n"] }]
98
+ }], ctorParameters: function () { return [{ type: i1.BreakpointObserver }, { type: i0.Injector }]; }, propDecorators: { form: [{
30
99
  type: Input
31
100
  }], properties: [{
32
101
  type: Input
@@ -39,4 +108,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.4", ngImpor
39
108
  }], resetForm: [{
40
109
  type: Output
41
110
  }] } });
42
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGxheWdyb3VuZC1wcm9wZXJ0aWVzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYXBwL2NvbXBvbmVudHMvcGxheWdyb3VuZC9wbGF5Z3JvdW5kLXByb3BlcnRpZXMvcGxheWdyb3VuZC1wcm9wZXJ0aWVzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYXBwL2NvbXBvbmVudHMvcGxheWdyb3VuZC9wbGF5Z3JvdW5kLXByb3BlcnRpZXMvcGxheWdyb3VuZC1wcm9wZXJ0aWVzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxrQkFBa0IsRUFBRSxXQUFXLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUNwRSxPQUFPLEVBQUMsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQzlGLE9BQU8sRUFBYyxTQUFTLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUd0RCxPQUFPLEVBQUMsS0FBSyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7Ozs7Ozs7QUFVckMsTUFBTSxPQUFPLGtDQUFrQztJQXlCOUMsWUFBK0Isa0JBQXNDO1FBQXRDLHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBb0I7UUFYckUsaUJBQVksR0FBWSxLQUFLLENBQUM7UUFHOUIsdUJBQWtCLEdBQTBCLElBQUksWUFBWSxFQUFXLENBQUM7UUFHeEUsY0FBUyxHQUF1QixJQUFJLFlBQVksRUFBUSxDQUFDO1FBRWhELGdCQUFXLEdBQWEsQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLENBQUM7UUFJckQsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsa0JBQWtCLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUM7SUFDMUYsQ0FBQztJQUVELGNBQWMsQ0FBQyxXQUE0QyxFQUFFLEdBQVc7UUFDdkUsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxXQUFXLENBQUMsRUFBRSxHQUFHLENBQUMsR0FBRyxDQUFnQixDQUFDO0lBQzVELENBQUM7OytIQS9CVyxrQ0FBa0M7bUhBQWxDLGtDQUFrQyx1UUNmL0Msc3lEQTZDQTsyRkQ5QmEsa0NBQWtDO2tCQU45QyxTQUFTOytCQUNDLDhCQUE4QixtQkFHdkIsdUJBQXVCLENBQUMsTUFBTTt5R0FPL0MsSUFBSTtzQkFESCxLQUFLO2dCQUlOLFVBQVU7c0JBRFQsS0FBSztnQkFJTixjQUFjO3NCQURiLEtBQUs7Z0JBSU4sWUFBWTtzQkFEWCxLQUFLO2dCQUlOLGtCQUFrQjtzQkFEakIsTUFBTTtnQkFJUCxTQUFTO3NCQURSLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0JyZWFrcG9pbnRPYnNlcnZlciwgQnJlYWtwb2ludHN9IGZyb20gJ0Bhbmd1bGFyL2Nkay9sYXlvdXQnO1xuaW1wb3J0IHtDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPdXRwdXR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtGb3JtQ29udHJvbCwgRm9ybUdyb3VwfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge05nRG9jUGxheWdyb3VuZENvbnRlbnQsIE5nRG9jUGxheWdyb3VuZFByb3BlcnRpZXN9IGZyb20gJ0BuZy1kb2MvY29yZS9pbnRlcmZhY2VzJztcbmltcG9ydCB7T2JzZXJ2YWJsZX0gZnJvbSAncnhqcyc7XG5pbXBvcnQge3BsdWNrfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7TmdEb2NQbGF5Z3JvdW5kRm9ybX0gZnJvbSAnLi4vcGxheWdyb3VuZC1mb3JtJztcblxuQENvbXBvbmVudCh7XG5cdHNlbGVjdG9yOiAnbmctZG9jLXBsYXlncm91bmQtcHJvcGVydGllcycsXG5cdHRlbXBsYXRlVXJsOiAnLi9wbGF5Z3JvdW5kLXByb3BlcnRpZXMuY29tcG9uZW50Lmh0bWwnLFxuXHRzdHlsZVVybHM6IFsnLi9wbGF5Z3JvdW5kLXByb3BlcnRpZXMuY29tcG9uZW50LnNjc3MnXSxcblx0Y2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIE5nRG9jUGxheWdyb3VuZFByb3BlcnRpZXNDb21wb25lbnQ8XG5cdFAgZXh0ZW5kcyBOZ0RvY1BsYXlncm91bmRQcm9wZXJ0aWVzLFxuXHRDIGV4dGVuZHMgUmVjb3JkPHN0cmluZywgTmdEb2NQbGF5Z3JvdW5kQ29udGVudD4sXG4+IHtcblx0QElucHV0KClcblx0Zm9ybSE6IEZvcm1Hcm91cDxOZ0RvY1BsYXlncm91bmRGb3JtPjtcblxuXHRASW5wdXQoKVxuXHRwcm9wZXJ0aWVzPzogUDtcblxuXHRASW5wdXQoKVxuXHRkeW5hbWljQ29udGVudD86IEM7XG5cblx0QElucHV0KClcblx0cmVjcmVhdGVEZW1vOiBib29sZWFuID0gZmFsc2U7XG5cblx0QE91dHB1dCgpXG5cdHJlY3JlYXRlRGVtb0NoYW5nZTogRXZlbnRFbWl0dGVyPGJvb2xlYW4+ID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuXG5cdEBPdXRwdXQoKVxuXHRyZXNldEZvcm06IEV2ZW50RW1pdHRlcjx2b2lkPiA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblxuXHRyZWFkb25seSBicmVha3BvaW50czogc3RyaW5nW10gPSBbQnJlYWtwb2ludHMuWFNtYWxsXTtcblx0cmVhZG9ubHkgb2JzZXJ2ZXI6IE9ic2VydmFibGU8Ym9vbGVhbj47XG5cblx0Y29uc3RydWN0b3IocHJvdGVjdGVkIHJlYWRvbmx5IGJyZWFrcG9pbnRPYnNlcnZlcjogQnJlYWtwb2ludE9ic2VydmVyKSB7XG5cdFx0dGhpcy5vYnNlcnZlciA9IHRoaXMuYnJlYWtwb2ludE9ic2VydmVyLm9ic2VydmUodGhpcy5icmVha3BvaW50cykucGlwZShwbHVjaygnbWF0Y2hlcycpKTtcblx0fVxuXG5cdGdldEZvcm1Db250cm9sKGNvbnRyb2xUeXBlOiBrZXlvZiB0eXBlb2YgdGhpcy5mb3JtLmNvbnRyb2xzLCBrZXk6IHN0cmluZyk6IEZvcm1Db250cm9sIHtcblx0XHRyZXR1cm4gdGhpcy5mb3JtLmdldChjb250cm9sVHlwZSk/LmdldChrZXkpIGFzIEZvcm1Db250cm9sO1xuXHR9XG59XG4iLCI8ZGl2IGNsYXNzPVwibmctZG9jLXBsYXlncm91bmQtcHJvcGVydGllcy13cmFwcGVyXCIgW2NsYXNzLnZlcnRpY2FsXT1cIm9ic2VydmVyIHwgYXN5bmNcIj5cblx0PGRpdiBjbGFzcz1cIm5nLWRvYy1wbGF5Z3JvdW5kLWRlbW9zXCI+XG5cdFx0PG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuXHQ8L2Rpdj5cblx0PGRpdiBjbGFzcz1cIm5nLWRvYy1wbGF5Z3JvdW5kLXByb3BlcnRpZXNcIj5cblx0XHQ8ZGl2IGNsYXNzPVwibmctZG9jLXBsYXlncm91bmQtaGVhZGVyXCI+XG5cdFx0XHQ8aDQgbmctZG9jLXRleHQ+UGxheWdyb3VuZDwvaDQ+XG5cdFx0XHQ8YnV0dG9uIG5nLWRvYy1idXR0b24gY29sb3I9XCJyZWRcIiAoY2xpY2spPVwicmVzZXRGb3JtLmVtaXQoKVwiPlJlc2V0PC9idXR0b24+XG5cdFx0PC9kaXY+XG5cdFx0PGRpdiBjbGFzcz1cIm5nLWRvYy1wbGF5Z3JvdW5kLXNldHRpbmdcIj5cblx0XHRcdDxuZy1kb2MtY2hlY2tib3ggWyhuZ01vZGVsKV09XCJyZWNyZWF0ZURlbW9cIiAobmdNb2RlbENoYW5nZSk9XCJyZWNyZWF0ZURlbW9DaGFuZ2UuZW1pdCgkZXZlbnQpXCI+XG5cdFx0XHRcdDxzcGFuXG5cdFx0XHRcdFx0bmctZG9jLXRleHRcblx0XHRcdFx0XHRbbmdEb2NUb29sdGlwXT1cIidSZWNyZWF0ZXMgZGVtbyBldmVyeXRpbWVcXG5vbmUgb2YgdGhlIGlucHV0IGhhcyBjaGFuZ2VkJ1wiXG5cdFx0XHRcdFx0W3Bvc2l0aW9uc109XCJbJ2JvdHRvbS1yaWdodCcsICdsZWZ0LWNlbnRlciddXCJcblx0XHRcdFx0PlxuXHRcdFx0XHRcdFJlY3JlYXRlXG5cdFx0XHRcdFx0PG5nLWRvYy1pY29uIGljb249XCJpbmZvXCIgbmdEb2NUZXh0UmlnaHQ+PC9uZy1kb2MtaWNvbj5cblx0XHRcdFx0PC9zcGFuPlxuXHRcdFx0PC9uZy1kb2MtY2hlY2tib3g+XG5cdFx0PC9kaXY+XG5cdFx0PGRpdiBjbGFzcz1cIm5nLWRvYy1wbGF5Z3JvdW5kLWRpdmlkZXJcIj48L2Rpdj5cblx0XHQ8bmctY29udGFpbmVyICpuZ0lmPVwiKHByb3BlcnRpZXMgfCBrZXl2YWx1ZSk/Lmxlbmd0aFwiPlxuXHRcdFx0PGg1IGNsYXNzPVwibmctZG9jLXRpdGxlXCIgbmctZG9jLXRleHQ+U2V0dGluZ3M8L2g1PlxuXHRcdFx0PG5nLWRvYy1wbGF5Z3JvdW5kLXByb3BlcnR5XG5cdFx0XHRcdCpuZ0Zvcj1cImxldCBwcm9wZXJ0eSBvZiBwcm9wZXJ0aWVzIHwga2V5dmFsdWVcIlxuXHRcdFx0XHRbbmFtZV09XCJwcm9wZXJ0eS52YWx1ZS5uYW1lXCJcblx0XHRcdFx0W3Byb3BlcnR5XT1cInByb3BlcnR5LnZhbHVlXCJcblx0XHRcdFx0W2NvbnRyb2xdPVwiZ2V0Rm9ybUNvbnRyb2woJ3Byb3BlcnRpZXMnLCBwcm9wZXJ0eS5rZXkpXCJcblx0XHRcdD5cblx0XHRcdDwvbmctZG9jLXBsYXlncm91bmQtcHJvcGVydHk+XG5cdFx0PC9uZy1jb250YWluZXI+XG5cblx0XHQ8bmctY29udGFpbmVyICpuZ0lmPVwiKGR5bmFtaWNDb250ZW50IHwga2V5dmFsdWUpPy5sZW5ndGhcIj5cblx0XHRcdDxoNSBjbGFzcz1cIm5nLWRvYy10aXRsZVwiIG5nLWRvYy10ZXh0PkNvbnRlbnQ8L2g1PlxuXHRcdFx0PG5nLWRvYy1wbGF5Z3JvdW5kLXByb3BlcnR5XG5cdFx0XHRcdCpuZ0Zvcj1cImxldCBjb250ZW50IG9mIGR5bmFtaWNDb250ZW50IHwga2V5dmFsdWVcIlxuXHRcdFx0XHRbbmFtZV09XCJjb250ZW50LnZhbHVlLmxhYmVsXCJcblx0XHRcdFx0W3Byb3BlcnR5XT1cImNvbnRlbnQudmFsdWVcIlxuXHRcdFx0XHRbY29udHJvbF09XCJnZXRGb3JtQ29udHJvbCgnY29udGVudCcsIGNvbnRlbnQua2V5KVwiXG5cdFx0XHQ+XG5cdFx0XHQ8L25nLWRvYy1wbGF5Z3JvdW5kLXByb3BlcnR5PlxuXHRcdDwvbmctY29udGFpbmVyPlxuXHQ8L2Rpdj5cbjwvZGl2PlxuIl19
111
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGxheWdyb3VuZC1wcm9wZXJ0aWVzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYXBwL2NvbXBvbmVudHMvcGxheWdyb3VuZC9wbGF5Z3JvdW5kLXByb3BlcnRpZXMvcGxheWdyb3VuZC1wcm9wZXJ0aWVzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYXBwL2NvbXBvbmVudHMvcGxheWdyb3VuZC9wbGF5Z3JvdW5kLXByb3BlcnRpZXMvcGxheWdyb3VuZC1wcm9wZXJ0aWVzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxrQkFBa0IsRUFBRSxXQUFXLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUNwRSxPQUFPLEVBQ04sdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxZQUFZLEVBRVosUUFBUSxFQUNSLEtBQUssRUFBRSxTQUFTLEVBRWhCLE1BQU0sR0FFTixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQWMsU0FBUyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDdEQsT0FBTyxFQUFDLGVBQWUsRUFBRSxvQkFBb0IsRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBRTFFLE9BQU8sRUFBQyxtQkFBbUIsRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFDLE1BQU0sY0FBYyxDQUFDO0FBR3hFLE9BQU8sRUFBQyxLQUFLLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7OztBQVdyQyxNQUFNLE9BQU8sa0NBQWtDO0lBNkI5QyxZQUErQixrQkFBc0MsRUFBVSxRQUFrQjtRQUFsRSx1QkFBa0IsR0FBbEIsa0JBQWtCLENBQW9CO1FBQVUsYUFBUSxHQUFSLFFBQVEsQ0FBVTtRQWRqRyxpQkFBWSxHQUFZLEtBQUssQ0FBQztRQUc5Qix1QkFBa0IsR0FBMEIsSUFBSSxZQUFZLEVBQVcsQ0FBQztRQUd4RSxjQUFTLEdBQXVCLElBQUks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b250ZW50IjpbImltcG9ydCB7QnJlYWtwb2ludE9ic2VydmVyLCBCcmVha3BvaW50c30gZnJvbSAnQGFuZ3VsYXIvY2RrL2xheW91dCc7XG5pbXBvcnQge1xuXHRDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcblx0Q29tcG9uZW50LFxuXHRFdmVudEVtaXR0ZXIsXG5cdEluamVjdGlvblRva2VuLFxuXHRJbmplY3Rvcixcblx0SW5wdXQsIGlzRGV2TW9kZSxcblx0T25DaGFuZ2VzLFxuXHRPdXRwdXQsXG5cdFNpbXBsZUNoYW5nZXMsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtGb3JtQ29udHJvbCwgRm9ybUdyb3VwfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge2dldFRva2VuRm9yVHlwZSwgaXNQbGF5Z3JvdW5kUHJvcGVydHl9IGZyb20gJ0BuZy1kb2MvYXBwL2hlbHBlcnMnO1xuaW1wb3J0IHtOZ0RvY1Byb3ZpZGVkVHlwZUNvbnRyb2x9IGZyb20gJ0BuZy1kb2MvYXBwL2ludGVyZmFjZXMnO1xuaW1wb3J0IHtleHRyYWN0VmFsdWVPclRocm93LCBpc1ByZXNlbnQsIG9iamVjdEtleXN9IGZyb20gJ0BuZy1kb2MvY29yZSc7XG5pbXBvcnQge05nRG9jUGxheWdyb3VuZENvbnRlbnQsIE5nRG9jUGxheWdyb3VuZFByb3BlcnRpZXMsIE5nRG9jUGxheWdyb3VuZFByb3BlcnR5fSBmcm9tICdAbmctZG9jL2NvcmUvaW50ZXJmYWNlcyc7XG5pbXBvcnQge09ic2VydmFibGV9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtwbHVja30gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQge05nRG9jUGxheWdyb3VuZEZvcm19IGZyb20gJy4uL3BsYXlncm91bmQtZm9ybSc7XG5pbXBvcnQge05nRG9jUGxheWdyb3VuZFByb3BlcnR5Q29udHJvbH0gZnJvbSAnLi4vcGxheWdyb3VuZC1wcm9wZXJ0eS1jb250cm9sJztcblxuQENvbXBvbmVudCh7XG5cdHNlbGVjdG9yOiAnbmctZG9jLXBsYXlncm91bmQtcHJvcGVydGllcycsXG5cdHRlbXBsYXRlVXJsOiAnLi9wbGF5Z3JvdW5kLXByb3BlcnRpZXMuY29tcG9uZW50Lmh0bWwnLFxuXHRzdHlsZVVybHM6IFsnLi9wbGF5Z3JvdW5kLXByb3BlcnRpZXMuY29tcG9uZW50LnNjc3MnXSxcblx0Y2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIE5nRG9jUGxheWdyb3VuZFByb3BlcnRpZXNDb21wb25lbnQ8XG5cdFAgZXh0ZW5kcyBOZ0RvY1BsYXlncm91bmRQcm9wZXJ0aWVzLFxuXHRDIGV4dGVuZHMgUmVjb3JkPHN0cmluZywgTmdEb2NQbGF5Z3JvdW5kQ29udGVudD4sXG4+IGltcGxlbWVudHMgT25DaGFuZ2VzXG57XG5cdEBJbnB1dCgpXG5cdGZvcm0hOiBGb3JtR3JvdXA8TmdEb2NQbGF5Z3JvdW5kRm9ybT47XG5cblx0QElucHV0KClcblx0cHJvcGVydGllcz86IFA7XG5cblx0QElucHV0KClcblx0ZHluYW1pY0NvbnRlbnQ/OiBDO1xuXG5cdEBJbnB1dCgpXG5cdHJlY3JlYXRlRGVtbzogYm9vbGVhbiA9IGZhbHNlO1xuXG5cdEBPdXRwdXQoKVxuXHRyZWNyZWF0ZURlbW9DaGFuZ2U6IEV2ZW50RW1pdHRlcjxib29sZWFuPiA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcblxuXHRAT3V0cHV0KClcblx0cmVzZXRGb3JtOiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cblx0cmVhZG9ubHkgYnJlYWtwb2ludHM6IHN0cmluZ1tdID0gW0JyZWFrcG9pbnRzLlhTbWFsbF07XG5cdHJlYWRvbmx5IG9ic2VydmVyOiBPYnNlcnZhYmxlPGJvb2xlYW4+O1xuXG5cdHByb3RlY3RlZCBwcm9wZXJ0eUNvbnRyb2xzOiBOZ0RvY1BsYXlncm91bmRQcm9wZXJ0eUNvbnRyb2xbXSA9IFtdO1xuXHRwcm90ZWN0ZWQgY29udGVudFR5cGVDb250cm9sPzogTmdEb2NQcm92aWRlZFR5cGVDb250cm9sID0gdGhpcy5nZXRDb250cm9sRm9yVHlwZSgnYm9vbGVhbicpO1xuXG5cdGNvbnN0cnVjdG9yKHByb3RlY3RlZCByZWFkb25seSBicmVha3BvaW50T2JzZXJ2ZXI6IEJyZWFrcG9pbnRPYnNlcnZlciwgcHJpdmF0ZSBpbmplY3RvcjogSW5qZWN0b3IpIHtcblx0XHR0aGlzLm9ic2VydmVyID0gdGhpcy5icmVha3BvaW50T2JzZXJ2ZXIub2JzZXJ2ZSh0aGlzLmJyZWFrcG9pbnRzKS5waXBlKHBsdWNrKCdtYXRjaGVzJykpO1xuXHR9XG5cblx0bmdPbkNoYW5nZXMoe3Byb3BlcnRpZXN9OiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG5cdFx0aWYgKHByb3BlcnRpZXMgJiYgdGhpcy5wcm9wZXJ0aWVzKSB7XG5cdFx0XHR0aGlzLnByb3BlcnR5Q29udHJvbHMgPSBvYmplY3RLZXlzKHRoaXMucHJvcGVydGllcylcblx0XHRcdFx0Lm1hcCgoa2V5OiBrZXlvZiBQKSA9PiB7XG5cdFx0XHRcdFx0aWYgKHRoaXMucHJvcGVydGllcykge1xuXHRcdFx0XHRcdFx0Y29uc3QgcHJvcGVydHk6IE5nRG9jUGxheWdyb3VuZFByb3BlcnR5ID0gdGhpcy5wcm9wZXJ0aWVzW2tleV07XG5cdFx0XHRcdFx0XHRjb25zdCB0eXBlQ29udHJvbDogTmdEb2NQcm92aWRlZFR5cGVDb250cm9sIHwgdW5kZWZpbmVkID0gdGhpcy5nZXRUeXBlQ29udHJvbChwcm9wZXJ0eSk7XG5cblx0XHRcdFx0XHRcdGlmICh0eXBlQ29udHJvbCkge1xuXHRcdFx0XHRcdFx0XHRyZXR1cm4ge1xuXHRcdFx0XHRcdFx0XHRcdHByb3BlcnR5TmFtZTogU3RyaW5nKGtleSksXG5cdFx0XHRcdFx0XHRcdFx0cHJvcGVydHksXG5cdFx0XHRcdFx0XHRcdFx0dHlwZUNvbnRyb2wsXG5cdFx0XHRcdFx0XHRcdH07XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0cmV0dXJuIG51bGw7XG5cdFx0XHRcdH0pXG5cdFx0XHRcdC5maWx0ZXIoaXNQcmVzZW50KVxuXHRcdFx0XHQuc29ydCgoYTogTmdEb2NQbGF5Z3JvdW5kUHJvcGVydHlDb250cm9sLCBiOiBOZ0RvY1BsYXlncm91bmRQcm9wZXJ0eUNvbnRyb2wpID0+IHtcblx0XHRcdFx0XHRjb25zdCBhT3JkZXI6IG51bWJlciB8IHVuZGVmaW5lZCA9IGEudHlwZUNvbnRyb2wub3B0aW9ucz8ub3JkZXI7XG5cdFx0XHRcdFx0Y29uc3QgYk9yZGVyOiBudW1iZXIgfCB1bmRlZmluZWQgPSBiLnR5cGVDb250cm9sLm9wdGlvbnM/Lm9yZGVyO1xuXG5cdFx0XHRcdFx0aWYgKGlzUHJlc2VudChhT3JkZXIpICYmIGlzUHJlc2VudChiT3JkZXIpKSB7XG5cdFx0XHRcdFx0XHRyZXR1cm4gYU9yZGVyIC0gYk9yZGVyO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0XHRpZiAoaXNQcmVzZW50KGFPcmRlcikpIHtcblx0XHRcdFx0XHRcdHJldHVybiAtMTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0aWYgKGlzUHJlc2VudChiT3JkZXIpKSB7XG5cdFx0XHRcdFx0XHRyZXR1cm4gMTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0cmV0dXJuIGEucHJvcGVydHkubmFtZS5sb2NhbGVDb21wYXJlKGIucHJvcGVydHkubmFtZSk7XG5cdFx0XHRcdH0pO1xuXHRcdH1cblx0fVxuXG5cdGdldEZvcm1Db250cm9sKGNvbnRyb2xUeXBlOiBrZXlvZiB0eXBlb2YgdGhpcy5mb3JtLmNvbnRyb2xzLCBrZXk6IHN0cmluZyk6IEZvcm1Db250cm9sIHtcblx0XHRyZXR1cm4gdGhpcy5mb3JtLmdldChjb250cm9sVHlwZSk/LmdldChrZXkpIGFzIEZvcm1Db250cm9sO1xuXHR9XG5cblx0cHJpdmF0ZSBnZXRUeXBlQ29udHJvbChwcm9wZXJ0eTogTmdEb2NQbGF5Z3JvdW5kUHJvcGVydHkpOiBOZ0RvY1Byb3ZpZGVkVHlwZUNvbnRyb2wgfCB1bmRlZmluZWQge1xuXHRcdGNvbnN0IHR5cGU6IHN0cmluZyA9IHByb3BlcnR5LnR5cGU7XG5cdFx0Y29uc3QgdHlwZUNvbnRyb2w6IE5nRG9jUHJvdmlkZWRUeXBlQ29udHJvbCB8IHVuZGVmaW5lZCA9IHRoaXMuZ2V0Q29udHJvbEZvclR5cGUodHlwZSlcblx0XHRcdD8/IHRoaXMuZ2V0Q29udHJvbEZvclR5cGVBbGlhcyhpc1BsYXlncm91bmRQcm9wZXJ0eShwcm9wZXJ0eSkgPyBwcm9wZXJ0eS5vcHRpb25zIDogdW5kZWZpbmVkKTtcblxuXHRcdGlmICghdHlwZUNvbnRyb2wgJiYgaXNEZXZNb2RlKCkpIHtcblx0XHRcdGNvbnNvbGUud2Fybihcblx0XHRcdFx0YE5nRG9jUGxheWdyb3VuZCBkaWRuJ3QgZmluZCB0aGUgY29udHJvbCBmb3IgdGhlIEBJbnB1dCBcIiR7cHJvcGVydHkubmFtZX1cIiwgdGhlIHR5cGUgXCIke3R5cGV9XCIgd2FzIG5vdCByZWNvZ25pemVkJ2AsXG5cdFx0XHQpO1xuXHRcdH1cblxuXHRcdHJldHVybiB0eXBlQ29udHJvbDtcblx0fVxuXG5cdHByaXZhdGUgZ2V0Q29udHJvbEZvclR5cGUodHlwZTogc3RyaW5nKTogTmdEb2NQcm92aWRlZFR5cGVDb250cm9sIHwgdW5kZWZpbmVkIHtcblx0XHRjb25zdCB0b2tlbjogSW5qZWN0aW9uVG9rZW48TmdEb2NQcm92aWRlZFR5cGVDb250cm9sPiB8IHVuZGVmaW5lZCA9IGdldFRva2VuRm9yVHlwZSh0eXBlKTtcblxuXHRcdHJldHVybiB0b2tlbiA/IHRoaXMuaW5qZWN0b3IuZ2V0KHRva2VuKSA6IHVuZGVmaW5lZDtcblx0fVxuXG5cdHByaXZhdGUgZ2V0Q29udHJvbEZvclR5cGVBbGlhcyhvcHRpb25zPzogc3RyaW5nW10pOiBOZ0RvY1Byb3ZpZGVkVHlwZUNvbnRyb2wgfCB1bmRlZmluZWQge1xuXHRcdGlmIChvcHRpb25zICYmIG9wdGlvbnMubGVuZ3RoKSB7XG5cdFx0XHRsZXQgb3B0aW9uc0lzVmFsaWQ6IGJvb2xlYW4gPSB0cnVlO1xuXG5cdFx0XHR0cnkge1xuXHRcdFx0XHQvLyBjaGVja2luZyB0aGF0IGFsbCB2YWx1ZXMgYXJlIGV4dHJhY3RhYmxlXG5cdFx0XHRcdG9wdGlvbnMuZm9yRWFjaCgoaXRlbTogc3RyaW5nKSA9PiBleHRyYWN0VmFsdWVPclRocm93KGl0ZW0pKTtcblx0XHRcdH0gY2F0Y2gge1xuXHRcdFx0XHRvcHRpb25zSXNWYWxpZCA9IGZhbHNlO1xuXHRcdFx0fVxuXG5cdFx0XHRpZiAob3B0aW9uc0lzVmFsaWQpIHtcblx0XHRcdFx0Y29uc3QgdG9rZW46IEluamVjdGlvblRva2VuPE5nRG9jUHJvdmlkZWRUeXBlQ29udHJvbD4gfCB1bmRlZmluZWQgPSBnZXRUb2tlbkZvclR5cGUoJ05nRG9jVHlwZUFsaWFzJyk7XG5cblx0XHRcdFx0cmV0dXJuIHRva2VuID8gdGhpcy5pbmplY3Rvci5nZXQodG9rZW4pIDogdW5kZWZpbmVkO1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdHJldHVybiB1bmRlZmluZWQ7XG5cdH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJuZy1kb2MtcGxheWdyb3VuZC1wcm9wZXJ0aWVzLXdyYXBwZXJcIiBbY2xhc3MudmVydGljYWxdPVwib2JzZXJ2ZXIgfCBhc3luY1wiPlxuXHQ8ZGl2IGNsYXNzPVwibmctZG9jLXBsYXlncm91bmQtZGVtb3NcIj5cblx0XHQ8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG5cdDwvZGl2PlxuXHQ8ZGl2IGNsYXNzPVwibmctZG9jLXBsYXlncm91bmQtcHJvcGVydGllc1wiPlxuXHRcdDxkaXYgY2xhc3M9XCJuZy1kb2MtcGxheWdyb3VuZC1oZWFkZXJcIj5cblx0XHRcdDxoNCBuZy1kb2MtdGV4dD5QbGF5Z3JvdW5kPC9oND5cblx0XHRcdDxidXR0b24gbmctZG9jLWJ1dHRvbiBjb2xvcj1cInJlZFwiIChjbGljayk9XCJyZXNldEZvcm0uZW1pdCgpXCI+UmVzZXQ8L2J1dHRvbj5cblx0XHQ8L2Rpdj5cblx0XHQ8ZGl2IGNsYXNzPVwibmctZG9jLXBsYXlncm91bmQtc2V0dGluZ1wiPlxuXHRcdFx0PG5nLWRvYy1jaGVja2JveCBbKG5nTW9kZWwpXT1cInJlY3JlYXRlRGVtb1wiIChuZ01vZGVsQ2hhbmdlKT1cInJlY3JlYXRlRGVtb0NoYW5nZS5lbWl0KCRldmVudClcIj5cblx0XHRcdFx0PHNwYW5cblx0XHRcdFx0XHRuZy1kb2MtdGV4dFxuXHRcdFx0XHRcdFtuZ0RvY1Rvb2x0aXBdPVwiJ1JlY3JlYXRlcyBkZW1vIGV2ZXJ5dGltZVxcbm9uZSBvZiB0aGUgaW5wdXQgaGFzIGNoYW5nZWQnXCJcblx0XHRcdFx0XHRbcG9zaXRpb25zXT1cIlsnYm90dG9tLXJpZ2h0JywgJ2xlZnQtY2VudGVyJ11cIlxuXHRcdFx0XHQ+XG5cdFx0XHRcdFx0UmVjcmVhdGVcblx0XHRcdFx0XHQ8bmctZG9jLWljb24gaWNvbj1cImluZm9cIiBuZ0RvY1RleHRSaWdodD48L25nLWRvYy1pY29uPlxuXHRcdFx0XHQ8L3NwYW4+XG5cdFx0XHQ8L25nLWRvYy1jaGVja2JveD5cblx0XHQ8L2Rpdj5cblx0XHQ8ZGl2IGNsYXNzPVwibmctZG9jLXBsYXlncm91bmQtZGl2aWRlclwiPjwvZGl2PlxuXHRcdDxuZy1jb250YWluZXIgKm5nSWY9XCJwcm9wZXJ0eUNvbnRyb2xzLmxlbmd0aFwiPlxuXHRcdFx0PGg1IGNsYXNzPVwibmctZG9jLXRpdGxlXCIgbmctZG9jLXRleHQ+U2V0dGluZ3M8L2g1PlxuXHRcdFx0PG5nLWRvYy1wbGF5Z3JvdW5kLXByb3BlcnR5XG5cdFx0XHRcdCpuZ0Zvcj1cImxldCBwcm9wZXJ0eUNvbnRyb2wgb2YgcHJvcGVydHlDb250cm9sc1wiXG5cdFx0XHRcdFtuYW1lXT1cInByb3BlcnR5Q29udHJvbC5wcm9wZXJ0eS5uYW1lXCJcblx0XHRcdFx0W3Byb3BlcnR5XT1cInByb3BlcnR5Q29udHJvbC5wcm9wZXJ0eVwiXG5cdFx0XHRcdFt0eXBlQ29udHJvbF09XCJwcm9wZXJ0eUNvbnRyb2wudHlwZUNvbnRyb2xcIlxuXHRcdFx0XHRbY29udHJvbF09XCJnZXRGb3JtQ29udHJvbCB8IG5nRG9jQmluZDogdGhpcyB8IG5nRG9jUnVuOiAncHJvcGVydGllcyc6IHByb3BlcnR5Q29udHJvbC5wcm9wZXJ0eU5hbWVcIlxuXHRcdFx0PlxuXHRcdFx0PC9uZy1kb2MtcGxheWdyb3VuZC1wcm9wZXJ0eT5cblx0XHQ8L25nLWNvbnRhaW5lcj5cblxuXHRcdDxuZy1jb250YWluZXIgKm5nSWY9XCIoZHluYW1pY0NvbnRlbnQgfCBrZXl2YWx1ZSk/Lmxlbmd0aFwiPlxuXHRcdFx0PGg1IGNsYXNzPVwibmctZG9jLXRpdGxlXCIgbmctZG9jLXRleHQ+Q29udGVudDwvaDU+XG5cdFx0XHQ8bmctZG9jLXBsYXlncm91bmQtcHJvcGVydHlcblx0XHRcdFx0Km5nRm9yPVwibGV0IGNvbnRlbnQgb2YgZHluYW1pY0NvbnRlbnQgfCBrZXl2YWx1ZVwiXG5cdFx0XHRcdFtuYW1lXT1cImNvbnRlbnQudmFsdWUubGFiZWxcIlxuXHRcdFx0XHRbcHJvcGVydHldPVwiY29udGVudC52YWx1ZVwiXG5cdFx0XHRcdFt0eXBlQ29udHJvbF09XCJjb250ZW50VHlwZUNvbnRyb2xcIlxuXHRcdFx0XHRbY29udHJvbF09XCJnZXRGb3JtQ29udHJvbCB8IG5nRG9jQmluZDogdGhpcyB8IG5nRG9jUnVuOiAnY29udGVudCc6IGNvbnRlbnQua2V5XCJcblx0XHRcdD5cblx0XHRcdDwvbmctZG9jLXBsYXlncm91bmQtcHJvcGVydHk+XG5cdFx0PC9uZy1jb250YWluZXI+XG5cdDwvZGl2PlxuPC9kaXY+XG4iXX0=
@@ -1,8 +1,6 @@
1
- import { ChangeDetectionStrategy, Component, HostBinding, Injector, Input, isDevMode, ViewChild, ViewContainerRef, } from '@angular/core';
1
+ import { ChangeDetectionStrategy, Component, HostBinding, Injector, Input, ViewChild, ViewContainerRef, } from '@angular/core';
2
2
  import { FormControl } from '@angular/forms';
3
3
  import { isPlaygroundProperty } from '@ng-doc/app/helpers';
4
- import { getTokenForType } from '@ng-doc/app/helpers';
5
- import { extractValueOrThrow } from '@ng-doc/core/helpers/extract-value';
6
4
  import * as i0 from "@angular/core";
7
5
  import * as i1 from "@ng-doc/ui-kit";
8
6
  export class NgDocPlaygroundPropertyComponent {
@@ -10,66 +8,39 @@ export class NgDocPlaygroundPropertyComponent {
10
8
  this.injector = injector;
11
9
  this.name = '';
12
10
  }
13
- ngOnChanges({ property, control }) {
14
- if (property && this.property) {
15
- this.propertyControl?.destroy();
16
- this.propertyControl = undefined;
17
- const type = isPlaygroundProperty(this.property) ? this.property.type : 'boolean';
18
- const typeControl = this.getControlForType(type) ??
19
- this.getControlForTypeAlias(isPlaygroundProperty(this.property) ? this.property.options : undefined);
20
- if (typeControl && this.propertyOutlet) {
21
- this.propertyControl = this.propertyOutlet.createComponent(typeControl.control);
22
- this.propertyControl.instance.name = this.name;
23
- this.propertyControl.instance.description = this.tooltipContent;
24
- this.propertyControl.instance.options = isPlaygroundProperty(this.property)
11
+ ngOnChanges({ property, control, typeControl }) {
12
+ if ((property || control || typeControl) && this.property && this.typeControl) {
13
+ this.propertyTypeControl?.destroy();
14
+ this.propertyTypeControl = undefined;
15
+ if (this.typeControl && this.propertyOutlet) {
16
+ this.propertyTypeControl = this.propertyOutlet.createComponent(this.typeControl.control);
17
+ this.propertyTypeControl.instance.name = this.name;
18
+ this.propertyTypeControl.instance.description = this.tooltipContent;
19
+ this.propertyTypeControl.instance.options = isPlaygroundProperty(this.property)
25
20
  ? this.property.options
26
21
  : undefined;
27
- this.propertyControl.instance.default = isPlaygroundProperty(this.property)
22
+ this.propertyTypeControl.instance.default = isPlaygroundProperty(this.property)
28
23
  ? this.property.default
29
24
  : undefined;
30
- this.propertyControl.instance.writeValue(this.control?.value);
31
- this.option = typeControl.options;
32
- }
33
- else if (isDevMode()) {
34
- console.warn(`NgDocPlayground didn't find the control for the @Input "${this.name}", the type "${type}" was not recognized'`);
25
+ this.propertyTypeControl.instance.writeValue(this.control?.value);
26
+ this.option = this.typeControl.options;
35
27
  }
36
28
  }
37
29
  if (control) {
38
- this.control?.registerOnChange((value) => this.propertyControl?.instance?.writeValue(value));
39
- this.propertyControl?.instance.registerOnChange((value) => this.control?.setValue(value));
40
- this.propertyControl?.instance.registerOnTouched(() => this.control?.markAsTouched());
30
+ this.control?.registerOnChange((value) => this.propertyTypeControl?.instance?.writeValue(value));
31
+ this.propertyTypeControl?.instance.registerOnChange((value) => this.control?.setValue(value));
32
+ this.propertyTypeControl?.instance.registerOnTouched(() => this.control?.markAsTouched());
41
33
  }
42
34
  }
43
35
  get hasPropertyControl() {
44
- return !!this.propertyControl;
36
+ return !!this.propertyTypeControl;
45
37
  }
46
38
  get tooltipContent() {
47
39
  return this.property && isPlaygroundProperty(this.property) ? this.property.description ?? '' : '';
48
40
  }
49
- getControlForType(type) {
50
- const token = getTokenForType(type);
51
- return token ? this.injector.get(token) : undefined;
52
- }
53
- getControlForTypeAlias(options) {
54
- if (options && options.length) {
55
- let optionsIsValid = true;
56
- try {
57
- // checking that all values are extractable
58
- options.forEach((item) => extractValueOrThrow(item));
59
- }
60
- catch {
61
- optionsIsValid = false;
62
- }
63
- if (optionsIsValid) {
64
- const token = getTokenForType('NgDocTypeAlias');
65
- return token ? this.injector.get(token) : undefined;
66
- }
67
- }
68
- return undefined;
69
- }
70
41
  }
71
42
  NgDocPlaygroundPropertyComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: NgDocPlaygroundPropertyComponent, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component });
72
- NgDocPlaygroundPropertyComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.4", type: NgDocPlaygroundPropertyComponent, selector: "ng-doc-playground-property", inputs: { name: "name", property: "property", control: "control" }, host: { properties: { "attr.data-has-property-control": "this.hasPropertyControl" } }, viewQueries: [{ propertyName: "propertyOutlet", first: true, predicate: ["propertyOutlet"], descendants: true, read: ViewContainerRef, static: true }], usesOnChanges: true, ngImport: i0, template: "<label [ng-doc-label]=\"option?.hideLabel ? '' : labelContent\">\n\t<ng-template #labelContent>\n\t\t<span [ngDocTooltip]=\"tooltipContent\" [canOpen]=\"!!tooltipContent\"\n\t\t\t [positions]=\"['left-center', 'top-right', 'bottom-right']\">{{name}}</span>\n\t</ng-template>\n\t<ng-container #propertyOutlet></ng-container>\n</label>\n", styles: [":host{display:block}:host[data-has-property-control=false]{display:none}\n"], dependencies: [{ kind: "component", type: i1.NgDocLabelComponent, selector: "label[ng-doc-label]", inputs: ["ng-doc-label", "align"] }, { kind: "directive", type: i1.NgDocTooltipDirective, selector: "[ngDocTooltip]", inputs: ["ngDocTooltip", "delay", "displayOrigin", "pointerOrigin", "positions", "canOpen", "panelClass", "minHeight", "maxHeight", "height", "minWidth", "maxWidth", "width"], outputs: ["beforeOpen", "afterOpen", "beforeClose", "afterClose"], exportAs: ["ngDocTooltip"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
43
+ NgDocPlaygroundPropertyComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.4", type: NgDocPlaygroundPropertyComponent, selector: "ng-doc-playground-property", inputs: { name: "name", property: "property", typeControl: "typeControl", control: "control" }, host: { properties: { "attr.data-has-property-control": "this.hasPropertyControl" } }, viewQueries: [{ propertyName: "propertyOutlet", first: true, predicate: ["propertyOutlet"], descendants: true, read: ViewContainerRef, static: true }], usesOnChanges: true, ngImport: i0, template: "<label [ng-doc-label]=\"option?.hideLabel ? '' : labelContent\">\n\t<ng-template #labelContent>\n\t\t<span [ngDocTooltip]=\"tooltipContent\" [canOpen]=\"!!tooltipContent\"\n\t\t\t [positions]=\"['left-center', 'top-right', 'bottom-right']\">{{name}}</span>\n\t</ng-template>\n\t<ng-container #propertyOutlet></ng-container>\n</label>\n", styles: [":host{display:block}:host[data-has-property-control=false]{display:none}\n"], dependencies: [{ kind: "component", type: i1.NgDocLabelComponent, selector: "label[ng-doc-label]", inputs: ["ng-doc-label", "align"] }, { kind: "directive", type: i1.NgDocTooltipDirective, selector: "[ngDocTooltip]", inputs: ["ngDocTooltip", "delay", "displayOrigin", "pointerOrigin", "positions", "canOpen", "panelClass", "minHeight", "maxHeight", "height", "minWidth", "maxWidth", "width"], outputs: ["beforeOpen", "afterOpen", "beforeClose", "afterClose"], exportAs: ["ngDocTooltip"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
73
44
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: NgDocPlaygroundPropertyComponent, decorators: [{
74
45
  type: Component,
75
46
  args: [{ selector: 'ng-doc-playground-property', changeDetection: ChangeDetectionStrategy.OnPush, template: "<label [ng-doc-label]=\"option?.hideLabel ? '' : labelContent\">\n\t<ng-template #labelContent>\n\t\t<span [ngDocTooltip]=\"tooltipContent\" [canOpen]=\"!!tooltipContent\"\n\t\t\t [positions]=\"['left-center', 'top-right', 'bottom-right']\">{{name}}</span>\n\t</ng-template>\n\t<ng-container #propertyOutlet></ng-container>\n</label>\n", styles: [":host{display:block}:host[data-has-property-control=false]{display:none}\n"] }]
@@ -77,6 +48,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.4", ngImpor
77
48
  type: Input
78
49
  }], property: [{
79
50
  type: Input
51
+ }], typeControl: [{
52
+ type: Input
80
53
  }], control: [{
81
54
  type: Input
82
55
  }], propertyOutlet: [{
@@ -86,4 +59,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.4", ngImpor
86
59
  type: HostBinding,
87
60
  args: ['attr.data-has-property-control']
88
61
  }] } });
89
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGxheWdyb3VuZC1wcm9wZXJ0eS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FwcC9jb21wb25lbnRzL3BsYXlncm91bmQvcGxheWdyb3VuZC1wcm9wZXJ0eS9wbGF5Z3JvdW5kLXByb3BlcnR5LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYXBwL2NvbXBvbmVudHMvcGxheWdyb3VuZC9wbGF5Z3JvdW5kLXByb3BlcnR5L3BsYXlncm91bmQtcHJvcGVydHkuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNOLHVCQUF1QixFQUN2QixTQUFTLEVBRVQsV0FBVyxFQUVYLFFBQVEsRUFDUixLQUFLLEVBQ0wsU0FBUyxFQUdULFNBQVMsRUFDVCxnQkFBZ0IsR0FDaEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQzNDLE9BQU8sRUFBQyxvQkFBb0IsRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBQ3pELE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUVwRCxPQUFPLEVBQUMsbUJBQW1CLEVBQUMsTUFBTSxvQ0FBb0MsQ0FBQzs7O0FBU3ZFLE1BQU0sT0FBTyxnQ0FBZ0M7SUFpQjVDLFlBQTZCLFFBQWtCO1FBQWxCLGFBQVEsR0FBUixRQUFRLENBQVU7UUFmL0MsU0FBSSxHQUFXLEVBQUUsQ0FBQztJQWVnQyxDQUFDO0lBRW5ELFdBQVcsQ0FBQyxFQUFDLFFBQVEsRUFBRSxPQUFPLEVBQWdCO1FBQzdDLElBQUksUUFBUSxJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUU7WUFDOUIsSUFBSSxDQUFDLGVBQWUsRUFBRSxPQUFPLEVBQUUsQ0FBQztZQUNoQyxJQUFJLENBQUMsZUFBZSxHQUFHLFNBQVMsQ0FBQztZQUVqQyxNQUFNLElBQUksR0FB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cmF0ZWd5LFxuXHRDb21wb25lbnQsXG5cdENvbXBvbmVudFJlZixcblx0SG9zdEJpbmRpbmcsXG5cdEluamVjdGlvblRva2VuLFxuXHRJbmplY3Rvcixcblx0SW5wdXQsXG5cdGlzRGV2TW9kZSxcblx0T25DaGFuZ2VzLFxuXHRTaW1wbGVDaGFuZ2VzLFxuXHRWaWV3Q2hpbGQsXG5cdFZpZXdDb250YWluZXJSZWYsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtGb3JtQ29udHJvbH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHtpc1BsYXlncm91bmRQcm9wZXJ0eX0gZnJvbSAnQG5nLWRvYy9hcHAvaGVscGVycyc7XG5pbXBvcnQge2dldFRva2VuRm9yVHlwZX0gZnJvbSAnQG5nLWRvYy9hcHAvaGVscGVycyc7XG5pbXBvcnQge05nRG9jUHJvdmlkZWRUeXBlQ29udHJvbCwgTmdEb2NUeXBlQ29udHJvbCwgTmdEb2NUeXBlQ29udHJvbFByb3ZpZGVyT3B0aW9uc30gZnJvbSAnQG5nLWRvYy9hcHAvaW50ZXJmYWNlcyc7XG5pbXBvcnQge2V4dHJhY3RWYWx1ZU9yVGhyb3d9IGZyb20gJ0BuZy1kb2MvY29yZS9oZWxwZXJzL2V4dHJhY3QtdmFsdWUnO1xuaW1wb3J0IHtOZ0RvY1BsYXlncm91bmRDb250ZW50LCBOZ0RvY1BsYXlncm91bmRQcm9wZXJ0eX0gZnJvbSAnQG5nLWRvYy9jb3JlL2ludGVyZmFjZXMnO1xuXG5AQ29tcG9uZW50KHtcblx0c2VsZWN0b3I6ICduZy1kb2MtcGxheWdyb3VuZC1wcm9wZXJ0eScsXG5cdHRlbXBsYXRlVXJsOiAnLi9wbGF5Z3JvdW5kLXByb3BlcnR5LmNvbXBvbmVudC5odG1sJyxcblx0c3R5bGVVcmxzOiBbJy4vcGxheWdyb3VuZC1wcm9wZXJ0eS5jb21wb25lbnQuc2NzcyddLFxuXHRjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgTmdEb2NQbGF5Z3JvdW5kUHJvcGVydHlDb21wb25lbnQgaW1wbGVtZW50cyBPbkNoYW5nZXMge1xuXHRASW5wdXQoKVxuXHRuYW1lOiBzdHJpbmcgPSAnJztcblxuXHRASW5wdXQoKVxuXHRwcm9wZXJ0eT86IE5nRG9jUGxheWdyb3VuZFByb3BlcnR5IHwgTmdEb2NQbGF5Z3JvdW5kQ29udGVudDtcblxuXHRASW5wdXQoKVxuXHRjb250cm9sPzogRm9ybUNvbnRyb2w7XG5cblx0QFZpZXdDaGlsZCgncHJvcGVydHlPdXRsZXQnLCB7cmVhZDogVmlld0NvbnRhaW5lclJlZiwgc3RhdGljOiB0cnVlfSlcblx0cHJvcGVydHlPdXRsZXQ/OiBWaWV3Q29udGFpbmVyUmVmO1xuXG5cdG9wdGlvbj86IE5nRG9jVHlwZUNvbnRyb2xQcm92aWRlck9wdGlvbnM7XG5cblx0cHJpdmF0ZSBwcm9wZXJ0eUNvbnRyb2w/OiBDb21wb25lbnRSZWY8TmdEb2NUeXBlQ29udHJvbD47XG5cblx0Y29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBpbmplY3RvcjogSW5qZWN0b3IpIHt9XG5cblx0bmdPbkNoYW5nZXMoe3Byb3BlcnR5LCBjb250cm9sfTogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuXHRcdGlmIChwcm9wZXJ0eSAmJiB0aGlzLnByb3BlcnR5KSB7XG5cdFx0XHR0aGlzLnByb3BlcnR5Q29udHJvbD8uZGVzdHJveSgpO1xuXHRcdFx0dGhpcy5wcm9wZXJ0eUNvbnRyb2wgPSB1bmRlZmluZWQ7XG5cblx0XHRcdGNvbnN0IHR5cGU6IHN0cmluZyA9IGlzUGxheWdyb3VuZFByb3BlcnR5KHRoaXMucHJvcGVydHkpID8gdGhpcy5wcm9wZXJ0eS50eXBlIDogJ2Jvb2xlYW4nO1xuXHRcdFx0Y29uc3QgdHlwZUNvbnRyb2w6IE5nRG9jUHJvdmlkZWRUeXBlQ29udHJvbCB8IHVuZGVmaW5lZCA9XG5cdFx0XHRcdHRoaXMuZ2V0Q29udHJvbEZvclR5cGUodHlwZSkgPz9cblx0XHRcdFx0dGhpcy5nZXRDb250cm9sRm9yVHlwZUFsaWFzKGlzUGxheWdyb3VuZFByb3BlcnR5KHRoaXMucHJvcGVydHkpID8gdGhpcy5wcm9wZXJ0eS5vcHRpb25zIDogdW5kZWZpbmVkKTtcblxuXHRcdFx0aWYgKHR5cGVDb250cm9sICYmIHRoaXMucHJvcGVydHlPdXRsZXQpIHtcblx0XHRcdFx0dGhpcy5wcm9wZXJ0eUNvbnRyb2wgPSB0aGlzLnByb3BlcnR5T3V0bGV0LmNyZWF0ZUNvbXBvbmVudCh0eXBlQ29udHJvbC5jb250cm9sKTtcblx0XHRcdFx0dGhpcy5wcm9wZXJ0eUNvbnRyb2wuaW5zdGFuY2UubmFtZSA9IHRoaXMubmFtZTtcblx0XHRcdFx0dGhpcy5wcm9wZXJ0eUNvbnRyb2wuaW5zdGFuY2UuZGVzY3JpcHRpb24gPSB0aGlzLnRvb2x0aXBDb250ZW50O1xuXHRcdFx0XHR0aGlzLnByb3BlcnR5Q29udHJvbC5pbnN0YW5jZS5vcHRpb25zID0gaXNQbGF5Z3JvdW5kUHJvcGVydHkodGhpcy5wcm9wZXJ0eSlcblx0XHRcdFx0XHQ/IHRoaXMucHJvcGVydHkub3B0aW9uc1xuXHRcdFx0XHRcdDogdW5kZWZpbmVkO1xuXHRcdFx0XHR0aGlzLnByb3BlcnR5Q29udHJvbC5pbnN0YW5jZS5kZWZhdWx0ID0gaXNQbGF5Z3JvdW5kUHJvcGVydHkodGhpcy5wcm9wZXJ0eSlcblx0XHRcdFx0XHQ/IHRoaXMucHJvcGVydHkuZGVmYXVsdFxuXHRcdFx0XHRcdDogdW5kZWZpbmVkO1xuXHRcdFx0XHR0aGlzLnByb3BlcnR5Q29udHJvbC5pbnN0YW5jZS53cml0ZVZhbHVlKHRoaXMuY29udHJvbD8udmFsdWUpO1xuXG5cdFx0XHRcdHRoaXMub3B0aW9uID0gdHlwZUNvbnRyb2wub3B0aW9ucztcblx0XHRcdH0gZWxzZSBpZiAoaXNEZXZNb2RlKCkpIHtcblx0XHRcdFx0Y29uc29sZS53YXJuKFxuXHRcdFx0XHRcdGBOZ0RvY1BsYXlncm91bmQgZGlkbid0IGZpbmQgdGhlIGNvbnRyb2wgZm9yIHRoZSBASW5wdXQgXCIke3RoaXMubmFtZX1cIiwgdGhlIHR5cGUgXCIke3R5cGV9XCIgd2FzIG5vdCByZWNvZ25pemVkJ2AsXG5cdFx0XHRcdCk7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0aWYgKGNvbnRyb2wpIHtcblx0XHRcdHRoaXMuY29udHJvbD8ucmVnaXN0ZXJPbkNoYW5nZSgodmFsdWU6IHN0cmluZykgPT4gdGhpcy5wcm9wZXJ0eUNvbnRyb2w/Lmluc3RhbmNlPy53cml0ZVZhbHVlKHZhbHVlKSk7XG5cdFx0XHR0aGlzLnByb3BlcnR5Q29udHJvbD8uaW5zdGFuY2UucmVnaXN0ZXJPbkNoYW5nZSgodmFsdWU6IHVua25vd24pID0+IHRoaXMuY29udHJvbD8uc2V0VmFsdWUodmFsdWUpKTtcblx0XHRcdHRoaXMucHJvcGVydHlDb250cm9sPy5pbnN0YW5jZS5yZWdpc3Rlck9uVG91Y2hlZCgoKSA9PiB0aGlzLmNvbnRyb2w/Lm1hcmtBc1RvdWNoZWQoKSk7XG5cdFx0fVxuXHR9XG5cblx0QEhvc3RCaW5kaW5nKCdhdHRyLmRhdGEtaGFzLXByb3BlcnR5LWNvbnRyb2wnKVxuXHRnZXQgaGFzUHJvcGVydHlDb250cm9sKCk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiAhIXRoaXMucHJvcGVydHlDb250cm9sO1xuXHR9XG5cblx0Z2V0IHRvb2x0aXBDb250ZW50KCk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIHRoaXMucHJvcGVydHkgJiYgaXNQbGF5Z3JvdW5kUHJvcGVydHkodGhpcy5wcm9wZXJ0eSkgPyB0aGlzLnByb3BlcnR5LmRlc2NyaXB0aW9uID8/ICcnIDogJyc7XG5cdH1cblxuXHRwcml2YXRlIGdldENvbnRyb2xGb3JUeXBlKHR5cGU6IHN0cmluZyk6IE5nRG9jUHJvdmlkZWRUeXBlQ29udHJvbCB8IHVuZGVmaW5lZCB7XG5cdFx0Y29uc3QgdG9rZW46IEluamVjdGlvblRva2VuPE5nRG9jUHJvdmlkZWRUeXBlQ29udHJvbD4gfCB1bmRlZmluZWQgPSBnZXRUb2tlbkZvclR5cGUodHlwZSk7XG5cblx0XHRyZXR1cm4gdG9rZW4gPyB0aGlzLmluamVjdG9yLmdldCh0b2tlbikgOiB1bmRlZmluZWQ7XG5cdH1cblxuXHRwcml2YXRlIGdldENvbnRyb2xGb3JUeXBlQWxpYXMob3B0aW9ucz86IHN0cmluZ1tdKTogTmdEb2NQcm92aWRlZFR5cGVDb250cm9sIHwgdW5kZWZpbmVkIHtcblx0XHRpZiAob3B0aW9ucyAmJiBvcHRpb25zLmxlbmd0aCkge1xuXHRcdFx0bGV0IG9wdGlvbnNJc1ZhbGlkOiBib29sZWFuID0gdHJ1ZTtcblxuXHRcdFx0dHJ5IHtcblx0XHRcdFx0Ly8gY2hlY2tpbmcgdGhhdCBhbGwgdmFsdWVzIGFyZSBleHRyYWN0YWJsZVxuXHRcdFx0XHRvcHRpb25zLmZvckVhY2goKGl0ZW06IHN0cmluZykgPT4gZXh0cmFjdFZhbHVlT3JUaHJvdyhpdGVtKSk7XG5cdFx0XHR9IGNhdGNoIHtcblx0XHRcdFx0b3B0aW9uc0lzVmFsaWQgPSBmYWxzZTtcblx0XHRcdH1cblxuXHRcdFx0aWYgKG9wdGlvbnNJc1ZhbGlkKSB7XG5cdFx0XHRcdGNvbnN0IHRva2VuOiBJbmplY3Rpb25Ub2tlbjxOZ0RvY1Byb3ZpZGVkVHlwZUNvbnRyb2w+IHwgdW5kZWZpbmVkID0gZ2V0VG9rZW5Gb3JUeXBlKCdOZ0RvY1R5cGVBbGlhcycpO1xuXG5cdFx0XHRcdHJldHVybiB0b2tlbiA/IHRoaXMuaW5qZWN0b3IuZ2V0KHRva2VuKSA6IHVuZGVmaW5lZDtcblx0XHRcdH1cblx0XHR9XG5cblx0XHRyZXR1cm4gdW5kZWZpbmVkO1xuXHR9XG59XG4iLCI8bGFiZWwgW25nLWRvYy1sYWJlbF09XCJvcHRpb24/LmhpZGVMYWJlbCA/ICcnIDogbGFiZWxDb250ZW50XCI+XG5cdDxuZy10ZW1wbGF0ZSAjbGFiZWxDb250ZW50PlxuXHRcdDxzcGFuIFtuZ0RvY1Rvb2x0aXBdPVwidG9vbHRpcENvbnRlbnRcIiBbY2FuT3Blbl09XCIhIXRvb2x0aXBDb250ZW50XCJcblx0XHRcdCAgW3Bvc2l0aW9uc109XCJbJ2xlZnQtY2VudGVyJywgJ3RvcC1yaWdodCcsICdib3R0b20tcmlnaHQnXVwiPnt7bmFtZX19PC9zcGFuPlxuXHQ8L25nLXRlbXBsYXRlPlxuXHQ8bmctY29udGFpbmVyICNwcm9wZXJ0eU91dGxldD48L25nLWNvbnRhaW5lcj5cbjwvbGFiZWw+XG4iXX0=
62
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGxheWdyb3VuZC1wcm9wZXJ0eS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FwcC9jb21wb25lbnRzL3BsYXlncm91bmQvcGxheWdyb3VuZC1wcm9wZXJ0eS9wbGF5Z3JvdW5kLXByb3BlcnR5LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYXBwL2NvbXBvbmVudHMvcGxheWdyb3VuZC9wbGF5Z3JvdW5kLXByb3BlcnR5L3BsYXlncm91bmQtcHJvcGVydHkuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNOLHVCQUF1QixFQUN2QixTQUFTLEVBRVQsV0FBVyxFQUNYLFFBQVEsRUFDUixLQUFLLEVBR0wsU0FBUyxFQUNULGdCQUFnQixHQUNoQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDM0MsT0FBTyxFQUFDLG9CQUFvQixFQUFDLE1BQU0scUJBQXFCLENBQUM7OztBQVV6RCxNQUFNLE9BQU8sZ0NBQWdDO0lBbUI1QyxZQUE2QixRQUFrQjtRQUFsQixhQUFRLEdBQVIsUUFBUSxDQUFVO1FBakIvQyxTQUFJLEdBQVcsRUFBRSxDQUFDO0lBaUJnQyxDQUFDO0lBRW5ELFdBQVcsQ0FBQyxFQUFDLFFBQVEsRUFBRSxPQUFPLEVBQUUsV0FBVyxFQUFnQjtRQUMxRCxJQUFJLENBQUMsUUFBUSxJQUFJLE9BQU8sSUFBSSxXQUFXLENBQUMsSUFBSSxJQUFJLENBQUMsUUFBUSxJQUFJLElBQUksQ0FBQyxXQUFXLEVBQUU7WUFDOUUsSUFBSSxDQUFDLG1CQUFtQixFQUFFLE9BQU8sRUFBRSxDQUFDO1lBQ3BDLElBQUksQ0FBQyxtQkFBbUIsR0FBRyxTQUFTLENBQUM7WUFFckMsSUFBSSxJQUFJLENBQUMsV0FBVyxJQUFJLElBQUksQ0FBQyxjQUFjLEVBQUU7Z0JBQzVDLElBQUksQ0FBQyxtQkFBbUIsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxDQUFDO2dCQUN6RixJQUFJLENBQUMsbUJBQW1CLENBQUMsUUFBUSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDO2dCQUNuRCxJQUFJLENBQUMsbUJBQW1CLENBQUMsUUFBUSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDO2dCQUNwRSxJQUFJLENBQUMsbUJBQW1CLENBQUMsUUFBUSxDQUFDLE9BQU8sR0FBRyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDO29CQUM5RSxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPO29CQUN2QixDQUFDLENBQUMsU0FBUyxDQUFDO2dCQUNiLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxRQUFRLENBQUMsT0FBTyxHQUFHLG9CQUFvQixDQUFDLElBQUksQ0FBQyxRQUFRLENBQUM7b0JBQzlFLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU87b0JBQ3ZCLENBQUMsQ0FBQyxTQUFTLENBQUM7Z0JBQ2IsSUFBSSxDQUFDLG1CQUFtQixDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxLQUFLLENBQUMsQ0FBQztnQkFFbEUsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQzthQUN2QztTQUNEO1FBRUQsSUFBSSxPQUFPLEVBQUU7WUFDWixJQUFJLENBQUMsT0FBTyxFQUFFLGdCQUFnQixDQUFDLENBQUMsS0FBYSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsbUJBQW1CLEVBQUUsUUFBUSxFQUFFLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO1lBQ3pHLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxRQUFRLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxLQUFjLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7WUFDdkcsSUFBSSxDQUFDLG1CQUFtQixFQUFFLFFBQVEsQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLGFBQWEsRUFBRSxDQUFDLENBQUM7U0FDMUY7SUFDRixDQUFDO0lBRUQsSUFDSSxrQkFBa0I7UUFDckIsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLG1CQUFtQixDQUFDO0lBQ25DLENBQUM7SUFFRCxJQUFJLGNBQWM7UUFDakIsT0FBTyxJQUFJLENBQUMsUUFBUSxJQUFJLG9CQUFvQixDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7SUFDcEcsQ0FBQzs7NkhBeERXLGdDQUFnQztpSEFBaEMsZ0NBQWdDLHNWQWFSLGdCQUFnQixnRUNwQ3JELGtWQU9BOzJGRGdCYSxnQ0FBZ0M7a0JBTjVDLFNBQVM7K0JBQ0MsNEJBQTRCLG1CQUdyQix1QkFBdUIsQ0FBQyxNQUFNOytGQUkvQyxJQUFJO3NCQURILEtBQUs7Z0JBSU4sUUFBUTtzQkFEUCxLQUFLO2dCQUlOLFdBQVc7c0JBRFYsS0FBSztnQkFJTixPQUFPO3NCQUROLEtBQUs7Z0JBSU4sY0FBYztzQkFEYixTQUFTO3VCQUFDLGdCQUFnQixFQUFFLEVBQUMsSUFBSSxFQUFFLGdCQUFnQixFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUM7Z0JBcUMvRCxrQkFBa0I7c0JBRHJCLFdBQVc7dUJBQUMsZ0NBQWdDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcblx0Q2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG5cdENvbXBvbmVudCxcblx0Q29tcG9uZW50UmVmLFxuXHRIb3N0QmluZGluZyxcblx0SW5qZWN0b3IsXG5cdElucHV0LFxuXHRPbkNoYW5nZXMsXG5cdFNpbXBsZUNoYW5nZXMsXG5cdFZpZXdDaGlsZCxcblx0Vmlld0NvbnRhaW5lclJlZixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0Zvcm1Db250cm9sfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge2lzUGxheWdyb3VuZFByb3BlcnR5fSBmcm9tICdAbmctZG9jL2FwcC9oZWxwZXJzJztcbmltcG9ydCB7TmdEb2NQcm92aWRlZFR5cGVDb250cm9sLCBOZ0RvY1R5cGVDb250cm9sLCBOZ0RvY1R5cGVDb250cm9sUHJvdmlkZXJPcHRpb25zfSBmcm9tICdAbmctZG9jL2FwcC9pbnRlcmZhY2VzJztcbmltcG9ydCB7TmdEb2NQbGF5Z3JvdW5kQ29udGVudCwgTmdEb2NQbGF5Z3JvdW5kUHJvcGVydHl9IGZyb20gJ0BuZy1kb2MvY29yZS9pbnRlcmZhY2VzJztcblxuQENvbXBvbmVudCh7XG5cdHNlbGVjdG9yOiAnbmctZG9jLXBsYXlncm91bmQtcHJvcGVydHknLFxuXHR0ZW1wbGF0ZVVybDogJy4vcGxheWdyb3VuZC1wcm9wZXJ0eS5jb21wb25lbnQuaHRtbCcsXG5cdHN0eWxlVXJsczogWycuL3BsYXlncm91bmQtcHJvcGVydHkuY29tcG9uZW50LnNjc3MnXSxcblx0Y2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIE5nRG9jUGxheWdyb3VuZFByb3BlcnR5Q29tcG9uZW50IGltcGxlbWVudHMgT25DaGFuZ2VzIHtcblx0QElucHV0KClcblx0bmFtZTogc3RyaW5nID0gJyc7XG5cblx0QElucHV0KClcblx0cHJvcGVydHk/OiBOZ0RvY1BsYXlncm91bmRQcm9wZXJ0eSB8IE5nRG9jUGxheWdyb3VuZENvbnRlbnQ7XG5cblx0QElucHV0KClcblx0dHlwZUNvbnRyb2w/OiBOZ0RvY1Byb3ZpZGVkVHlwZUNvbnRyb2w7XG5cblx0QElucHV0KClcblx0Y29udHJvbD86IEZvcm1Db250cm9sO1xuXG5cdEBWaWV3Q2hpbGQoJ3Byb3BlcnR5T3V0bGV0Jywge3JlYWQ6IFZpZXdDb250YWluZXJSZWYsIHN0YXRpYzogdHJ1ZX0pXG5cdHByb3BlcnR5T3V0bGV0PzogVmlld0NvbnRhaW5lclJlZjtcblxuXHRwcm90ZWN0ZWQgb3B0aW9uPzogTmdEb2NUeXBlQ29udHJvbFByb3ZpZGVyT3B0aW9ucztcblx0cHJpdmF0ZSBwcm9wZXJ0eVR5cGVDb250cm9sPzogQ29tcG9uZW50UmVmPE5nRG9jVHlwZUNvbnRyb2w+O1xuXG5cdGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgaW5qZWN0b3I6IEluamVjdG9yKSB7fVxuXG5cdG5nT25DaGFuZ2VzKHtwcm9wZXJ0eSwgY29udHJvbCwgdHlwZUNvbnRyb2x9OiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG5cdFx0aWYgKChwcm9wZXJ0eSB8fCBjb250cm9sIHx8IHR5cGVDb250cm9sKSAmJiB0aGlzLnByb3BlcnR5ICYmIHRoaXMudHlwZUNvbnRyb2wpIHtcblx0XHRcdHRoaXMucHJvcGVydHlUeXBlQ29udHJvbD8uZGVzdHJveSgpO1xuXHRcdFx0dGhpcy5wcm9wZXJ0eVR5cGVDb250cm9sID0gdW5kZWZpbmVkO1xuXG5cdFx0XHRpZiAodGhpcy50eXBlQ29udHJvbCAmJiB0aGlzLnByb3BlcnR5T3V0bGV0KSB7XG5cdFx0XHRcdHRoaXMucHJvcGVydHlUeXBlQ29udHJvbCA9IHRoaXMucHJvcGVydHlPdXRsZXQuY3JlYXRlQ29tcG9uZW50KHRoaXMudHlwZUNvbnRyb2wuY29udHJvbCk7XG5cdFx0XHRcdHRoaXMucHJvcGVydHlUeXBlQ29udHJvbC5pbnN0YW5jZS5uYW1lID0gdGhpcy5uYW1lO1xuXHRcdFx0XHR0aGlzLnByb3BlcnR5VHlwZUNvbnRyb2wuaW5zdGFuY2UuZGVzY3JpcHRpb24gPSB0aGlzLnRvb2x0aXBDb250ZW50O1xuXHRcdFx0XHR0aGlzLnByb3BlcnR5VHlwZUNvbnRyb2wuaW5zdGFuY2Uub3B0aW9ucyA9IGlzUGxheWdyb3VuZFByb3BlcnR5KHRoaXMucHJvcGVydHkpXG5cdFx0XHRcdFx0PyB0aGlzLnByb3BlcnR5Lm9wdGlvbnNcblx0XHRcdFx0XHQ6IHVuZGVmaW5lZDtcblx0XHRcdFx0dGhpcy5wcm9wZXJ0eVR5cGVDb250cm9sLmluc3RhbmNlLmRlZmF1bHQgPSBpc1BsYXlncm91bmRQcm9wZXJ0eSh0aGlzLnByb3BlcnR5KVxuXHRcdFx0XHRcdD8gdGhpcy5wcm9wZXJ0eS5kZWZhdWx0XG5cdFx0XHRcdFx0OiB1bmRlZmluZWQ7XG5cdFx0XHRcdHRoaXMucHJvcGVydHlUeXBlQ29udHJvbC5pbnN0YW5jZS53cml0ZVZhbHVlKHRoaXMuY29udHJvbD8udmFsdWUpO1xuXG5cdFx0XHRcdHRoaXMub3B0aW9uID0gdGhpcy50eXBlQ29udHJvbC5vcHRpb25zO1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdGlmIChjb250cm9sKSB7XG5cdFx0XHR0aGlzLmNvbnRyb2w/LnJlZ2lzdGVyT25DaGFuZ2UoKHZhbHVlOiBzdHJpbmcpID0+IHRoaXMucHJvcGVydHlUeXBlQ29udHJvbD8uaW5zdGFuY2U/LndyaXRlVmFsdWUodmFsdWUpKTtcblx0XHRcdHRoaXMucHJvcGVydHlUeXBlQ29udHJvbD8uaW5zdGFuY2UucmVnaXN0ZXJPbkNoYW5nZSgodmFsdWU6IHVua25vd24pID0+IHRoaXMuY29udHJvbD8uc2V0VmFsdWUodmFsdWUpKTtcblx0XHRcdHRoaXMucHJvcGVydHlUeXBlQ29udHJvbD8uaW5zdGFuY2UucmVnaXN0ZXJPblRvdWNoZWQoKCkgPT4gdGhpcy5jb250cm9sPy5tYXJrQXNUb3VjaGVkKCkpO1xuXHRcdH1cblx0fVxuXG5cdEBIb3N0QmluZGluZygnYXR0ci5kYXRhLWhhcy1wcm9wZXJ0eS1jb250cm9sJylcblx0Z2V0IGhhc1Byb3BlcnR5Q29udHJvbCgpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gISF0aGlzLnByb3BlcnR5VHlwZUNvbnRyb2w7XG5cdH1cblxuXHRnZXQgdG9vbHRpcENvbnRlbnQoKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gdGhpcy5wcm9wZXJ0eSAmJiBpc1BsYXlncm91bmRQcm9wZXJ0eSh0aGlzLnByb3BlcnR5KSA/IHRoaXMucHJvcGVydHkuZGVzY3JpcHRpb24gPz8gJycgOiAnJztcblx0fVxufVxuIiwiPGxhYmVsIFtuZy1kb2MtbGFiZWxdPVwib3B0aW9uPy5oaWRlTGFiZWwgPyAnJyA6IGxhYmVsQ29udGVudFwiPlxuXHQ8bmctdGVtcGxhdGUgI2xhYmVsQ29udGVudD5cblx0XHQ8c3BhbiBbbmdEb2NUb29sdGlwXT1cInRvb2x0aXBDb250ZW50XCIgW2Nhbk9wZW5dPVwiISF0b29sdGlwQ29udGVudFwiXG5cdFx0XHQgIFtwb3NpdGlvbnNdPVwiWydsZWZ0LWNlbnRlcicsICd0b3AtcmlnaHQnLCAnYm90dG9tLXJpZ2h0J11cIj57e25hbWV9fTwvc3Bhbj5cblx0PC9uZy10ZW1wbGF0ZT5cblx0PG5nLWNvbnRhaW5lciAjcHJvcGVydHlPdXRsZXQ+PC9uZy1jb250YWluZXI+XG48L2xhYmVsPlxuIl19
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGxheWdyb3VuZC1wcm9wZXJ0eS1jb250cm9sLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hcHAvY29tcG9uZW50cy9wbGF5Z3JvdW5kL3BsYXlncm91bmQtcHJvcGVydHktY29udHJvbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtOZ0RvY1Byb3ZpZGVkVHlwZUNvbnRyb2x9IGZyb20gJ0BuZy1kb2MvYXBwL2ludGVyZmFjZXMnO1xuaW1wb3J0IHtOZ0RvY1BsYXlncm91bmRQcm9wZXJ0eX0gZnJvbSAnQG5nLWRvYy9jb3JlL2ludGVyZmFjZXMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIE5nRG9jUGxheWdyb3VuZFByb3BlcnR5Q29udHJvbCB7XG5cdHByb3BlcnR5TmFtZTogc3RyaW5nO1xuXHRwcm9wZXJ0eTogTmdEb2NQbGF5Z3JvdW5kUHJvcGVydHk7XG5cdHR5cGVDb250cm9sOiBOZ0RvY1Byb3ZpZGVkVHlwZUNvbnRyb2w7XG59XG4iXX0=
@@ -2,7 +2,7 @@ import { CommonModule } from '@angular/common';
2
2
  import { NgModule } from '@angular/core';
3
3
  import { FormsModule, ReactiveFormsModule } from '@angular/forms';
4
4
  import { NgDocDemoDisplayerModule } from '@ng-doc/app/components/demo-displayer';
5
- import { NgDocAsArrayModule, NgDocButtonIconModule, NgDocButtonModule, NgDocCheckboxModule, NgDocIconModule, NgDocLabelModule, NgDocTextModule, NgDocTooltipModule, } from '@ng-doc/ui-kit';
5
+ import { NgDocAsArrayModule, NgDocBindModule, NgDocButtonIconModule, NgDocButtonModule, NgDocCheckboxModule, NgDocIconModule, NgDocLabelModule, NgDocRunModule, NgDocTextModule, NgDocTooltipModule, } from '@ng-doc/ui-kit';
6
6
  import { PolymorpheusModule } from '@tinkoff/ng-polymorpheus';
7
7
  import { NgDocPlaygroundComponent } from './playground.component';
8
8
  import { NgDocPlaygroundDemoComponent } from './playground-demo/playground-demo.component';
@@ -27,7 +27,9 @@ NgDocPlaygroundModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", v
27
27
  NgDocCheckboxModule,
28
28
  FormsModule,
29
29
  NgDocButtonModule,
30
- NgDocDemoDisplayerModule], exports: [NgDocPlaygroundComponent,
30
+ NgDocDemoDisplayerModule,
31
+ NgDocBindModule,
32
+ NgDocRunModule], exports: [NgDocPlaygroundComponent,
31
33
  NgDocPlaygroundPropertyComponent,
32
34
  NgDocPlaygroundPropertiesComponent,
33
35
  NgDocPlaygroundDemoComponent] });
@@ -43,7 +45,9 @@ NgDocPlaygroundModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", v
43
45
  NgDocCheckboxModule,
44
46
  FormsModule,
45
47
  NgDocButtonModule,
46
- NgDocDemoDisplayerModule] });
48
+ NgDocDemoDisplayerModule,
49
+ NgDocBindModule,
50
+ NgDocRunModule] });
47
51
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: NgDocPlaygroundModule, decorators: [{
48
52
  type: NgModule,
49
53
  args: [{
@@ -67,6 +71,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.4", ngImpor
67
71
  FormsModule,
68
72
  NgDocButtonModule,
69
73
  NgDocDemoDisplayerModule,
74
+ NgDocBindModule,
75
+ NgDocRunModule,
70
76
  ],
71
77
  exports: [
72
78
  NgDocPlaygroundComponent,
@@ -76,4 +82,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.4", ngImpor
76
82
  ],
77
83
  }]
78
84
  }] });
79
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGxheWdyb3VuZC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FwcC9jb21wb25lbnRzL3BsYXlncm91bmQvcGxheWdyb3VuZC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQzdDLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDdkMsT0FBTyxFQUFDLFdBQVcsRUFBRSxtQkFBbUIsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ2hFLE9BQU8sRUFBQyx3QkFBd0IsRUFBQyxNQUFNLHVDQUF1QyxDQUFDO0FBQy9FLE9BQU8sRUFDTixrQkFBa0IsRUFDbEIscUJBQXFCLEVBQ3JCLGlCQUFpQixFQUNqQixtQkFBbUIsRUFDbkIsZUFBZSxFQUNmLGdCQUFnQixFQUNoQixlQUFlLEVBQ2Ysa0JBQWtCLEdBQ2xCLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEIsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sMEJBQTBCLENBQUM7QUFFNUQsT0FBTyxFQUFDLHdCQUF3QixFQUFDLE1BQU0sd0JBQXdCLENBQUM7QUFDaEUsT0FBTyxFQUFDLDRCQUE0QixFQUFDLE1BQU0sNkNBQTZDLENBQUM7QUFDekYsT0FBTyxFQUFDLGtDQUFrQyxFQUFDLE1BQU0seURBQXlELENBQUM7QUFDM0csT0FBTyxFQUFDLGdDQUFnQyxFQUFDLE1BQU0scURBQXFELENBQUM7O0FBK0JyRyxNQUFNLE9BQU8scUJBQXFCOztrSEFBckIscUJBQXFCO21IQUFyQixxQkFBcUIsaUJBM0JoQyx3QkFBd0I7UUFDeEIsZ0NBQWdDO1FBQ2hDLGtDQUFrQztRQUNsQyw0QkFBNEIsYUFHNUIsWUFBWTtRQUNaLG1CQUFtQjtRQUNuQixnQkFBZ0I7UUFDaEIsa0JBQWtCO1FBQ2xCLGtCQUFrQjtRQUNsQixrQkFBa0I7UUFDbEIscUJBQXFCO1FBQ3JCLGVBQWU7UUFDZixlQUFlO1FBQ2YsbUJBQW1CO1FBQ25CLFdBQVc7UUFDWCxpQkFBaUI7UUFDakIsd0JBQXdCLGFBR3hCLHdCQUF3QjtRQUN4QixnQ0FBZ0M7UUFDaEMsa0NBQWtDO1FBQ2xDLDRCQUE0QjttSEFHakIscUJBQXFCLFlBckJoQyxZQUFZO1FBQ1osbUJBQW1CO1FBQ25CLGdCQUFnQjtRQUNoQixrQkFBa0I7UUFDbEIsa0JBQWtCO1FBQ2xCLGtCQUFrQjtRQUNsQixxQkFBcUI7UUFDckIsZUFBZTtRQUNmLGVBQWU7UUFDZixtQkFBbUI7UUFDbkIsV0FBVztRQUNYLGlCQUFpQjtRQUNqQix3QkFBd0I7MkZBU2IscUJBQXFCO2tCQTdCakMsUUFBUTttQkFBQztvQkFDVCxZQUFZLEVBQUU7d0JBQ2Isd0JBQXdCO3dCQUN4QixnQ0FBZ0M7d0JBQ2hDLGtDQUFrQzt3QkFDbEMsNEJBQTRCO3FCQUM1QjtvQkFDRCxPQUFPLEVBQUU7d0JBQ1IsWUFBWTt3QkFDWixtQkFBbUI7d0JBQ25CLGdCQUFnQjt3QkFDaEIsa0JBQWtCO3dCQUNsQixrQkFBa0I7d0JBQ2xCLGtCQUFrQjt3QkFDbEIscUJBQXFCO3dCQUNyQixlQUFlO3dCQUNmLGVBQWU7d0JBQ2YsbUJBQW1CO3dCQUNuQixXQUFXO3dCQUNYLGlCQUFpQjt3QkFDakIsd0JBQXdCO3FCQUN4QjtvQkFDRCxPQUFPLEVBQUU7d0JBQ1Isd0JBQXdCO3dCQUN4QixnQ0FBZ0M7d0JBQ2hDLGtDQUFrQzt3QkFDbEMsNEJBQTRCO3FCQUM1QjtpQkFDRCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tbW9uTW9kdWxlfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtOZ01vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0Zvcm1zTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge05nRG9jRGVtb0Rpc3BsYXllck1vZHVsZX0gZnJvbSAnQG5nLWRvYy9hcHAvY29tcG9uZW50cy9kZW1vLWRpc3BsYXllcic7XG5pbXBvcnQge1xuXHROZ0RvY0FzQXJyYXlNb2R1bGUsXG5cdE5nRG9jQnV0dG9uSWNvbk1vZHVsZSxcblx0TmdEb2NCdXR0b25Nb2R1bGUsXG5cdE5nRG9jQ2hlY2tib3hNb2R1bGUsXG5cdE5nRG9jSWNvbk1vZHVsZSxcblx0TmdEb2NMYWJlbE1vZHVsZSxcblx0TmdEb2NUZXh0TW9kdWxlLFxuXHROZ0RvY1Rvb2x0aXBNb2R1bGUsXG59IGZyb20gJ0BuZy1kb2MvdWkta2l0JztcbmltcG9ydCB7UG9seW1vcnBoZXVzTW9kdWxlfSBmcm9tICdAdGlua29mZi9uZy1wb2x5bW9ycGhldXMnO1xuXG5pbXBvcnQge05nRG9jUGxheWdyb3VuZENvbXBvbmVudH0gZnJvbSAnLi9wbGF5Z3JvdW5kLmNvbXBvbmVudCc7XG5pbXBvcnQge05nRG9jUGxheWdyb3VuZERlbW9Db21wb25lbnR9IGZyb20gJy4vcGxheWdyb3VuZC1kZW1vL3BsYXlncm91bmQtZGVtby5jb21wb25lbnQnO1xuaW1wb3J0IHtOZ0RvY1BsYXlncm91bmRQcm9wZXJ0aWVzQ29tcG9uZW50fSBmcm9tICcuL3BsYXlncm91bmQtcHJvcGVydGllcy9wbGF5Z3JvdW5kLXByb3BlcnRpZXMuY29tcG9uZW50JztcbmltcG9ydCB7TmdEb2NQbGF5Z3JvdW5kUHJvcGVydHlDb21wb25lbnR9IGZyb20gJy4vcGxheWdyb3VuZC1wcm9wZXJ0eS9wbGF5Z3JvdW5kLXByb3BlcnR5LmNvbXBvbmVudCc7XG5cbkBOZ01vZHVsZSh7XG5cdGRlY2xhcmF0aW9uczogW1xuXHRcdE5nRG9jUGxheWdyb3VuZENvbXBvbmVudCxcblx0XHROZ0RvY1BsYXlncm91bmRQcm9wZXJ0eUNvbXBvbmVudCxcblx0XHROZ0RvY1BsYXlncm91bmRQcm9wZXJ0aWVzQ29tcG9uZW50LFxuXHRcdE5nRG9jUGxheWdyb3VuZERlbW9Db21wb25lbnQsXG5cdF0sXG5cdGltcG9ydHM6IFtcblx0XHRDb21tb25Nb2R1bGUsXG5cdFx0UmVhY3RpdmVGb3Jtc01vZHVsZSxcblx0XHROZ0RvY0xhYmVsTW9kdWxlLFxuXHRcdE5nRG9jVG9vbHRpcE1vZHVsZSxcblx0XHRQb2x5bW9ycGhldXNNb2R1bGUsXG5cdFx0TmdEb2NBc0FycmF5TW9kdWxlLFxuXHRcdE5nRG9jQnV0dG9uSWNvbk1vZHVsZSxcblx0XHROZ0RvY0ljb25Nb2R1bGUsXG5cdFx0TmdEb2NUZXh0TW9kdWxlLFxuXHRcdE5nRG9jQ2hlY2tib3hNb2R1bGUsXG5cdFx0Rm9ybXNNb2R1bGUsXG5cdFx0TmdEb2NCdXR0b25Nb2R1bGUsXG5cdFx0TmdEb2NEZW1vRGlzcGxheWVyTW9kdWxlLFxuXHRdLFxuXHRleHBvcnRzOiBbXG5cdFx0TmdEb2NQbGF5Z3JvdW5kQ29tcG9uZW50LFxuXHRcdE5nRG9jUGxheWdyb3VuZFByb3BlcnR5Q29tcG9uZW50LFxuXHRcdE5nRG9jUGxheWdyb3VuZFByb3BlcnRpZXNDb21wb25lbnQsXG5cdFx0TmdEb2NQbGF5Z3JvdW5kRGVtb0NvbXBvbmVudCxcblx0XSxcbn0pXG5leHBvcnQgY2xhc3MgTmdEb2NQbGF5Z3JvdW5kTW9kdWxlIHt9XG4iXX0=
85
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGxheWdyb3VuZC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FwcC9jb21wb25lbnRzL3BsYXlncm91bmQvcGxheWdyb3VuZC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQzdDLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDdkMsT0FBTyxFQUFDLFdBQVcsRUFBRSxtQkFBbUIsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ2hFLE9BQU8sRUFBQyx3QkFBd0IsRUFBQyxNQUFNLHVDQUF1QyxDQUFDO0FBQy9FLE9BQU8sRUFDTixrQkFBa0IsRUFBRSxlQUFlLEVBQ25DLHFCQUFxQixFQUNyQixpQkFBaUIsRUFDakIsbUJBQW1CLEVBQ25CLGVBQWUsRUFDZixnQkFBZ0IsRUFBRSxjQUFjLEVBQ2hDLGVBQWUsRUFDZixrQkFBa0IsR0FDbEIsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QixPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSwwQkFBMEIsQ0FBQztBQUU1RCxPQUFPLEVBQUMsd0JBQXdCLEVBQUMsTUFBTSx3QkFBd0IsQ0FBQztBQUNoRSxPQUFPLEVBQUMsNEJBQTRCLEVBQUMsTUFBTSw2Q0FBNkMsQ0FBQztBQUN6RixPQUFPLEVBQUMsa0NBQWtDLEVBQUMsTUFBTSx5REFBeUQsQ0FBQztBQUMzRyxPQUFPLEVBQUMsZ0NBQWdDLEVBQUMsTUFBTSxxREFBcUQsQ0FBQzs7QUFpQ3JHLE1BQU0sT0FBTyxxQkFBcUI7O2tIQUFyQixxQkFBcUI7bUhBQXJCLHFCQUFxQixpQkE3QmhDLHdCQUF3QjtRQUN4QixnQ0FBZ0M7UUFDaEMsa0NBQWtDO1FBQ2xDLDRCQUE0QixhQUc1QixZQUFZO1FBQ1osbUJBQW1CO1FBQ25CLGdCQUFnQjtRQUNoQixrQkFBa0I7UUFDbEIsa0JBQWtCO1FBQ2xCLGtCQUFrQjtRQUNsQixxQkFBcUI7UUFDckIsZUFBZTtRQUNmLGVBQWU7UUFDZixtQkFBbUI7UUFDbkIsV0FBVztRQUNYLGlCQUFpQjtRQUNqQix3QkFBd0I7UUFDeEIsZUFBZTtRQUNmLGNBQWMsYUFHZCx3QkFBd0I7UUFDeEIsZ0NBQWdDO1FBQ2hDLGtDQUFrQztRQUNsQyw0QkFBNEI7bUhBR2pCLHFCQUFxQixZQXZCaEMsWUFBWTtRQUNaLG1CQUFtQjtRQUNuQixnQkFBZ0I7UUFDaEIsa0JBQWtCO1FBQ2xCLGtCQUFrQjtRQUNsQixrQkFBa0I7UUFDbEIscUJBQXFCO1FBQ3JCLGVBQWU7UUFDZixlQUFlO1FBQ2YsbUJBQW1CO1FBQ25CLFdBQVc7UUFDWCxpQkFBaUI7UUFDakIsd0JBQXdCO1FBQ3hCLGVBQWU7UUFDZixjQUFjOzJGQVNILHFCQUFxQjtrQkEvQmpDLFFBQVE7bUJBQUM7b0JBQ1QsWUFBWSxFQUFFO3dCQUNiLHdCQUF3Qjt3QkFDeEIsZ0NBQWdDO3dCQUNoQyxrQ0FBa0M7d0JBQ2xDLDRCQUE0QjtxQkFDNUI7b0JBQ0QsT0FBTyxFQUFFO3dCQUNSLFlBQVk7d0JBQ1osbUJBQW1CO3dCQUNuQixnQkFBZ0I7d0JBQ2hCLGtCQUFrQjt3QkFDbEIsa0JBQWtCO3dCQUNsQixrQkFBa0I7d0JBQ2xCLHFCQUFxQjt3QkFDckIsZUFBZTt3QkFDZixlQUFlO3dCQUNmLG1CQUFtQjt3QkFDbkIsV0FBVzt3QkFDWCxpQkFBaUI7d0JBQ2pCLHdCQUF3Qjt3QkFDeEIsZUFBZTt3QkFDZixjQUFjO3FCQUNkO29CQUNELE9BQU8sRUFBRTt3QkFDUix3QkFBd0I7d0JBQ3hCLGdDQUFnQzt3QkFDaEMsa0NBQWtDO3dCQUNsQyw0QkFBNEI7cUJBQzVCO2lCQUNEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21tb25Nb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge05nTW9kdWxlfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7Rm9ybXNNb2R1bGUsIFJlYWN0aXZlRm9ybXNNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7TmdEb2NEZW1vRGlzcGxheWVyTW9kdWxlfSBmcm9tICdAbmctZG9jL2FwcC9jb21wb25lbnRzL2RlbW8tZGlzcGxheWVyJztcbmltcG9ydCB7XG5cdE5nRG9jQXNBcnJheU1vZHVsZSwgTmdEb2NCaW5kTW9kdWxlLFxuXHROZ0RvY0J1dHRvbkljb25Nb2R1bGUsXG5cdE5nRG9jQnV0dG9uTW9kdWxlLFxuXHROZ0RvY0NoZWNrYm94TW9kdWxlLFxuXHROZ0RvY0ljb25Nb2R1bGUsXG5cdE5nRG9jTGFiZWxNb2R1bGUsIE5nRG9jUnVuTW9kdWxlLFxuXHROZ0RvY1RleHRNb2R1bGUsXG5cdE5nRG9jVG9vbHRpcE1vZHVsZSxcbn0gZnJvbSAnQG5nLWRvYy91aS1raXQnO1xuaW1wb3J0IHtQb2x5bW9ycGhldXNNb2R1bGV9IGZyb20gJ0B0aW5rb2ZmL25nLXBvbHltb3JwaGV1cyc7XG5cbmltcG9ydCB7TmdEb2NQbGF5Z3JvdW5kQ29tcG9uZW50fSBmcm9tICcuL3BsYXlncm91bmQuY29tcG9uZW50JztcbmltcG9ydCB7TmdEb2NQbGF5Z3JvdW5kRGVtb0NvbXBvbmVudH0gZnJvbSAnLi9wbGF5Z3JvdW5kLWRlbW8vcGxheWdyb3VuZC1kZW1vLmNvbXBvbmVudCc7XG5pbXBvcnQge05nRG9jUGxheWdyb3VuZFByb3BlcnRpZXNDb21wb25lbnR9IGZyb20gJy4vcGxheWdyb3VuZC1wcm9wZXJ0aWVzL3BsYXlncm91bmQtcHJvcGVydGllcy5jb21wb25lbnQnO1xuaW1wb3J0IHtOZ0RvY1BsYXlncm91bmRQcm9wZXJ0eUNvbXBvbmVudH0gZnJvbSAnLi9wbGF5Z3JvdW5kLXByb3BlcnR5L3BsYXlncm91bmQtcHJvcGVydHkuY29tcG9uZW50JztcblxuQE5nTW9kdWxlKHtcblx0ZGVjbGFyYXRpb25zOiBbXG5cdFx0TmdEb2NQbGF5Z3JvdW5kQ29tcG9uZW50LFxuXHRcdE5nRG9jUGxheWdyb3VuZFByb3BlcnR5Q29tcG9uZW50LFxuXHRcdE5nRG9jUGxheWdyb3VuZFByb3BlcnRpZXNDb21wb25lbnQsXG5cdFx0TmdEb2NQbGF5Z3JvdW5kRGVtb0NvbXBvbmVudCxcblx0XSxcblx0aW1wb3J0czogW1xuXHRcdENvbW1vbk1vZHVsZSxcblx0XHRSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuXHRcdE5nRG9jTGFiZWxNb2R1bGUsXG5cdFx0TmdEb2NUb29sdGlwTW9kdWxlLFxuXHRcdFBvbHltb3JwaGV1c01vZHVsZSxcblx0XHROZ0RvY0FzQXJyYXlNb2R1bGUsXG5cdFx0TmdEb2NCdXR0b25JY29uTW9kdWxlLFxuXHRcdE5nRG9jSWNvbk1vZHVsZSxcblx0XHROZ0RvY1RleHRNb2R1bGUsXG5cdFx0TmdEb2NDaGVja2JveE1vZHVsZSxcblx0XHRGb3Jtc01vZHVsZSxcblx0XHROZ0RvY0J1dHRvbk1vZHVsZSxcblx0XHROZ0RvY0RlbW9EaXNwbGF5ZXJNb2R1bGUsXG5cdFx0TmdEb2NCaW5kTW9kdWxlLFxuXHRcdE5nRG9jUnVuTW9kdWxlLFxuXHRdLFxuXHRleHBvcnRzOiBbXG5cdFx0TmdEb2NQbGF5Z3JvdW5kQ29tcG9uZW50LFxuXHRcdE5nRG9jUGxheWdyb3VuZFByb3BlcnR5Q29tcG9uZW50LFxuXHRcdE5nRG9jUGxheWdyb3VuZFByb3BlcnRpZXNDb21wb25lbnQsXG5cdFx0TmdEb2NQbGF5Z3JvdW5kRGVtb0NvbXBvbmVudCxcblx0XSxcbn0pXG5leHBvcnQgY2xhc3MgTmdEb2NQbGF5Z3JvdW5kTW9kdWxlIHt9XG4iXX0=
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZS1jb250cm9sLXByb3ZpZGVyLW9wdGlvbnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2FwcC9pbnRlcmZhY2VzL3R5cGUtY29udHJvbC1wcm92aWRlci1vcHRpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIE9wdGlvbnMgZm9yIHRoZSB0eXBlIGNvbnRyb2wgcHJvdmlkZXJcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBOZ0RvY1R5cGVDb250cm9sUHJvdmlkZXJPcHRpb25zIHtcblx0LyoqXG5cdCAqIEFsbG93cyB0byBoaWRlIHRoZSBsYWJlbCBvZiB0aGUgdHlwZSBjb250cm9sLFxuXHQgKiBpZiB0aGUgbGFiZWwgaXMgbm90IG5lZWRlZCBvciBpZiB5b3Ugd2FudCB0byB1c2UgYSBjdXN0b20gbGFiZWxcblx0ICovXG5cdGhpZGVMYWJlbD86IGJvb2xlYW47XG59XG4iXX0=
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZS1jb250cm9sLXByb3ZpZGVyLW9wdGlvbnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2FwcC9pbnRlcmZhY2VzL3R5cGUtY29udHJvbC1wcm92aWRlci1vcHRpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIE9wdGlvbnMgZm9yIHRoZSB0eXBlIGNvbnRyb2wgcHJvdmlkZXJcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBOZ0RvY1R5cGVDb250cm9sUHJvdmlkZXJPcHRpb25zIHtcblx0LyoqXG5cdCAqIEFsbG93cyB0byBoaWRlIHRoZSBsYWJlbCBvZiB0aGUgdHlwZSBjb250cm9sLFxuXHQgKiBpZiB0aGUgbGFiZWwgaXMgbm90IG5lZWRlZCBvciBpZiB5b3Ugd2FudCB0byB1c2UgYSBjdXN0b20gbGFiZWxcblx0ICovXG5cdGhpZGVMYWJlbD86IGJvb2xlYW47XG5cdC8qKlxuXHQgKiBZb3UgY2FuIHVzZSB0aGlzIHRvIGNoYW5nZSB0aGUgb3JkZXIgb2YgdGhlIHR5cGUgY29udHJvbFxuXHQgKiBOZ0RvYydzIGNvbnRyb2xzIHN0YXJ0IGF0IDUgYW5kIGdvIHVwIHRvIDEwXG5cdCAqL1xuXHRvcmRlcj86IG51bWJlcjtcbn1cbiJdfQ==
@@ -4,7 +4,7 @@ import { provideTypeControl } from '@ng-doc/app/helpers';
4
4
  import { NgDocCheckboxModule, NgDocTooltipModule } from '@ng-doc/ui-kit';
5
5
  import { NgDocBooleanControlComponent } from './boolean-control.component';
6
6
  import * as i0 from "@angular/core";
7
- const provider = provideTypeControl('boolean', NgDocBooleanControlComponent, { hideLabel: true });
7
+ const provider = provideTypeControl('boolean', NgDocBooleanControlComponent, { hideLabel: true, order: 40 });
8
8
  export class NgDocBooleanControlModule {
9
9
  }
10
10
  NgDocBooleanControlModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: NgDocBooleanControlModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
@@ -19,4 +19,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.4", ngImpor
19
19
  exports: [NgDocBooleanControlComponent],
20
20
  }]
21
21
  }] });
22
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYm9vbGVhbi1jb250cm9sLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYXBwL3R5cGUtY29udHJvbHMvYm9vbGVhbi1jb250cm9sL2Jvb2xlYW4tY29udHJvbC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQzdDLE9BQU8sRUFBQyxRQUFRLEVBQVcsTUFBTSxlQUFlLENBQUM7QUFDakQsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFDdkQsT0FBTyxFQUFDLG1CQUFtQixFQUFFLGtCQUFrQixFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFFdkUsT0FBTyxFQUFDLDRCQUE0QixFQUFDLE1BQU0sNkJBQTZCLENBQUM7O0FBRXpFLE1BQU0sUUFBUSxHQUFhLGtCQUFrQixDQUFDLFNBQVMsRUFBRSw0QkFBNEIsRUFBRSxFQUFDLFNBQVMsRUFBRSxJQUFJLEVBQUMsQ0FBQyxDQUFDO0FBUTFHLE1BQU0sT0FBTyx5QkFBeUI7O3NIQUF6Qix5QkFBeUI7dUhBQXpCLHlCQUF5QixpQkFMdEIsNEJBQTRCLGFBQ2pDLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxrQkFBa0IsYUFFckQsNEJBQTRCO3VIQUUxQix5QkFBeUIsYUFIMUIsQ0FBQyxRQUFRLENBQUMsWUFEWCxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsa0JBQWtCOzJGQUluRCx5QkFBeUI7a0JBTnJDLFFBQVE7bUJBQUM7b0JBQ1QsWUFBWSxFQUFFLENBQUMsNEJBQTRCLENBQUM7b0JBQzVDLE9BQU8sRUFBRSxDQUFDLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxrQkFBa0IsQ0FBQztvQkFDaEUsU0FBUyxFQUFFLENBQUMsUUFBUSxDQUFDO29CQUNyQixPQUFPLEVBQUUsQ0FBQyw0QkFBNEIsQ0FBQztpQkFDdkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbW1vbk1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7TmdNb2R1bGUsIFByb3ZpZGVyfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7cHJvdmlkZVR5cGVDb250cm9sfSBmcm9tICdAbmctZG9jL2FwcC9oZWxwZXJzJztcbmltcG9ydCB7TmdEb2NDaGVja2JveE1vZHVsZSwgTmdEb2NUb29sdGlwTW9kdWxlfSBmcm9tICdAbmctZG9jL3VpLWtpdCc7XG5cbmltcG9ydCB7TmdEb2NCb29sZWFuQ29udHJvbENvbXBvbmVudH0gZnJvbSAnLi9ib29sZWFuLWNvbnRyb2wuY29tcG9uZW50JztcblxuY29uc3QgcHJvdmlkZXI6IFByb3ZpZGVyID0gcHJvdmlkZVR5cGVDb250cm9sKCdib29sZWFuJywgTmdEb2NCb29sZWFuQ29udHJvbENvbXBvbmVudCwge2hpZGVMYWJlbDogdHJ1ZX0pO1xuXG5ATmdNb2R1bGUoe1xuXHRkZWNsYXJhdGlvbnM6IFtOZ0RvY0Jvb2xlYW5Db250cm9sQ29tcG9uZW50XSxcblx0aW1wb3J0czogW0NvbW1vbk1vZHVsZSwgTmdEb2NDaGVja2JveE1vZHVsZSwgTmdEb2NUb29sdGlwTW9kdWxlXSxcblx0cHJvdmlkZXJzOiBbcHJvdmlkZXJdLFxuXHRleHBvcnRzOiBbTmdEb2NCb29sZWFuQ29udHJvbENvbXBvbmVudF0sXG59KVxuZXhwb3J0IGNsYXNzIE5nRG9jQm9vbGVhbkNvbnRyb2xNb2R1bGUge31cbiJdfQ==
22
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYm9vbGVhbi1jb250cm9sLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYXBwL3R5cGUtY29udHJvbHMvYm9vbGVhbi1jb250cm9sL2Jvb2xlYW4tY29udHJvbC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQzdDLE9BQU8sRUFBQyxRQUFRLEVBQVcsTUFBTSxlQUFlLENBQUM7QUFDakQsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFDdkQsT0FBTyxFQUFDLG1CQUFtQixFQUFFLGtCQUFrQixFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFFdkUsT0FBTyxFQUFDLDRCQUE0QixFQUFDLE1BQU0sNkJBQTZCLENBQUM7O0FBRXpFLE1BQU0sUUFBUSxHQUFhLGtCQUFrQixDQUFDLFNBQVMsRUFBRSw0QkFBNEIsRUFBRSxFQUFDLFNBQVMsRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLEVBQUUsRUFBQyxDQUFDLENBQUM7QUFRckgsTUFBTSxPQUFPLHlCQUF5Qjs7c0hBQXpCLHlCQUF5Qjt1SEFBekIseUJBQXlCLGlCQUx0Qiw0QkFBNEIsYUFDakMsWUFBWSxFQUFFLG1CQUFtQixFQUFFLGtCQUFrQixhQUVyRCw0QkFBNEI7dUhBRTFCLHlCQUF5QixhQUgxQixDQUFDLFFBQVEsQ0FBQyxZQURYLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxrQkFBa0I7MkZBSW5ELHlCQUF5QjtrQkFOckMsUUFBUTttQkFBQztvQkFDVCxZQUFZLEVBQUUsQ0FBQyw0QkFBNEIsQ0FBQztvQkFDNUMsT0FBTyxFQUFFLENBQUMsWUFBWSxFQUFFLG1CQUFtQixFQUFFLGtCQUFrQixDQUFDO29CQUNoRSxTQUFTLEVBQUUsQ0FBQyxRQUFRLENBQUM7b0JBQ3JCLE9BQU8sRUFBRSxDQUFDLDRCQUE0QixDQUFDO2lCQUN2QyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tbW9uTW9kdWxlfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtOZ01vZHVsZSwgUHJvdmlkZXJ9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtwcm92aWRlVHlwZUNvbnRyb2x9IGZyb20gJ0BuZy1kb2MvYXBwL2hlbHBlcnMnO1xuaW1wb3J0IHtOZ0RvY0NoZWNrYm94TW9kdWxlLCBOZ0RvY1Rvb2x0aXBNb2R1bGV9IGZyb20gJ0BuZy1kb2MvdWkta2l0JztcblxuaW1wb3J0IHtOZ0RvY0Jvb2xlYW5Db250cm9sQ29tcG9uZW50fSBmcm9tICcuL2Jvb2xlYW4tY29udHJvbC5jb21wb25lbnQnO1xuXG5jb25zdCBwcm92aWRlcjogUHJvdmlkZXIgPSBwcm92aWRlVHlwZUNvbnRyb2woJ2Jvb2xlYW4nLCBOZ0RvY0Jvb2xlYW5Db250cm9sQ29tcG9uZW50LCB7aGlkZUxhYmVsOiB0cnVlLCBvcmRlcjogNDB9KTtcblxuQE5nTW9kdWxlKHtcblx0ZGVjbGFyYXRpb25zOiBbTmdEb2NCb29sZWFuQ29udHJvbENvbXBvbmVudF0sXG5cdGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIE5nRG9jQ2hlY2tib3hNb2R1bGUsIE5nRG9jVG9vbHRpcE1vZHVsZV0sXG5cdHByb3ZpZGVyczogW3Byb3ZpZGVyXSxcblx0ZXhwb3J0czogW05nRG9jQm9vbGVhbkNvbnRyb2xDb21wb25lbnRdLFxufSlcbmV4cG9ydCBjbGFzcyBOZ0RvY0Jvb2xlYW5Db250cm9sTW9kdWxlIHt9XG4iXX0=
@@ -6,7 +6,7 @@ import { NgDocButtonIconModule, NgDocClearControlModule, NgDocFocusableModule, N
6
6
  import { FlControlSilencerModule } from 'flex-controls';
7
7
  import { NgDocNumberControlComponent } from './number-control.component';
8
8
  import * as i0 from "@angular/core";
9
- const provider = provideTypeControl('number', NgDocNumberControlComponent);
9
+ const provider = provideTypeControl('number', NgDocNumberControlComponent, { order: 30 });
10
10
  export class NgDocNumberControlModule {
11
11
  }
12
12
  NgDocNumberControlModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: NgDocNumberControlModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
@@ -47,4 +47,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.4", ngImpor
47
47
  exports: [NgDocNumberControlComponent],
48
48
  }]
49
49
  }] });
50
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnVtYmVyLWNvbnRyb2wubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hcHAvdHlwZS1jb250cm9scy9udW1iZXItY29udHJvbC9udW1iZXItY29udHJvbC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQzdDLE9BQU8sRUFBQyxRQUFRLEVBQVcsTUFBTSxlQUFlLENBQUM7QUFDakQsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQzNDLE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBQ3ZELE9BQU8sRUFDTixxQkFBcUIsRUFDckIsdUJBQXVCLEVBQ3ZCLG9CQUFvQixFQUNwQixlQUFlLEVBQ2Ysc0JBQXNCLEVBQ3RCLHVCQUF1QixHQUN2QixNQUFNLGdCQUFnQixDQUFDO0FBQ3hCLE9BQU8sRUFBQyx1QkFBdUIsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUV0RCxPQUFPLEVBQUMsMkJBQTJCLEVBQUMsTUFBTSw0QkFBNEIsQ0FBQzs7QUFFdkUsTUFBTSxRQUFRLEdBQWEsa0JBQWtCLENBQUMsUUFBUSxFQUFFLDJCQUEyQixDQUFDLENBQUM7QUFrQnJGLE1BQU0sT0FBTyx3QkFBd0I7O3FIQUF4Qix3QkFBd0I7c0hBQXhCLHdCQUF3QixpQkFmckIsMkJBQTJCLGFBRXpDLFlBQVk7UUFDWix1QkFBdUI7UUFDdkIsc0JBQXNCO1FBQ3RCLHVCQUF1QjtRQUN2QixXQUFXO1FBQ1gsdUJBQXVCO1FBQ3ZCLHFCQUFxQjtRQUNyQixvQkFBb0I7UUFDcEIsZUFBZSxhQUdOLDJCQUEyQjtzSEFFekIsd0JBQXdCLGFBSHpCLENBQUMsUUFBUSxDQUFDLFlBVnBCLFlBQVk7UUFDWix1QkFBdUI7UUFDdkIsc0JBQXNCO1FBQ3RCLHVCQUF1QjtRQUN2QixXQUFXO1FBQ1gsdUJBQXVCO1FBQ3ZCLHFCQUFxQjtRQUNyQixvQkFBb0I7UUFDcEIsZUFBZTsyRkFLSix3QkFBd0I7a0JBaEJwQyxRQUFRO21CQUFDO29CQUNULFlBQVksRUFBRSxDQUFDLDJCQUEyQixDQUFDO29CQUMzQyxPQUFPLEVBQUU7d0JBQ1IsWUFBWTt3QkFDWix1QkFBdUI7d0JBQ3ZCLHNCQUFzQjt3QkFDdEIsdUJBQXVCO3dCQUN2QixXQUFXO3dCQUNYLHVCQUF1Qjt3QkFDdkIscUJBQXFCO3dCQUNyQixvQkFBb0I7d0JBQ3BCLGVBQWU7cUJBQ2Y7b0JBQ0QsU0FBUyxFQUFFLENBQUMsUUFBUSxDQUFDO29CQUNyQixPQUFPLEVBQUUsQ0FBQywyQkFBMkIsQ0FBQztpQkFDdEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbW1vbk1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7TmdNb2R1bGUsIFByb3ZpZGVyfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7Rm9ybXNNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7cHJvdmlkZVR5cGVDb250cm9sfSBmcm9tICdAbmctZG9jL2FwcC9oZWxwZXJzJztcbmltcG9ydCB7XG5cdE5nRG9jQnV0dG9uSWNvbk1vZHVsZSxcblx0TmdEb2NDbGVhckNvbnRyb2xNb2R1bGUsXG5cdE5nRG9jRm9jdXNhYmxlTW9kdWxlLFxuXHROZ0RvY0ljb25Nb2R1bGUsXG5cdE5nRG9jSW5wdXROdW1iZXJNb2R1bGUsXG5cdE5nRG9jSW5wdXRXcmFwcGVyTW9kdWxlLFxufSBmcm9tICdAbmctZG9jL3VpLWtpdCc7XG5pbXBvcnQge0ZsQ29udHJvbFNpbGVuY2VyTW9kdWxlfSBmcm9tICdmbGV4LWNvbnRyb2xzJztcblxuaW1wb3J0IHtOZ0RvY051bWJlckNvbnRyb2xDb21wb25lbnR9IGZyb20gJy4vbnVtYmVyLWNvbnRyb2wuY29tcG9uZW50JztcblxuY29uc3QgcHJvdmlkZXI6IFByb3ZpZGVyID0gcHJvdmlkZVR5cGVDb250cm9sKCdudW1iZXInLCBOZ0RvY051bWJlckNvbnRyb2xDb21wb25lbnQpO1xuXG5ATmdNb2R1bGUoe1xuXHRkZWNsYXJhdGlvbnM6IFtOZ0RvY051bWJlckNvbnRyb2xDb21wb25lbnRdLFxuXHRpbXBvcnRzOiBbXG5cdFx0Q29tbW9uTW9kdWxlLFxuXHRcdE5nRG9jSW5wdXRXcmFwcGVyTW9kdWxlLFxuXHRcdE5nRG9jSW5wdXROdW1iZXJNb2R1bGUsXG5cdFx0TmdEb2NDbGVhckNvbnRyb2xNb2R1bGUsXG5cdFx0Rm9ybXNNb2R1bGUsXG5cdFx0RmxDb250cm9sU2lsZW5jZXJNb2R1bGUsXG5cdFx0TmdEb2NCdXR0b25JY29uTW9kdWxlLFxuXHRcdE5nRG9jRm9jdXNhYmxlTW9kdWxlLFxuXHRcdE5nRG9jSWNvbk1vZHVsZSxcblx0XSxcblx0cHJvdmlkZXJzOiBbcHJvdmlkZXJdLFxuXHRleHBvcnRzOiBbTmdEb2NOdW1iZXJDb250cm9sQ29tcG9uZW50XSxcbn0pXG5leHBvcnQgY2xhc3MgTmdEb2NOdW1iZXJDb250cm9sTW9kdWxlIHt9XG4iXX0=
50
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnVtYmVyLWNvbnRyb2wubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hcHAvdHlwZS1jb250cm9scy9udW1iZXItY29udHJvbC9udW1iZXItY29udHJvbC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQzdDLE9BQU8sRUFBQyxRQUFRLEVBQVcsTUFBTSxlQUFlLENBQUM7QUFDakQsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQzNDLE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBQ3ZELE9BQU8sRUFDTixxQkFBcUIsRUFDckIsdUJBQXVCLEVBQ3ZCLG9CQUFvQixFQUNwQixlQUFlLEVBQ2Ysc0JBQXNCLEVBQ3RCLHVCQUF1QixHQUN2QixNQUFNLGdCQUFnQixDQUFDO0FBQ3hCLE9BQU8sRUFBQyx1QkFBdUIsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUV0RCxPQUFPLEVBQUMsMkJBQTJCLEVBQUMsTUFBTSw0QkFBNEIsQ0FBQzs7QUFFdkUsTUFBTSxRQUFRLEdBQWEsa0JBQWtCLENBQUMsUUFBUSxFQUFFLDJCQUEyQixFQUFFLEVBQUMsS0FBSyxFQUFFLEVBQUUsRUFBQyxDQUFDLENBQUM7QUFrQmxHLE1BQU0sT0FBTyx3QkFBd0I7O3FIQUF4Qix3QkFBd0I7c0hBQXhCLHdCQUF3QixpQkFmckIsMkJBQTJCLGFBRXpDLFlBQVk7UUFDWix1QkFBdUI7UUFDdkIsc0JBQXNCO1FBQ3RCLHVCQUF1QjtRQUN2QixXQUFXO1FBQ1gsdUJBQXVCO1FBQ3ZCLHFCQUFxQjtRQUNyQixvQkFBb0I7UUFDcEIsZUFBZSxhQUdOLDJCQUEyQjtzSEFFekIsd0JBQXdCLGFBSHpCLENBQUMsUUFBUSxDQUFDLFlBVnBCLFlBQVk7UUFDWix1QkFBdUI7UUFDdkIsc0JBQXNCO1FBQ3RCLHVCQUF1QjtRQUN2QixXQUFXO1FBQ1gsdUJBQXVCO1FBQ3ZCLHFCQUFxQjtRQUNyQixvQkFBb0I7UUFDcEIsZUFBZTsyRkFLSix3QkFBd0I7a0JBaEJwQyxRQUFRO21CQUFDO29CQUNULFlBQVksRUFBRSxDQUFDLDJCQUEyQixDQUFDO29CQUMzQyxPQUFPLEVBQUU7d0JBQ1IsWUFBWTt3QkFDWix1QkFBdUI7d0JBQ3ZCLHNCQUFzQjt3QkFDdEIsdUJBQXVCO3dCQUN2QixXQUFXO3dCQUNYLHVCQUF1Qjt3QkFDdkIscUJBQXFCO3dCQUNyQixvQkFBb0I7d0JBQ3BCLGVBQWU7cUJBQ2Y7b0JBQ0QsU0FBUyxFQUFFLENBQUMsUUFBUSxDQUFDO29CQUNyQixPQUFPLEVBQUUsQ0FBQywyQkFBMkIsQ0FBQztpQkFDdEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbW1vbk1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7TmdNb2R1bGUsIFByb3ZpZGVyfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7Rm9ybXNNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7cHJvdmlkZVR5cGVDb250cm9sfSBmcm9tICdAbmctZG9jL2FwcC9oZWxwZXJzJztcbmltcG9ydCB7XG5cdE5nRG9jQnV0dG9uSWNvbk1vZHVsZSxcblx0TmdEb2NDbGVhckNvbnRyb2xNb2R1bGUsXG5cdE5nRG9jRm9jdXNhYmxlTW9kdWxlLFxuXHROZ0RvY0ljb25Nb2R1bGUsXG5cdE5nRG9jSW5wdXROdW1iZXJNb2R1bGUsXG5cdE5nRG9jSW5wdXRXcmFwcGVyTW9kdWxlLFxufSBmcm9tICdAbmctZG9jL3VpLWtpdCc7XG5pbXBvcnQge0ZsQ29udHJvbFNpbGVuY2VyTW9kdWxlfSBmcm9tICdmbGV4LWNvbnRyb2xzJztcblxuaW1wb3J0IHtOZ0RvY051bWJlckNvbnRyb2xDb21wb25lbnR9IGZyb20gJy4vbnVtYmVyLWNvbnRyb2wuY29tcG9uZW50JztcblxuY29uc3QgcHJvdmlkZXI6IFByb3ZpZGVyID0gcHJvdmlkZVR5cGVDb250cm9sKCdudW1iZXInLCBOZ0RvY051bWJlckNvbnRyb2xDb21wb25lbnQsIHtvcmRlcjogMzB9KTtcblxuQE5nTW9kdWxlKHtcblx0ZGVjbGFyYXRpb25zOiBbTmdEb2NOdW1iZXJDb250cm9sQ29tcG9uZW50XSxcblx0aW1wb3J0czogW1xuXHRcdENvbW1vbk1vZHVsZSxcblx0XHROZ0RvY0lucHV0V3JhcHBlck1vZHVsZSxcblx0XHROZ0RvY0lucHV0TnVtYmVyTW9kdWxlLFxuXHRcdE5nRG9jQ2xlYXJDb250cm9sTW9kdWxlLFxuXHRcdEZvcm1zTW9kdWxlLFxuXHRcdEZsQ29udHJvbFNpbGVuY2VyTW9kdWxlLFxuXHRcdE5nRG9jQnV0dG9uSWNvbk1vZHVsZSxcblx0XHROZ0RvY0ZvY3VzYWJsZU1vZHVsZSxcblx0XHROZ0RvY0ljb25Nb2R1bGUsXG5cdF0sXG5cdHByb3ZpZGVyczogW3Byb3ZpZGVyXSxcblx0ZXhwb3J0czogW05nRG9jTnVtYmVyQ29udHJvbENvbXBvbmVudF0sXG59KVxuZXhwb3J0IGNsYXNzIE5nRG9jTnVtYmVyQ29udHJvbE1vZHVsZSB7fVxuIl19