@apipass/inputs 1.0.145 → 1.0.147

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.
@@ -2,6 +2,8 @@ import { ElementRef, EventEmitter, NgZone, OnDestroy, OnInit } from '@angular/co
2
2
  import { ControlValueAccessor } from '@angular/forms';
3
3
  import 'brace';
4
4
  import 'brace/theme/monokai';
5
+ import { Ace } from 'ace-builds';
6
+ import Completion = Ace.Completion;
5
7
  import * as i0 from "@angular/core";
6
8
  export declare class AceEditorComponent implements ControlValueAccessor, OnInit, OnDestroy {
7
9
  private readonly zone;
@@ -18,10 +20,13 @@ export declare class AceEditorComponent implements ControlValueAccessor, OnInit,
18
20
  _text: string;
19
21
  oldText: any;
20
22
  timeoutSaving: any;
23
+ private _customCompletions;
21
24
  constructor(elementRef: ElementRef, zone: NgZone);
22
25
  ngOnInit(): void;
23
26
  ngOnDestroy(): void;
24
27
  init(): void;
28
+ private createCustomCompletions;
29
+ set customCompletions(customCompletions: Completion[]);
25
30
  initEvents(): void;
26
31
  updateText(): void;
27
32
  set options(options: any);
@@ -18,6 +18,7 @@ class AceEditorComponent {
18
18
  _text = '';
19
19
  oldText;
20
20
  timeoutSaving;
21
+ _customCompletions = [];
21
22
  constructor(elementRef, zone) {
22
23
  this.zone = zone;
23
24
  const el = elementRef.nativeElement;
@@ -38,6 +39,17 @@ class AceEditorComponent {
38
39
  this.setTheme(this._theme);
39
40
  this.setMode(this._mode);
40
41
  this.setReadOnly(this._readOnly);
42
+ this.createCustomCompletions(this._customCompletions);
43
+ }
44
+ createCustomCompletions(customCompletions) {
45
+ this._editor.completers.push({
46
+ getCompletions: function (editor, session, pos, prefix, callback) {
47
+ callback(null, customCompletions);
48
+ }
49
+ });
50
+ }
51
+ set customCompletions(customCompletions) {
52
+ this._customCompletions = customCompletions;
41
53
  }
42
54
  initEvents() {
43
55
  this._editor.on('change', () => {
@@ -197,4 +209,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.2", ngImpor
197
209
  }], durationBeforeCallback: [{
198
210
  type: Input
199
211
  }] } });
200
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvaW5wdXRzL3NyYy9hY2UtZWRpdG9yL2NvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULFVBQVUsRUFDVixZQUFZLEVBQ1osVUFBVSxFQUNWLEtBQUssRUFDTCxNQUFNLEVBR04sTUFBTSxFQUNQLE1BQU0sZUFBZSxDQUFBO0FBQ3RCLE9BQU8sRUFBd0IsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQTtBQUN4RSxPQUFPLE9BQU8sQ0FBQTtBQUNkLE9BQU8scUJBQXFCLENBQUE7O0FBSTVCLE1BVWEsa0JBQWtCO0lBa0J5QjtJQWhCNUMsV0FBVyxHQUFHLElBQUksWUFBWSxFQUFFLENBQUE7SUFDaEMsVUFBVSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUE7SUFDaEMsS0FBSyxHQUFRLEVBQUUsQ0FBQTtJQUV4QixRQUFRLEdBQVEsRUFBRSxDQUFBO0lBQ2xCLFNBQVMsR0FBVSxLQUFLLENBQUE7SUFDeEIsTUFBTSxHQUFHLFNBQVMsQ0FBQTtJQUNsQixLQUFLLEdBQUcsTUFBTSxDQUFBO0lBQ2Qsa0JBQWtCLEdBQUcsSUFBSSxDQUFBO0lBQ3pCLE9BQU8sQ0FBSztJQUNaLHVCQUF1QixHQUFHLENBQUMsQ0FBQTtJQUMzQixLQUFLLEdBQUcsRUFBRSxDQUFBO0lBRVYsT0FBTyxDQUFLO0lBQ1osYUFBYSxDQUFLO0lBRWxCLFlBQWEsVUFBc0IsRUFBbUIsSUFBWTtRQUFaLFNBQUksR0FBSixJQUFJLENBQVE7UUFDaEUsTUFBTSxFQUFFLEdBQUcsVUFBVSxDQUFDLGFBQWEsQ0FBQTtRQUNuQyxJQUFJLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLEdBQUcsRUFBRTtZQUMvQixJQUFJLENBQUMsT0FBTyxHQUFHLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUE7UUFDN0IsQ0FB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SUFFRCxJQUFhLHNCQUFzQixDQUFFLEdBQVc7UUFDOUMsSUFBSSxDQUFDLHlCQUF5QixDQUFDLEdBQUcsQ0FBQyxDQUFBO0lBQ3JDLENBQUM7SUFFRCx5QkFBeUIsQ0FBRSxHQUFXO1FBQ3BDLElBQUksQ0FBQyx1QkFBdUIsR0FBRyxHQUFHLENBQUE7SUFDcEMsQ0FBQztJQUVELFNBQVM7UUFDUCxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUE7SUFDckIsQ0FBQzt1R0ExTFUsa0JBQWtCOzJGQUFsQixrQkFBa0Isb1VBTmxCLENBQUM7Z0JBQ1YsT0FBTyxFQUFFLGlCQUFpQjtnQkFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQztnQkFDakQsS0FBSyxFQUFFLElBQUk7YUFDWixDQUFDLDBCQU5RLEVBQUU7O1NBUUQsa0JBQWtCOzJGQUFsQixrQkFBa0I7a0JBVjlCLFNBQVM7K0JBQ0UsWUFBWSxZQUNaLEVBQUUsYUFFRCxDQUFDOzRCQUNWLE9BQU8sRUFBRSxpQkFBaUI7NEJBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLG1CQUFtQixDQUFDOzRCQUNqRCxLQUFLLEVBQUUsSUFBSTt5QkFDWixDQUFDO3NIQUlRLFdBQVc7c0JBQXBCLE1BQU07Z0JBQ0csVUFBVTtzQkFBbkIsTUFBTTtnQkFDRSxLQUFLO3NCQUFiLEtBQUs7Z0JBNEVPLE9BQU87c0JBQW5CLEtBQUs7Z0JBU08sUUFBUTtzQkFBcEIsS0FBSztnQkFTTyxLQUFLO3NCQUFqQixLQUFLO2dCQVNPLElBQUk7c0JBQWhCLEtBQUs7Z0JBa0JGLEtBQUs7c0JBRFIsS0FBSztnQkE0QkYsSUFBSTtzQkFEUCxLQUFLO2dCQWlCTyxpQkFBaUI7c0JBQTdCLEtBQUs7Z0JBUU8sc0JBQXNCO3NCQUFsQyxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBFbGVtZW50UmVmLFxuICBFdmVudEVtaXR0ZXIsXG4gIGZvcndhcmRSZWYsXG4gIElucHV0LFxuICBOZ1pvbmUsXG4gIE9uRGVzdHJveSxcbiAgT25Jbml0LFxuICBPdXRwdXRcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJ1xuaW1wb3J0ICdicmFjZSdcbmltcG9ydCAnYnJhY2UvdGhlbWUvbW9ub2thaSdcblxuZGVjbGFyZSBsZXQgYWNlOiBhbnlcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYWNlLWVkaXRvcicsXG4gIHRlbXBsYXRlOiAnJyxcbiAgc3R5bGVzOiBbJzpob3N0IHsgZGlzcGxheTpibG9jazt3aWR0aDoxMDAlOyB9J10sXG4gIHByb3ZpZGVyczogW3tcbiAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBBY2VFZGl0b3JDb21wb25lbnQpLFxuICAgIG11bHRpOiB0cnVlXG4gIH1dXG59KVxuZXhwb3J0IGNsYXNzIEFjZUVkaXRvckNvbXBvbmVudCBpbXBsZW1lbnRzIENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBPbkluaXQsIE9uRGVzdHJveSB7XG5cbiAgQE91dHB1dCgpIHRleHRDaGFuZ2VkID0gbmV3IEV2ZW50RW1pdHRlcigpXG4gIEBPdXRwdXQoKSB0ZXh0Q2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcigpXG4gIEBJbnB1dCgpIHN0eWxlOiBhbnkgPSB7fVxuXG4gIF9vcHRpb25zOiBhbnkgPSB7fVxuICBfcmVhZE9ubHk6IGZhbHNlID0gZmFsc2VcbiAgX3RoZW1lID0gJ21vbm9rYWknXG4gIF9tb2RlID0gJ2h0bWwnXG4gIF9hdXRvVXBkYXRlQ29udGVudCA9IHRydWVcbiAgX2VkaXRvcjogYW55XG4gIF9kdXJhdGlvbkJlZm9yZUNhbGxiYWNrID0gMFxuICBfdGV4dCA9ICcnXG5cbiAgb2xkVGV4dDogYW55XG4gIHRpbWVvdXRTYXZpbmc6IGFueVxuXG4gIGNvbnN0cnVjdG9yIChlbGVtZW50UmVmOiBFbGVtZW50UmVmLCBwcml2YXRlIHJlYWRvbmx5IHpvbmU6IE5nWm9uZSkge1xuICAgIGNvbnN0IGVsID0gZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50XG4gICAgdGhpcy56b25lLnJ1bk91dHNpZGVBbmd1bGFyKCgpID0+IHtcbiAgICAgIHRoaXMuX2VkaXRvciA9IGFjZS5lZGl0KGVsKVxuICAgIH0pXG4gICAgdGhpcy5fZWRpdG9yLiRibG9ja1Njcm9sbGluZyA9IEluZmluaXR5XG4gIH1cblxuICBuZ09uSW5pdCAoKTogdm9pZCB7XG4gICAgdGhpcy5pbml0KClcbiAgICB0aGlzLmluaXRFdmVudHMoKVxuICB9XG5cbiAgbmdPbkRlc3Ryb3kgKCk6IHZvaWQge1xuICAgIHRoaXMuX2VkaXRvci5kZXN0cm95KClcbiAgfVxuXG4gIGluaXQgKCk6IHZvaWQge1xuICAgIHRoaXMuc2V0T3B0aW9ucyh0aGlzLl9vcHRpb25zIHx8IHt9KVxuICAgIHRoaXMuc2V0VGhlbWUodGhpcy5fdGhlbWUpXG4gICAgdGhpcy5zZXRNb2RlKHRoaXMuX21vZGUpXG4gICAgdGhpcy5zZXRSZWFkT25seSh0aGlzLl9yZWFkT25seSlcbiAgfVxuXG4gIGluaXRFdmVudHMgKCk6IHZvaWQge1xuICAgIHRoaXMuX2VkaXRvci5vbignY2hhbmdlJywgKCkgPT4ge1xuICAgICAgdGhpcy51cGRhdGVUZXh0KClcbiAgICB9KVxuICAgIHRoaXMuX2VkaXRvci5vbigncGFzdGUnLCAoKSA9PiB7XG4gICAgICB0aGlzLnVwZGF0ZVRleHQoKVxuICAgIH0pXG4gIH1cblxuICB1cGRhdGVUZXh0ICgpOiB2b2lkIHtcbiAgICBjb25zdCBuZXdWYWwgPSB0aGlzLl9lZGl0b3IuZ2V0VmFsdWUoKVxuICAgIGlmIChuZXdWYWwgPT09IHRoaXMub2xkVGV4dCkge1xuICAgICAgcmV0dXJuXG4gICAgfVxuICAgIGlmICghdGhpcy5fZHVyYXRpb25CZWZvcmVDYWxsYmFjaykge1xuICAgICAgdGhpcy5fdGV4dCA9IG5ld1ZhbFxuICAgICAgdGhpcy56b25lLnJ1bigoKSA9PiB7XG4gICAgICAgIHRoaXMudGV4dENoYW5nZS5lbWl0KG5ld1ZhbClcbiAgICAgICAgdGhpcy50ZXh0Q2hhbmdlZC5lbWl0KG5ld1ZhbClcbiAgICAgIH0pXG4gICAgICB0aGlzLl9vbkNoYW5nZShuZXdWYWwpXG4gICAgfSBlbHNlIHtcbiAgICAgIGlmICh0aGlzLnRpbWVvdXRTYXZpbmcpIHtcbiAgICAgICAgY2xlYXJUaW1lb3V0KHRoaXMudGltZW91dFNhdmluZylcbiAgICAgIH1cblxuICAgICAgdGhpcy50aW1lb3V0U2F2aW5nID0gc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgIHRoaXMuX3RleHQgPSBuZXdWYWxcbiAgICAgICAgdGhpcy56b25lLnJ1bigoKSA9PiB7XG4gICAgICAgICAgdGhpcy50ZXh0Q2hhbmdlLmVtaXQobmV3VmFsKVxuICAgICAgICAgIHRoaXMudGV4dENoYW5nZWQuZW1pdChuZXdWYWwpXG4gICAgICAgIH0pXG4gICAgICAgIHRoaXMudGltZW91dFNhdmluZyA9IG51bGxcbiAgICAgIH0sIHRoaXMuX2R1cmF0aW9uQmVmb3JlQ2FsbGJhY2spXG4gICAgfVxuICAgIHRoaXMub2xkVGV4dCA9IG5ld1ZhbFxuICB9XG5cbiAgQElucHV0KCkgc2V0IG9wdGlvbnMgKG9wdGlvbnM6IGFueSkge1xuICAgIHRoaXMuc2V0T3B0aW9ucyhvcHRpb25zKVxuICB9XG5cbiAgc2V0T3B0aW9ucyAob3B0aW9uczogYW55KTogdm9pZCB7XG4gICAgdGhpcy5fb3B0aW9ucyA9IG9wdGlvbnNcbiAgICB0aGlzLl9lZGl0b3Iuc2V0T3B0aW9ucyhvcHRpb25zIHx8IHt9KVxuICB9XG5cbiAgQElucHV0KCkgc2V0IHJlYWRPbmx5IChyZWFkT25seTogYW55KSB7XG4gICAgdGhpcy5zZXRSZWFkT25seShyZWFkT25seSlcbiAgfVxuXG4gIHNldFJlYWRPbmx5IChyZWFkT25seTogYW55KTogdm9pZCB7XG4gICAgdGhpcy5fcmVhZE9ubHkgPSByZWFkT25seVxuICAgIHRoaXMuX2VkaXRvci5zZXRSZWFkT25seShyZWFkT25seSlcbiAgfVxuXG4gIEBJbnB1dCgpIHNldCB0aGVtZSAodGhlbWU6IGFueSkge1xuICAgIHRoaXMuc2V0VGhlbWUodGhlbWUpXG4gIH1cblxuICBzZXRUaGVtZSAodGhlbWU6IGFueSk6IHZvaWQge1xuICAgIHRoaXMuX3RoZW1lID0gdGhlbWVcbiAgICB0aGlzLl9lZGl0b3Iuc2V0VGhlbWUoYGFjZS90aGVtZS8ke3RoZW1lfWApXG4gIH1cblxuICBASW5wdXQoKSBzZXQgbW9kZSAobW9kZTogYW55KSB7XG4gICAgdGhpcy5zZXRNb2RlKG1vZGUpXG4gIH1cblxuICBzZXRNb2RlIChtb2RlOiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLl9tb2RlID0gbW9kZVxuICAgIGlmICh0eXBlb2YgdGhpcy5fbW9kZSA9PT0gJ29iamVjdCcpIHtcbiAgICAgIHRoaXMuX2VkaXRvci5nZXRTZXNzaW9uKCkuc2V0TW9kZSh0aGlzLl9tb2RlKVxuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLl9lZGl0b3IuZ2V0U2Vzc2lvbigpLnNldE1vZGUoYGFjZS9tb2RlLyR7dGhpcy5fbW9kZX1gKVxuICAgIH1cbiAgfVxuXG4gIGdldCB2YWx1ZSAoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy50ZXh0XG4gIH1cblxuICBASW5wdXQoKVxuICBzZXQgdmFsdWUgKHZhbHVlOiBzdHJpbmcpIHtcbiAgICB0aGlzLnNldFRleHQodmFsdWUpXG4gIH1cblxuICB3cml0ZVZhbHVlICh2YWx1ZTogYW55KTogdm9pZCB7XG4gICAgdGhpcy5zZXRUZXh0KHZhbHVlKVxuICB9XG5cbiAgcHJpdmF0ZSBfb25DaGFuZ2UgPSAoXzogYW55KTogdm9pZCA9PiB7XG4gIH1cblxuICByZWdpc3Rlck9uQ2hhbmdlIChmbjogYW55KTogdm9pZCB7XG4gICAgdGhpcy5fb25DaGFuZ2UgPSBmblxuICB9XG5cbiAgcHJpdmF0ZSBfb25Ub3VjaGVkID0gKCk6IHZvaWQgPT4ge1xuICB9XG5cbiAgcmVnaXN0ZXJPblRvdWNoZWQgKGZuOiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLl9vblRvdWNoZWQgPSBmblxuICB9XG5cbiAgZ2V0IHRleHQgKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuX3RleHRcbiAgfVxuXG4gIEBJbnB1dCgpXG4gIHNldCB0ZXh0ICh0ZXh0OiBzdHJpbmcpIHtcbiAgICB0aGlzLnNldFRleHQodGV4dClcbiAgfVxuXG4gIHNldFRleHQgKHRleHQ6IGFueSk6IHZvaWQge1xuICAgIGlmICh0ZXh0ID09PSBudWxsIHx8IHRleHQgPT09IHVuZGVmaW5lZCkge1xuICAgICAgdGV4dCA9ICcnXG4gICAgfVxuICAgIGlmICh0aGlzLl90ZXh0ICE9PSB0ZXh0ICYmIHRoaXMuX2F1dG9VcGRhdGVDb250ZW50KSB7XG4gICAgICB0aGlzLl90ZXh0ID0gdGV4dFxuICAgICAgdGhpcy5fZWRpdG9yLnNldFZhbHVlKHRleHQpXG4gICAgICB0aGlzLl9vbkNoYW5nZSh0ZXh0KVxuICAgICAgdGhpcy5fZWRpdG9yLmNsZWFyU2VsZWN0aW9uKClcbiAgICB9XG4gIH1cblxuICBASW5wdXQoKSBzZXQgYXV0b1VwZGF0ZUNvbnRlbnQgKHN0YXR1czogYW55KSB7XG4gICAgdGhpcy5zZXRBdXRvVXBkYXRlQ29udGVudChzdGF0dXMpXG4gIH1cblxuICBzZXRBdXRvVXBkYXRlQ29udGVudCAoc3RhdHVzOiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLl9hdXRvVXBkYXRlQ29udGVudCA9IHN0YXR1c1xuICB9XG5cbiAgQElucHV0KCkgc2V0IGR1cmF0aW9uQmVmb3JlQ2FsbGJhY2sgKG51bTogbnVtYmVyKSB7XG4gICAgdGhpcy5zZXREdXJhdGlvbkJlZm9yZUNhbGxiYWNrKG51bSlcbiAgfVxuXG4gIHNldER1cmF0aW9uQmVmb3JlQ2FsbGJhY2sgKG51bTogbnVtYmVyKTogdm9pZCB7XG4gICAgdGhpcy5fZHVyYXRpb25CZWZvcmVDYWxsYmFjayA9IG51bVxuICB9XG5cbiAgZ2V0RWRpdG9yICgpOiBhbnkge1xuICAgIHJldHVybiB0aGlzLl9lZGl0b3JcbiAgfVxuXG59XG4iXX0=
212
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvaW5wdXRzL3NyYy9hY2UtZWRpdG9yL2NvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULFVBQVUsRUFDVixZQUFZLEVBQ1osVUFBVSxFQUNWLEtBQUssRUFDTCxNQUFNLEVBR04sTUFBTSxFQUNQLE1BQU0sZUFBZSxDQUFBO0FBQ3RCLE9BQU8sRUFBd0IsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQTtBQUN4RSxPQUFPLE9BQU8sQ0FBQTtBQUNkLE9BQU8scUJBQXFCLENBQUE7O0FBTTVCLE1BVWEsa0JBQWtCO0lBb0J5QjtJQWxCNUMsV0FBVyxHQUFHLElBQUksWUFBWSxFQUFFLENBQUE7SUFDaEMsVUFBVSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUE7SUFDaEMsS0FBSyxHQUFRLEVBQUUsQ0FBQTtJQUV4QixRQUFRLEdBQVEsRUFBRSxDQUFBO0lBQ2xCLFNBQVMsR0FBVSxLQUFLLENBQUE7SUFDeEIsTUFBTSxHQUFHLFNBQVMsQ0FBQTtJQUNsQixLQUFLLEdBQUcsTUFBTSxDQUFBO0lBQ2Qsa0JBQWtCLEdBQUcsSUFBSSxDQUFBO0lBQ3pCLE9BQU8sQ0FBSztJQUNaLHVCQUF1QixHQUFHLENBQUMsQ0FBQTtJQUMzQixLQUFLLEdBQUcsRUFBRSxDQUFBO0lBRVYsT0FBTyxDQUFLO0lBQ1osYUFBYSxDQUFLO0lBRVYsa0JBQWtCLEdBQWlCLEVBQUUsQ0FBQTtJQUU3QyxZQUFhLFVBQXNCLEVBQW1CLElBQVk7UUFBWixTQUFJLEdBQUosSUFBSSxDQUFRO1FBQ2hFLE1BQU0sRUFBRSxHQUFHLFVBQVUsQ0FBQyxhQUFhLENBQUE7UUFDbkMsSUFBSSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLEVBQUU7WUFDL0IsSUFBSSxDQUFDLE9BQU8sR0FBRyxHQUFHLENBQUMsSUFBSSxD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LElBQUk7eUJBQ1osQ0FBQztzSEFJUSxXQUFXO3NCQUFwQixNQUFNO2dCQUNHLFVBQVU7c0JBQW5CLE1BQU07Z0JBQ0UsS0FBSztzQkFBYixLQUFLO2dCQTJGTyxPQUFPO3NCQUFuQixLQUFLO2dCQVNPLFFBQVE7c0JBQXBCLEtBQUs7Z0JBU08sS0FBSztzQkFBakIsS0FBSztnQkFTTyxJQUFJO3NCQUFoQixLQUFLO2dCQWtCRixLQUFLO3NCQURSLEtBQUs7Z0JBNEJGLElBQUk7c0JBRFAsS0FBSztnQkFpQk8saUJBQWlCO3NCQUE3QixLQUFLO2dCQVFPLHNCQUFzQjtzQkFBbEMsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgRWxlbWVudFJlZixcbiAgRXZlbnRFbWl0dGVyLFxuICBmb3J3YXJkUmVmLFxuICBJbnB1dCxcbiAgTmdab25lLFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCxcbiAgT3V0cHV0XG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQgeyBDb250cm9sVmFsdWVBY2Nlc3NvciwgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3JtcydcbmltcG9ydCAnYnJhY2UnXG5pbXBvcnQgJ2JyYWNlL3RoZW1lL21vbm9rYWknXG5pbXBvcnQgeyBBY2UgfSBmcm9tICdhY2UtYnVpbGRzJztcbmltcG9ydCBDb21wbGV0aW9uID0gQWNlLkNvbXBsZXRpb247XG5cbmRlY2xhcmUgbGV0IGFjZTogYW55XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FjZS1lZGl0b3InLFxuICB0ZW1wbGF0ZTogJycsXG4gIHN0eWxlczogWyc6aG9zdCB7IGRpc3BsYXk6YmxvY2s7d2lkdGg6MTAwJTsgfSddLFxuICBwcm92aWRlcnM6IFt7XG4gICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gQWNlRWRpdG9yQ29tcG9uZW50KSxcbiAgICBtdWx0aTogdHJ1ZVxuICB9XVxufSlcbmV4cG9ydCBjbGFzcyBBY2VFZGl0b3JDb21wb25lbnQgaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciwgT25Jbml0LCBPbkRlc3Ryb3kge1xuXG4gIEBPdXRwdXQoKSB0ZXh0Q2hhbmdlZCA9IG5ldyBFdmVudEVtaXR0ZXIoKVxuICBAT3V0cHV0KCkgdGV4dENoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXIoKVxuICBASW5wdXQoKSBzdHlsZTogYW55ID0ge31cblxuICBfb3B0aW9uczogYW55ID0ge31cbiAgX3JlYWRPbmx5OiBmYWxzZSA9IGZhbHNlXG4gIF90aGVtZSA9ICdtb25va2FpJ1xuICBfbW9kZSA9ICdodG1sJ1xuICBfYXV0b1VwZGF0ZUNvbnRlbnQgPSB0cnVlXG4gIF9lZGl0b3I6IGFueVxuICBfZHVyYXRpb25CZWZvcmVDYWxsYmFjayA9IDBcbiAgX3RleHQgPSAnJ1xuXG4gIG9sZFRleHQ6IGFueVxuICB0aW1lb3V0U2F2aW5nOiBhbnlcblxuICBwcml2YXRlIF9jdXN0b21Db21wbGV0aW9uczogQ29tcGxldGlvbltdID0gW11cblxuICBjb25zdHJ1Y3RvciAoZWxlbWVudFJlZjogRWxlbWVudFJlZiwgcHJpdmF0ZSByZWFkb25seSB6b25lOiBOZ1pvbmUpIHtcbiAgICBjb25zdCBlbCA9IGVsZW1lbnRSZWYubmF0aXZlRWxlbWVudFxuICAgIHRoaXMuem9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKSA9PiB7XG4gICAgICB0aGlzLl9lZGl0b3IgPSBhY2UuZWRpdChlbClcbiAgICB9KVxuICAgIHRoaXMuX2VkaXRvci4kYmxvY2tTY3JvbGxpbmcgPSBJbmZpbml0eVxuICB9XG5cbiAgbmdPbkluaXQgKCk6IHZvaWQge1xuICAgIHRoaXMuaW5pdCgpXG4gICAgdGhpcy5pbml0RXZlbnRzKClcbiAgfVxuXG4gIG5nT25EZXN0cm95ICgpOiB2b2lkIHtcbiAgICB0aGlzLl9lZGl0b3IuZGVzdHJveSgpXG4gIH1cblxuICBpbml0ICgpOiB2b2lkIHtcbiAgICB0aGlzLnNldE9wdGlvbnModGhpcy5fb3B0aW9ucyB8fCB7fSlcbiAgICB0aGlzLnNldFRoZW1lKHRoaXMuX3RoZW1lKVxuICAgIHRoaXMuc2V0TW9kZSh0aGlzLl9tb2RlKVxuICAgIHRoaXMuc2V0UmVhZE9ubHkodGhpcy5fcmVhZE9ubHkpXG4gICAgdGhpcy5jcmVhdGVDdXN0b21Db21wbGV0aW9ucyh0aGlzLl9jdXN0b21Db21wbGV0aW9ucylcbiAgfVxuXG4gIHByaXZhdGUgY3JlYXRlQ3VzdG9tQ29tcGxldGlvbnMoY3VzdG9tQ29tcGxldGlvbnM6IENvbXBsZXRpb25bXSk6IHZvaWQge1xuICAgIHRoaXMuX2VkaXRvci5jb21wbGV0ZXJzLnB1c2goe1xuICAgICAgZ2V0Q29tcGxldGlvbnM6IGZ1bmN0aW9uKGVkaXRvciwgc2Vzc2lvbiwgcG9zLCBwcmVmaXgsIGNhbGxiYWNrKSB7XG4gICAgICAgIGNhbGxiYWNrKG51bGwsIGN1c3RvbUNvbXBsZXRpb25zKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIHNldCBjdXN0b21Db21wbGV0aW9ucyhjdXN0b21Db21wbGV0aW9uczogQ29tcGxldGlvbltdKSB7XG4gICAgdGhpcy5fY3VzdG9tQ29tcGxldGlvbnMgPSBjdXN0b21Db21wbGV0aW9uc1xuICB9XG5cbiAgaW5pdEV2ZW50cyAoKTogdm9pZCB7XG4gICAgdGhpcy5fZWRpdG9yLm9uKCdjaGFuZ2UnLCAoKSA9PiB7XG4gICAgICB0aGlzLnVwZGF0ZVRleHQoKVxuICAgIH0pXG4gICAgdGhpcy5fZWRpdG9yLm9uKCdwYXN0ZScsICgpID0+IHtcbiAgICAgIHRoaXMudXBkYXRlVGV4dCgpXG4gICAgfSlcbiAgfVxuXG4gIHVwZGF0ZVRleHQgKCk6IHZvaWQge1xuICAgIGNvbnN0IG5ld1ZhbCA9IHRoaXMuX2VkaXRvci5nZXRWYWx1ZSgpXG4gICAgaWYgKG5ld1ZhbCA9PT0gdGhpcy5vbGRUZXh0KSB7XG4gICAgICByZXR1cm5cbiAgICB9XG4gICAgaWYgKCF0aGlzLl9kdXJhdGlvbkJlZm9yZUNhbGxiYWNrKSB7XG4gICAgICB0aGlzLl90ZXh0ID0gbmV3VmFsXG4gICAgICB0aGlzLnpvbmUucnVuKCgpID0+IHtcbiAgICAgICAgdGhpcy50ZXh0Q2hhbmdlLmVtaXQobmV3VmFsKVxuICAgICAgICB0aGlzLnRleHRDaGFuZ2VkLmVtaXQobmV3VmFsKVxuICAgICAgfSlcbiAgICAgIHRoaXMuX29uQ2hhbmdlKG5ld1ZhbClcbiAgICB9IGVsc2Uge1xuICAgICAgaWYgKHRoaXMudGltZW91dFNhdmluZykge1xuICAgICAgICBjbGVhclRpbWVvdXQodGhpcy50aW1lb3V0U2F2aW5nKVxuICAgICAgfVxuXG4gICAgICB0aGlzLnRpbWVvdXRTYXZpbmcgPSBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgdGhpcy5fdGV4dCA9IG5ld1ZhbFxuICAgICAgICB0aGlzLnpvbmUucnVuKCgpID0+IHtcbiAgICAgICAgICB0aGlzLnRleHRDaGFuZ2UuZW1pdChuZXdWYWwpXG4gICAgICAgICAgdGhpcy50ZXh0Q2hhbmdlZC5lbWl0KG5ld1ZhbClcbiAgICAgICAgfSlcbiAgICAgICAgdGhpcy50aW1lb3V0U2F2aW5nID0gbnVsbFxuICAgICAgfSwgdGhpcy5fZHVyYXRpb25CZWZvcmVDYWxsYmFjaylcbiAgICB9XG4gICAgdGhpcy5vbGRUZXh0ID0gbmV3VmFsXG4gIH1cblxuICBASW5wdXQoKSBzZXQgb3B0aW9ucyAob3B0aW9uczogYW55KSB7XG4gICAgdGhpcy5zZXRPcHRpb25zKG9wdGlvbnMpXG4gIH1cblxuICBzZXRPcHRpb25zIChvcHRpb25zOiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLl9vcHRpb25zID0gb3B0aW9uc1xuICAgIHRoaXMuX2VkaXRvci5zZXRPcHRpb25zKG9wdGlvbnMgfHwge30pXG4gIH1cblxuICBASW5wdXQoKSBzZXQgcmVhZE9ubHkgKHJlYWRPbmx5OiBhbnkpIHtcbiAgICB0aGlzLnNldFJlYWRPbmx5KHJlYWRPbmx5KVxuICB9XG5cbiAgc2V0UmVhZE9ubHkgKHJlYWRPbmx5OiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLl9yZWFkT25seSA9IHJlYWRPbmx5XG4gICAgdGhpcy5fZWRpdG9yLnNldFJlYWRPbmx5KHJlYWRPbmx5KVxuICB9XG5cbiAgQElucHV0KCkgc2V0IHRoZW1lICh0aGVtZTogYW55KSB7XG4gICAgdGhpcy5zZXRUaGVtZSh0aGVtZSlcbiAgfVxuXG4gIHNldFRoZW1lICh0aGVtZTogYW55KTogdm9pZCB7XG4gICAgdGhpcy5fdGhlbWUgPSB0aGVtZVxuICAgIHRoaXMuX2VkaXRvci5zZXRUaGVtZShgYWNlL3RoZW1lLyR7dGhlbWV9YClcbiAgfVxuXG4gIEBJbnB1dCgpIHNldCBtb2RlIChtb2RlOiBhbnkpIHtcbiAgICB0aGlzLnNldE1vZGUobW9kZSlcbiAgfVxuXG4gIHNldE1vZGUgKG1vZGU6IGFueSk6IHZvaWQge1xuICAgIHRoaXMuX21vZGUgPSBtb2RlXG4gICAgaWYgKHR5cGVvZiB0aGlzLl9tb2RlID09PSAnb2JqZWN0Jykge1xuICAgICAgdGhpcy5fZWRpdG9yLmdldFNlc3Npb24oKS5zZXRNb2RlKHRoaXMuX21vZGUpXG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuX2VkaXRvci5nZXRTZXNzaW9uKCkuc2V0TW9kZShgYWNlL21vZGUvJHt0aGlzLl9tb2RlfWApXG4gICAgfVxuICB9XG5cbiAgZ2V0IHZhbHVlICgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLnRleHRcbiAgfVxuXG4gIEBJbnB1dCgpXG4gIHNldCB2YWx1ZSAodmFsdWU6IHN0cmluZykge1xuICAgIHRoaXMuc2V0VGV4dCh2YWx1ZSlcbiAgfVxuXG4gIHdyaXRlVmFsdWUgKHZhbHVlOiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLnNldFRleHQodmFsdWUpXG4gIH1cblxuICBwcml2YXRlIF9vbkNoYW5nZSA9IChfOiBhbnkpOiB2b2lkID0+IHtcbiAgfVxuXG4gIHJlZ2lzdGVyT25DaGFuZ2UgKGZuOiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLl9vbkNoYW5nZSA9IGZuXG4gIH1cblxuICBwcml2YXRlIF9vblRvdWNoZWQgPSAoKTogdm9pZCA9PiB7XG4gIH1cblxuICByZWdpc3Rlck9uVG91Y2hlZCAoZm46IGFueSk6IHZvaWQge1xuICAgIHRoaXMuX29uVG91Y2hlZCA9IGZuXG4gIH1cblxuICBnZXQgdGV4dCAoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5fdGV4dFxuICB9XG5cbiAgQElucHV0KClcbiAgc2V0IHRleHQgKHRleHQ6IHN0cmluZykge1xuICAgIHRoaXMuc2V0VGV4dCh0ZXh0KVxuICB9XG5cbiAgc2V0VGV4dCAodGV4dDogYW55KTogdm9pZCB7XG4gICAgaWYgKHRleHQgPT09IG51bGwgfHwgdGV4dCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICB0ZXh0ID0gJydcbiAgICB9XG4gICAgaWYgKHRoaXMuX3RleHQgIT09IHRleHQgJiYgdGhpcy5fYXV0b1VwZGF0ZUNvbnRlbnQpIHtcbiAgICAgIHRoaXMuX3RleHQgPSB0ZXh0XG4gICAgICB0aGlzLl9lZGl0b3Iuc2V0VmFsdWUodGV4dClcbiAgICAgIHRoaXMuX29uQ2hhbmdlKHRleHQpXG4gICAgICB0aGlzLl9lZGl0b3IuY2xlYXJTZWxlY3Rpb24oKVxuICAgIH1cbiAgfVxuXG4gIEBJbnB1dCgpIHNldCBhdXRvVXBkYXRlQ29udGVudCAoc3RhdHVzOiBhbnkpIHtcbiAgICB0aGlzLnNldEF1dG9VcGRhdGVDb250ZW50KHN0YXR1cylcbiAgfVxuXG4gIHNldEF1dG9VcGRhdGVDb250ZW50IChzdGF0dXM6IGFueSk6IHZvaWQge1xuICAgIHRoaXMuX2F1dG9VcGRhdGVDb250ZW50ID0gc3RhdHVzXG4gIH1cblxuICBASW5wdXQoKSBzZXQgZHVyYXRpb25CZWZvcmVDYWxsYmFjayAobnVtOiBudW1iZXIpIHtcbiAgICB0aGlzLnNldER1cmF0aW9uQmVmb3JlQ2FsbGJhY2sobnVtKVxuICB9XG5cbiAgc2V0RHVyYXRpb25CZWZvcmVDYWxsYmFjayAobnVtOiBudW1iZXIpOiB2b2lkIHtcbiAgICB0aGlzLl9kdXJhdGlvbkJlZm9yZUNhbGxiYWNrID0gbnVtXG4gIH1cblxuICBnZXRFZGl0b3IgKCk6IGFueSB7XG4gICAgcmV0dXJuIHRoaXMuX2VkaXRvclxuICB9XG5cbn1cbiJdfQ==
@@ -18,6 +18,8 @@ class KeyValueInputComponent {
18
18
  inputOptionsWidthPercentage;
19
19
  inputOptionsDefaultSelected;
20
20
  inputOptions = [];
21
+ blockNewItem = false;
22
+ blockEditLabel = false;
21
23
  onDropFn;
22
24
  itemsChange = new EventEmitter();
23
25
  temporaryItem;
@@ -80,12 +82,12 @@ class KeyValueInputComponent {
80
82
  return this.componentId ? `${this.componentId}-${id}-${index}` : `${id}-${index}`;
81
83
  }
82
84
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: KeyValueInputComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
83
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.2", type: KeyValueInputComponent, selector: "key-value-input", inputs: { componentId: "componentId", items: "items", size: "size", keyAttributeName: "keyAttributeName", valueAttributeName: "valueAttributeName", keyLabel: "keyLabel", valueLabel: "valueLabel", removeLabel: "removeLabel", inputOptionsWidthPercentage: "inputOptionsWidthPercentage", inputOptionsDefaultSelected: "inputOptionsDefaultSelected", inputOptions: "inputOptions", onDropFn: "onDropFn" }, outputs: { itemsChange: "itemsChange" }, ngImport: i0, template: "<div class=\"key-value-item\" *ngFor=\"let item of items; let index = index\">\n <input-text\n [componentId]=\"getComponentId('key', index)\"\n class=\"input-key\"\n [size]=\"size\"\n [label]=\"keyLabel\"\n [inputOptions]=\"inputOptions\"\n [inputOptionsInitSelected]=\"item.type\"\n [widthPercentageInputOptions]=\"inputOptionsWidthPercentage\"\n [(ngModel)]=\"item[keyAttributeName]\"\n (optionChanged)=\"inputOptionChanged($event, index)\"\n (onDropEvent)=\"onKeyDrop(item, $event)\">\n </input-text>\n <input-text\n class=\"input-value\"\n [size]=\"size\"\n [label]=\"valueLabel\"\n [(ngModel)]=\"item[valueAttributeName]\"\n (onDropEvent)=\"onValueDrop(item, $event)\">\n </input-text>\n <button class=\"delete-button\" (click)=\"removeItem(index)\" [matTooltip]=\"removeLabel\" type=\"button\">\n <i class=\"far fa-trash-alt fa-lg\"></i>\n </button>\n</div>\n<div class=\"key-value-item\">\n <input-text\n class=\"input-key\"\n [size]=\"size\"\n [label]=\"keyLabel\"\n [inputOptions]=\"inputOptions\"\n [inputOptionsInitSelected]=\"inputOptionsDefaultSelected\"\n [widthPercentageInputOptions]=\"inputOptionsWidthPercentage\"\n (input)=\"onKeyPressedTemporaryKeyFn()\"\n (optionChanged)=\"temporaryItemOptionChanged($event)\"\n [(ngModel)]=\"temporaryItem[this.keyAttributeName]\"\n (onDropEvent)=\"onKeyDropTemporaryItem(temporaryItem, $event)\">\n </input-text>\n <input-text\n class=\"input-value\"\n [size]=\"size\"\n [label]=\"valueLabel\"\n [(ngModel)]=\"temporaryItem[this.valueAttributeName]\"\n (onDropEvent)=\"onValueDrop(temporaryItem, $event)\">\n </input-text>\n</div>\n\n", styles: [".key-value-item{display:flex;gap:10px;margin-bottom:10px;width:100%}.key-value-item .input-key{width:50%}.key-value-item .input-key ::ng-deep input{padding-left:10px!important;padding-right:10px!important}.key-value-item .input-value{width:calc(50% - 60px)}.key-value-item .input-value ::ng-deep input{padding-left:10px!important;padding-right:10px!important}.key-value-item .delete-button{display:flex;justify-content:center;align-items:center;cursor:pointer;color:var(--color-fonts-tertiary);border:none!important;background:none!important}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i3.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }, { kind: "component", type: i4.InputTextComponent, selector: "input-text", inputs: ["componentId", "label", "disabled", "iconSuffix", "iconPrefix", "autoComplete", "size", "debounceTime", "widthPercentageInputOptions", "inputOptions", "inputOptionsInitSelected"], outputs: ["suffixIconClick", "prefixIconClick", "onDebounce", "optionChanged", "onDropEvent"] }] });
85
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.2", type: KeyValueInputComponent, selector: "key-value-input", inputs: { componentId: "componentId", items: "items", size: "size", keyAttributeName: "keyAttributeName", valueAttributeName: "valueAttributeName", keyLabel: "keyLabel", valueLabel: "valueLabel", removeLabel: "removeLabel", inputOptionsWidthPercentage: "inputOptionsWidthPercentage", inputOptionsDefaultSelected: "inputOptionsDefaultSelected", inputOptions: "inputOptions", blockNewItem: "blockNewItem", blockEditLabel: "blockEditLabel", onDropFn: "onDropFn" }, outputs: { itemsChange: "itemsChange" }, ngImport: i0, template: "<div class=\"key-value-item\" *ngFor=\"let item of items; let index = index\">\n <input-text\n [componentId]=\"getComponentId('key', index)\"\n class=\"input-key\"\n [size]=\"size\"\n [label]=\"keyLabel\"\n [inputOptions]=\"inputOptions\"\n [inputOptionsInitSelected]=\"item.type\"\n [widthPercentageInputOptions]=\"inputOptionsWidthPercentage\"\n [disabled]=\"blockEditLabel\"\n [(ngModel)]=\"item[keyAttributeName]\"\n (optionChanged)=\"inputOptionChanged($event, index)\"\n (onDropEvent)=\"onKeyDrop(item, $event)\">\n </input-text>\n <input-text\n class=\"input-value\"\n [size]=\"size\"\n [label]=\"valueLabel\"\n [(ngModel)]=\"item[valueAttributeName]\"\n (onDropEvent)=\"onValueDrop(item, $event)\">\n </input-text>\n <button class=\"delete-button\" (click)=\"removeItem(index)\" [matTooltip]=\"removeLabel\" type=\"button\">\n <i class=\"far fa-trash-alt fa-lg\"></i>\n </button>\n</div>\n<div class=\"key-value-item\" *ngIf=\"!blockNewItem\">\n <input-text\n class=\"input-key\"\n [size]=\"size\"\n [label]=\"keyLabel\"\n [inputOptions]=\"inputOptions\"\n [inputOptionsInitSelected]=\"inputOptionsDefaultSelected\"\n [widthPercentageInputOptions]=\"inputOptionsWidthPercentage\"\n (input)=\"onKeyPressedTemporaryKeyFn()\"\n (optionChanged)=\"temporaryItemOptionChanged($event)\"\n [(ngModel)]=\"temporaryItem[this.keyAttributeName]\"\n (onDropEvent)=\"onKeyDropTemporaryItem(temporaryItem, $event)\">\n </input-text>\n <input-text\n class=\"input-value\"\n [size]=\"size\"\n [label]=\"valueLabel\"\n [(ngModel)]=\"temporaryItem[this.valueAttributeName]\"\n (onDropEvent)=\"onValueDrop(temporaryItem, $event)\">\n </input-text>\n</div>\n\n", styles: [".key-value-item{display:flex;gap:10px;margin-bottom:10px;width:100%}.key-value-item .input-key{width:50%}.key-value-item .input-key ::ng-deep input{padding-left:10px!important;padding-right:10px!important}.key-value-item .input-value{width:calc(50% - 60px)}.key-value-item .input-value ::ng-deep input{padding-left:10px!important;padding-right:10px!important}.key-value-item .delete-button{display:flex;justify-content:center;align-items:center;cursor:pointer;color:var(--color-fonts-tertiary);border:none!important;background:none!important}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i3.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }, { kind: "component", type: i4.InputTextComponent, selector: "input-text", inputs: ["componentId", "label", "disabled", "iconSuffix", "iconPrefix", "autoComplete", "size", "debounceTime", "widthPercentageInputOptions", "inputOptions", "inputOptionsInitSelected"], outputs: ["suffixIconClick", "prefixIconClick", "onDebounce", "optionChanged", "onDropEvent"] }] });
84
86
  }
85
87
  export { KeyValueInputComponent };
86
88
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: KeyValueInputComponent, decorators: [{
87
89
  type: Component,
88
- args: [{ selector: 'key-value-input', template: "<div class=\"key-value-item\" *ngFor=\"let item of items; let index = index\">\n <input-text\n [componentId]=\"getComponentId('key', index)\"\n class=\"input-key\"\n [size]=\"size\"\n [label]=\"keyLabel\"\n [inputOptions]=\"inputOptions\"\n [inputOptionsInitSelected]=\"item.type\"\n [widthPercentageInputOptions]=\"inputOptionsWidthPercentage\"\n [(ngModel)]=\"item[keyAttributeName]\"\n (optionChanged)=\"inputOptionChanged($event, index)\"\n (onDropEvent)=\"onKeyDrop(item, $event)\">\n </input-text>\n <input-text\n class=\"input-value\"\n [size]=\"size\"\n [label]=\"valueLabel\"\n [(ngModel)]=\"item[valueAttributeName]\"\n (onDropEvent)=\"onValueDrop(item, $event)\">\n </input-text>\n <button class=\"delete-button\" (click)=\"removeItem(index)\" [matTooltip]=\"removeLabel\" type=\"button\">\n <i class=\"far fa-trash-alt fa-lg\"></i>\n </button>\n</div>\n<div class=\"key-value-item\">\n <input-text\n class=\"input-key\"\n [size]=\"size\"\n [label]=\"keyLabel\"\n [inputOptions]=\"inputOptions\"\n [inputOptionsInitSelected]=\"inputOptionsDefaultSelected\"\n [widthPercentageInputOptions]=\"inputOptionsWidthPercentage\"\n (input)=\"onKeyPressedTemporaryKeyFn()\"\n (optionChanged)=\"temporaryItemOptionChanged($event)\"\n [(ngModel)]=\"temporaryItem[this.keyAttributeName]\"\n (onDropEvent)=\"onKeyDropTemporaryItem(temporaryItem, $event)\">\n </input-text>\n <input-text\n class=\"input-value\"\n [size]=\"size\"\n [label]=\"valueLabel\"\n [(ngModel)]=\"temporaryItem[this.valueAttributeName]\"\n (onDropEvent)=\"onValueDrop(temporaryItem, $event)\">\n </input-text>\n</div>\n\n", styles: [".key-value-item{display:flex;gap:10px;margin-bottom:10px;width:100%}.key-value-item .input-key{width:50%}.key-value-item .input-key ::ng-deep input{padding-left:10px!important;padding-right:10px!important}.key-value-item .input-value{width:calc(50% - 60px)}.key-value-item .input-value ::ng-deep input{padding-left:10px!important;padding-right:10px!important}.key-value-item .delete-button{display:flex;justify-content:center;align-items:center;cursor:pointer;color:var(--color-fonts-tertiary);border:none!important;background:none!important}\n"] }]
90
+ args: [{ selector: 'key-value-input', template: "<div class=\"key-value-item\" *ngFor=\"let item of items; let index = index\">\n <input-text\n [componentId]=\"getComponentId('key', index)\"\n class=\"input-key\"\n [size]=\"size\"\n [label]=\"keyLabel\"\n [inputOptions]=\"inputOptions\"\n [inputOptionsInitSelected]=\"item.type\"\n [widthPercentageInputOptions]=\"inputOptionsWidthPercentage\"\n [disabled]=\"blockEditLabel\"\n [(ngModel)]=\"item[keyAttributeName]\"\n (optionChanged)=\"inputOptionChanged($event, index)\"\n (onDropEvent)=\"onKeyDrop(item, $event)\">\n </input-text>\n <input-text\n class=\"input-value\"\n [size]=\"size\"\n [label]=\"valueLabel\"\n [(ngModel)]=\"item[valueAttributeName]\"\n (onDropEvent)=\"onValueDrop(item, $event)\">\n </input-text>\n <button class=\"delete-button\" (click)=\"removeItem(index)\" [matTooltip]=\"removeLabel\" type=\"button\">\n <i class=\"far fa-trash-alt fa-lg\"></i>\n </button>\n</div>\n<div class=\"key-value-item\" *ngIf=\"!blockNewItem\">\n <input-text\n class=\"input-key\"\n [size]=\"size\"\n [label]=\"keyLabel\"\n [inputOptions]=\"inputOptions\"\n [inputOptionsInitSelected]=\"inputOptionsDefaultSelected\"\n [widthPercentageInputOptions]=\"inputOptionsWidthPercentage\"\n (input)=\"onKeyPressedTemporaryKeyFn()\"\n (optionChanged)=\"temporaryItemOptionChanged($event)\"\n [(ngModel)]=\"temporaryItem[this.keyAttributeName]\"\n (onDropEvent)=\"onKeyDropTemporaryItem(temporaryItem, $event)\">\n </input-text>\n <input-text\n class=\"input-value\"\n [size]=\"size\"\n [label]=\"valueLabel\"\n [(ngModel)]=\"temporaryItem[this.valueAttributeName]\"\n (onDropEvent)=\"onValueDrop(temporaryItem, $event)\">\n </input-text>\n</div>\n\n", styles: [".key-value-item{display:flex;gap:10px;margin-bottom:10px;width:100%}.key-value-item .input-key{width:50%}.key-value-item .input-key ::ng-deep input{padding-left:10px!important;padding-right:10px!important}.key-value-item .input-value{width:calc(50% - 60px)}.key-value-item .input-value ::ng-deep input{padding-left:10px!important;padding-right:10px!important}.key-value-item .delete-button{display:flex;justify-content:center;align-items:center;cursor:pointer;color:var(--color-fonts-tertiary);border:none!important;background:none!important}\n"] }]
89
91
  }], propDecorators: { componentId: [{
90
92
  type: Input
91
93
  }], items: [{
@@ -108,9 +110,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.2", ngImpor
108
110
  type: Input
109
111
  }], inputOptions: [{
110
112
  type: Input
113
+ }], blockNewItem: [{
114
+ type: Input
115
+ }], blockEditLabel: [{
116
+ type: Input
111
117
  }], onDropFn: [{
112
118
  type: Input
113
119
  }], itemsChange: [{
114
120
  type: Output
115
121
  }] } });
116
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2V5LXZhbHVlLWlucHV0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2lucHV0cy9zcmMvaW5wdXQta2V5LXZhbHVlL2tleS12YWx1ZS1pbnB1dC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9wcm9qZWN0cy9pbnB1dHMvc3JjL2lucHV0LWtleS12YWx1ZS9rZXktdmFsdWUtaW5wdXQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUvRSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9CLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7O0FBTzlDLE1BS2Esc0JBQXNCO0lBRXhCLFdBQVcsQ0FBUTtJQUNuQixLQUFLLEdBQXdCLEVBQUUsQ0FBQTtJQUMvQixJQUFJLEdBQXVCLFNBQVMsQ0FBQTtJQUNwQyxnQkFBZ0IsR0FBVyxLQUFLLENBQUE7SUFDaEMsa0JBQWtCLEdBQVcsT0FBTyxDQUFBO0lBQ3BDLFFBQVEsR0FBVyxLQUFLLENBQUE7SUFDeEIsVUFBVSxHQUFXLE9BQU8sQ0FBQTtJQUM1QixXQUFXLEdBQVcsUUFBUSxDQUFBO0lBQzlCLDJCQUEyQixDQUFRO0lBQ25DLDJCQUEyQixDQUFRO0lBQ25DLFlBQVksR0FBRyxFQUFFLENBQUE7SUFDakIsUUFBUSxDQUFxRDtJQUM1RCxXQUFXLEdBQXNDLElBQUksWUFBWSxFQUF1QixDQUFBO0lBRTNGLGFBQWEsQ0FBbUI7SUFDdEIsd0JBQXdCLEdBQWtCLElBQUksT0FBTyxFQUFRLENBQUE7SUFFdEUsMEJBQTBCO1FBQ2hDLE9BQU87WUFDTCxJQUFJLEVBQUUsSUFBSSxDQUFDLDJCQUEyQjtZQUN0QyxDQUFDLElBQUksQ0FBQyxnQkFBZ0Is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SUFFTSxjQUFjLENBQUMsRUFBVSxFQUFFLEtBQWE7UUFDN0MsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxXQUFXLElBQUksRUFBRSxJQUFJLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsSUFBSSxLQUFLLEVBQUUsQ0FBQTtJQUNuRixDQUFDO3VHQXRGVSxzQkFBc0I7MkZBQXRCLHNCQUFzQiw4ZUNmbkMsZ3FEQThDQTs7U0QvQmEsc0JBQXNCOzJGQUF0QixzQkFBc0I7a0JBTGxDLFNBQVM7K0JBQ0UsaUJBQWlCOzhCQU1sQixXQUFXO3NCQUFuQixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csZ0JBQWdCO3NCQUF4QixLQUFLO2dCQUNHLGtCQUFrQjtzQkFBMUIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRywyQkFBMkI7c0JBQW5DLEtBQUs7Z0JBQ0csMkJBQTJCO3NCQUFuQyxLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDSSxXQUFXO3NCQUFwQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRG5kRHJvcEV2ZW50IH0gZnJvbSAnbmd4LWRyYWctZHJvcCc7XG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBkZWJvdW5jZVRpbWUgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgS2V5VmFsdWVJbnB1dFR5cGUge1xuICBbeDogc3RyaW5nXTogYW55XG4gIHR5cGU6IHN0cmluZ1xufVxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdrZXktdmFsdWUtaW5wdXQnLFxuICB0ZW1wbGF0ZVVybDogJ2tleS12YWx1ZS1pbnB1dC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWydrZXktdmFsdWUtaW5wdXQuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBLZXlWYWx1ZUlucHV0Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcblxuICBASW5wdXQoKSBjb21wb25lbnRJZDogc3RyaW5nXG4gIEBJbnB1dCgpIGl0ZW1zOiBLZXlWYWx1ZUlucHV0VHlwZVtdID0gW11cbiAgQElucHV0KCkgc2l6ZTogJ0RFRkFVTFQnIHwgJ1NMSU0nID0gJ0RFRkFVTFQnXG4gIEBJbnB1dCgpIGtleUF0dHJpYnV0ZU5hbWU6IHN0cmluZyA9ICdrZXknXG4gIEBJbnB1dCgpIHZhbHVlQXR0cmlidXRlTmFtZTogc3RyaW5nID0gJ3ZhbHVlJ1xuICBASW5wdXQoKSBrZXlMYWJlbDogc3RyaW5nID0gJ0tleSdcbiAgQElucHV0KCkgdmFsdWVMYWJlbDogc3RyaW5nID0gJ1ZhbHVlJ1xuICBASW5wdXQoKSByZW1vdmVMYWJlbDogc3RyaW5nID0gJ1JlbW92ZSdcbiAgQElucHV0KCkgaW5wdXRPcHRpb25zV2lkdGhQZXJjZW50YWdlOiBudW1iZXJcbiAgQElucHV0KCkgaW5wdXRPcHRpb25zRGVmYXVsdFNlbGVjdGVkOiBzdHJpbmdcbiAgQElucHV0KCkgaW5wdXRPcHRpb25zID0gW11cbiAgQElucHV0KCkgb25Ecm9wRm46ICgkZXZlbnQ6IERuZERyb3BFdmVudCwgYXR0cmlidXRlOiBzdHJpbmcpID0+IHN0cmluZ1xuICBAT3V0cHV0KCkgaXRlbXNDaGFuZ2U6IEV2ZW50RW1pdHRlcjxLZXlWYWx1ZUlucHV0VHlwZVtdPiA9IG5ldyBFdmVudEVtaXR0ZXI8S2V5VmFsdWVJbnB1dFR5cGVbXT4oKVxuXG4gIHB1YmxpYyB0ZW1wb3JhcnlJdGVtOiBLZXlWYWx1ZUlucHV0VHlwZVxuICBwcml2YXRlIHJlYWRvbmx5IG9uS2V5UHJlc3NlZFRlbXBvcmFyeUtleTogU3ViamVjdDx2b2lkPiA9IG5ldyBTdWJqZWN0PHZvaWQ+KClcblxuICBwcml2YXRlIGNyZWF0ZURlZmF1bHRUZW1wb3JhcnlJdGVtKCk6IEtleVZhbHVlSW5wdXRUeXBlIHtcbiAgICByZXR1cm4ge1xuICAgICAgdHlwZTogdGhpcy5pbnB1dE9wdGlvbnNEZWZhdWx0U2VsZWN0ZWQsXG4gICAgICBbdGhpcy5rZXlBdHRyaWJ1dGVOYW1lXTogJycsXG4gICAgICBbdGhpcy52YWx1ZUF0dHJpYnV0ZU5hbWVdOiAnJ1xuICAgIH07XG4gIH1cblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy50ZW1wb3JhcnlJdGVtID0gdGhpcy5jcmVhdGVEZWZhdWx0VGVtcG9yYXJ5SXRlbSgpXG4gICAgaWYgKCF0aGlzLml0ZW1zKSB7XG4gICAgICB0aGlzLml0ZW1zID0gW11cbiAgICAgIHRoaXMuaXRlbXNDaGFuZ2UuZW1pdCh0aGlzLml0ZW1zKVxuICAgIH1cbiAgICB0aGlzLmlucHV0T3B0aW9uc0RlZmF1bHRTZWxlY3RlZCB8fD0gdGhpcy5pbnB1dE9wdGlvbnM/LlswXT8udmFsdWVcbiAgICB0aGlzLm9uS2V5UHJlc3NlZFRlbXBvcmFyeUtleVxuICAgICAgLnBpcGUoZGVib3VuY2VUaW1lKDMwMCkpXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgdGhpcy5hZGRUZW1wb3JhcnlBdHRyaWJ1dGVUb0l0ZW1zKClcbiAgICAgICAgdGhpcy5mb2N1c09uTGFzdEl0ZW0oKVxuICAgICAgfSlcbiAgfVxuXG4gIHB1YmxpYyByZW1vdmVJdGVtKGluZGV4OiBudW1iZXIpOiB2b2lkIHtcbiAgICB0aGlzLml0ZW1zLnNwbGljZShpbmRleCwgMSk7XG4gIH1cblxuICBwdWJsaWMgaW5wdXRPcHRpb25DaGFuZ2VkKGV2ZW50OiBzdHJpbmcsIGluZGV4OiBudW1iZXIpOiB2b2lkIHtcbiAgICB0aGlzLml0ZW1zW2luZGV4XS50eXBlID0gZXZlbnQ7XG4gIH1cblxuICBwdWJsaWMgb25LZXlEcm9wKG1vZGVsOiBLZXlWYWx1ZUlucHV0VHlwZSwgJGV2ZW50OiBEbmREcm9wRXZlbnQpOiB2b2lkIHtcbiAgICBtb2RlbFt0aGlzLmtleUF0dHJpYnV0ZU5hbWVdID0gdGhpcy5vbkRyb3BGbigkZXZlbnQsIG1vZGVsW3RoaXMua2V5QXR0cmlidXRlTmFtZV0pXG4gIH1cblxuICBwdWJsaWMgb25LZXlEcm9wVGVtcG9yYXJ5SXRlbShtb2RlbDogS2V5VmFsdWVJbnB1dFR5cGUsICRldmVudDogRG5kRHJvcEV2ZW50KTogdm9pZCB7XG4gICAgbW9kZWxbdGhpcy5rZXlBdHRyaWJ1dGVOYW1lXSA9IHRoaXMub25Ecm9wRm4oJGV2ZW50LCBtb2RlbFt0aGlzLmtleUF0dHJpYnV0ZU5hbWVdKVxuICAgIHRoaXMuYWRkVGVtcG9yYXJ5QXR0cmlidXRlVG9JdGVtcygpXG4gIH1cblxuICBwdWJsaWMgb25WYWx1ZURyb3AobW9kZWw6IEtleVZhbHVlSW5wdXRUeXBlLCAkZXZlbnQ6IERuZERyb3BFdmVudCk6IHZvaWQge1xuICAgIG1vZGVsW3RoaXMudmFsdWVBdHRyaWJ1dGVOYW1lXSA9IHRoaXMub25Ecm9wRm4oJGV2ZW50LCBtb2RlbFt0aGlzLnZhbHVlQXR0cmlidXRlTmFtZV0pXG4gIH1cblxuICBwdWJsaWMgYWRkVGVtcG9yYXJ5QXR0cmlidXRlVG9JdGVtcygpOiB2b2lkIHtcbiAgICB0aGlzLml0ZW1zLnB1c2goeyAuLi50aGlzLnRlbXBvcmFyeUl0ZW0gfSlcbiAgICB0aGlzLnRlbXBvcmFyeUl0ZW0gPSB0aGlzLmNyZWF0ZURlZmF1bHRUZW1wb3JhcnlJdGVtKClcbiAgfVxuXG4gIHB1YmxpYyBmb2N1c09uTGFzdEl0ZW0oKTogdm9pZCB7XG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICBjb25zdCBpbmRleCA9IHRoaXMuaXRlbXMubGVuZ3RoIC0gMVxuICAgICAgY29uc3QgZm9jdXNJZCA9IGAke3RoaXMuZ2V0Q29tcG9uZW50SWQoJ2tleScsIGluZGV4KX0taW5wdXRgXG4gICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChmb2N1c0lkKS5mb2N1cygpXG4gICAgfSlcbiAgfVxuXG4gIHB1YmxpYyBvbktleVByZXNzZWRUZW1wb3JhcnlLZXlGbigpOiB2b2lkIHtcbiAgICB0aGlzLm9uS2V5UHJlc3NlZFRlbXBvcmFyeUtleS5uZXh0KClcbiAgfVxuXG4gIHB1YmxpYyB0ZW1wb3JhcnlJdGVtT3B0aW9uQ2hhbmdlZChldmVudDogc3RyaW5nKTogdm9pZCB7XG4gICAgdGhpcy50ZW1wb3JhcnlJdGVtLnR5cGUgPSBldmVudFxuICB9XG5cbiAgcHVibGljIGdldENvbXBvbmVudElkKGlkOiBzdHJpbmcsIGluZGV4OiBudW1iZXIpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmNvbXBvbmVudElkID8gYCR7dGhpcy5jb21wb25lbnRJZH0tJHtpZH0tJHtpbmRleH1gIDogYCR7aWR9LSR7aW5kZXh9YFxuICB9XG5cbn1cbiIsIjxkaXYgY2xhc3M9XCJrZXktdmFsdWUtaXRlbVwiICpuZ0Zvcj1cImxldCBpdGVtIG9mIGl0ZW1zOyBsZXQgaW5kZXggPSBpbmRleFwiPlxuICA8aW5wdXQtdGV4dFxuICAgIFtjb21wb25lbnRJZF09XCJnZXRDb21wb25lbnRJZCgna2V5JywgaW5kZXgpXCJcbiAgICBjbGFzcz1cImlucHV0LWtleVwiXG4gICAgW3NpemVdPVwic2l6ZVwiXG4gICAgW2xhYmVsXT1cImtleUxhYmVsXCJcbiAgICBbaW5wdXRPcHRpb25zXT1cImlucHV0T3B0aW9uc1wiXG4gICAgW2lucHV0T3B0aW9uc0luaXRTZWxlY3RlZF09XCJpdGVtLnR5cGVcIlxuICAgIFt3aWR0aFBlcmNlbnRhZ2VJbnB1dE9wdGlvbnNdPVwiaW5wdXRPcHRpb25zV2lkdGhQZXJjZW50YWdlXCJcbiAgICBbKG5nTW9kZWwpXT1cIml0ZW1ba2V5QXR0cmlidXRlTmFtZV1cIlxuICAgIChvcHRpb25DaGFuZ2VkKT1cImlucHV0T3B0aW9uQ2hhbmdlZCgkZXZlbnQsIGluZGV4KVwiXG4gICAgKG9uRHJvcEV2ZW50KT1cIm9uS2V5RHJvcChpdGVtLCAkZXZlbnQpXCI+XG4gIDwvaW5wdXQtdGV4dD5cbiAgPGlucHV0LXRleHRcbiAgICBjbGFzcz1cImlucHV0LXZhbHVlXCJcbiAgICBbc2l6ZV09XCJzaXplXCJcbiAgICBbbGFiZWxdPVwidmFsdWVMYWJlbFwiXG4gICAgWyhuZ01vZGVsKV09XCJpdGVtW3ZhbHVlQXR0cmlidXRlTmFtZV1cIlxuICAgIChvbkRyb3BFdmVudCk9XCJvblZhbHVlRHJvcChpdGVtLCAkZXZlbnQpXCI+XG4gIDwvaW5wdXQtdGV4dD5cbiAgPGJ1dHRvbiBjbGFzcz1cImRlbGV0ZS1idXR0b25cIiAoY2xpY2spPVwicmVtb3ZlSXRlbShpbmRleClcIiBbbWF0VG9vbHRpcF09XCJyZW1vdmVMYWJlbFwiIHR5cGU9XCJidXR0b25cIj5cbiAgICA8aSBjbGFzcz1cImZhciBmYS10cmFzaC1hbHQgZmEtbGdcIj48L2k+XG4gIDwvYnV0dG9uPlxuPC9kaXY+XG48ZGl2IGNsYXNzPVwia2V5LXZhbHVlLWl0ZW1cIj5cbiAgPGlucHV0LXRleHRcbiAgICBjbGFzcz1cImlucHV0LWtleVwiXG4gICAgW3NpemVdPVwic2l6ZVwiXG4gICAgW2xhYmVsXT1cImtleUxhYmVsXCJcbiAgICBbaW5wdXRPcHRpb25zXT1cImlucHV0T3B0aW9uc1wiXG4gICAgW2lucHV0T3B0aW9uc0luaXRTZWxlY3RlZF09XCJpbnB1dE9wdGlvbnNEZWZhdWx0U2VsZWN0ZWRcIlxuICAgIFt3aWR0aFBlcmNlbnRhZ2VJbnB1dE9wdGlvbnNdPVwiaW5wdXRPcHRpb25zV2lkdGhQZXJjZW50YWdlXCJcbiAgICAoaW5wdXQpPVwib25LZXlQcmVzc2VkVGVtcG9yYXJ5S2V5Rm4oKVwiXG4gICAgKG9wdGlvbkNoYW5nZWQpPVwidGVtcG9yYXJ5SXRlbU9wdGlvbkNoYW5nZWQoJGV2ZW50KVwiXG4gICAgWyhuZ01vZGVsKV09XCJ0ZW1wb3JhcnlJdGVtW3RoaXMua2V5QXR0cmlidXRlTmFtZV1cIlxuICAgIChvbkRyb3BFdmVudCk9XCJvbktleURyb3BUZW1wb3JhcnlJdGVtKHRlbXBvcmFyeUl0ZW0sICRldmVudClcIj5cbiAgPC9pbnB1dC10ZXh0PlxuICA8aW5wdXQtdGV4dFxuICAgIGNsYXNzPVwiaW5wdXQtdmFsdWVcIlxuICAgIFtzaXplXT1cInNpemVcIlxuICAgIFtsYWJlbF09XCJ2YWx1ZUxhYmVsXCJcbiAgICBbKG5nTW9kZWwpXT1cInRlbXBvcmFyeUl0ZW1bdGhpcy52YWx1ZUF0dHJpYnV0ZU5hbWVdXCJcbiAgICAob25Ecm9wRXZlbnQpPVwib25WYWx1ZURyb3AodGVtcG9yYXJ5SXRlbSwgJGV2ZW50KVwiPlxuICA8L2lucHV0LXRleHQ+XG48L2Rpdj5cblxuIl19
122
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2V5LXZhbHVlLWlucHV0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2lucHV0cy9zcmMvaW5wdXQta2V5LXZhbHVlL2tleS12YWx1ZS1pbnB1dC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9wcm9qZWN0cy9pbnB1dHMvc3JjL2lucHV0LWtleS12YWx1ZS9rZXktdmFsdWUtaW5wdXQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUvRSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9CLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7O0FBTzlDLE1BS2Esc0JBQXNCO0lBRXhCLFdBQVcsQ0FBUTtJQUNuQixLQUFLLEdBQXdCLEVBQUUsQ0FBQTtJQUMvQixJQUFJLEdBQXVCLFNBQVMsQ0FBQTtJQUNwQyxnQkFBZ0IsR0FBVyxLQUFLLENBQUE7SUFDaEMsa0JBQWtCLEdBQVcsT0FBTyxDQUFBO0lBQ3BDLFFBQVEsR0FBVyxLQUFLLENBQUE7SUFDeEIsVUFBVSxHQUFXLE9BQU8sQ0FBQTtJQUM1QixXQUFXLEdBQVcsUUFBUSxDQUFBO0lBQzlCLDJCQUEyQixDQUFRO0lBQ25DLDJCQUEyQixDQUFRO0lBQ25DLFlBQVksR0FBRyxFQUFFLENBQUE7SUFDakIsWUFBWSxHQUFHLEtBQUssQ0FBQTtJQUNwQixjQUFjLEdBQUcsS0FBSyxDQUFDO0lBQ3ZCLFFBQVEsQ0FBcUQ7SUFDNUQsV0FBVyxHQUFzQyxJQUFJLFlBQVksRUFBdUIsQ0FBQTtJQUUzRixhQUFhLENBQW1CO0lBQ3RCLHdCQUF3QixHQUFrQixJQUFJLE9BQU8sRUFBUSxDQUFBO0lBRXRFLDBCQUEwQjtRQUNoQyxPQUFPO1lBQ0wsSUFB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LElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxHQUFHLEtBQUssQ0FBQTtJQUNqQyxDQUFDO0lBRU0sY0FBYyxDQUFDLEVBQVUsRUFBRSxLQUFhO1FBQzdDLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsV0FBVyxJQUFJLEVBQUUsSUFBSSxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLElBQUksS0FBSyxFQUFFLENBQUE7SUFDbkYsQ0FBQzt1R0F4RlUsc0JBQXNCOzJGQUF0QixzQkFBc0IsOGlCQ2ZuQywydERBK0NBOztTRGhDYSxzQkFBc0I7MkZBQXRCLHNCQUFzQjtrQkFMbEMsU0FBUzsrQkFDRSxpQkFBaUI7OEJBTWxCLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFDRyxnQkFBZ0I7c0JBQXhCLEtBQUs7Z0JBQ0csa0JBQWtCO3NCQUExQixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLDJCQUEyQjtzQkFBbkMsS0FBSztnQkFDRywyQkFBMkI7c0JBQW5DLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLO2dCQUNHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDSSxXQUFXO3NCQUFwQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRG5kRHJvcEV2ZW50IH0gZnJvbSAnbmd4LWRyYWctZHJvcCc7XG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBkZWJvdW5jZVRpbWUgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgS2V5VmFsdWVJbnB1dFR5cGUge1xuICBbeDogc3RyaW5nXTogYW55XG4gIHR5cGU6IHN0cmluZ1xufVxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdrZXktdmFsdWUtaW5wdXQnLFxuICB0ZW1wbGF0ZVVybDogJ2tleS12YWx1ZS1pbnB1dC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWydrZXktdmFsdWUtaW5wdXQuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBLZXlWYWx1ZUlucHV0Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcblxuICBASW5wdXQoKSBjb21wb25lbnRJZDogc3RyaW5nXG4gIEBJbnB1dCgpIGl0ZW1zOiBLZXlWYWx1ZUlucHV0VHlwZVtdID0gW11cbiAgQElucHV0KCkgc2l6ZTogJ0RFRkFVTFQnIHwgJ1NMSU0nID0gJ0RFRkFVTFQnXG4gIEBJbnB1dCgpIGtleUF0dHJpYnV0ZU5hbWU6IHN0cmluZyA9ICdrZXknXG4gIEBJbnB1dCgpIHZhbHVlQXR0cmlidXRlTmFtZTogc3RyaW5nID0gJ3ZhbHVlJ1xuICBASW5wdXQoKSBrZXlMYWJlbDogc3RyaW5nID0gJ0tleSdcbiAgQElucHV0KCkgdmFsdWVMYWJlbDogc3RyaW5nID0gJ1ZhbHVlJ1xuICBASW5wdXQoKSByZW1vdmVMYWJlbDogc3RyaW5nID0gJ1JlbW92ZSdcbiAgQElucHV0KCkgaW5wdXRPcHRpb25zV2lkdGhQZXJjZW50YWdlOiBudW1iZXJcbiAgQElucHV0KCkgaW5wdXRPcHRpb25zRGVmYXVsdFNlbGVjdGVkOiBzdHJpbmdcbiAgQElucHV0KCkgaW5wdXRPcHRpb25zID0gW11cbiAgQElucHV0KCkgYmxvY2tOZXdJdGVtID0gZmFsc2VcbiAgQElucHV0KCkgYmxvY2tFZGl0TGFiZWwgPSBmYWxzZTtcbiAgQElucHV0KCkgb25Ecm9wRm46ICgkZXZlbnQ6IERuZERyb3BFdmVudCwgYXR0cmlidXRlOiBzdHJpbmcpID0+IHN0cmluZ1xuICBAT3V0cHV0KCkgaXRlbXNDaGFuZ2U6IEV2ZW50RW1pdHRlcjxLZXlWYWx1ZUlucHV0VHlwZVtdPiA9IG5ldyBFdmVudEVtaXR0ZXI8S2V5VmFsdWVJbnB1dFR5cGVbXT4oKVxuXG4gIHB1YmxpYyB0ZW1wb3JhcnlJdGVtOiBLZXlWYWx1ZUlucHV0VHlwZVxuICBwcml2YXRlIHJlYWRvbmx5IG9uS2V5UHJlc3NlZFRlbXBvcmFyeUtleTogU3ViamVjdDx2b2lkPiA9IG5ldyBTdWJqZWN0PHZvaWQ+KClcblxuICBwcml2YXRlIGNyZWF0ZURlZmF1bHRUZW1wb3JhcnlJdGVtKCk6IEtleVZhbHVlSW5wdXRUeXBlIHtcbiAgICByZXR1cm4ge1xuICAgICAgdHlwZTogdGhpcy5pbnB1dE9wdGlvbnNEZWZhdWx0U2VsZWN0ZWQsXG4gICAgICBbdGhpcy5rZXlBdHRyaWJ1dGVOYW1lXTogJycsXG4gICAgICBbdGhpcy52YWx1ZUF0dHJpYnV0ZU5hbWVdOiAnJ1xuICAgIH07XG4gIH1cblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy50ZW1wb3JhcnlJdGVtID0gdGhpcy5jcmVhdGVEZWZhdWx0VGVtcG9yYXJ5SXRlbSgpXG4gICAgaWYgKCF0aGlzLml0ZW1zKSB7XG4gICAgICB0aGlzLml0ZW1zID0gW11cbiAgICAgIHRoaXMuaXRlbXNDaGFuZ2UuZW1pdCh0aGlzLml0ZW1zKVxuICAgIH1cbiAgICB0aGlzLmlucHV0T3B0aW9uc0RlZmF1bHRTZWxlY3RlZCB8fD0gdGhpcy5pbnB1dE9wdGlvbnM/LlswXT8udmFsdWVcbiAgICB0aGlzLm9uS2V5UHJlc3NlZFRlbXBvcmFyeUtleVxuICAgICAgLnBpcGUoZGVib3VuY2VUaW1lKDMwMCkpXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgdGhpcy5hZGRUZW1wb3JhcnlBdHRyaWJ1dGVUb0l0ZW1zKClcbiAgICAgICAgdGhpcy5mb2N1c09uTGFzdEl0ZW0oKVxuICAgICAgfSlcbiAgfVxuXG4gIHB1YmxpYyByZW1vdmVJdGVtKGluZGV4OiBudW1iZXIpOiB2b2lkIHtcbiAgICB0aGlzLml0ZW1zLnNwbGljZShpbmRleCwgMSk7XG4gIH1cblxuICBwdWJsaWMgaW5wdXRPcHRpb25DaGFuZ2VkKGV2ZW50OiBzdHJpbmcsIGluZGV4OiBudW1iZXIpOiB2b2lkIHtcbiAgICB0aGlzLml0ZW1zW2luZGV4XS50eXBlID0gZXZlbnQ7XG4gIH1cblxuICBwdWJsaWMgb25LZXlEcm9wKG1vZGVsOiBLZXlWYWx1ZUlucHV0VHlwZSwgJGV2ZW50OiBEbmREcm9wRXZlbnQpOiB2b2lkIHtcbiAgICBtb2RlbFt0aGlzLmtleUF0dHJpYnV0ZU5hbWVdID0gdGhpcy5vbkRyb3BGbigkZXZlbnQsIG1vZGVsW3RoaXMua2V5QXR0cmlidXRlTmFtZV0pXG4gIH1cblxuICBwdWJsaWMgb25LZXlEcm9wVGVtcG9yYXJ5SXRlbShtb2RlbDogS2V5VmFsdWVJbnB1dFR5cGUsICRldmVudDogRG5kRHJvcEV2ZW50KTogdm9pZCB7XG4gICAgbW9kZWxbdGhpcy5rZXlBdHRyaWJ1dGVOYW1lXSA9IHRoaXMub25Ecm9wRm4oJGV2ZW50LCBtb2RlbFt0aGlzLmtleUF0dHJpYnV0ZU5hbWVdKVxuICAgIHRoaXMuYWRkVGVtcG9yYXJ5QXR0cmlidXRlVG9JdGVtcygpXG4gIH1cblxuICBwdWJsaWMgb25WYWx1ZURyb3AobW9kZWw6IEtleVZhbHVlSW5wdXRUeXBlLCAkZXZlbnQ6IERuZERyb3BFdmVudCk6IHZvaWQge1xuICAgIG1vZGVsW3RoaXMudmFsdWVBdHRyaWJ1dGVOYW1lXSA9IHRoaXMub25Ecm9wRm4oJGV2ZW50LCBtb2RlbFt0aGlzLnZhbHVlQXR0cmlidXRlTmFtZV0pXG4gIH1cblxuICBwdWJsaWMgYWRkVGVtcG9yYXJ5QXR0cmlidXRlVG9JdGVtcygpOiB2b2lkIHtcbiAgICB0aGlzLml0ZW1zLnB1c2goeyAuLi50aGlzLnRlbXBvcmFyeUl0ZW0gfSlcbiAgICB0aGlzLnRlbXBvcmFyeUl0ZW0gPSB0aGlzLmNyZWF0ZURlZmF1bHRUZW1wb3JhcnlJdGVtKClcbiAgfVxuXG4gIHB1YmxpYyBmb2N1c09uTGFzdEl0ZW0oKTogdm9pZCB7XG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICBjb25zdCBpbmRleCA9IHRoaXMuaXRlbXMubGVuZ3RoIC0gMVxuICAgICAgY29uc3QgZm9jdXNJZCA9IGAke3RoaXMuZ2V0Q29tcG9uZW50SWQoJ2tleScsIGluZGV4KX0taW5wdXRgXG4gICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChmb2N1c0lkKS5mb2N1cygpXG4gICAgfSlcbiAgfVxuXG4gIHB1YmxpYyBvbktleVByZXNzZWRUZW1wb3JhcnlLZXlGbigpOiB2b2lkIHtcbiAgICB0aGlzLm9uS2V5UHJlc3NlZFRlbXBvcmFyeUtleS5uZXh0KClcbiAgfVxuXG4gIHB1YmxpYyB0ZW1wb3JhcnlJdGVtT3B0aW9uQ2hhbmdlZChldmVudDogc3RyaW5nKTogdm9pZCB7XG4gICAgdGhpcy50ZW1wb3JhcnlJdGVtLnR5cGUgPSBldmVudFxuICB9XG5cbiAgcHVibGljIGdldENvbXBvbmVudElkKGlkOiBzdHJpbmcsIGluZGV4OiBudW1iZXIpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmNvbXBvbmVudElkID8gYCR7dGhpcy5jb21wb25lbnRJZH0tJHtpZH0tJHtpbmRleH1gIDogYCR7aWR9LSR7aW5kZXh9YFxuICB9XG5cbn1cbiIsIjxkaXYgY2xhc3M9XCJrZXktdmFsdWUtaXRlbVwiICpuZ0Zvcj1cImxldCBpdGVtIG9mIGl0ZW1zOyBsZXQgaW5kZXggPSBpbmRleFwiPlxuICA8aW5wdXQtdGV4dFxuICAgIFtjb21wb25lbnRJZF09XCJnZXRDb21wb25lbnRJZCgna2V5JywgaW5kZXgpXCJcbiAgICBjbGFzcz1cImlucHV0LWtleVwiXG4gICAgW3NpemVdPVwic2l6ZVwiXG4gICAgW2xhYmVsXT1cImtleUxhYmVsXCJcbiAgICBbaW5wdXRPcHRpb25zXT1cImlucHV0T3B0aW9uc1wiXG4gICAgW2lucHV0T3B0aW9uc0luaXRTZWxlY3RlZF09XCJpdGVtLnR5cGVcIlxuICAgIFt3aWR0aFBlcmNlbnRhZ2VJbnB1dE9wdGlvbnNdPVwiaW5wdXRPcHRpb25zV2lkdGhQZXJjZW50YWdlXCJcbiAgICBbZGlzYWJsZWRdPVwiYmxvY2tFZGl0TGFiZWxcIlxuICAgIFsobmdNb2RlbCldPVwiaXRlbVtrZXlBdHRyaWJ1dGVOYW1lXVwiXG4gICAgKG9wdGlvbkNoYW5nZWQpPVwiaW5wdXRPcHRpb25DaGFuZ2VkKCRldmVudCwgaW5kZXgpXCJcbiAgICAob25Ecm9wRXZlbnQpPVwib25LZXlEcm9wKGl0ZW0sICRldmVudClcIj5cbiAgPC9pbnB1dC10ZXh0PlxuICA8aW5wdXQtdGV4dFxuICAgIGNsYXNzPVwiaW5wdXQtdmFsdWVcIlxuICAgIFtzaXplXT1cInNpemVcIlxuICAgIFtsYWJlbF09XCJ2YWx1ZUxhYmVsXCJcbiAgICBbKG5nTW9kZWwpXT1cIml0ZW1bdmFsdWVBdHRyaWJ1dGVOYW1lXVwiXG4gICAgKG9uRHJvcEV2ZW50KT1cIm9uVmFsdWVEcm9wKGl0ZW0sICRldmVudClcIj5cbiAgPC9pbnB1dC10ZXh0PlxuICA8YnV0dG9uIGNsYXNzPVwiZGVsZXRlLWJ1dHRvblwiIChjbGljayk9XCJyZW1vdmVJdGVtKGluZGV4KVwiIFttYXRUb29sdGlwXT1cInJlbW92ZUxhYmVsXCIgdHlwZT1cImJ1dHRvblwiPlxuICAgIDxpIGNsYXNzPVwiZmFyIGZhLXRyYXNoLWFsdCBmYS1sZ1wiPjwvaT5cbiAgPC9idXR0b24+XG48L2Rpdj5cbjxkaXYgY2xhc3M9XCJrZXktdmFsdWUtaXRlbVwiICpuZ0lmPVwiIWJsb2NrTmV3SXRlbVwiPlxuICA8aW5wdXQtdGV4dFxuICAgIGNsYXNzPVwiaW5wdXQta2V5XCJcbiAgICBbc2l6ZV09XCJzaXplXCJcbiAgICBbbGFiZWxdPVwia2V5TGFiZWxcIlxuICAgIFtpbnB1dE9wdGlvbnNdPVwiaW5wdXRPcHRpb25zXCJcbiAgICBbaW5wdXRPcHRpb25zSW5pdFNlbGVjdGVkXT1cImlucHV0T3B0aW9uc0RlZmF1bHRTZWxlY3RlZFwiXG4gICAgW3dpZHRoUGVyY2VudGFnZUlucHV0T3B0aW9uc109XCJpbnB1dE9wdGlvbnNXaWR0aFBlcmNlbnRhZ2VcIlxuICAgIChpbnB1dCk9XCJvbktleVByZXNzZWRUZW1wb3JhcnlLZXlGbigpXCJcbiAgICAob3B0aW9uQ2hhbmdlZCk9XCJ0ZW1wb3JhcnlJdGVtT3B0aW9uQ2hhbmdlZCgkZXZlbnQpXCJcbiAgICBbKG5nTW9kZWwpXT1cInRlbXBvcmFyeUl0ZW1bdGhpcy5rZXlBdHRyaWJ1dGVOYW1lXVwiXG4gICAgKG9uRHJvcEV2ZW50KT1cIm9uS2V5RHJvcFRlbXBvcmFyeUl0ZW0odGVtcG9yYXJ5SXRlbSwgJGV2ZW50KVwiPlxuICA8L2lucHV0LXRleHQ+XG4gIDxpbnB1dC10ZXh0XG4gICAgY2xhc3M9XCJpbnB1dC12YWx1ZVwiXG4gICAgW3NpemVdPVwic2l6ZVwiXG4gICAgW2xhYmVsXT1cInZhbHVlTGFiZWxcIlxuICAgIFsobmdNb2RlbCldPVwidGVtcG9yYXJ5SXRlbVt0aGlzLnZhbHVlQXR0cmlidXRlTmFtZV1cIlxuICAgIChvbkRyb3BFdmVudCk9XCJvblZhbHVlRHJvcCh0ZW1wb3JhcnlJdGVtLCAkZXZlbnQpXCI+XG4gIDwvaW5wdXQtdGV4dD5cbjwvZGl2PlxuXG4iXX0=
@@ -1063,6 +1063,7 @@ class AceEditorComponent {
1063
1063
  _text = '';
1064
1064
  oldText;
1065
1065
  timeoutSaving;
1066
+ _customCompletions = [];
1066
1067
  constructor(elementRef, zone) {
1067
1068
  this.zone = zone;
1068
1069
  const el = elementRef.nativeElement;
@@ -1083,6 +1084,17 @@ class AceEditorComponent {
1083
1084
  this.setTheme(this._theme);
1084
1085
  this.setMode(this._mode);
1085
1086
  this.setReadOnly(this._readOnly);
1087
+ this.createCustomCompletions(this._customCompletions);
1088
+ }
1089
+ createCustomCompletions(customCompletions) {
1090
+ this._editor.completers.push({
1091
+ getCompletions: function (editor, session, pos, prefix, callback) {
1092
+ callback(null, customCompletions);
1093
+ }
1094
+ });
1095
+ }
1096
+ set customCompletions(customCompletions) {
1097
+ this._customCompletions = customCompletions;
1086
1098
  }
1087
1099
  initEvents() {
1088
1100
  this._editor.on('change', () => {
@@ -2151,6 +2163,8 @@ class KeyValueInputComponent {
2151
2163
  inputOptionsWidthPercentage;
2152
2164
  inputOptionsDefaultSelected;
2153
2165
  inputOptions = [];
2166
+ blockNewItem = false;
2167
+ blockEditLabel = false;
2154
2168
  onDropFn;
2155
2169
  itemsChange = new EventEmitter();
2156
2170
  temporaryItem;
@@ -2213,11 +2227,11 @@ class KeyValueInputComponent {
2213
2227
  return this.componentId ? `${this.componentId}-${id}-${index}` : `${id}-${index}`;
2214
2228
  }
2215
2229
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: KeyValueInputComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
2216
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.2", type: KeyValueInputComponent, selector: "key-value-input", inputs: { componentId: "componentId", items: "items", size: "size", keyAttributeName: "keyAttributeName", valueAttributeName: "valueAttributeName", keyLabel: "keyLabel", valueLabel: "valueLabel", removeLabel: "removeLabel", inputOptionsWidthPercentage: "inputOptionsWidthPercentage", inputOptionsDefaultSelected: "inputOptionsDefaultSelected", inputOptions: "inputOptions", onDropFn: "onDropFn" }, outputs: { itemsChange: "itemsChange" }, ngImport: i0, template: "<div class=\"key-value-item\" *ngFor=\"let item of items; let index = index\">\n <input-text\n [componentId]=\"getComponentId('key', index)\"\n class=\"input-key\"\n [size]=\"size\"\n [label]=\"keyLabel\"\n [inputOptions]=\"inputOptions\"\n [inputOptionsInitSelected]=\"item.type\"\n [widthPercentageInputOptions]=\"inputOptionsWidthPercentage\"\n [(ngModel)]=\"item[keyAttributeName]\"\n (optionChanged)=\"inputOptionChanged($event, index)\"\n (onDropEvent)=\"onKeyDrop(item, $event)\">\n </input-text>\n <input-text\n class=\"input-value\"\n [size]=\"size\"\n [label]=\"valueLabel\"\n [(ngModel)]=\"item[valueAttributeName]\"\n (onDropEvent)=\"onValueDrop(item, $event)\">\n </input-text>\n <button class=\"delete-button\" (click)=\"removeItem(index)\" [matTooltip]=\"removeLabel\" type=\"button\">\n <i class=\"far fa-trash-alt fa-lg\"></i>\n </button>\n</div>\n<div class=\"key-value-item\">\n <input-text\n class=\"input-key\"\n [size]=\"size\"\n [label]=\"keyLabel\"\n [inputOptions]=\"inputOptions\"\n [inputOptionsInitSelected]=\"inputOptionsDefaultSelected\"\n [widthPercentageInputOptions]=\"inputOptionsWidthPercentage\"\n (input)=\"onKeyPressedTemporaryKeyFn()\"\n (optionChanged)=\"temporaryItemOptionChanged($event)\"\n [(ngModel)]=\"temporaryItem[this.keyAttributeName]\"\n (onDropEvent)=\"onKeyDropTemporaryItem(temporaryItem, $event)\">\n </input-text>\n <input-text\n class=\"input-value\"\n [size]=\"size\"\n [label]=\"valueLabel\"\n [(ngModel)]=\"temporaryItem[this.valueAttributeName]\"\n (onDropEvent)=\"onValueDrop(temporaryItem, $event)\">\n </input-text>\n</div>\n\n", styles: [".key-value-item{display:flex;gap:10px;margin-bottom:10px;width:100%}.key-value-item .input-key{width:50%}.key-value-item .input-key ::ng-deep input{padding-left:10px!important;padding-right:10px!important}.key-value-item .input-value{width:calc(50% - 60px)}.key-value-item .input-value ::ng-deep input{padding-left:10px!important;padding-right:10px!important}.key-value-item .delete-button{display:flex;justify-content:center;align-items:center;cursor:pointer;color:var(--color-fonts-tertiary);border:none!important;background:none!important}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i3$1.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }, { kind: "component", type: InputTextComponent, selector: "input-text", inputs: ["componentId", "label", "disabled", "iconSuffix", "iconPrefix", "autoComplete", "size", "debounceTime", "widthPercentageInputOptions", "inputOptions", "inputOptionsInitSelected"], outputs: ["suffixIconClick", "prefixIconClick", "onDebounce", "optionChanged", "onDropEvent"] }] });
2230
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.2", type: KeyValueInputComponent, selector: "key-value-input", inputs: { componentId: "componentId", items: "items", size: "size", keyAttributeName: "keyAttributeName", valueAttributeName: "valueAttributeName", keyLabel: "keyLabel", valueLabel: "valueLabel", removeLabel: "removeLabel", inputOptionsWidthPercentage: "inputOptionsWidthPercentage", inputOptionsDefaultSelected: "inputOptionsDefaultSelected", inputOptions: "inputOptions", blockNewItem: "blockNewItem", blockEditLabel: "blockEditLabel", onDropFn: "onDropFn" }, outputs: { itemsChange: "itemsChange" }, ngImport: i0, template: "<div class=\"key-value-item\" *ngFor=\"let item of items; let index = index\">\n <input-text\n [componentId]=\"getComponentId('key', index)\"\n class=\"input-key\"\n [size]=\"size\"\n [label]=\"keyLabel\"\n [inputOptions]=\"inputOptions\"\n [inputOptionsInitSelected]=\"item.type\"\n [widthPercentageInputOptions]=\"inputOptionsWidthPercentage\"\n [disabled]=\"blockEditLabel\"\n [(ngModel)]=\"item[keyAttributeName]\"\n (optionChanged)=\"inputOptionChanged($event, index)\"\n (onDropEvent)=\"onKeyDrop(item, $event)\">\n </input-text>\n <input-text\n class=\"input-value\"\n [size]=\"size\"\n [label]=\"valueLabel\"\n [(ngModel)]=\"item[valueAttributeName]\"\n (onDropEvent)=\"onValueDrop(item, $event)\">\n </input-text>\n <button class=\"delete-button\" (click)=\"removeItem(index)\" [matTooltip]=\"removeLabel\" type=\"button\">\n <i class=\"far fa-trash-alt fa-lg\"></i>\n </button>\n</div>\n<div class=\"key-value-item\" *ngIf=\"!blockNewItem\">\n <input-text\n class=\"input-key\"\n [size]=\"size\"\n [label]=\"keyLabel\"\n [inputOptions]=\"inputOptions\"\n [inputOptionsInitSelected]=\"inputOptionsDefaultSelected\"\n [widthPercentageInputOptions]=\"inputOptionsWidthPercentage\"\n (input)=\"onKeyPressedTemporaryKeyFn()\"\n (optionChanged)=\"temporaryItemOptionChanged($event)\"\n [(ngModel)]=\"temporaryItem[this.keyAttributeName]\"\n (onDropEvent)=\"onKeyDropTemporaryItem(temporaryItem, $event)\">\n </input-text>\n <input-text\n class=\"input-value\"\n [size]=\"size\"\n [label]=\"valueLabel\"\n [(ngModel)]=\"temporaryItem[this.valueAttributeName]\"\n (onDropEvent)=\"onValueDrop(temporaryItem, $event)\">\n </input-text>\n</div>\n\n", styles: [".key-value-item{display:flex;gap:10px;margin-bottom:10px;width:100%}.key-value-item .input-key{width:50%}.key-value-item .input-key ::ng-deep input{padding-left:10px!important;padding-right:10px!important}.key-value-item .input-value{width:calc(50% - 60px)}.key-value-item .input-value ::ng-deep input{padding-left:10px!important;padding-right:10px!important}.key-value-item .delete-button{display:flex;justify-content:center;align-items:center;cursor:pointer;color:var(--color-fonts-tertiary);border:none!important;background:none!important}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i3$1.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }, { kind: "component", type: InputTextComponent, selector: "input-text", inputs: ["componentId", "label", "disabled", "iconSuffix", "iconPrefix", "autoComplete", "size", "debounceTime", "widthPercentageInputOptions", "inputOptions", "inputOptionsInitSelected"], outputs: ["suffixIconClick", "prefixIconClick", "onDebounce", "optionChanged", "onDropEvent"] }] });
2217
2231
  }
2218
2232
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: KeyValueInputComponent, decorators: [{
2219
2233
  type: Component,
2220
- args: [{ selector: 'key-value-input', template: "<div class=\"key-value-item\" *ngFor=\"let item of items; let index = index\">\n <input-text\n [componentId]=\"getComponentId('key', index)\"\n class=\"input-key\"\n [size]=\"size\"\n [label]=\"keyLabel\"\n [inputOptions]=\"inputOptions\"\n [inputOptionsInitSelected]=\"item.type\"\n [widthPercentageInputOptions]=\"inputOptionsWidthPercentage\"\n [(ngModel)]=\"item[keyAttributeName]\"\n (optionChanged)=\"inputOptionChanged($event, index)\"\n (onDropEvent)=\"onKeyDrop(item, $event)\">\n </input-text>\n <input-text\n class=\"input-value\"\n [size]=\"size\"\n [label]=\"valueLabel\"\n [(ngModel)]=\"item[valueAttributeName]\"\n (onDropEvent)=\"onValueDrop(item, $event)\">\n </input-text>\n <button class=\"delete-button\" (click)=\"removeItem(index)\" [matTooltip]=\"removeLabel\" type=\"button\">\n <i class=\"far fa-trash-alt fa-lg\"></i>\n </button>\n</div>\n<div class=\"key-value-item\">\n <input-text\n class=\"input-key\"\n [size]=\"size\"\n [label]=\"keyLabel\"\n [inputOptions]=\"inputOptions\"\n [inputOptionsInitSelected]=\"inputOptionsDefaultSelected\"\n [widthPercentageInputOptions]=\"inputOptionsWidthPercentage\"\n (input)=\"onKeyPressedTemporaryKeyFn()\"\n (optionChanged)=\"temporaryItemOptionChanged($event)\"\n [(ngModel)]=\"temporaryItem[this.keyAttributeName]\"\n (onDropEvent)=\"onKeyDropTemporaryItem(temporaryItem, $event)\">\n </input-text>\n <input-text\n class=\"input-value\"\n [size]=\"size\"\n [label]=\"valueLabel\"\n [(ngModel)]=\"temporaryItem[this.valueAttributeName]\"\n (onDropEvent)=\"onValueDrop(temporaryItem, $event)\">\n </input-text>\n</div>\n\n", styles: [".key-value-item{display:flex;gap:10px;margin-bottom:10px;width:100%}.key-value-item .input-key{width:50%}.key-value-item .input-key ::ng-deep input{padding-left:10px!important;padding-right:10px!important}.key-value-item .input-value{width:calc(50% - 60px)}.key-value-item .input-value ::ng-deep input{padding-left:10px!important;padding-right:10px!important}.key-value-item .delete-button{display:flex;justify-content:center;align-items:center;cursor:pointer;color:var(--color-fonts-tertiary);border:none!important;background:none!important}\n"] }]
2234
+ args: [{ selector: 'key-value-input', template: "<div class=\"key-value-item\" *ngFor=\"let item of items; let index = index\">\n <input-text\n [componentId]=\"getComponentId('key', index)\"\n class=\"input-key\"\n [size]=\"size\"\n [label]=\"keyLabel\"\n [inputOptions]=\"inputOptions\"\n [inputOptionsInitSelected]=\"item.type\"\n [widthPercentageInputOptions]=\"inputOptionsWidthPercentage\"\n [disabled]=\"blockEditLabel\"\n [(ngModel)]=\"item[keyAttributeName]\"\n (optionChanged)=\"inputOptionChanged($event, index)\"\n (onDropEvent)=\"onKeyDrop(item, $event)\">\n </input-text>\n <input-text\n class=\"input-value\"\n [size]=\"size\"\n [label]=\"valueLabel\"\n [(ngModel)]=\"item[valueAttributeName]\"\n (onDropEvent)=\"onValueDrop(item, $event)\">\n </input-text>\n <button class=\"delete-button\" (click)=\"removeItem(index)\" [matTooltip]=\"removeLabel\" type=\"button\">\n <i class=\"far fa-trash-alt fa-lg\"></i>\n </button>\n</div>\n<div class=\"key-value-item\" *ngIf=\"!blockNewItem\">\n <input-text\n class=\"input-key\"\n [size]=\"size\"\n [label]=\"keyLabel\"\n [inputOptions]=\"inputOptions\"\n [inputOptionsInitSelected]=\"inputOptionsDefaultSelected\"\n [widthPercentageInputOptions]=\"inputOptionsWidthPercentage\"\n (input)=\"onKeyPressedTemporaryKeyFn()\"\n (optionChanged)=\"temporaryItemOptionChanged($event)\"\n [(ngModel)]=\"temporaryItem[this.keyAttributeName]\"\n (onDropEvent)=\"onKeyDropTemporaryItem(temporaryItem, $event)\">\n </input-text>\n <input-text\n class=\"input-value\"\n [size]=\"size\"\n [label]=\"valueLabel\"\n [(ngModel)]=\"temporaryItem[this.valueAttributeName]\"\n (onDropEvent)=\"onValueDrop(temporaryItem, $event)\">\n </input-text>\n</div>\n\n", styles: [".key-value-item{display:flex;gap:10px;margin-bottom:10px;width:100%}.key-value-item .input-key{width:50%}.key-value-item .input-key ::ng-deep input{padding-left:10px!important;padding-right:10px!important}.key-value-item .input-value{width:calc(50% - 60px)}.key-value-item .input-value ::ng-deep input{padding-left:10px!important;padding-right:10px!important}.key-value-item .delete-button{display:flex;justify-content:center;align-items:center;cursor:pointer;color:var(--color-fonts-tertiary);border:none!important;background:none!important}\n"] }]
2221
2235
  }], propDecorators: { componentId: [{
2222
2236
  type: Input
2223
2237
  }], items: [{
@@ -2240,6 +2254,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.2", ngImpor
2240
2254
  type: Input
2241
2255
  }], inputOptions: [{
2242
2256
  type: Input
2257
+ }], blockNewItem: [{
2258
+ type: Input
2259
+ }], blockEditLabel: [{
2260
+ type: Input
2243
2261
  }], onDropFn: [{
2244
2262
  type: Input
2245
2263
  }], itemsChange: [{