@the-liberators/ngx-scrumteamsurvey-tools 2.3.7 → 2.3.9

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,4 +1,4 @@
1
- import { Component, HostListener, Input, forwardRef } from '@angular/core';
1
+ import { Component, EventEmitter, HostListener, Input, Output, forwardRef } from '@angular/core';
2
2
  import { FormControl, NG_VALUE_ACCESSOR, Validators } from '@angular/forms';
3
3
  import * as i0 from "@angular/core";
4
4
  import * as i1 from "@angular/forms";
@@ -8,6 +8,7 @@ import * as i4 from "@angular/material/input";
8
8
  export class MultiEmailInputComponent {
9
9
  constructor(formBuilder) {
10
10
  this.formBuilder = formBuilder;
11
+ this.changed = new EventEmitter();
11
12
  this.onChange = () => { };
12
13
  this.onTouch = () => { };
13
14
  this.form = this.formBuilder.group({
@@ -40,16 +41,26 @@ export class MultiEmailInputComponent {
40
41
  isDisabled ? this.form.disable() : this.form.enable();
41
42
  }
42
43
  addField() {
43
- this.fields().push(this.createField());
44
- this.onChange(this.getValue());
44
+ var group = this.fields();
45
+ if (group.controls.length > 0) {
46
+ var lastField = group.controls[group.controls.length - 1];
47
+ if (!lastField.value || !lastField.value.email || !this.isValidEmail(lastField.value.email)) {
48
+ return;
49
+ }
50
+ }
51
+ var value = this.getValue();
52
+ group.push(this.createField());
53
+ this.onChange(value);
54
+ this.changed.emit(value);
45
55
  }
46
56
  removeField(index) {
47
57
  this.fields().removeAt(index);
48
- this.onChange(this.getValue());
58
+ var value = this.getValue();
59
+ this.onChange(value);
60
+ this.changed.emit(value);
49
61
  }
50
62
  fields() {
51
- var formGroup = this.form.get("emails");
52
- return formGroup;
63
+ return this.form.get("emails");
53
64
  }
54
65
  onKeyDown(event) {
55
66
  if (event.key === 'Tab' && event.target instanceof HTMLInputElement) {
@@ -69,7 +80,7 @@ export class MultiEmailInputComponent {
69
80
  return Validators.email(new FormControl(email)) === null;
70
81
  }
71
82
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: MultiEmailInputComponent, deps: [{ token: i1.FormBuilder }], target: i0.ɵɵFactoryTarget.Component }); }
72
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.12", type: MultiEmailInputComponent, selector: "multi-email-input", inputs: { label: "label", maximum: "maximum", addLabel: "addLabel", emptyLabel: "emptyLabel" }, host: { listeners: { "keydown": "onKeyDown($event)" } }, providers: [
83
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.12", type: MultiEmailInputComponent, selector: "multi-email-input", inputs: { label: "label", maximum: "maximum", addLabel: "addLabel", emptyLabel: "emptyLabel" }, outputs: { changed: "changed" }, host: { listeners: { "keydown": "onKeyDown($event)" } }, providers: [
73
84
  {
74
85
  provide: NG_VALUE_ACCESSOR,
75
86
  useExisting: forwardRef(() => MultiEmailInputComponent),
@@ -94,8 +105,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImpo
94
105
  type: Input
95
106
  }], emptyLabel: [{
96
107
  type: Input
108
+ }], changed: [{
109
+ type: Output
97
110
  }], onKeyDown: [{
98
111
  type: HostListener,
99
112
  args: ['keydown', ['$event']]
100
113
  }] } });
101
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibXVsdGktZW1haWwtaW5wdXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXNjcnVtdGVhbXN1cnZleS10b29scy9zcmMvbGliL2NvbXBvbmVudHMvbXVsdGktZW1haWwtaW5wdXQvbXVsdGktZW1haWwtaW5wdXQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXNjcnVtdGVhbXN1cnZleS10b29scy9zcmMvbGliL2NvbXBvbmVudHMvbXVsdGktZW1haWwtaW5wdXQvbXVsdGktZW1haWwtaW5wdXQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzRSxPQUFPLEVBQWdELFdBQVcsRUFBYSxpQkFBaUIsRUFBRSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7O0FBY3JJLE1BQU0sT0FBTyx3QkFBd0I7SUFPbEMsWUFBb0IsV0FBd0I7UUFBeEIsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFZNUMsYUFBUSxHQUFRLEdBQUcsRUFBRSxHQUFHLENBQUMsQ0FBQztRQUMxQixZQUFPLEdBQVEsR0FBRyxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBWnRCLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUM7WUFDaEMsTUFBTSxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztTQUNwQyxDQUFDLENBQUM7SUFDTixDQUFDO0lBRUQsUUFBUTtRQUNMLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7WUFDbkMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FB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NUQsQ0FBQzsrR0FqRlMsd0JBQXdCO21HQUF4Qix3QkFBd0IscU1BUnZCO1lBQ1I7Z0JBQ0csT0FBTyxFQUFFLGlCQUFpQjtnQkFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyx3QkFBd0IsQ0FBQztnQkFDdkQsS0FBSyxFQUFFLElBQUk7YUFDYjtTQUNILDBCQ2JKLHU4QkFlQTs7NEZEQWEsd0JBQXdCO2tCQVpwQyxTQUFTOytCQUNHLG1CQUFtQixhQUdsQjt3QkFDUjs0QkFDRyxPQUFPLEVBQUUsaUJBQWlCOzRCQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSx5QkFBeUIsQ0FBQzs0QkFDdkQsS0FBSyxFQUFFLElBQUk7eUJBQ2I7cUJBQ0g7Z0ZBSVEsS0FBSztzQkFBYixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBMERDLFNBQVM7c0JBRGYsWUFBWTt1QkFBQyxTQUFTLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEhvc3RMaXN0ZW5lciwgSW5wdXQsIGZvcndhcmRSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBGb3JtQXJyYXksIEZvcm1CdWlsZGVyLCBGb3JtQ29udHJvbCwgRm9ybUdyb3VwLCBOR19WQUxVRV9BQ0NFU1NPUiwgVmFsaWRhdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuQENvbXBvbmVudCh7XG4gICBzZWxlY3RvcjogJ211bHRpLWVtYWlsLWlucHV0JyxcbiAgIHRlbXBsYXRlVXJsOiAnLi9tdWx0aS1lbWFpbC1pbnB1dC5jb21wb25lbnQuaHRtbCcsXG4gICBzdHlsZVVybHM6IFsnLi9tdWx0aS1lbWFpbC1pbnB1dC5jb21wb25lbnQubGVzcyddLFxuICAgcHJvdmlkZXJzOiBbXG4gICAgICB7XG4gICAgICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IE11bHRpRW1haWxJbnB1dENvbXBvbmVudCksXG4gICAgICAgICBtdWx0aTogdHJ1ZVxuICAgICAgfVxuICAgXVxufSlcbmV4cG9ydCBjbGFzcyBNdWx0aUVtYWlsSW5wdXRDb21wb25lbnQgaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciB7XG4gICBwdWJsaWMgZm9ybTogRm9ybUdyb3VwO1xuICAgQElucHV0KCkgbGFiZWw6IHN0cmluZztcbiAgIEBJbnB1dCgpIG1heGltdW06IG51bWJlcjtcbiAgIEBJbnB1dCgpIGFkZExhYmVsOiBzdHJpbmc7XG4gICBASW5wdXQoKSBlbXB0eUxhYmVsOiBzdHJpbmc7XG5cbiAgIGNvbnN0cnVjdG9yKHByaXZhdGUgZm9ybUJ1aWxkZXI6IEZvcm1CdWlsZGVyKSB7XG4gICAgICB0aGlzLmZvcm0gPSB0aGlzLmZvcm1CdWlsZGVyLmdyb3VwKHtcbiAgICAgICAgIGVtYWlsczogdGhpcy5mb3JtQnVpbGRlci5hcnJheShbXSlcbiAgICAgIH0pO1xuICAgfVxuXG4gICBuZ09uSW5pdCgpIHtcbiAgICAgIHRoaXMuZm9ybS52YWx1ZUNoYW5nZXMuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgIHRoaXMub25DaGFuZ2UodGhpcy5nZXRWYWx1ZSgpKTtcbiAgICAgIH0pO1xuICAgfVxuXG4gICBvbkNoYW5nZTogYW55ID0gKCkgPT4geyB9O1xuICAgb25Ub3VjaDogYW55ID0gKCkgPT4geyB9O1xuXG4gICB3cml0ZVZhbHVlKGVtYWlsczogc3RyaW5nW10pOiB2b2lkIHtcbiAgICAgIGlmIChlbWFpbHMgJiYgZW1haWxzLmxlbmd0aCkge1xuICAgICAgICAgdmFyIGVtYWlsQ29udHJvbHMgPSBlbWFpbHMubWFwKGVtYWlsID0+IHRoaXMuY3JlYXRlRmllbGQoZW1haWwpKTtcbiAgICAgICAgIHRoaXMuZm9ybS5zZXRDb250cm9sKCdlbWFpbHMnLCB0aGlzLmZvcm1CdWlsZGVyLmFycmF5KGVtYWlsQ29udHJvbHMpKTtcbiAgICAgIH1cbiAgIH1cblxuICAgcHVibGljIGdldFZhbHVlKCk6IHN0cmluZ1tdIHtcbiAgICAgIHJldHVybiB0aGlzLmZpZWxkcygpLmNvbnRyb2xzXG4gICAgICAgICAuZmlsdGVyKGNvbnRyb2wgPT4gY29udHJvbC52YWxpZCAmJiBjb250cm9sLnZhbHVlLmVtYWlsKVxuICAgICAgICAgLm1hcChjb250cm9sID0+IGNvbnRyb2wudmFsdWUuZW1haWwpO1xuICAgfVxuXG4gICBwdWJsaWMgcmVnaXN0ZXJPbkNoYW5nZShmbjogYW55KTogdm9pZCB7XG4gICAgICB0aGlzLm9uQ2hhbmdlID0gZm47XG4gICB9XG5cbiAgIHB1YmxpYyByZWdpc3Rlck9uVG91Y2hlZChmbjogYW55KTogdm9pZCB7XG4gICAgICB0aGlzLm9uVG91Y2ggPSBmbjtcbiAgIH1cblxuICAgcHVibGljIHNldERpc2FibGVkU3RhdGU/KGlzRGlzYWJsZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgIGlzRGlzYWJsZWQgPyB0aGlzLmZvcm0uZGlzYWJsZSgpIDogdGhpcy5mb3JtLmVuYWJsZSgpO1xuICAgfVxuXG4gICBwdWJsaWMgYWRkRmllbGQoKSB7XG4gICAgICB0aGlzLmZpZWxkcygpLnB1c2godGhpcy5jcmVhdGVGaWVsZCgpKTtcbiAgICAgIHRoaXMub25DaGFuZ2UodGhpcy5nZXRWYWx1ZSgpKTtcbiAgIH1cblxuICAgcHVibGljIHJlbW92ZUZpZWxkKGluZGV4OiBudW1iZXIpIHtcbiAgICAgIHRoaXMuZmllbGRzKCkucmVtb3ZlQXQoaW5kZXgpO1xuICAgICAgdGhpcy5vbkNoYW5nZSh0aGlzLmdldFZhbHVlKCkpO1xuICAgfVxuICAgXG4gICBwdWJsaWMgZmllbGRzKCk6IEZvcm1BcnJheSB7XG4gICAgICB2YXIgZm9ybUdyb3VwID0gdGhpcy5mb3JtLmdldChcImVtYWlsc1wiKSBhcyBGb3JtQXJyYXk7XG4gICAgICByZXR1cm4gZm9ybUdyb3VwO1xuICAgfVxuXG4gICBASG9zdExpc3RlbmVyKCdrZXlkb3duJywgWyckZXZlbnQnXSlcbiAgIHB1YmxpYyBvbktleURvd24oZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcbiAgICAgIGlmIChldmVudC5rZXkgPT09ICdUYWInICYmIGV2ZW50LnRhcmdldCBpbnN0YW5jZW9mIEhUTUxJbnB1dEVsZW1lbnQpIHtcbiAgICAgICAgIGNvbnN0IGlucHV0ID0gZXZlbnQudGFyZ2V0O1xuICAgICAgICAgaWYgKGlucHV0LnZhbHVlICYmIHRoaXMuaXNWYWxpZEVtYWlsKGlucHV0LnZhbHVlKSkge1xuICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgIHRoaXMuYWRkRmllbGQoKTtcbiAgICAgICAgIH1cbiAgICAgIH1cbiAgIH1cbiAgIFxuICAgcHJpdmF0ZSBjcmVhdGVGaWVsZChlbWFpbDogc3RyaW5nID0gbnVsbCkge1xuICAgICAgcmV0dXJuIHRoaXMuZm9ybUJ1aWxkZXIuZ3JvdXAoe1xuICAgICAgICAgZW1haWw6IFtlbWFpbCwgW1ZhbGlkYXRvcnMucmVxdWlyZWQsIFZhbGlkYXRvcnMuZW1haWxdXVxuICAgICAgfSlcbiAgIH1cblxuICAgcHJpdmF0ZSBpc1ZhbGlkRW1haWwoZW1haWw6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgICAgcmV0dXJuIFZhbGlkYXRvcnMuZW1haWwobmV3IEZvcm1Db250cm9sKGVtYWlsKSkgPT09IG51bGw7XG4gICB9XG59XG4iLCI8Zm9ybSBbZm9ybUdyb3VwXT1cImZvcm1cIj5cbiAgIDxkaXYgKm5nSWY9XCJmaWVsZHMoKS5jb250cm9scy5sZW5ndGggPT0gMCAmJiBlbXB0eUxhYmVsXCI+e3tlbXB0eUxhYmVsfX08L2Rpdj5cbiAgIDxuZy1jb250YWluZXIgZm9ybUFycmF5TmFtZT1cImVtYWlsc1wiPlxuICAgICAgPGRpdiBjbGFzcz1cInF1ZXN0aW9uIGVtYWlsXCIgKm5nRm9yPVwibGV0IGl0ZW0gb2YgZmllbGRzKCkuY29udHJvbHM7IGxldCBpID0gaW5kZXhcIiBbZm9ybUdyb3VwTmFtZV09XCJpXCI+XG4gICAgICAgICA8ZGl2IGNsYXNzPVwicXVlc3Rpb24tYm9keSB0ZXh0XCI+XG4gICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT1cImZpbGxcIiBzdWJzY3JpcHRTaXppbmc9XCJkeW5hbWljXCI+XG4gICAgICAgICAgICAgICA8bWF0LWxhYmVsPkUtbWFpbCBhZGRyZXNzPC9tYXQtbGFiZWw+XG4gICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgZm9ybUNvbnRyb2xOYW1lPVwiZW1haWxcIj5cbiAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZGVsZXRlXCIgW2lkXT1cIidhY3Rpb24tcmVtb3ZlZW1haWwtJyArIGlcIiAoY2xpY2spPVwicmVtb3ZlRmllbGQoaSlcIj48c3BhbiBjbGFzcz1cImljb24gcGgtdHJhc2gtYm9sZFwiPjwvc3Bhbj48L2Rpdj5cbiAgICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICA8L25nLWNvbnRhaW5lcj5cbiAgIDxidXR0b24gaWQ9XCJhY3Rpb24tYWRkZW1haWxcIiAoY2xpY2spPVwiYWRkRmllbGQoKVwiIGNsYXNzPVwic3ViYWN0aW9uYnV0dG9uXCIgKm5nSWY9XCJtYXhpbXVtID09IDAgfHwgZmllbGRzKCkuY29udHJvbHMubGVuZ3RoIDwgbWF4aW11bVwiPjxzcGFuIGNsYXNzPVwiaWNvbiBwaC1wbHVzLWJvbGRcIj48L3NwYW4+e3thZGRMYWJlbCA/PyBcIkFkZFwifX08L2J1dHRvbj5cbjwvZm9ybT5cbiJdfQ==
114
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibXVsdGktZW1haWwtaW5wdXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXNjcnVtdGVhbXN1cnZleS10b29scy9zcmMvbGliL2NvbXBvbmVudHMvbXVsdGktZW1haWwtaW5wdXQvbXVsdGktZW1haWwtaW5wdXQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXNjcnVtdGVhbXN1cnZleS10b29scy9zcmMvbGliL2NvbXBvbmVudHMvbXVsdGktZW1haWwtaW5wdXQvbXVsdGktZW1haWwtaW5wdXQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2pHLE9BQU8sRUFBZ0QsV0FBVyxFQUFhLGlCQUFpQixFQUFFLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7Ozs7QUFjckksTUFBTSxPQUFPLHdCQUF3QjtJQVFsQyxZQUFvQixXQUF3QjtRQUF4QixnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQUZsQyxZQUFPLEdBQUcsSUFBSSxZQUFZLEVBQVksQ0FBQztRQWNqRCxhQUFRLEdBQVEsR0FBRyxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBQzFCLFlBQU8sR0FBUSxHQUFHLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFadEIsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQztZQUNoQyxNQUFNLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO1NBQ3BDLENBQUMsQ0FBQztJQUNOLENBQUM7SUFFRCxRQUFRO1FBQ0wsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFB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Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNJLE9BQU87c0JBQWhCLE1BQU07Z0JBb0VBLFNBQVM7c0JBRGYsWUFBWTt1QkFBQyxTQUFTLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSG9zdExpc3RlbmVyLCBJbnB1dCwgT3V0cHV0LCBmb3J3YXJkUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb250cm9sVmFsdWVBY2Nlc3NvciwgRm9ybUFycmF5LCBGb3JtQnVpbGRlciwgRm9ybUNvbnRyb2wsIEZvcm1Hcm91cCwgTkdfVkFMVUVfQUNDRVNTT1IsIFZhbGlkYXRvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbkBDb21wb25lbnQoe1xuICAgc2VsZWN0b3I6ICdtdWx0aS1lbWFpbC1pbnB1dCcsXG4gICB0ZW1wbGF0ZVVybDogJy4vbXVsdGktZW1haWwtaW5wdXQuY29tcG9uZW50Lmh0bWwnLFxuICAgc3R5bGVVcmxzOiBbJy4vbXVsdGktZW1haWwtaW5wdXQuY29tcG9uZW50Lmxlc3MnXSxcbiAgIHByb3ZpZGVyczogW1xuICAgICAge1xuICAgICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBNdWx0aUVtYWlsSW5wdXRDb21wb25lbnQpLFxuICAgICAgICAgbXVsdGk6IHRydWVcbiAgICAgIH1cbiAgIF1cbn0pXG5leHBvcnQgY2xhc3MgTXVsdGlFbWFpbElucHV0Q29tcG9uZW50IGltcGxlbWVudHMgQ29udHJvbFZhbHVlQWNjZXNzb3Ige1xuICAgcHVibGljIGZvcm06IEZvcm1Hcm91cDtcbiAgIEBJbnB1dCgpIGxhYmVsOiBzdHJpbmc7XG4gICBASW5wdXQoKSBtYXhpbXVtOiBudW1iZXI7XG4gICBASW5wdXQoKSBhZGRMYWJlbDogc3RyaW5nO1xuICAgQElucHV0KCkgZW1wdHlMYWJlbDogc3RyaW5nO1xuICAgQE91dHB1dCgpIGNoYW5nZWQgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZ1tdPigpO1xuXG4gICBjb25zdHJ1Y3Rvcihwcml2YXRlIGZvcm1CdWlsZGVyOiBGb3JtQnVpbGRlcikge1xuICAgICAgdGhpcy5mb3JtID0gdGhpcy5mb3JtQnVpbGRlci5ncm91cCh7XG4gICAgICAgICBlbWFpbHM6IHRoaXMuZm9ybUJ1aWxkZXIuYXJyYXkoW10pXG4gICAgICB9KTtcbiAgIH1cblxuICAgbmdPbkluaXQoKSB7XG4gICAgICB0aGlzLmZvcm0udmFsdWVDaGFuZ2VzLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICB0aGlzLm9uQ2hhbmdlKHRoaXMuZ2V0VmFsdWUoKSk7XG4gICAgICB9KTtcbiAgIH1cblxuICAgb25DaGFuZ2U6IGFueSA9ICgpID0+IHsgfTtcbiAgIG9uVG91Y2g6IGFueSA9ICgpID0+IHsgfTtcblxuICAgd3JpdGVWYWx1ZShlbWFpbHM6IHN0cmluZ1tdKTogdm9pZCB7XG4gICAgICBpZiAoZW1haWxzICYmIGVtYWlscy5sZW5ndGgpIHtcbiAgICAgICAgIHZhciBlbWFpbENvbnRyb2xzID0gZW1haWxzLm1hcChlbWFpbCA9PiB0aGlzLmNyZWF0ZUZpZWxkKGVtYWlsKSk7XG4gICAgICAgICB0aGlzLmZvcm0uc2V0Q29udHJvbCgnZW1haWxzJywgdGhpcy5mb3JtQnVpbGRlci5hcnJheShlbWFpbENvbnRyb2xzKSk7XG4gICAgICB9XG4gICB9XG5cbiAgIHB1YmxpYyBnZXRWYWx1ZSgpOiBzdHJpbmdbXSB7XG4gICAgICByZXR1cm4gdGhpcy5maWVsZHMoKS5jb250cm9sc1xuICAgICAgICAgLmZpbHRlcihjb250cm9sID0+IGNvbnRyb2wudmFsaWQgJiYgY29udHJvbC52YWx1ZS5lbWFpbClcbiAgICAgICAgIC5tYXAoY29udHJvbCA9PiBjb250cm9sLnZhbHVlLmVtYWlsKTtcbiAgIH1cblxuICAgcHVibGljIHJlZ2lzdGVyT25DaGFuZ2UoZm46IGFueSk6IHZvaWQge1xuICAgICAgdGhpcy5vbkNoYW5nZSA9IGZuO1xuICAgfVxuXG4gICBwdWJsaWMgcmVnaXN0ZXJPblRvdWNoZWQoZm46IGFueSk6IHZvaWQge1xuICAgICAgdGhpcy5vblRvdWNoID0gZm47XG4gICB9XG5cbiAgIHB1YmxpYyBzZXREaXNhYmxlZFN0YXRlPyhpc0Rpc2FibGVkOiBib29sZWFuKTogdm9pZCB7XG4gICAgICBpc0Rpc2FibGVkID8gdGhpcy5mb3JtLmRpc2FibGUoKSA6IHRoaXMuZm9ybS5lbmFibGUoKTtcbiAgIH1cblxuICAgcHVibGljIGFkZEZpZWxkKCkge1xuICAgICAgdmFyIGdyb3VwID0gdGhpcy5maWVsZHMoKTtcblxuICAgICAgaWYgKGdyb3VwLmNvbnRyb2xzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgIHZhciBsYXN0RmllbGQgPSBncm91cC5jb250cm9sc1tncm91cC5jb250cm9scy5sZW5ndGggLSAxXTtcbiAgICAgICAgIGlmICghbGFzdEZpZWxkLnZhbHVlIHx8ICFsYXN0RmllbGQudmFsdWUuZW1haWwgfHwgIXRoaXMuaXNWYWxpZEVtYWlsKGxhc3RGaWVsZC52YWx1ZS5lbWFpbCkpIHsgcmV0dXJuOyB9XG4gICAgICB9XG5cbiAgICAgIHZhciB2YWx1ZSA9IHRoaXMuZ2V0VmFsdWUoKTtcbiAgICAgIGdyb3VwLnB1c2godGhpcy5jcmVhdGVGaWVsZCgpKTtcbiAgICAgIHRoaXMub25DaGFuZ2UodmFsdWUpO1xuICAgICAgdGhpcy5jaGFuZ2VkLmVtaXQodmFsdWUpO1xuICAgfVxuXG4gICBwdWJsaWMgcmVtb3ZlRmllbGQoaW5kZXg6IG51bWJlcikge1xuICAgICAgdGhpcy5maWVsZHMoKS5yZW1vdmVBdChpbmRleCk7XG4gICAgICB2YXIgdmFsdWUgPSB0aGlzLmdldFZhbHVlKCk7XG4gICAgICB0aGlzLm9uQ2hhbmdlKHZhbHVlKTtcbiAgICAgIHRoaXMuY2hhbmdlZC5lbWl0KHZhbHVlKTtcbiAgIH1cbiAgIFxuICAgcHVibGljIGZpZWxkcygpOiBGb3JtQXJyYXkge1xuICAgICAgcmV0dXJuIHRoaXMuZm9ybS5nZXQoXCJlbWFpbHNcIikgYXMgRm9ybUFycmF5O1xuICAgfVxuXG4gICBASG9zdExpc3RlbmVyKCdrZXlkb3duJywgWyckZXZlbnQnXSlcbiAgIHB1YmxpYyBvbktleURvd24oZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcbiAgICAgIGlmIChldmVudC5rZXkgPT09ICdUYWInICYmIGV2ZW50LnRhcmdldCBpbnN0YW5jZW9mIEhUTUxJbnB1dEVsZW1lbnQpIHtcbiAgICAgICAgIGNvbnN0IGlucHV0ID0gZXZlbnQudGFyZ2V0O1xuICAgICAgICAgaWYgKGlucHV0LnZhbHVlICYmIHRoaXMuaXNWYWxpZEVtYWlsKGlucHV0LnZhbHVlKSkge1xuICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgIHRoaXMuYWRkRmllbGQoKTtcbiAgICAgICAgIH1cbiAgICAgIH1cbiAgIH1cbiAgIFxuICAgcHJpdmF0ZSBjcmVhdGVGaWVsZChlbWFpbDogc3RyaW5nID0gbnVsbCkge1xuICAgICAgcmV0dXJuIHRoaXMuZm9ybUJ1aWxkZXIuZ3JvdXAoe1xuICAgICAgICAgZW1haWw6IFtlbWFpbCwgW1ZhbGlkYXRvcnMucmVxdWlyZWQsIFZhbGlkYXRvcnMuZW1haWxdXVxuICAgICAgfSlcbiAgIH1cblxuICAgcHJpdmF0ZSBpc1ZhbGlkRW1haWwoZW1haWw6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgICAgcmV0dXJuIFZhbGlkYXRvcnMuZW1haWwobmV3IEZvcm1Db250cm9sKGVtYWlsKSkgPT09IG51bGw7XG4gICB9XG59XG4iLCI8Zm9ybSBbZm9ybUdyb3VwXT1cImZvcm1cIj5cbiAgIDxkaXYgKm5nSWY9XCJmaWVsZHMoKS5jb250cm9scy5sZW5ndGggPT0gMCAmJiBlbXB0eUxhYmVsXCI+e3tlbXB0eUxhYmVsfX08L2Rpdj5cbiAgIDxuZy1jb250YWluZXIgZm9ybUFycmF5TmFtZT1cImVtYWlsc1wiPlxuICAgICAgPGRpdiBjbGFzcz1cInF1ZXN0aW9uIGVtYWlsXCIgKm5nRm9yPVwibGV0IGl0ZW0gb2YgZmllbGRzKCkuY29udHJvbHM7IGxldCBpID0gaW5kZXhcIiBbZm9ybUdyb3VwTmFtZV09XCJpXCI+XG4gICAgICAgICA8ZGl2IGNsYXNzPVwicXVlc3Rpb24tYm9keSB0ZXh0XCI+XG4gICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT1cImZpbGxcIiBzdWJzY3JpcHRTaXppbmc9XCJkeW5hbWljXCI+XG4gICAgICAgICAgICAgICA8bWF0LWxhYmVsPkUtbWFpbCBhZGRyZXNzPC9tYXQtbGFiZWw+XG4gICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgZm9ybUNvbnRyb2xOYW1lPVwiZW1haWxcIj5cbiAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZGVsZXRlXCIgW2lkXT1cIidhY3Rpb24tcmVtb3ZlZW1haWwtJyArIGlcIiAoY2xpY2spPVwicmVtb3ZlRmllbGQoaSlcIj48c3BhbiBjbGFzcz1cImljb24gcGgtdHJhc2gtYm9sZFwiPjwvc3Bhbj48L2Rpdj5cbiAgICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICA8L25nLWNvbnRhaW5lcj5cbiAgIDxidXR0b24gaWQ9XCJhY3Rpb24tYWRkZW1haWxcIiAoY2xpY2spPVwiYWRkRmllbGQoKVwiIGNsYXNzPVwic3ViYWN0aW9uYnV0dG9uXCIgKm5nSWY9XCJtYXhpbXVtID09IDAgfHwgZmllbGRzKCkuY29udHJvbHMubGVuZ3RoIDwgbWF4aW11bVwiPjxzcGFuIGNsYXNzPVwiaWNvbiBwaC1wbHVzLWJvbGRcIj48L3NwYW4+e3thZGRMYWJlbCA/PyBcIkFkZFwifX08L2J1dHRvbj5cbjwvZm9ybT5cbiJdfQ==
@@ -3676,6 +3676,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImpo
3676
3676
  class MultiEmailInputComponent {
3677
3677
  constructor(formBuilder) {
3678
3678
  this.formBuilder = formBuilder;
3679
+ this.changed = new EventEmitter();
3679
3680
  this.onChange = () => { };
3680
3681
  this.onTouch = () => { };
3681
3682
  this.form = this.formBuilder.group({
@@ -3708,16 +3709,26 @@ class MultiEmailInputComponent {
3708
3709
  isDisabled ? this.form.disable() : this.form.enable();
3709
3710
  }
3710
3711
  addField() {
3711
- this.fields().push(this.createField());
3712
- this.onChange(this.getValue());
3712
+ var group = this.fields();
3713
+ if (group.controls.length > 0) {
3714
+ var lastField = group.controls[group.controls.length - 1];
3715
+ if (!lastField.value || !lastField.value.email || !this.isValidEmail(lastField.value.email)) {
3716
+ return;
3717
+ }
3718
+ }
3719
+ var value = this.getValue();
3720
+ group.push(this.createField());
3721
+ this.onChange(value);
3722
+ this.changed.emit(value);
3713
3723
  }
3714
3724
  removeField(index) {
3715
3725
  this.fields().removeAt(index);
3716
- this.onChange(this.getValue());
3726
+ var value = this.getValue();
3727
+ this.onChange(value);
3728
+ this.changed.emit(value);
3717
3729
  }
3718
3730
  fields() {
3719
- var formGroup = this.form.get("emails");
3720
- return formGroup;
3731
+ return this.form.get("emails");
3721
3732
  }
3722
3733
  onKeyDown(event) {
3723
3734
  if (event.key === 'Tab' && event.target instanceof HTMLInputElement) {
@@ -3737,7 +3748,7 @@ class MultiEmailInputComponent {
3737
3748
  return Validators.email(new FormControl(email)) === null;
3738
3749
  }
3739
3750
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: MultiEmailInputComponent, deps: [{ token: i4$1.FormBuilder }], target: i0.ɵɵFactoryTarget.Component }); }
3740
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.12", type: MultiEmailInputComponent, selector: "multi-email-input", inputs: { label: "label", maximum: "maximum", addLabel: "addLabel", emptyLabel: "emptyLabel" }, host: { listeners: { "keydown": "onKeyDown($event)" } }, providers: [
3751
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.12", type: MultiEmailInputComponent, selector: "multi-email-input", inputs: { label: "label", maximum: "maximum", addLabel: "addLabel", emptyLabel: "emptyLabel" }, outputs: { changed: "changed" }, host: { listeners: { "keydown": "onKeyDown($event)" } }, providers: [
3741
3752
  {
3742
3753
  provide: NG_VALUE_ACCESSOR,
3743
3754
  useExisting: forwardRef(() => MultiEmailInputComponent),
@@ -3762,6 +3773,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImpo
3762
3773
  type: Input
3763
3774
  }], emptyLabel: [{
3764
3775
  type: Input
3776
+ }], changed: [{
3777
+ type: Output
3765
3778
  }], onKeyDown: [{
3766
3779
  type: HostListener,
3767
3780
  args: ['keydown', ['$event']]