info-library 2.10.32 → 2.10.35

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.
@@ -1,8 +1,9 @@
1
1
  import { ControlValueAccessor } from '@angular/forms';
2
2
  import { DomSanitizer } from '@angular/platform-browser';
3
- import { AngularEditorConfig } from '@kolkov/angular-editor';
3
+ import { AngularEditorComponent, AngularEditorConfig } from '@kolkov/angular-editor';
4
4
  export declare class InfoEditorComponent implements ControlValueAccessor {
5
5
  private _sanitizer;
6
+ editor: AngularEditorComponent;
6
7
  required: boolean;
7
8
  get disabled(): boolean;
8
9
  set disabled(value: boolean);
@@ -3,9 +3,10 @@
3
3
  * Generated from: controls/editor/editor.component.ts
4
4
  * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
5
5
  */
6
- import { Component, forwardRef, Input, SecurityContext } from '@angular/core';
6
+ import { Component, forwardRef, Input, SecurityContext, ViewChild } from '@angular/core';
7
7
  import { NG_VALUE_ACCESSOR } from '@angular/forms';
8
8
  import { DomSanitizer } from '@angular/platform-browser';
9
+ import { AngularEditorComponent } from '@kolkov/angular-editor';
9
10
  export class InfoEditorComponent {
10
11
  /**
11
12
  * @param {?} _sanitizer
@@ -111,6 +112,10 @@ export class InfoEditorComponent {
111
112
  * @return {?}
112
113
  */
113
114
  () => _this.focused = false));
115
+ document.querySelector(`#${this.id} .angular-editor-textarea`).addEventListener('mouseout', (/**
116
+ * @return {?}
117
+ */
118
+ () => _this.editor.editorToolbar['editorService'].saveSelection()));
114
119
  }
115
120
  /**
116
121
  * @private
@@ -170,7 +175,7 @@ export class InfoEditorComponent {
170
175
  InfoEditorComponent.decorators = [
171
176
  { type: Component, args: [{
172
177
  selector: 'info-editor',
173
- template: "<angular-editor [attr.id]=\"id\" [attr.focused]=\"focused\" [(ngModel)]=\"value\" name=\"editor\" [config]=\"editorConfig\" (ngModelChange)=\"onChangeValue()\" [required]=\"required\"></angular-editor>\r\n",
178
+ template: "<angular-editor [attr.id]=\"id\" [attr.focused]=\"focused\" [(ngModel)]=\"value\" name=\"editor\" [config]=\"editorConfig\" (ngModelChange)=\"onChangeValue()\" [required]=\"required\" #editor></angular-editor>\r\n",
174
179
  providers: [{
175
180
  provide: NG_VALUE_ACCESSOR,
176
181
  useExisting: forwardRef((/**
@@ -179,7 +184,7 @@ InfoEditorComponent.decorators = [
179
184
  () => InfoEditorComponent)),
180
185
  multi: true
181
186
  }],
182
- styles: [":host ::ng-deep .angular-editor-toolbar-set #insertVideo-,:host ::ng-deep .angular-editor-toolbar-set #link-,:host ::ng-deep .angular-editor-toolbar-set #toggleEditorMode-,:host ::ng-deep .angular-editor-toolbar-set #unlink-{display:none}:host ::ng-deep .angular-editor-textarea{border:none!important;border-bottom:1px solid!important;outline:none}:host ::ng-deep .angular-editor-textarea[contenteditable=false]{border-bottom:1.5px dotted #d3d3d3!important}:host ::ng-deep .angular-editor-wrapper:after{background-color:#000;bottom:0;content:\"\";height:2px;left:0;opacity:0;position:absolute;transform:scaleX(.5);transform-origin:50%;transition:background-color .3s cubic-bezier(.55,0,.55,.2);width:100%}:host ::ng-deep [focused=true] .angular-editor-wrapper:after{opacity:1;transform:scaleX(1);transition:transform .3s cubic-bezier(.25,.8,.25,1),opacity .1s cubic-bezier(.25,.8,.25,1),background-color .3s cubic-bezier(.25,.8,.25,1)}:host ::ng-deep .ng-touched.ng-invalid .angular-editor-wrapper:after{background-color:#f44336!important}:host ::ng-deep .ng-touched.ng-invalid .angular-editor-textarea[contenteditable=true]{border-bottom-color:#f44336!important}"]
187
+ styles: [":host ::ng-deep .angular-editor-toolbar-set #insertVideo-,:host ::ng-deep .angular-editor-toolbar-set #toggleEditorMode-{display:none}:host ::ng-deep .angular-editor-textarea{border:none!important;border-bottom:1px solid!important;outline:none}:host ::ng-deep .angular-editor-textarea[contenteditable=false]{border-bottom:1.5px dotted #d3d3d3!important}:host ::ng-deep .angular-editor-wrapper:after{background-color:#000;bottom:0;content:\"\";height:2px;left:0;opacity:0;position:absolute;transform:scaleX(.5);transform-origin:50%;transition:background-color .3s cubic-bezier(.55,0,.55,.2);width:100%}:host ::ng-deep [focused=true] .angular-editor-wrapper:after{opacity:1;transform:scaleX(1);transition:transform .3s cubic-bezier(.25,.8,.25,1),opacity .1s cubic-bezier(.25,.8,.25,1),background-color .3s cubic-bezier(.25,.8,.25,1)}:host ::ng-deep .ng-touched.ng-invalid .angular-editor-wrapper:after{background-color:#f44336!important}:host ::ng-deep .ng-touched.ng-invalid .angular-editor-textarea[contenteditable=true]{border-bottom-color:#f44336!important}"]
183
188
  }] }
184
189
  ];
185
190
  /** @nocollapse */
@@ -187,6 +192,7 @@ InfoEditorComponent.ctorParameters = () => [
187
192
  { type: DomSanitizer }
188
193
  ];
189
194
  InfoEditorComponent.propDecorators = {
195
+ editor: [{ type: ViewChild, args: ['editor',] }],
190
196
  required: [{ type: Input }],
191
197
  disabled: [{ type: Input }],
192
198
  height: [{ type: Input }],
@@ -196,6 +202,8 @@ InfoEditorComponent.propDecorators = {
196
202
  minwidth: [{ type: Input }]
197
203
  };
198
204
  if (false) {
205
+ /** @type {?} */
206
+ InfoEditorComponent.prototype.editor;
199
207
  /** @type {?} */
200
208
  InfoEditorComponent.prototype.required;
201
209
  /** @type {?} */
@@ -216,4 +224,4 @@ if (false) {
216
224
  */
217
225
  InfoEditorComponent.prototype._sanitizer;
218
226
  }
219
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRpdG9yLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2luZm8tbGlicmFyeS9zcmMvY29udHJvbHMvZWRpdG9yL2VkaXRvci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQUUsZUFBZSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzlFLE9BQU8sRUFBd0IsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN6RSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFhekQsTUFBTSxPQUFPLG1CQUFtQjs7OztJQXdEOUIsWUFBb0IsVUFBd0I7UUFBeEIsZUFBVSxHQUFWLFVBQVUsQ0FBYztRQXREbkMsYUFBUSxHQUFZLEtBQUssQ0FBQztRQTBCbkMsVUFBSyxHQUFRLEVBQUUsQ0FBQztRQUloQixZQUFPLEdBQUcsS0FBSyxDQUFDO1FBQ2hCLE9BQUUsR0FBRyxJQUFJLENBQUM7UUFFVixpQkFBWSxHQUF3QjtZQUNsQyxRQUFRLEVBQUUsSUFBSTtZQUNkLFVBQVUsRUFBRSxJQUFJO1lBQ2hCLE1BQU0sRUFBRSxNQUFNO1lBQ2QsU0FBUyxFQUFFLEdBQUc7WUFDZCxTQUFTLEVBQUUsTUFBTTtZQUNqQixLQUFLLEVBQUUsTUFBTTtZQUNiLFFBQVEsRUFBRSxHQUFHO1lBQ2IsU0FBUyxFQUFFLEtBQUs7WUFDaEIsYUFBYSxFQUFFLElBQUk7WUFDbkIsV0FBVyxFQUFFLElBQUk7WUFDakIseUJBQXlCLEVBQUUsRUFBRTtZQUM3QixlQUFlLEVBQUUsS0FBSztZQUN0QixLQUFLLEVBQUU7Z0JBQ0wsRUFBQyxLQUFLLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUM7Z0JBQy9CLEVBQUMsS0FBSyxFQUFFLGlCQUFpQixFQUFFLElBQUksRUFBRSxpQkFBaUIsRUFB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QUFLLEVBQUUsSUFBSTtxQkFDWixDQUFDOzthQUNIOzs7O1lBWlEsWUFBWTs7O3VCQWVsQixLQUFLO3VCQUVMLEtBQUs7cUJBSUwsS0FBSzt3QkFJTCxLQUFLO3dCQUlMLEtBQUs7b0JBSUwsS0FBSzt1QkFJTCxLQUFLOzs7O0lBdEJOLHVDQUFtQzs7SUEwQm5DLG9DQUFnQjs7SUFFaEIsdUNBQWM7O0lBQ2Qsd0NBQWU7O0lBQ2Ysc0NBQWdCOztJQUNoQixpQ0FBVTs7SUFFViwyQ0FtQkU7Ozs7O0lBRVUseUNBQWdDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBmb3J3YXJkUmVmLCBJbnB1dCwgU2VjdXJpdHlDb250ZXh0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgRG9tU2FuaXRpemVyIH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XHJcbmltcG9ydCB7IEFuZ3VsYXJFZGl0b3JDb25maWcgfSBmcm9tICdAa29sa292L2FuZ3VsYXItZWRpdG9yJztcclxuIFxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2luZm8tZWRpdG9yJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vZWRpdG9yLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9lZGl0b3IuY29tcG9uZW50LnNjc3MnXSxcclxuICBwcm92aWRlcnM6IFt7XHJcbiAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcclxuICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IEluZm9FZGl0b3JDb21wb25lbnQpLFxyXG4gICAgbXVsdGk6IHRydWVcclxuICB9XVxyXG59KVxyXG5leHBvcnQgY2xhc3MgSW5mb0VkaXRvckNvbXBvbmVudCBpbXBsZW1lbnRzIENvbnRyb2xWYWx1ZUFjY2Vzc29yIHtcclxuXHJcbiAgQElucHV0KCkgcmVxdWlyZWQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgQElucHV0KClcclxuICBnZXQgZGlzYWJsZWQoKSB7IHJldHVybiAhKHRoaXMuZWRpdG9yQ29uZmlnIHx8IHt9KS5lZGl0YWJsZTsgfVxyXG4gIHNldCBkaXNhYmxlZCh2YWx1ZSkgeyB0aGlzLmVkaXRvckNvbmZpZy5lZGl0YWJsZSA9ICF2YWx1ZTsgfVxyXG5cclxuICBASW5wdXQoKVxyXG4gIGdldCBoZWlnaHQoKSB7IHJldHVybiAodGhpcy5lZGl0b3JDb25maWcgfHwge30pLmhlaWdodDsgfVxyXG4gIHNldCBoZWlnaHQodmFsdWUpIHsgdGhpcy5lZGl0b3JDb25maWcuaGVpZ2h0ID0gdmFsdWUgfHwgJ2F1dG8nOyB9XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgZ2V0IG1pbmhlaWdodCgpIHsgcmV0dXJuICh0aGlzLmVkaXRvckNvbmZpZyB8fCB7fSkubWluSGVpZ2h0OyB9XHJcbiAgc2V0IG1pbmhlaWdodCh2YWx1ZSkgeyB0aGlzLmVkaXRvckNvbmZpZy5taW5IZWlnaHQgPSB2YWx1ZSB8fCAnMCc7IH1cclxuXHJcbiAgQElucHV0KClcclxuICBnZXQgbWF4aGVpZ2h0KCkgeyByZXR1cm4gKHRoaXMuZWRpdG9yQ29uZmlnIHx8IHt9KS5tYXhIZWlnaHQ7IH1cclxuICBzZXQgbWF4aGVpZ2h0KHZhbHVlKSB7IHRoaXMuZWRpdG9yQ29uZmlnLm1heEhlaWdodCA9IHZhbHVlIHx8ICdhdXRvJzsgfVxyXG5cclxuICBASW5wdXQoKVxyXG4gIGdldCB3aWR0aCgpIHsgcmV0dXJuICh0aGlzLmVkaXRvckNvbmZpZyB8fCB7fSkud2lkdGg7IH1cclxuICBzZXQgd2lkdGgodmFsdWUpIHsgdGhpcy5lZGl0b3JDb25maWcud2lkdGggPSB2YWx1ZSB8fCAnYXV0byc7IH1cclxuXHJcbiAgQElucHV0KClcclxuICBnZXQgbWlud2lkdGgoKSB7IHJldHVybiAodGhpcy5lZGl0b3JDb25maWcgfHwge30pLm1pbldpZHRoOyB9XHJcbiAgc2V0IG1pbndpZHRoKHZhbHVlKSB7IHRoaXMuZWRpdG9yQ29uZmlnLm1pbldpZHRoID0gdmFsdWUgfHwgJzAnOyB9XHJcblxyXG4gIHZhbHVlOiBhbnkgPSAnJztcclxuICBcclxuICBvbkNoYW5nZTogYW55O1xyXG4gIG9uVG91Y2hlZDogYW55O1xyXG4gIGZvY3VzZWQgPSBmYWxzZTtcclxuICBpZCA9IG51bGw7XHJcblxyXG4gIGVkaXRvckNvbmZpZzogQW5ndWxhckVkaXRvckNvbmZpZyA9IHtcclxuICAgIGVkaXRhYmxlOiB0cnVlLFxyXG4gICAgc3BlbGxjaGVjazogdHJ1ZSxcclxuICAgIGhlaWdodDogJ2F1dG8nLFxyXG4gICAgbWluSGVpZ2h0OiAnMCcsXHJcbiAgICBtYXhIZWlnaHQ6ICdhdXRvJyxcclxuICAgIHdpZHRoOiAnYXV0bycsXHJcbiAgICBtaW5XaWR0aDogJzAnLFxyXG4gICAgdHJhbnNsYXRlOiAneWVzJyxcclxuICAgIGVuYWJsZVRvb2xiYXI6IHRydWUsXHJcbiAgICBzaG93VG9vbGJhcjogdHJ1ZSxcclxuICAgIGRlZmF1bHRQYXJhZ3JhcGhTZXBhcmF0b3I6ICcnLFxyXG4gICAgdG9vbGJhclBvc2l0aW9uOiAndG9wJyxcclxuICAgIGZvbnRzOiBbXHJcbiAgICAgIHtjbGFzczogJ2FyaWFsJywgbmFtZTogJ0FyaWFsJ30sXHJcbiAgICAgIHtjbGFzczogJ3RpbWVzLW5ldy1yb21hbicsIG5hbWU6ICdUaW1lcyBOZXcgUm9tYW4nfSxcclxuICAgICAge2NsYXNzOiAnY2FsaWJyaScsIG5hbWU6ICdDYWxpYnJpJ30sXHJcbiAgICAgIHtjbGFzczogJ2NvbWljLXNhbnMtbXMnLCBuYW1lOiAnQ29taWMgU2FucyBNUyd9XHJcbiAgICBdLFxyXG4gIH07XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgX3Nhbml0aXplcjogRG9tU2FuaXRpemVyKSB7fVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIHRoaXMuaWQgPSBgZWRpdG9yLSR7dGhpcy5nZXRHdWlkKCl9YDtcclxuICB9XHJcblxyXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcclxuICAgIHZhciBfdGhpcyA9IHRoaXM7XHJcbiAgICBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKGAjJHt0aGlzLmlkfSAuYW5ndWxhci1lZGl0b3ItdGV4dGFyZWFgKS5hZGRFdmVudExpc3RlbmVyKCdmb2N1cycsICgpID0+IF90aGlzLmZvY3VzZWQgPSB0cnVlKTtcclxuICAgIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoYCMke3RoaXMuaWR9IC5hbmd1bGFyLWVkaXRvci10ZXh0YXJlYWApLmFkZEV2ZW50TGlzdGVuZXIoJ2JsdXInLCAoKSA9PiBfdGhpcy5mb2N1c2VkID0gZmFsc2UpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBnZXRHdWlkKCkgOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuICd4eHh4eHh4eC14eHh4LTR4eHgteXh4eC14eHh4eHh4eHh4eHgnLnJlcGxhY2UoL1t4eV0vZywgZnVuY3Rpb24oYykge1xyXG4gICAgICAgIGNvbnN0IHIgPSBNYXRoLnJhbmRvbSgpICogMTYgfCAwLCB2ID0gYyA9PT0gJ3gnID8gciA6ICggciAmIDB4MyB8IDB4OCApO1xyXG4gICAgICAgIHJldHVybiB2LnRvU3RyaW5nKDE2KTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgb25DaGFuZ2VWYWx1ZSgpIHtcclxuICAgIHRoaXMudmFsdWUgPSB0aGlzLl9zYW5pdGl6ZXIuc2FuaXRpemUoU2VjdXJpdHlDb250ZXh0LkhUTUwsIHRoaXMudmFsdWUpO1xyXG4gICAgaWYgKHRoaXMub25DaGFuZ2UgIT0gbnVsbClcclxuICAgICAgICB0aGlzLm9uQ2hhbmdlKHRoaXMudmFsdWUpO1xyXG4gIH1cclxuXHJcbiAgd3JpdGVWYWx1ZShtb2RlbFZhbHVlOiBhbnkpOiB2b2lkIHtcclxuICAgIHRoaXMudmFsdWUgPSB0aGlzLl9zYW5pdGl6ZXIuc2FuaXRpemUoU2VjdXJpdHlDb250ZXh0LkhUTUwsIG1vZGVsVmFsdWUpO1xyXG4gICAgdGhpcy5vbkNoYW5nZVZhbHVlKCk7XHJcbiAgfVxyXG4gIFxyXG4gIHJlZ2lzdGVyT25DaGFuZ2UoZm46IGFueSk6IHZvaWQge1xyXG4gICAgdGhpcy5vbkNoYW5nZSA9IGZuO1xyXG4gIH1cclxuICBcclxuICByZWdpc3Rlck9uVG91Y2hlZChmbjogYW55KTogdm9pZCB7XHJcbiAgICB0aGlzLm9uVG91Y2hlZCA9IGZuO1xyXG4gIH1cclxuICBcclxuICBzZXREaXNhYmxlZFN0YXRlPyhpc0Rpc2FibGVkOiBib29sZWFuKTogdm9pZCB7XHJcbiAgICB0aGlzLmRpc2FibGVkID0gaXNEaXNhYmxlZDtcclxuICB9XHJcbiAgXHJcbn0iXX0=
227
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRpdG9yLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2luZm8tbGlicmFyeS9zcmMvY29udHJvbHMvZWRpdG9yL2VkaXRvci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQUUsZUFBZSxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6RixPQUFPLEVBQXdCLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDekUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxzQkFBc0IsRUFBNkMsTUFBTSx3QkFBd0IsQ0FBQztBQVkzRyxNQUFNLE9BQU8sbUJBQW1COzs7O0lBMEQ5QixZQUFvQixVQUF3QjtRQUF4QixlQUFVLEdBQVYsVUFBVSxDQUFjO1FBdERuQyxhQUFRLEdBQVksS0FBSyxDQUFDO1FBMEJuQyxVQUFLLEdBQVEsRUFBRSxDQUFDO1FBSWhCLFlBQU8sR0FBRyxLQUFLLENBQUM7UUFDaEIsT0FBRSxHQUFHLElBQUksQ0FBQztRQUVWLGlCQUFZLEdBQXdCO1lBQ2xDLFFBQVEsRUFBRSxJQUFJO1lBQ2QsVUFBVSxFQUFFLElBQUk7WUFDaEIsTUFBTSxFQUFFLE1BQU07WUFDZCxTQUFTLEVBQUUsR0FBRztZQUNkLFNBQVMsRUFBRSxNQUFNO1lBQ2pCLEtBQUssRUFBRSxNQUFNO1lBQ2IsUUFBUSxFQUFFLEdBQUc7WUFDYixTQUFTLEVBQUUsS0FBSztZQUNoQixhQUFhLEVBQUUsSUFBSTtZQUNuQixXQUFXLEVBQUUsSUFBSTtZQUNqQix5QkFBeUIsRUFBRSxFQUFFO1lBQzdCLGVBQWUsRUFBRSxLQUFLO1lBQ3RCLEtBQUssRUFBRTtnQkFDTCxFQUFDLEtBQUssRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFB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QixDQUFFLFVBQW1CO1FBQ25DLElBQUksQ0FBQyxRQUFRLEdBQUcsVUFBVSxDQUFDO0lBQzdCLENBQUM7OztZQTdHRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLGFBQWE7Z0JBQ3ZCLGlPQUFzQztnQkFFdEMsU0FBUyxFQUFFLENBQUM7d0JBQ1YsT0FBTyxFQUFFLGlCQUFpQjt3QkFDMUIsV0FBVyxFQUFFLFVBQVU7Ozt3QkFBQyxHQUFHLEVBQUUsQ0FBQyxtQkFBbUIsRUFBQzt3QkFDbEQsS0FBSyxFQUFFLElBQUk7cUJBQ1osQ0FBQzs7YUFDSDs7OztZQVpRLFlBQVk7OztxQkFlbEIsU0FBUyxTQUFDLFFBQVE7dUJBRWxCLEtBQUs7dUJBRUwsS0FBSztxQkFJTCxLQUFLO3dCQUlMLEtBQUs7d0JBSUwsS0FBSztvQkFJTCxLQUFLO3VCQUlMLEtBQUs7Ozs7SUF4Qk4scUNBQW9EOztJQUVwRCx1Q0FBbUM7O0lBMEJuQyxvQ0FBZ0I7O0lBRWhCLHVDQUFjOztJQUNkLHdDQUFlOztJQUNmLHNDQUFnQjs7SUFDaEIsaUNBQVU7O0lBRVYsMkNBbUJFOzs7OztJQUVVLHlDQUFnQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgZm9yd2FyZFJlZiwgSW5wdXQsIFNlY3VyaXR5Q29udGV4dCwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgRG9tU2FuaXRpemVyIH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XHJcbmltcG9ydCB7IEFuZ3VsYXJFZGl0b3JDb21wb25lbnQsIEFuZ3VsYXJFZGl0b3JDb25maWcsIEFuZ3VsYXJFZGl0b3JTZXJ2aWNlIH0gZnJvbSAnQGtvbGtvdi9hbmd1bGFyLWVkaXRvcic7XHJcbiBcclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdpbmZvLWVkaXRvcicsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2VkaXRvci5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vZWRpdG9yLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgcHJvdmlkZXJzOiBbe1xyXG4gICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXHJcbiAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBJbmZvRWRpdG9yQ29tcG9uZW50KSxcclxuICAgIG11bHRpOiB0cnVlXHJcbiAgfV1cclxufSlcclxuZXhwb3J0IGNsYXNzIEluZm9FZGl0b3JDb21wb25lbnQgaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciB7XHJcblxyXG4gIEBWaWV3Q2hpbGQoJ2VkaXRvcicpIGVkaXRvcjogQW5ndWxhckVkaXRvckNvbXBvbmVudDtcclxuXHJcbiAgQElucHV0KCkgcmVxdWlyZWQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgQElucHV0KClcclxuICBnZXQgZGlzYWJsZWQoKSB7IHJldHVybiAhKHRoaXMuZWRpdG9yQ29uZmlnIHx8IHt9KS5lZGl0YWJsZTsgfVxyXG4gIHNldCBkaXNhYmxlZCh2YWx1ZSkgeyB0aGlzLmVkaXRvckNvbmZpZy5lZGl0YWJsZSA9ICF2YWx1ZTsgfVxyXG5cclxuICBASW5wdXQoKVxyXG4gIGdldCBoZWlnaHQoKSB7IHJldHVybiAodGhpcy5lZGl0b3JDb25maWcgfHwge30pLmhlaWdodDsgfVxyXG4gIHNldCBoZWlnaHQodmFsdWUpIHsgdGhpcy5lZGl0b3JDb25maWcuaGVpZ2h0ID0gdmFsdWUgfHwgJ2F1dG8nOyB9XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgZ2V0IG1pbmhlaWdodCgpIHsgcmV0dXJuICh0aGlzLmVkaXRvckNvbmZpZyB8fCB7fSkubWluSGVpZ2h0OyB9XHJcbiAgc2V0IG1pbmhlaWdodCh2YWx1ZSkgeyB0aGlzLmVkaXRvckNvbmZpZy5taW5IZWlnaHQgPSB2YWx1ZSB8fCAnMCc7IH1cclxuXHJcbiAgQElucHV0KClcclxuICBnZXQgbWF4aGVpZ2h0KCkgeyByZXR1cm4gKHRoaXMuZWRpdG9yQ29uZmlnIHx8IHt9KS5tYXhIZWlnaHQ7IH1cclxuICBzZXQgbWF4aGVpZ2h0KHZhbHVlKSB7IHRoaXMuZWRpdG9yQ29uZmlnLm1heEhlaWdodCA9IHZhbHVlIHx8ICdhdXRvJzsgfVxyXG5cclxuICBASW5wdXQoKVxyXG4gIGdldCB3aWR0aCgpIHsgcmV0dXJuICh0aGlzLmVkaXRvckNvbmZpZyB8fCB7fSkud2lkdGg7IH1cclxuICBzZXQgd2lkdGgodmFsdWUpIHsgdGhpcy5lZGl0b3JDb25maWcud2lkdGggPSB2YWx1ZSB8fCAnYXV0byc7IH1cclxuXHJcbiAgQElucHV0KClcclxuICBnZXQgbWlud2lkdGgoKSB7IHJldHVybiAodGhpcy5lZGl0b3JDb25maWcgfHwge30pLm1pbldpZHRoOyB9XHJcbiAgc2V0IG1pbndpZHRoKHZhbHVlKSB7IHRoaXMuZWRpdG9yQ29uZmlnLm1pbldpZHRoID0gdmFsdWUgfHwgJzAnOyB9XHJcblxyXG4gIHZhbHVlOiBhbnkgPSAnJztcclxuICBcclxuICBvbkNoYW5nZTogYW55O1xyXG4gIG9uVG91Y2hlZDogYW55O1xyXG4gIGZvY3VzZWQgPSBmYWxzZTtcclxuICBpZCA9IG51bGw7XHJcblxyXG4gIGVkaXRvckNvbmZpZzogQW5ndWxhckVkaXRvckNvbmZpZyA9IHtcclxuICAgIGVkaXRhYmxlOiB0cnVlLFxyXG4gICAgc3BlbGxjaGVjazogdHJ1ZSxcclxuICAgIGhlaWdodDogJ2F1dG8nLFxyXG4gICAgbWluSGVpZ2h0OiAnMCcsXHJcbiAgICBtYXhIZWlnaHQ6ICdhdXRvJyxcclxuICAgIHdpZHRoOiAnYXV0bycsXHJcbiAgICBtaW5XaWR0aDogJzAnLFxyXG4gICAgdHJhbnNsYXRlOiAneWVzJyxcclxuICAgIGVuYWJsZVRvb2xiYXI6IHRydWUsXHJcbiAgICBzaG93VG9vbGJhcjogdHJ1ZSxcclxuICAgIGRlZmF1bHRQYXJhZ3JhcGhTZXBhcmF0b3I6ICcnLFxyXG4gICAgdG9vbGJhclBvc2l0aW9uOiAndG9wJyxcclxuICAgIGZvbnRzOiBbXHJcbiAgICAgIHtjbGFzczogJ2FyaWFsJywgbmFtZTogJ0FyaWFsJ30sXHJcbiAgICAgIHtjbGFzczogJ3RpbWVzLW5ldy1yb21hbicsIG5hbWU6ICdUaW1lcyBOZXcgUm9tYW4nfSxcclxuICAgICAge2NsYXNzOiAnY2FsaWJyaScsIG5hbWU6ICdDYWxpYnJpJ30sXHJcbiAgICAgIHtjbGFzczogJ2NvbWljLXNhbnMtbXMnLCBuYW1lOiAnQ29taWMgU2FucyBNUyd9XHJcbiAgICBdLFxyXG4gIH07XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgX3Nhbml0aXplcjogRG9tU2FuaXRpemVyKSB7fVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIHRoaXMuaWQgPSBgZWRpdG9yLSR7dGhpcy5nZXRHdWlkKCl9YDtcclxuICB9XHJcblxyXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcclxuICAgIHZhciBfdGhpcyA9IHRoaXM7XHJcbiAgICBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKGAjJHt0aGlzLmlkfSAuYW5ndWxhci1lZGl0b3ItdGV4dGFyZWFgKS5hZGRFdmVudExpc3RlbmVyKCdmb2N1cycsICgpID0+IF90aGlzLmZvY3VzZWQgPSB0cnVlKTtcclxuICAgIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoYCMke3RoaXMuaWR9IC5hbmd1bGFyLWVkaXRvci10ZXh0YXJlYWApLmFkZEV2ZW50TGlzdGVuZXIoJ2JsdXInLCAoKSA9PiBfdGhpcy5mb2N1c2VkID0gZmFsc2UpO1xyXG4gICAgZG9jdW1lbnQucXVlcnlTZWxlY3RvcihgIyR7dGhpcy5pZH0gLmFuZ3VsYXItZWRpdG9yLXRleHRhcmVhYCkuYWRkRXZlbnRMaXN0ZW5lcignbW91c2VvdXQnLCAoKSA9PiBfdGhpcy5lZGl0b3IuZWRpdG9yVG9vbGJhclsnZWRpdG9yU2VydmljZSddLnNhdmVTZWxlY3Rpb24oKSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGdldEd1aWQoKSA6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gJ3h4eHh4eHh4LXh4eHgtNHh4eC15eHh4LXh4eHh4eHh4eHh4eCcucmVwbGFjZSgvW3h5XS9nLCBmdW5jdGlvbihjKSB7XHJcbiAgICAgICAgY29uc3QgciA9IE1hdGgucmFuZG9tKCkgKiAxNiB8IDAsIHYgPSBjID09PSAneCcgPyByIDogKCByICYgMHgzIHwgMHg4ICk7XHJcbiAgICAgICAgcmV0dXJuIHYudG9TdHJpbmcoMTYpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBvbkNoYW5nZVZhbHVlKCkge1xyXG4gICAgdGhpcy52YWx1ZSA9IHRoaXMuX3Nhbml0aXplci5zYW5pdGl6ZShTZWN1cml0eUNvbnRleHQuSFRNTCwgdGhpcy52YWx1ZSk7XHJcbiAgICBpZiAodGhpcy5vbkNoYW5nZSAhPSBudWxsKVxyXG4gICAgICAgIHRoaXMub25DaGFuZ2UodGhpcy52YWx1ZSk7XHJcbiAgfVxyXG5cclxuICB3cml0ZVZhbHVlKG1vZGVsVmFsdWU6IGFueSk6IHZvaWQge1xyXG4gICAgdGhpcy52YWx1ZSA9IHRoaXMuX3Nhbml0aXplci5zYW5pdGl6ZShTZWN1cml0eUNvbnRleHQuSFRNTCwgbW9kZWxWYWx1ZSk7XHJcbiAgICB0aGlzLm9uQ2hhbmdlVmFsdWUoKTtcclxuICB9XHJcbiAgXHJcbiAgcmVnaXN0ZXJPbkNoYW5nZShmbjogYW55KTogdm9pZCB7XHJcbiAgICB0aGlzLm9uQ2hhbmdlID0gZm47XHJcbiAgfVxyXG4gIFxyXG4gIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiBhbnkpOiB2b2lkIHtcclxuICAgIHRoaXMub25Ub3VjaGVkID0gZm47XHJcbiAgfVxyXG4gIFxyXG4gIHNldERpc2FibGVkU3RhdGU/KGlzRGlzYWJsZWQ6IGJvb2xlYW4pOiB2b2lkIHtcclxuICAgIHRoaXMuZGlzYWJsZWQgPSBpc0Rpc2FibGVkO1xyXG4gIH1cclxuICBcclxufSJdfQ==
@@ -116,7 +116,7 @@ export class InfoInputComponent {
116
116
  InfoInputComponent.decorators = [
117
117
  { type: Component, args: [{
118
118
  selector: 'info-input',
119
- template: "<mat-form-field *ngIf=\"type != 'color' && type != 'textarea' && ismask == null\" >\r\n <mat-icon *ngIf=\"iconPrefix\" matPrefix style=\"color: #aaa\">{{iconPrefix}}</mat-icon>\r\n \r\n <input matInput [type]=\"type\" [step]=\"step\" [min]=\"min\" [max]=\"max\" [tabindex]=\"tabindex\" [placeholder]=\"placeholder | translate\" [(ngModel)]=\"value\" (input)=\"onChangeValue()\" (blur)=\"onBlur()\"\r\n [maxlength]=\"maxlength\" [readonly]=\"readonly\" [disabled]=\"disabled\" [required]=\"required\">\r\n\r\n <mat-icon *ngIf=\"iconSuffix\" matSuffix style=\"color: #aaa\">{{iconSuffix}}</mat-icon>\r\n <mat-icon class=\"show-password\" *ngIf=\"passwordMode\" (click)=\"type = (type == 'password') ? 'text' : 'password'\" matSuffix >visibility{{ type == 'password' ? '' : '_off' }}</mat-icon>\r\n</mat-form-field>\r\n\r\n<mat-form-field *ngIf=\"type != 'color' && type != 'textarea' && ismask != null\">\r\n <mat-icon *ngIf=\"iconPrefix\" matPrefix style=\"color: #aaa\">{{iconPrefix}}</mat-icon>\r\n\r\n <input matInput [tabindex]=\"tabindex\" [placeholder]=\"placeholder | translate\" [(ngModel)]=\"value\" (ngModelChange)=\"onChangeValue()\" (blur)=\"onBlur()\" *ngIf=\"customMask == null\"\r\n [readonly]=\"readonly\" [disabled]=\"disabled\" [required]=\"required\" [options]=\"maskOptions\" currencyMask>\r\n\r\n <input matInput [tabindex]=\"tabindex\" [placeholder]=\"placeholder | translate\" [(ngModel)]=\"value\" (ngModelChange)=\"onChangeValue()\" (blur)=\"onBlur()\" *ngIf=\"customMask != null\"\r\n [readonly]=\"readonly\" [disabled]=\"disabled\" [required]=\"required\" [setmask]=\"customMask\" unmask >\r\n\r\n <mat-icon *ngIf=\"iconSuffix\" matSuffix style=\"color: #aaa\">{{iconSuffix}}</mat-icon>\r\n</mat-form-field>\r\n\r\n<mat-form-field *ngIf=\"type == 'textarea'\">\r\n <mat-icon *ngIf=\"iconPrefix\" matPrefix style=\"color: #aaa\">{{iconPrefix}}</mat-icon>\r\n \r\n <textarea matInput [tabindex]=\"tabindex\" [placeholder]=\"placeholder | translate\" [(ngModel)]=\"value\" (input)=\"onChangeValue()\" (blur)=\"onBlur()\" [rows]=\"rows\"\r\n [maxlength]=\"maxlength\" [readonly]=\"readonly\" [disabled]=\"disabled\" [required]=\"required\"></textarea>\r\n</mat-form-field>\r\n\r\n<mat-form-field class=\"input-color\" *ngIf=\"type == 'color'\">\r\n \r\n <div class=\"input-color-container\">\r\n <input #colorInput style=\"width: 0px;visibility: hidden;\" type=\"color\" [(ngModel)]=\"value\" [readonly]=\"readonly\" [disabled]=\"disabled\">\r\n <div class=\"color-picker\" [style.background-color]=\"value\" (click)=\"colorInput.click()\"></div>\r\n \r\n <input matInput type=\"text\" [tabindex]=\"tabindex\" [placeholder]=\"placeholder | translate\" [(ngModel)]=\"value\" (input)=\"onChangeValue()\" (blur)=\"onBlur()\"\r\n [maxlength]=\"maxlength\" [readonly]=\"readonly\" [disabled]=\"disabled\" [required]=\"required\">\r\n \r\n <mat-icon *ngIf=\"iconSuffix\" matSuffix style=\"color: #aaa\">{{iconSuffix}}</mat-icon>\r\n </div>\r\n</mat-form-field>",
119
+ template: "<mat-form-field *ngIf=\"type != 'color' && type != 'textarea' && ismask == null\" >\r\n <mat-icon *ngIf=\"iconPrefix\" matPrefix style=\"color: #aaa\">{{iconPrefix}}</mat-icon>\r\n \r\n <input matInput [type]=\"type\" [step]=\"step\" [min]=\"min\" [max]=\"max\" [tabindex]=\"tabindex\" [placeholder]=\"placeholder | translate\" [(ngModel)]=\"value\" (input)=\"onChangeValue()\" (blur)=\"onBlur()\"\r\n [maxlength]=\"maxlength\" [readonly]=\"readonly\" [disabled]=\"disabled\" [required]=\"required\">\r\n\r\n <mat-icon *ngIf=\"iconSuffix\" matSuffix style=\"color: #aaa\">{{iconSuffix}}</mat-icon>\r\n <mat-icon class=\"show-password\" *ngIf=\"passwordMode\" (click)=\"type = (type == 'password') ? 'text' : 'password'\" matSuffix >visibility{{ type == 'password' ? '' : '_off' }}</mat-icon>\r\n</mat-form-field>\r\n\r\n<mat-form-field *ngIf=\"type != 'color' && type != 'textarea' && ismask != null\">\r\n <mat-icon *ngIf=\"iconPrefix\" matPrefix style=\"color: #aaa\">{{iconPrefix}}</mat-icon>\r\n\r\n <input matInput [tabindex]=\"tabindex\" [placeholder]=\"placeholder | translate\" [(ngModel)]=\"value\" (ngModelChange)=\"onChangeValue()\" (blur)=\"onBlur()\" *ngIf=\"customMask == null\"\r\n [readonly]=\"readonly\" [disabled]=\"disabled\" [required]=\"required\" [options]=\"maskOptions\" currencyMask>\r\n\r\n <input matInput [tabindex]=\"tabindex\" [placeholder]=\"placeholder | translate\" [(ngModel)]=\"value\" (ngModelChange)=\"onChangeValue()\" (blur)=\"onBlur()\" *ngIf=\"customMask != null\"\r\n [readonly]=\"readonly\" [disabled]=\"disabled\" [required]=\"required\" [setmask]=\"customMask\" unmask >\r\n\r\n <mat-icon *ngIf=\"iconSuffix\" matSuffix style=\"color: #aaa\">{{iconSuffix}}</mat-icon>\r\n</mat-form-field>\r\n\r\n<mat-form-field *ngIf=\"type == 'textarea'\">\r\n <mat-icon *ngIf=\"iconPrefix\" matPrefix style=\"color: #aaa\">{{iconPrefix}}</mat-icon>\r\n \r\n <textarea matInput [tabindex]=\"tabindex\" [placeholder]=\"placeholder | translate\" [(ngModel)]=\"value\" (input)=\"onChangeValue()\" (blur)=\"onBlur()\" [rows]=\"rows\"\r\n [maxlength]=\"maxlength\" [readonly]=\"readonly\" [disabled]=\"disabled\" [required]=\"required\"></textarea>\r\n</mat-form-field>\r\n\r\n<mat-form-field class=\"input-color\" *ngIf=\"type == 'color'\">\r\n \r\n <div class=\"input-color-container\">\r\n <input #colorInput style=\"width: 0px;visibility: hidden;\" type=\"color\" [(ngModel)]=\"value\" (change)=\"writeValue(value)\" [readonly]=\"readonly\" [disabled]=\"disabled\">\r\n <div class=\"color-picker\" [style.background-color]=\"value\" (click)=\"colorInput.click()\"></div>\r\n \r\n <input matInput type=\"text\" [tabindex]=\"tabindex\" [placeholder]=\"placeholder | translate\" [(ngModel)]=\"value\" (input)=\"onChangeValue()\" (blur)=\"onBlur()\"\r\n [maxlength]=\"maxlength\" [readonly]=\"readonly\" [disabled]=\"disabled\" [required]=\"required\">\r\n \r\n <mat-icon *ngIf=\"iconSuffix\" matSuffix style=\"color: #aaa\">{{iconSuffix}}</mat-icon>\r\n </div>\r\n</mat-form-field>",
120
120
  providers: [
121
121
  {
122
122
  provide: NG_VALUE_ACCESSOR,
@@ -194,4 +194,4 @@ if (false) {
194
194
  */
195
195
  InfoInputComponent.prototype.methodIsmask;
196
196
  }
197
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaW5mby1saWJyYXJ5L3NyYy9jb250cm9scy9pbnB1dC9pbnB1dC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLFlBQVksRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzRixPQUFPLEVBQUUsaUJBQWlCLEVBQXdCLE1BQU0sZ0JBQWdCLENBQUM7QUFjekUsTUFBTSxPQUFPLGtCQUFrQjtJQVovQjtRQWVhLGFBQVEsR0FBWSxLQUFLLENBQUM7UUFDMUIsYUFBUSxHQUFZLEtBQUssQ0FBQztRQUMxQixhQUFRLEdBQVksS0FBSyxDQUFDO1FBRTFCLFNBQUksR0FBVyxNQUFNLENBQUM7UUFDdEIsU0FBSSxHQUFXLENBQUMsQ0FBQztRQUNqQixhQUFRLEdBQVcsQ0FBQyxDQUFDO1FBQ3JCLGVBQVUsR0FBVyxFQUFFLENBQUM7UUFDeEIsZUFBVSxHQUFXLEVBQUUsQ0FBQztRQUN4QixRQUFHLEdBQVcsSUFBSSxDQUFDO1FBQ25CLFFBQUcsR0FBVyxJQUFJLENBQUM7UUFDbkIsU0FBSSxHQUFXLElBQUksQ0FBQztRQUVuQixXQUFNLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUV0QyxnQkFBVyxHQUFRO1lBQ2YsS0FBSyxFQUFFLE9BQU87WUFDZCxhQUFhLEVBQUUsSUFBSTtZQUNuQixPQUFPLEVBQUUsR0FBRztZQUNaLFNBQVMsRUFBRSxDQUFDO1lBQ1osTUFBTSxFQUFFLEVBQUU7WUFDVixNQUFNLEVBQUUsRUFBRTtZQUNWLFNBQVMsRUFBRSxHQUFHO1NBQ2pCLENBQUM7UUFFRixVQUFLLEdBQVcsRUFBRSxDQUFDO1FBQ25CLGVBQVUsR0FBVyxJQUFJLENBQUM7UUFHMUIsaUJBQVksR0FBWSxLQUFLLENBQUM7UUFN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O29CQUNOO3dCQUNJLE9BQU8sRUFBRSxpQkFBaUI7d0JBQzFCLFdBQVcsRUFBRSxVQUFVOzs7d0JBQUMsR0FBRyxFQUFFLENBQUMsa0JBQWtCLEVBQUM7d0JBQ2pELEtBQUssRUFBRSxJQUFJO3FCQUNkO2lCQUNKOzthQUNKOzs7MEJBR0ksS0FBSzt1QkFDTCxLQUFLO3VCQUNMLEtBQUs7dUJBQ0wsS0FBSzt3QkFDTCxLQUFLO21CQUNMLEtBQUs7bUJBQ0wsS0FBSzt1QkFDTCxLQUFLO3lCQUNMLEtBQUs7eUJBQ0wsS0FBSztrQkFDTCxLQUFLO2tCQUNMLEtBQUs7bUJBQ0wsS0FBSztxQkFFTCxNQUFNO3FCQXVCTixLQUFLOzs7O0lBckNOLHlDQUE2Qjs7SUFDN0Isc0NBQW1DOztJQUNuQyxzQ0FBbUM7O0lBQ25DLHNDQUFtQzs7SUFDbkMsdUNBQXdCOztJQUN4QixrQ0FBK0I7O0lBQy9CLGtDQUEwQjs7SUFDMUIsc0NBQThCOztJQUM5Qix3Q0FBaUM7O0lBQ2pDLHdDQUFpQzs7SUFDakMsaUNBQTRCOztJQUM1QixpQ0FBNEI7O0lBQzVCLGtDQUE2Qjs7SUFFN0Isb0NBQXNDOztJQUV0Qyx5Q0FRRTs7SUFFRixtQ0FBbUI7O0lBQ25CLHdDQUEwQjs7SUFDMUIsc0NBQWM7O0lBQ2QsdUNBQWU7O0lBQ2YsMENBQThCOzs7OztJQU05QiwwQ0FBb0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIGZvcndhcmRSZWYsIElucHV0LCBPbkluaXQsIE91dHB1dCwgRXZlbnRFbWl0dGVyIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgTkdfVkFMVUVfQUNDRVNTT1IsIENvbnRyb2xWYWx1ZUFjY2Vzc29yIH0gZnJvbSBcIkBhbmd1bGFyL2Zvcm1zXCI7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAnaW5mby1pbnB1dCcsXHJcbiAgICBzdHlsZVVybHM6IFsgJ2lucHV0LmNvbXBvbmVudC5zY3NzJyBdLFxyXG4gICAgdGVtcGxhdGVVcmw6ICdpbnB1dC5jb21wb25lbnQuaHRtbCcsXHJcbiAgICBwcm92aWRlcnM6W1xyXG4gICAgICAgIHtcclxuICAgICAgICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXHJcbiAgICAgICAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IEluZm9JbnB1dENvbXBvbmVudCksXHJcbiAgICAgICAgICAgIG11bHRpOiB0cnVlXHJcbiAgICAgICAgfVxyXG4gICAgXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgSW5mb0lucHV0Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBDb250cm9sVmFsdWVBY2Nlc3NvciB7XHJcblxyXG4gICAgQElucHV0KCkgcGxhY2Vob2xkZXI6IHN0cmluZztcclxuICAgIEBJbnB1dCgpIGRpc2FibGVkOiBib29sZWFuID0gZmFsc2U7XHJcbiAgICBASW5wdXQoKSByZWFkb25seTogYm9vbGVhbiA9IGZhbHNlO1xyXG4gICAgQElucHV0KCkgcmVxdWlyZWQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuICAgIEBJbnB1dCgpIG1heGxlbmd0aDogYW55O1xyXG4gICAgQElucHV0KCkgdHlwZTogc3RyaW5nID0gJ3RleHQnO1xyXG4gICAgQElucHV0KCkgcm93czogbnVtYmVyID0gMTtcclxuICAgIEBJbnB1dCgpIHRhYmluZGV4OiBudW1iZXIgPSAwO1xyXG4gICAgQElucHV0KCkgaWNvblByZWZpeDogc3RyaW5nID0gJyc7XHJcbiAgICBASW5wdXQoKSBpY29uU3VmZml4OiBzdHJpbmcgPSAnJztcclxuICAgIEBJbnB1dCgpIG1pbjogbnVtYmVyID0gbnVsbDtcclxuICAgIEBJbnB1dCgpIG1heDogbnVtYmVyID0gbnVsbDtcclxuICAgIEBJbnB1dCgpIHN0ZXA6IG51bWJlciA9IG51bGw7XHJcblxyXG4gICAgQE91dHB1dCgpIG9uYmx1ciA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICAgIFxyXG4gICAgbWFza09wdGlvbnM6IGFueSA9IHtcclxuICAgICAgICBhbGlnbjogJ3JpZ2h0JyxcclxuICAgICAgICBhbGxvd05lZ2F0aXZlOiB0cnVlLFxyXG4gICAgICAgIGRlY2ltYWw6ICcsJyxcclxuICAgICAgICBwcmVjaXNpb246IDIsXHJcbiAgICAgICAgcHJlZml4OiAnJyxcclxuICAgICAgICBzdWZmaXg6ICcnLFxyXG4gICAgICAgIHRob3VzYW5kczogJy4nXHJcbiAgICB9O1xyXG4gICAgXHJcbiAgICB2YWx1ZTogc3RyaW5nID0gJyc7XHJcbiAgICBjdXN0b21NYXNrOiBzdHJpbmcgPSBudWxsO1xyXG4gICAgb25DaGFuZ2U6IGFueTtcclxuICAgIG9uVG91Y2hlZDogYW55O1xyXG4gICAgcGFzc3dvcmRNb2RlOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gICAgbmdPbkluaXQoKSB7IFxyXG4gICAgICAgIHRoaXMucGFzc3dvcmRNb2RlID0gdGhpcy50eXBlLnRvTG9jYWxlTG93ZXJDYXNlKCkgPT0gJ3Bhc3N3b3JkJztcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIG1ldGhvZElzbWFzazogc3RyaW5nID0gbnVsbDtcclxuICAgIEBJbnB1dCgpXHJcbiAgICBnZXQgaXNtYXNrKCl7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMubWV0aG9kSXNtYXNrO1xyXG4gICAgfVxyXG5cclxuICAgIHNldCBpc21hc2sodmFsdWUpe1xyXG4gICAgICAgIHRoaXMubWV0aG9kSXNtYXNrID0gdmFsdWU7XHJcblxyXG4gICAgICAgIGlmICh0aGlzLm1ldGhvZElzbWFzayAhPSBudWxsKSB7XHJcbiAgICAgICAgICAgIHRoaXMubWV0aG9kSXNtYXNrID0gdGhpcy5tZXRob2RJc21hc2sudG9Mb3dlckNhc2UoKTtcclxuICAgICAgICAgICAgXHJcbiAgICAgICAgICAgIGlmICh0aGlzLm1ldGhvZElzbWFzayA9PSAnaW50JylcclxuICAgICAgICAgICAgICAgIHRoaXMubWFza09wdGlvbnMucHJlY2lzaW9uID0gMDtcclxuXHJcbiAgICAgICAgICAgIGVsc2UgaWYgKHRoaXMubWV0aG9kSXNtYXNrWzBdID09ICduJyAmJiAodGhpcy5tZXRob2RJc21hc2subGVuZ3RoID09IDIgfHwgdGhpcy5tZXRob2RJc21hc2subGVuZ3RoID09IDMpKVxyXG4gICAgICAgICAgICAgICAgdGhpcy5tYXNrT3B0aW9ucy5wcmVjaXNpb24gPSBwYXJzZUludCh0aGlzLm1ldGhvZElzbWFzay5yZXBsYWNlKCduJywgJycpKTtcclxuXHJcbiAgICAgICAgICAgIGVsc2UgdGhpcy5jdXN0b21NYXNrID0gdGhpcy5tZXRob2RJc21hc2s7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIG9uQmx1cigpIHtcclxuICAgICAgICBpZiAodGhpcy5vbmJsdXIgIT0gbnVsbCl7XHJcbiAgICAgICAgICAgIGlmKHRoaXMudHlwZSA9PSAnbnVtYmVyJyl7XHJcbiAgICAgICAgICAgICAgICBpZih0aGlzLm1pbiAhPSBudWxsKVxyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMudmFsdWUgPSB0aGlzLm1pbiA+IE51bWJlcih0aGlzLnZhbHVlKSA/IG51bGw6IHRoaXMudmFsdWU7XHJcbiAgICAgICAgICAgICAgICBpZih0aGlzLm1heCAhPSBudWxsKVxyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMudmFsdWUgPSB0aGlzLm1heCA8IE51bWJlcih0aGlzLnZhbHVlKSA/IG51bGw6IHRoaXMudmFsdWU7XHJcbiAgICAgICAgICAgICAgICB0aGlzLm9uQ2hhbmdlVmFsdWUoKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB0aGlzLm9uYmx1ci5lbWl0KHRoaXMudmFsdWUpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBvbkNoYW5nZVZhbHVlKCl7XHJcbiAgICAgICAgaWYgKHRoaXMub25DaGFuZ2UgIT0gbnVsbClcclxuICAgICAgICAgICAgdGhpcy5vbkNoYW5nZSh0aGlzLnZhbHVlKTtcclxuICAgIH1cclxuXHJcbiAgICB3cml0ZVZhbHVlKG1vZGVsVmFsdWU6IGFueSk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMudmFsdWUgPSBtb2RlbFZhbHVlO1xyXG4gICAgICAgIHRoaXMub25DaGFuZ2VWYWx1ZSgpO1xyXG4gICAgfVxyXG4gICAgXHJcbiAgICByZWdpc3Rlck9uQ2hhbmdlKGZuOiBhbnkpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLm9uQ2hhbmdlID0gZm47XHJcbiAgICB9XHJcbiAgICBcclxuICAgIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiBhbnkpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLm9uVG91Y2hlZCA9IGZuO1xyXG4gICAgfVxyXG4gICAgXHJcbiAgICBzZXREaXNhYmxlZFN0YXRlPyhpc0Rpc2FibGVkOiBib29sZWFuKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5kaXNhYmxlZCA9IGlzRGlzYWJsZWQ7XHJcbiAgICB9XHJcbn0iXX0=
197
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaW5mby1saWJyYXJ5L3NyYy9jb250cm9scy9pbnB1dC9pbnB1dC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLFlBQVksRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzRixPQUFPLEVBQUUsaUJBQWlCLEVBQXdCLE1BQU0sZ0JBQWdCLENBQUM7QUFjekUsTUFBTSxPQUFPLGtCQUFrQjtJQVovQjtRQWVhLGFBQVEsR0FBWSxLQUFLLENBQUM7UUFDMUIsYUFBUSxHQUFZLEtBQUssQ0FBQztRQUMxQixhQUFRLEdBQVksS0FBSyxDQUFDO1FBRTFCLFNBQUksR0FBVyxNQUFNLENBQUM7UUFDdEIsU0FBSSxHQUFXLENBQUMsQ0FBQztRQUNqQixhQUFRLEdBQVcsQ0FBQyxDQUFDO1FBQ3JCLGVBQVUsR0FBVyxFQUFFLENBQUM7UUFDeEIsZUFBVSxHQUFXLEVBQUUsQ0FBQztRQUN4QixRQUFHLEdBQVcsSUFBSSxDQUFDO1FBQ25CLFFBQUcsR0FBVyxJQUFJLENBQUM7UUFDbkIsU0FBSSxHQUFXLElBQUksQ0FBQztRQUVuQixXQUFNLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUV0QyxnQkFBVyxHQUFRO1lBQ2YsS0FBSyxFQUFFLE9BQU87WUFDZCxhQUFhLEVBQUUsSUFBSTtZQUNuQixPQUFPLEVBQUUsR0FBRztZQUNaLFNBQVMsRUFBRSxDQUFDO1lBQ1osTUFBTSxFQUFFLEVBQUU7WUFDVixNQUFNLEVBQUUsRUFBRTtZQUNWLFNBQVMsRUFBRSxHQUFHO1NBQ2pCLENBQUM7UUFFRixVQUFLLEdBQVcsRUFBRSxDQUFDO1FBQ25CLGVBQVUsR0FBVyxJQUFJLENBQUM7UUFHMUIsaUJBQVksR0FBWSxLQUFLLENBQUM7UUFN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O29CQUNOO3dCQUNJLE9BQU8sRUFBRSxpQkFBaUI7d0JBQzFCLFdBQVcsRUFBRSxVQUFVOzs7d0JBQUMsR0FBRyxFQUFFLENBQUMsa0JBQWtCLEVBQUM7d0JBQ2pELEtBQUssRUFBRSxJQUFJO3FCQUNkO2lCQUNKOzthQUNKOzs7MEJBR0ksS0FBSzt1QkFDTCxLQUFLO3VCQUNMLEtBQUs7dUJBQ0wsS0FBSzt3QkFDTCxLQUFLO21CQUNMLEtBQUs7bUJBQ0wsS0FBSzt1QkFDTCxLQUFLO3lCQUNMLEtBQUs7eUJBQ0wsS0FBSztrQkFDTCxLQUFLO2tCQUNMLEtBQUs7bUJBQ0wsS0FBSztxQkFFTCxNQUFNO3FCQXVCTixLQUFLOzs7O0lBckNOLHlDQUE2Qjs7SUFDN0Isc0NBQW1DOztJQUNuQyxzQ0FBbUM7O0lBQ25DLHNDQUFtQzs7SUFDbkMsdUNBQXdCOztJQUN4QixrQ0FBK0I7O0lBQy9CLGtDQUEwQjs7SUFDMUIsc0NBQThCOztJQUM5Qix3Q0FBaUM7O0lBQ2pDLHdDQUFpQzs7SUFDakMsaUNBQTRCOztJQUM1QixpQ0FBNEI7O0lBQzVCLGtDQUE2Qjs7SUFFN0Isb0NBQXNDOztJQUV0Qyx5Q0FRRTs7SUFFRixtQ0FBbUI7O0lBQ25CLHdDQUEwQjs7SUFDMUIsc0NBQWM7O0lBQ2QsdUNBQWU7O0lBQ2YsMENBQThCOzs7OztJQU05QiwwQ0FBb0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIGZvcndhcmRSZWYsIElucHV0LCBPbkluaXQsIE91dHB1dCwgRXZlbnRFbWl0dGVyIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgTkdfVkFMVUVfQUNDRVNTT1IsIENvbnRyb2xWYWx1ZUFjY2Vzc29yIH0gZnJvbSBcIkBhbmd1bGFyL2Zvcm1zXCI7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAnaW5mby1pbnB1dCcsXHJcbiAgICBzdHlsZVVybHM6IFsgJ2lucHV0LmNvbXBvbmVudC5zY3NzJyBdLFxyXG4gICAgdGVtcGxhdGVVcmw6ICdpbnB1dC5jb21wb25lbnQuaHRtbCcsXHJcbiAgICBwcm92aWRlcnM6W1xyXG4gICAgICAgIHtcclxuICAgICAgICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXHJcbiAgICAgICAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IEluZm9JbnB1dENvbXBvbmVudCksXHJcbiAgICAgICAgICAgIG11bHRpOiB0cnVlXHJcbiAgICAgICAgfVxyXG4gICAgXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgSW5mb0lucHV0Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBDb250cm9sVmFsdWVBY2Nlc3NvciB7XHJcblxyXG4gICAgQElucHV0KCkgcGxhY2Vob2xkZXI6IHN0cmluZztcclxuICAgIEBJbnB1dCgpIGRpc2FibGVkOiBib29sZWFuID0gZmFsc2U7XHJcbiAgICBASW5wdXQoKSByZWFkb25seTogYm9vbGVhbiA9IGZhbHNlO1xyXG4gICAgQElucHV0KCkgcmVxdWlyZWQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuICAgIEBJbnB1dCgpIG1heGxlbmd0aDogYW55O1xyXG4gICAgQElucHV0KCkgdHlwZTogc3RyaW5nID0gJ3RleHQnO1xyXG4gICAgQElucHV0KCkgcm93czogbnVtYmVyID0gMTtcclxuICAgIEBJbnB1dCgpIHRhYmluZGV4OiBudW1iZXIgPSAwO1xyXG4gICAgQElucHV0KCkgaWNvblByZWZpeDogc3RyaW5nID0gJyc7XHJcbiAgICBASW5wdXQoKSBpY29uU3VmZml4OiBzdHJpbmcgPSAnJztcclxuICAgIEBJbnB1dCgpIG1pbjogbnVtYmVyID0gbnVsbDtcclxuICAgIEBJbnB1dCgpIG1heDogbnVtYmVyID0gbnVsbDtcclxuICAgIEBJbnB1dCgpIHN0ZXA6IG51bWJlciA9IG51bGw7XHJcblxyXG4gICAgQE91dHB1dCgpIG9uYmx1ciA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICAgIFxyXG4gICAgbWFza09wdGlvbnM6IGFueSA9IHtcclxuICAgICAgICBhbGlnbjogJ3JpZ2h0JyxcclxuICAgICAgICBhbGxvd05lZ2F0aXZlOiB0cnVlLFxyXG4gICAgICAgIGRlY2ltYWw6ICcsJyxcclxuICAgICAgICBwcmVjaXNpb246IDIsXHJcbiAgICAgICAgcHJlZml4OiAnJyxcclxuICAgICAgICBzdWZmaXg6ICcnLFxyXG4gICAgICAgIHRob3VzYW5kczogJy4nXHJcbiAgICB9O1xyXG4gICAgXHJcbiAgICB2YWx1ZTogc3RyaW5nID0gJyc7XHJcbiAgICBjdXN0b21NYXNrOiBzdHJpbmcgPSBudWxsO1xyXG4gICAgb25DaGFuZ2U6IGFueTtcclxuICAgIG9uVG91Y2hlZDogYW55O1xyXG4gICAgcGFzc3dvcmRNb2RlOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gICAgbmdPbkluaXQoKSB7IFxyXG4gICAgICAgIHRoaXMucGFzc3dvcmRNb2RlID0gdGhpcy50eXBlLnRvTG9jYWxlTG93ZXJDYXNlKCkgPT0gJ3Bhc3N3b3JkJztcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIG1ldGhvZElzbWFzazogc3RyaW5nID0gbnVsbDtcclxuICAgIEBJbnB1dCgpXHJcbiAgICBnZXQgaXNtYXNrKCl7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMubWV0aG9kSXNtYXNrO1xyXG4gICAgfVxyXG5cclxuICAgIHNldCBpc21hc2sodmFsdWUpe1xyXG4gICAgICAgIHRoaXMubWV0aG9kSXNtYXNrID0gdmFsdWU7XHJcblxyXG4gICAgICAgIGlmICh0aGlzLm1ldGhvZElzbWFzayAhPSBudWxsKSB7XHJcbiAgICAgICAgICAgIHRoaXMubWV0aG9kSXNtYXNrID0gdGhpcy5tZXRob2RJc21hc2sudG9Mb3dlckNhc2UoKTtcclxuICAgICAgICAgICAgXHJcbiAgICAgICAgICAgIGlmICh0aGlzLm1ldGhvZElzbWFzayA9PSAnaW50JylcclxuICAgICAgICAgICAgICAgIHRoaXMubWFza09wdGlvbnMucHJlY2lzaW9uID0gMDtcclxuXHJcbiAgICAgICAgICAgIGVsc2UgaWYgKHRoaXMubWV0aG9kSXNtYXNrWzBdID09ICduJyAmJiAodGhpcy5tZXRob2RJc21hc2subGVuZ3RoID09IDIgfHwgdGhpcy5tZXRob2RJc21hc2subGVuZ3RoID09IDMpKVxyXG4gICAgICAgICAgICAgICAgdGhpcy5tYXNrT3B0aW9ucy5wcmVjaXNpb24gPSBwYXJzZUludCh0aGlzLm1ldGhvZElzbWFzay5yZXBsYWNlKCduJywgJycpKTtcclxuXHJcbiAgICAgICAgICAgIGVsc2UgdGhpcy5jdXN0b21NYXNrID0gdGhpcy5tZXRob2RJc21hc2s7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIG9uQmx1cigpIHtcclxuICAgICAgICBpZiAodGhpcy5vbmJsdXIgIT0gbnVsbCl7XHJcbiAgICAgICAgICAgIGlmKHRoaXMudHlwZSA9PSAnbnVtYmVyJyl7XHJcbiAgICAgICAgICAgICAgICBpZih0aGlzLm1pbiAhPSBudWxsKVxyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMudmFsdWUgPSB0aGlzLm1pbiA+IE51bWJlcih0aGlzLnZhbHVlKSA/IG51bGw6IHRoaXMudmFsdWU7XHJcbiAgICAgICAgICAgICAgICBpZih0aGlzLm1heCAhPSBudWxsKVxyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMudmFsdWUgPSB0aGlzLm1heCA8IE51bWJlcih0aGlzLnZhbHVlKSA/IG51bGw6IHRoaXMudmFsdWU7XHJcbiAgICAgICAgICAgICAgICB0aGlzLm9uQ2hhbmdlVmFsdWUoKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB0aGlzLm9uYmx1ci5lbWl0KHRoaXMudmFsdWUpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBvbkNoYW5nZVZhbHVlKCl7XHJcbiAgICAgICAgaWYgKHRoaXMub25DaGFuZ2UgIT0gbnVsbClcclxuICAgICAgICAgICAgdGhpcy5vbkNoYW5nZSh0aGlzLnZhbHVlKTtcclxuICAgIH1cclxuXHJcbiAgICB3cml0ZVZhbHVlKG1vZGVsVmFsdWU6IGFueSk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMudmFsdWUgPSBtb2RlbFZhbHVlO1xyXG4gICAgICAgIHRoaXMub25DaGFuZ2VWYWx1ZSgpO1xyXG4gICAgfVxyXG4gICAgXHJcbiAgICByZWdpc3Rlck9uQ2hhbmdlKGZuOiBhbnkpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLm9uQ2hhbmdlID0gZm47XHJcbiAgICB9XHJcbiAgICBcclxuICAgIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiBhbnkpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLm9uVG91Y2hlZCA9IGZuO1xyXG4gICAgfVxyXG4gICAgXHJcbiAgICBzZXREaXNhYmxlZFN0YXRlPyhpc0Rpc2FibGVkOiBib29sZWFuKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5kaXNhYmxlZCA9IGlzRGlzYWJsZWQ7XHJcbiAgICB9XHJcbn0iXX0=
@@ -12,6 +12,7 @@ import { MAT_DATE_LOCALE, DateAdapter, MAT_DATE_FORMATS } from '@angular/materia
12
12
  import { MomentDateAdapter, MAT_MOMENT_DATE_ADAPTER_OPTIONS, MatMomentDateModule } from '@angular/material-moment-adapter';
13
13
  import createAutoCorrectedDatePipe from 'text-mask-addons/dist/createAutoCorrectedDatePipe';
14
14
  import { DomSanitizer } from '@angular/platform-browser';
15
+ import { AngularEditorModule } from '@kolkov/angular-editor';
15
16
  import { ENTER } from '@angular/cdk/keycodes';
16
17
  import { CommonModule } from '@angular/common';
17
18
  import { CurrencyMaskModule } from 'ng2-currency-mask';
@@ -28,7 +29,6 @@ import { MatDatepickerModule } from '@angular/material/datepicker';
28
29
  import { MatProgressBarModule } from '@angular/material/progress-bar';
29
30
  import { MatTooltipModule } from '@angular/material/tooltip';
30
31
  import { MatAutocompleteModule } from '@angular/material/autocomplete';
31
- import { AngularEditorModule } from '@kolkov/angular-editor';
32
32
  import { MatChipsModule } from '@angular/material/chips';
33
33
  import emailMask from 'text-mask-addons/dist/emailMask';
34
34
 
@@ -4777,7 +4777,7 @@ class InfoInputComponent {
4777
4777
  InfoInputComponent.decorators = [
4778
4778
  { type: Component, args: [{
4779
4779
  selector: 'info-input',
4780
- template: "<mat-form-field *ngIf=\"type != 'color' && type != 'textarea' && ismask == null\" >\r\n <mat-icon *ngIf=\"iconPrefix\" matPrefix style=\"color: #aaa\">{{iconPrefix}}</mat-icon>\r\n \r\n <input matInput [type]=\"type\" [step]=\"step\" [min]=\"min\" [max]=\"max\" [tabindex]=\"tabindex\" [placeholder]=\"placeholder | translate\" [(ngModel)]=\"value\" (input)=\"onChangeValue()\" (blur)=\"onBlur()\"\r\n [maxlength]=\"maxlength\" [readonly]=\"readonly\" [disabled]=\"disabled\" [required]=\"required\">\r\n\r\n <mat-icon *ngIf=\"iconSuffix\" matSuffix style=\"color: #aaa\">{{iconSuffix}}</mat-icon>\r\n <mat-icon class=\"show-password\" *ngIf=\"passwordMode\" (click)=\"type = (type == 'password') ? 'text' : 'password'\" matSuffix >visibility{{ type == 'password' ? '' : '_off' }}</mat-icon>\r\n</mat-form-field>\r\n\r\n<mat-form-field *ngIf=\"type != 'color' && type != 'textarea' && ismask != null\">\r\n <mat-icon *ngIf=\"iconPrefix\" matPrefix style=\"color: #aaa\">{{iconPrefix}}</mat-icon>\r\n\r\n <input matInput [tabindex]=\"tabindex\" [placeholder]=\"placeholder | translate\" [(ngModel)]=\"value\" (ngModelChange)=\"onChangeValue()\" (blur)=\"onBlur()\" *ngIf=\"customMask == null\"\r\n [readonly]=\"readonly\" [disabled]=\"disabled\" [required]=\"required\" [options]=\"maskOptions\" currencyMask>\r\n\r\n <input matInput [tabindex]=\"tabindex\" [placeholder]=\"placeholder | translate\" [(ngModel)]=\"value\" (ngModelChange)=\"onChangeValue()\" (blur)=\"onBlur()\" *ngIf=\"customMask != null\"\r\n [readonly]=\"readonly\" [disabled]=\"disabled\" [required]=\"required\" [setmask]=\"customMask\" unmask >\r\n\r\n <mat-icon *ngIf=\"iconSuffix\" matSuffix style=\"color: #aaa\">{{iconSuffix}}</mat-icon>\r\n</mat-form-field>\r\n\r\n<mat-form-field *ngIf=\"type == 'textarea'\">\r\n <mat-icon *ngIf=\"iconPrefix\" matPrefix style=\"color: #aaa\">{{iconPrefix}}</mat-icon>\r\n \r\n <textarea matInput [tabindex]=\"tabindex\" [placeholder]=\"placeholder | translate\" [(ngModel)]=\"value\" (input)=\"onChangeValue()\" (blur)=\"onBlur()\" [rows]=\"rows\"\r\n [maxlength]=\"maxlength\" [readonly]=\"readonly\" [disabled]=\"disabled\" [required]=\"required\"></textarea>\r\n</mat-form-field>\r\n\r\n<mat-form-field class=\"input-color\" *ngIf=\"type == 'color'\">\r\n \r\n <div class=\"input-color-container\">\r\n <input #colorInput style=\"width: 0px;visibility: hidden;\" type=\"color\" [(ngModel)]=\"value\" [readonly]=\"readonly\" [disabled]=\"disabled\">\r\n <div class=\"color-picker\" [style.background-color]=\"value\" (click)=\"colorInput.click()\"></div>\r\n \r\n <input matInput type=\"text\" [tabindex]=\"tabindex\" [placeholder]=\"placeholder | translate\" [(ngModel)]=\"value\" (input)=\"onChangeValue()\" (blur)=\"onBlur()\"\r\n [maxlength]=\"maxlength\" [readonly]=\"readonly\" [disabled]=\"disabled\" [required]=\"required\">\r\n \r\n <mat-icon *ngIf=\"iconSuffix\" matSuffix style=\"color: #aaa\">{{iconSuffix}}</mat-icon>\r\n </div>\r\n</mat-form-field>",
4780
+ template: "<mat-form-field *ngIf=\"type != 'color' && type != 'textarea' && ismask == null\" >\r\n <mat-icon *ngIf=\"iconPrefix\" matPrefix style=\"color: #aaa\">{{iconPrefix}}</mat-icon>\r\n \r\n <input matInput [type]=\"type\" [step]=\"step\" [min]=\"min\" [max]=\"max\" [tabindex]=\"tabindex\" [placeholder]=\"placeholder | translate\" [(ngModel)]=\"value\" (input)=\"onChangeValue()\" (blur)=\"onBlur()\"\r\n [maxlength]=\"maxlength\" [readonly]=\"readonly\" [disabled]=\"disabled\" [required]=\"required\">\r\n\r\n <mat-icon *ngIf=\"iconSuffix\" matSuffix style=\"color: #aaa\">{{iconSuffix}}</mat-icon>\r\n <mat-icon class=\"show-password\" *ngIf=\"passwordMode\" (click)=\"type = (type == 'password') ? 'text' : 'password'\" matSuffix >visibility{{ type == 'password' ? '' : '_off' }}</mat-icon>\r\n</mat-form-field>\r\n\r\n<mat-form-field *ngIf=\"type != 'color' && type != 'textarea' && ismask != null\">\r\n <mat-icon *ngIf=\"iconPrefix\" matPrefix style=\"color: #aaa\">{{iconPrefix}}</mat-icon>\r\n\r\n <input matInput [tabindex]=\"tabindex\" [placeholder]=\"placeholder | translate\" [(ngModel)]=\"value\" (ngModelChange)=\"onChangeValue()\" (blur)=\"onBlur()\" *ngIf=\"customMask == null\"\r\n [readonly]=\"readonly\" [disabled]=\"disabled\" [required]=\"required\" [options]=\"maskOptions\" currencyMask>\r\n\r\n <input matInput [tabindex]=\"tabindex\" [placeholder]=\"placeholder | translate\" [(ngModel)]=\"value\" (ngModelChange)=\"onChangeValue()\" (blur)=\"onBlur()\" *ngIf=\"customMask != null\"\r\n [readonly]=\"readonly\" [disabled]=\"disabled\" [required]=\"required\" [setmask]=\"customMask\" unmask >\r\n\r\n <mat-icon *ngIf=\"iconSuffix\" matSuffix style=\"color: #aaa\">{{iconSuffix}}</mat-icon>\r\n</mat-form-field>\r\n\r\n<mat-form-field *ngIf=\"type == 'textarea'\">\r\n <mat-icon *ngIf=\"iconPrefix\" matPrefix style=\"color: #aaa\">{{iconPrefix}}</mat-icon>\r\n \r\n <textarea matInput [tabindex]=\"tabindex\" [placeholder]=\"placeholder | translate\" [(ngModel)]=\"value\" (input)=\"onChangeValue()\" (blur)=\"onBlur()\" [rows]=\"rows\"\r\n [maxlength]=\"maxlength\" [readonly]=\"readonly\" [disabled]=\"disabled\" [required]=\"required\"></textarea>\r\n</mat-form-field>\r\n\r\n<mat-form-field class=\"input-color\" *ngIf=\"type == 'color'\">\r\n \r\n <div class=\"input-color-container\">\r\n <input #colorInput style=\"width: 0px;visibility: hidden;\" type=\"color\" [(ngModel)]=\"value\" (change)=\"writeValue(value)\" [readonly]=\"readonly\" [disabled]=\"disabled\">\r\n <div class=\"color-picker\" [style.background-color]=\"value\" (click)=\"colorInput.click()\"></div>\r\n \r\n <input matInput type=\"text\" [tabindex]=\"tabindex\" [placeholder]=\"placeholder | translate\" [(ngModel)]=\"value\" (input)=\"onChangeValue()\" (blur)=\"onBlur()\"\r\n [maxlength]=\"maxlength\" [readonly]=\"readonly\" [disabled]=\"disabled\" [required]=\"required\">\r\n \r\n <mat-icon *ngIf=\"iconSuffix\" matSuffix style=\"color: #aaa\">{{iconSuffix}}</mat-icon>\r\n </div>\r\n</mat-form-field>",
4781
4781
  providers: [
4782
4782
  {
4783
4783
  provide: NG_VALUE_ACCESSOR,
@@ -5590,6 +5590,10 @@ class InfoEditorComponent {
5590
5590
  * @return {?}
5591
5591
  */
5592
5592
  () => _this.focused = false));
5593
+ document.querySelector(`#${this.id} .angular-editor-textarea`).addEventListener('mouseout', (/**
5594
+ * @return {?}
5595
+ */
5596
+ () => _this.editor.editorToolbar['editorService'].saveSelection()));
5593
5597
  }
5594
5598
  /**
5595
5599
  * @private
@@ -5649,7 +5653,7 @@ class InfoEditorComponent {
5649
5653
  InfoEditorComponent.decorators = [
5650
5654
  { type: Component, args: [{
5651
5655
  selector: 'info-editor',
5652
- template: "<angular-editor [attr.id]=\"id\" [attr.focused]=\"focused\" [(ngModel)]=\"value\" name=\"editor\" [config]=\"editorConfig\" (ngModelChange)=\"onChangeValue()\" [required]=\"required\"></angular-editor>\r\n",
5656
+ template: "<angular-editor [attr.id]=\"id\" [attr.focused]=\"focused\" [(ngModel)]=\"value\" name=\"editor\" [config]=\"editorConfig\" (ngModelChange)=\"onChangeValue()\" [required]=\"required\" #editor></angular-editor>\r\n",
5653
5657
  providers: [{
5654
5658
  provide: NG_VALUE_ACCESSOR,
5655
5659
  useExisting: forwardRef((/**
@@ -5658,7 +5662,7 @@ InfoEditorComponent.decorators = [
5658
5662
  () => InfoEditorComponent)),
5659
5663
  multi: true
5660
5664
  }],
5661
- styles: [":host ::ng-deep .angular-editor-toolbar-set #insertVideo-,:host ::ng-deep .angular-editor-toolbar-set #link-,:host ::ng-deep .angular-editor-toolbar-set #toggleEditorMode-,:host ::ng-deep .angular-editor-toolbar-set #unlink-{display:none}:host ::ng-deep .angular-editor-textarea{border:none!important;border-bottom:1px solid!important;outline:none}:host ::ng-deep .angular-editor-textarea[contenteditable=false]{border-bottom:1.5px dotted #d3d3d3!important}:host ::ng-deep .angular-editor-wrapper:after{background-color:#000;bottom:0;content:\"\";height:2px;left:0;opacity:0;position:absolute;transform:scaleX(.5);transform-origin:50%;transition:background-color .3s cubic-bezier(.55,0,.55,.2);width:100%}:host ::ng-deep [focused=true] .angular-editor-wrapper:after{opacity:1;transform:scaleX(1);transition:transform .3s cubic-bezier(.25,.8,.25,1),opacity .1s cubic-bezier(.25,.8,.25,1),background-color .3s cubic-bezier(.25,.8,.25,1)}:host ::ng-deep .ng-touched.ng-invalid .angular-editor-wrapper:after{background-color:#f44336!important}:host ::ng-deep .ng-touched.ng-invalid .angular-editor-textarea[contenteditable=true]{border-bottom-color:#f44336!important}"]
5665
+ styles: [":host ::ng-deep .angular-editor-toolbar-set #insertVideo-,:host ::ng-deep .angular-editor-toolbar-set #toggleEditorMode-{display:none}:host ::ng-deep .angular-editor-textarea{border:none!important;border-bottom:1px solid!important;outline:none}:host ::ng-deep .angular-editor-textarea[contenteditable=false]{border-bottom:1.5px dotted #d3d3d3!important}:host ::ng-deep .angular-editor-wrapper:after{background-color:#000;bottom:0;content:\"\";height:2px;left:0;opacity:0;position:absolute;transform:scaleX(.5);transform-origin:50%;transition:background-color .3s cubic-bezier(.55,0,.55,.2);width:100%}:host ::ng-deep [focused=true] .angular-editor-wrapper:after{opacity:1;transform:scaleX(1);transition:transform .3s cubic-bezier(.25,.8,.25,1),opacity .1s cubic-bezier(.25,.8,.25,1),background-color .3s cubic-bezier(.25,.8,.25,1)}:host ::ng-deep .ng-touched.ng-invalid .angular-editor-wrapper:after{background-color:#f44336!important}:host ::ng-deep .ng-touched.ng-invalid .angular-editor-textarea[contenteditable=true]{border-bottom-color:#f44336!important}"]
5662
5666
  }] }
5663
5667
  ];
5664
5668
  /** @nocollapse */
@@ -5666,6 +5670,7 @@ InfoEditorComponent.ctorParameters = () => [
5666
5670
  { type: DomSanitizer }
5667
5671
  ];
5668
5672
  InfoEditorComponent.propDecorators = {
5673
+ editor: [{ type: ViewChild, args: ['editor',] }],
5669
5674
  required: [{ type: Input }],
5670
5675
  disabled: [{ type: Input }],
5671
5676
  height: [{ type: Input }],
@@ -5675,6 +5680,8 @@ InfoEditorComponent.propDecorators = {
5675
5680
  minwidth: [{ type: Input }]
5676
5681
  };
5677
5682
  if (false) {
5683
+ /** @type {?} */
5684
+ InfoEditorComponent.prototype.editor;
5678
5685
  /** @type {?} */
5679
5686
  InfoEditorComponent.prototype.required;
5680
5687
  /** @type {?} */