@ecodev/natural 43.0.0 → 44.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (154) hide show
  1. package/esm2020/lib/classes/abstract-controller.mjs +3 -3
  2. package/esm2020/lib/classes/abstract-detail.mjs +6 -6
  3. package/esm2020/lib/classes/abstract-editable-list.mjs +7 -7
  4. package/esm2020/lib/classes/abstract-list.mjs +3 -3
  5. package/esm2020/lib/classes/abstract-navigable-list.mjs +3 -3
  6. package/esm2020/lib/classes/validators.mjs +1 -1
  7. package/esm2020/lib/directives/http-prefix.directive.mjs +3 -3
  8. package/esm2020/lib/modules/alert/alert.module.mjs +5 -5
  9. package/esm2020/lib/modules/alert/alert.service.mjs +3 -3
  10. package/esm2020/lib/modules/alert/confirm.component.mjs +5 -5
  11. package/esm2020/lib/modules/avatar/avatar.module.mjs +5 -5
  12. package/esm2020/lib/modules/avatar/component/avatar.component.mjs +7 -17
  13. package/esm2020/lib/modules/avatar/service/avatar.service.mjs +3 -3
  14. package/esm2020/lib/modules/columns-picker/columns-picker-column.directive.mjs +3 -3
  15. package/esm2020/lib/modules/columns-picker/columns-picker.component.mjs +9 -9
  16. package/esm2020/lib/modules/columns-picker/columns-picker.module.mjs +11 -13
  17. package/esm2020/lib/modules/common/common-module.mjs +5 -5
  18. package/esm2020/lib/modules/common/directives/linkable-tab.directive.mjs +3 -3
  19. package/esm2020/lib/modules/common/directives/src-density.directive.mjs +3 -3
  20. package/esm2020/lib/modules/common/pipes/capitalize.pipe.mjs +3 -3
  21. package/esm2020/lib/modules/common/pipes/ellipsis.pipe.mjs +3 -3
  22. package/esm2020/lib/modules/common/pipes/enum.pipe.mjs +3 -3
  23. package/esm2020/lib/modules/common/pipes/swiss-date.pipe.mjs +3 -3
  24. package/esm2020/lib/modules/common/services/memory-storage.mjs +3 -3
  25. package/esm2020/lib/modules/common/services/seo.service.mjs +3 -3
  26. package/esm2020/lib/modules/detail-header/detail-header.component.mjs +9 -9
  27. package/esm2020/lib/modules/detail-header/detail-header.module.mjs +5 -5
  28. package/esm2020/lib/modules/dialog-trigger/dialog-trigger.component.mjs +3 -3
  29. package/esm2020/lib/modules/dialog-trigger/dialog-trigger.module.mjs +5 -5
  30. package/esm2020/lib/modules/dropdown-components/abstract-association-select-component.directive.mjs +6 -6
  31. package/esm2020/lib/modules/dropdown-components/natural-dropdown-components.module.mjs +16 -18
  32. package/esm2020/lib/modules/dropdown-components/type-date/type-date.component.mjs +16 -16
  33. package/esm2020/lib/modules/dropdown-components/type-date-range/type-date-range.component.mjs +14 -14
  34. package/esm2020/lib/modules/dropdown-components/type-hierarchic-selector/type-hierarchic-selector.component.mjs +9 -9
  35. package/esm2020/lib/modules/dropdown-components/type-natural-select/type-natural-select.component.mjs +9 -9
  36. package/esm2020/lib/modules/dropdown-components/type-number/type-number.component.mjs +13 -13
  37. package/esm2020/lib/modules/dropdown-components/type-select/type-select.component.mjs +11 -11
  38. package/esm2020/lib/modules/dropdown-components/type-text/type-text.component.mjs +13 -10
  39. package/esm2020/lib/modules/dropdown-components/types.mjs +1 -1
  40. package/esm2020/lib/modules/file/abstract-file.mjs +3 -3
  41. package/esm2020/lib/modules/file/component/file.component.mjs +6 -6
  42. package/esm2020/lib/modules/file/file-drop.directive.mjs +3 -3
  43. package/esm2020/lib/modules/file/file-select.directive.mjs +3 -3
  44. package/esm2020/lib/modules/file/file.module.mjs +5 -5
  45. package/esm2020/lib/modules/file/file.service.mjs +3 -3
  46. package/esm2020/lib/modules/fixed-button/fixed-button.component.mjs +6 -6
  47. package/esm2020/lib/modules/fixed-button/fixed-button.module.mjs +5 -5
  48. package/esm2020/lib/modules/fixed-button-detail/fixed-button-detail.component.mjs +6 -6
  49. package/esm2020/lib/modules/fixed-button-detail/fixed-button-detail.module.mjs +5 -5
  50. package/esm2020/lib/modules/hierarchic-selector/hierarchic-selector/hierarchic-selector.component.mjs +10 -10
  51. package/esm2020/lib/modules/hierarchic-selector/hierarchic-selector/hierarchic-selector.service.mjs +3 -3
  52. package/esm2020/lib/modules/hierarchic-selector/hierarchic-selector-dialog/hierarchic-selector-dialog.component.mjs +5 -5
  53. package/esm2020/lib/modules/hierarchic-selector/hierarchic-selector-dialog/hierarchic-selector-dialog.service.mjs +3 -3
  54. package/esm2020/lib/modules/hierarchic-selector/hierarchic-selector.module.mjs +19 -21
  55. package/esm2020/lib/modules/icon/icon.component.mjs +5 -5
  56. package/esm2020/lib/modules/icon/icon.module.mjs +5 -5
  57. package/esm2020/lib/modules/logger/error-handler.mjs +3 -3
  58. package/esm2020/lib/modules/logger/error.module.mjs +5 -5
  59. package/esm2020/lib/modules/matomo/matomo-module.module.mjs +4 -4
  60. package/esm2020/lib/modules/matomo/matomo.service.mjs +3 -3
  61. package/esm2020/lib/modules/panels/abstract-panel.mjs +3 -3
  62. package/esm2020/lib/modules/panels/panels.component.mjs +3 -3
  63. package/esm2020/lib/modules/panels/panels.module.mjs +5 -5
  64. package/esm2020/lib/modules/panels/panels.service.mjs +3 -3
  65. package/esm2020/lib/modules/relations/relations.component.mjs +8 -8
  66. package/esm2020/lib/modules/relations/relations.module.mjs +14 -16
  67. package/esm2020/lib/modules/search/dropdown-container/dropdown-container.component.mjs +7 -7
  68. package/esm2020/lib/modules/search/dropdown-container/dropdown.service.mjs +3 -3
  69. package/esm2020/lib/modules/search/facet-selector/facet-selector.component.mjs +5 -5
  70. package/esm2020/lib/modules/search/group/group.component.mjs +5 -5
  71. package/esm2020/lib/modules/search/input/input.component.mjs +20 -22
  72. package/esm2020/lib/modules/search/search/search.component.mjs +5 -5
  73. package/esm2020/lib/modules/search/search.module.mjs +15 -17
  74. package/esm2020/lib/modules/select/abstract-select.component.mjs +6 -6
  75. package/esm2020/lib/modules/select/select/select.component.mjs +16 -16
  76. package/esm2020/lib/modules/select/select-enum/select-enum.component.mjs +8 -8
  77. package/esm2020/lib/modules/select/select-hierarchic/select-hierarchic.component.mjs +10 -10
  78. package/esm2020/lib/modules/select/select.module.mjs +16 -18
  79. package/esm2020/lib/modules/sidenav/sidenav/sidenav.component.mjs +3 -3
  80. package/esm2020/lib/modules/sidenav/sidenav-container/sidenav-container.component.mjs +5 -5
  81. package/esm2020/lib/modules/sidenav/sidenav-content/sidenav-content.component.mjs +3 -3
  82. package/esm2020/lib/modules/sidenav/sidenav-stack.service.mjs +3 -3
  83. package/esm2020/lib/modules/sidenav/sidenav.module.mjs +5 -5
  84. package/esm2020/lib/modules/sidenav/sidenav.service.mjs +3 -3
  85. package/esm2020/lib/modules/stamp/stamp-module.module.mjs +5 -5
  86. package/esm2020/lib/modules/stamp/stamp.component.mjs +5 -5
  87. package/esm2020/lib/modules/table-button/table-button.component.mjs +7 -7
  88. package/esm2020/lib/modules/table-button/table-button.module.mjs +5 -5
  89. package/esm2020/lib/services/abstract-model.service.mjs +7 -7
  90. package/esm2020/lib/services/enum.service.mjs +3 -3
  91. package/esm2020/lib/services/link-mutation.service.mjs +3 -3
  92. package/esm2020/lib/services/persistence.service.mjs +3 -3
  93. package/esm2020/lib/services/swiss-parsing-date-adapter.service.mjs +3 -3
  94. package/fesm2015/ecodev-natural.mjs +452 -473
  95. package/fesm2015/ecodev-natural.mjs.map +1 -1
  96. package/fesm2020/ecodev-natural.mjs +452 -473
  97. package/fesm2020/ecodev-natural.mjs.map +1 -1
  98. package/{ecodev-natural.d.ts → index.d.ts} +0 -0
  99. package/lib/classes/abstract-controller.d.ts +1 -1
  100. package/lib/classes/abstract-detail.d.ts +3 -3
  101. package/lib/classes/abstract-editable-list.d.ts +5 -5
  102. package/lib/classes/abstract-list.d.ts +1 -1
  103. package/lib/classes/abstract-navigable-list.d.ts +1 -1
  104. package/lib/classes/validators.d.ts +2 -2
  105. package/lib/directives/http-prefix.directive.d.ts +1 -1
  106. package/lib/modules/alert/confirm.component.d.ts +1 -1
  107. package/lib/modules/avatar/component/avatar.component.d.ts +1 -1
  108. package/lib/modules/columns-picker/columns-picker-column.directive.d.ts +1 -1
  109. package/lib/modules/columns-picker/columns-picker.component.d.ts +1 -1
  110. package/lib/modules/common/directives/linkable-tab.directive.d.ts +1 -1
  111. package/lib/modules/common/directives/src-density.directive.d.ts +1 -1
  112. package/lib/modules/common/pipes/capitalize.pipe.d.ts +1 -1
  113. package/lib/modules/common/pipes/ellipsis.pipe.d.ts +1 -1
  114. package/lib/modules/common/pipes/enum.pipe.d.ts +1 -1
  115. package/lib/modules/common/pipes/swiss-date.pipe.d.ts +1 -1
  116. package/lib/modules/detail-header/detail-header.component.d.ts +1 -1
  117. package/lib/modules/dialog-trigger/dialog-trigger.component.d.ts +1 -1
  118. package/lib/modules/dropdown-components/abstract-association-select-component.directive.d.ts +11 -8
  119. package/lib/modules/dropdown-components/type-date/type-date.component.d.ts +9 -6
  120. package/lib/modules/dropdown-components/type-date-range/type-date-range.component.d.ts +11 -8
  121. package/lib/modules/dropdown-components/type-hierarchic-selector/type-hierarchic-selector.component.d.ts +1 -1
  122. package/lib/modules/dropdown-components/type-natural-select/type-natural-select.component.d.ts +1 -1
  123. package/lib/modules/dropdown-components/type-number/type-number.component.d.ts +10 -7
  124. package/lib/modules/dropdown-components/type-select/type-select.component.d.ts +8 -5
  125. package/lib/modules/dropdown-components/type-text/type-text.component.d.ts +4 -4
  126. package/lib/modules/dropdown-components/types.d.ts +4 -2
  127. package/lib/modules/file/abstract-file.d.ts +1 -1
  128. package/lib/modules/file/component/file.component.d.ts +1 -1
  129. package/lib/modules/file/file-drop.directive.d.ts +1 -1
  130. package/lib/modules/file/file-select.directive.d.ts +1 -1
  131. package/lib/modules/fixed-button/fixed-button.component.d.ts +1 -1
  132. package/lib/modules/fixed-button-detail/fixed-button-detail.component.d.ts +1 -1
  133. package/lib/modules/hierarchic-selector/hierarchic-selector/hierarchic-selector.component.d.ts +1 -1
  134. package/lib/modules/hierarchic-selector/hierarchic-selector-dialog/hierarchic-selector-dialog.component.d.ts +1 -1
  135. package/lib/modules/icon/icon.component.d.ts +1 -1
  136. package/lib/modules/panels/abstract-panel.d.ts +1 -1
  137. package/lib/modules/panels/panels.component.d.ts +1 -1
  138. package/lib/modules/relations/relations.component.d.ts +1 -1
  139. package/lib/modules/search/dropdown-container/dropdown-container.component.d.ts +1 -1
  140. package/lib/modules/search/facet-selector/facet-selector.component.d.ts +1 -1
  141. package/lib/modules/search/group/group.component.d.ts +1 -1
  142. package/lib/modules/search/input/input.component.d.ts +6 -7
  143. package/lib/modules/search/search/search.component.d.ts +1 -1
  144. package/lib/modules/select/abstract-select.component.d.ts +9 -9
  145. package/lib/modules/select/select/select.component.d.ts +7 -5
  146. package/lib/modules/select/select-enum/select-enum.component.d.ts +5 -3
  147. package/lib/modules/select/select-hierarchic/select-hierarchic.component.d.ts +3 -3
  148. package/lib/modules/sidenav/sidenav/sidenav.component.d.ts +1 -1
  149. package/lib/modules/sidenav/sidenav-container/sidenav-container.component.d.ts +1 -1
  150. package/lib/modules/sidenav/sidenav-content/sidenav-content.component.d.ts +1 -1
  151. package/lib/modules/stamp/stamp.component.d.ts +1 -1
  152. package/lib/modules/table-button/table-button.component.d.ts +1 -1
  153. package/lib/services/abstract-model.service.d.ts +2 -2
  154. package/package.json +15 -8
@@ -7,26 +7,26 @@ import { InvalidWithValueStateMatcher } from '../type-text/type-text.component';
7
7
  import { decimal } from '../../../classes/validators';
8
8
  import * as i0 from "@angular/core";
9
9
  import * as i1 from "../../search/dropdown-container/dropdown-ref";
10
- import * as i2 from "@angular/material/form-field";
11
- import * as i3 from "@angular/material/select";
12
- import * as i4 from "@angular/material/core";
13
- import * as i5 from "@angular/forms";
14
- import * as i6 from "@angular/common";
15
- import * as i7 from "@angular/material/input";
10
+ import * as i2 from "@angular/common";
11
+ import * as i3 from "@angular/forms";
12
+ import * as i4 from "@angular/material/form-field";
13
+ import * as i5 from "@angular/material/input";
14
+ import * as i6 from "@angular/material/select";
15
+ import * as i7 from "@angular/material/core";
16
16
  export class TypeNumberComponent {
17
17
  constructor(data, dropdownRef) {
18
18
  this.dropdownRef = dropdownRef;
19
19
  this.renderedValue = new BehaviorSubject('');
20
20
  this.configuration = {};
21
- this.operatorCtrl = new FormControl('equal');
21
+ this.operatorCtrl = new FormControl('equal', { nonNullable: true });
22
22
  this.valueCtrl = new FormControl();
23
23
  this.matcher = new InvalidWithValueStateMatcher();
24
- this.operators = possibleComparableOperators;
25
- this.configuration = data.configuration || {};
26
24
  this.form = new FormGroup({
27
25
  operator: this.operatorCtrl,
28
26
  value: this.valueCtrl,
29
27
  });
28
+ this.operators = possibleComparableOperators;
29
+ this.configuration = data.configuration || {};
30
30
  merge(this.operatorCtrl.valueChanges, this.valueCtrl.valueChanges).subscribe(() => {
31
31
  const rendered = this.getRenderedValue();
32
32
  this.renderedValue.next(rendered);
@@ -92,13 +92,13 @@ export class TypeNumberComponent {
92
92
  }
93
93
  }
94
94
  }
95
- TypeNumberComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: TypeNumberComponent, deps: [{ token: NATURAL_DROPDOWN_DATA }, { token: i1.NaturalDropdownRef }], target: i0.ɵɵFactoryTarget.Component });
96
- TypeNumberComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.0", type: TypeNumberComponent, selector: "ng-component", ngImport: i0, template: "<form [formGroup]=\"form\">\n <mat-form-field style=\"max-width: 4em; margin-right: 1em\">\n <mat-label i18n=\"Mathematical operator < > =\">Op\u00E9rateur</mat-label>\n <mat-select [formControl]=\"operatorCtrl\" [required]=\"true\">\n <mat-option *ngFor=\"let item of operators\" [value]=\"item.key\">\n {{ item.label }}\n </mat-option>\n </mat-select>\n </mat-form-field>\n\n <mat-form-field>\n <mat-label i18n>Valeur</mat-label>\n <input\n (keydown.enter)=\"close()\"\n [errorStateMatcher]=\"matcher\"\n [formControl]=\"valueCtrl\"\n [attr.max]=\"configuration.max\"\n [attr.min]=\"configuration.min\"\n [required]=\"true\"\n [step]=\"configuration.step\"\n matInput\n type=\"number\"\n />\n <mat-error *ngIf=\"valueCtrl.hasError('min')\">< {{ configuration.min }}</mat-error>\n <mat-error *ngIf=\"valueCtrl.hasError('max')\">> {{ configuration.max }}</mat-error>\n </mat-form-field>\n</form>\n", styles: [":host input::-webkit-outer-spin-button,:host input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}\n"], components: [{ type: i2.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { type: i3.MatSelect, selector: "mat-select", inputs: ["disabled", "disableRipple", "tabIndex"], exportAs: ["matSelect"] }, { type: i4.MatOption, selector: "mat-option", exportAs: ["matOption"] }], directives: [{ type: i5.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { type: i5.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i5.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i2.MatLabel, selector: "mat-label" }, { type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i5.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { type: i5.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { type: i6.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i7.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { type: i5.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }, { type: i5.MaxValidator, selector: "input[type=number][max][formControlName],input[type=number][max][formControl],input[type=number][max][ngModel]", inputs: ["max"] }, { type: i5.MinValidator, selector: "input[type=number][min][formControlName],input[type=number][min][formControl],input[type=number][min][ngModel]", inputs: ["min"] }, { type: i5.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.MatError, selector: "mat-error", inputs: ["id"] }] });
97
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: TypeNumberComponent, decorators: [{
95
+ TypeNumberComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: TypeNumberComponent, deps: [{ token: NATURAL_DROPDOWN_DATA }, { token: i1.NaturalDropdownRef }], target: i0.ɵɵFactoryTarget.Component });
96
+ TypeNumberComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.1.1", type: TypeNumberComponent, selector: "ng-component", ngImport: i0, template: "<form [formGroup]=\"form\">\n <mat-form-field style=\"max-width: 4em; margin-right: 1em\">\n <mat-label i18n=\"Mathematical operator < > =\">Op\u00E9rateur</mat-label>\n <mat-select [formControl]=\"operatorCtrl\" [required]=\"true\">\n <mat-option *ngFor=\"let item of operators\" [value]=\"item.key\">\n {{ item.label }}\n </mat-option>\n </mat-select>\n </mat-form-field>\n\n <mat-form-field>\n <mat-label i18n>Valeur</mat-label>\n <input\n (keydown.enter)=\"close()\"\n [errorStateMatcher]=\"matcher\"\n [formControl]=\"valueCtrl\"\n [attr.max]=\"configuration.max\"\n [attr.min]=\"configuration.min\"\n [required]=\"true\"\n [step]=\"configuration.step\"\n matInput\n type=\"number\"\n />\n <mat-error *ngIf=\"valueCtrl.hasError('min')\">< {{ configuration.min }}</mat-error>\n <mat-error *ngIf=\"valueCtrl.hasError('max')\">> {{ configuration.max }}</mat-error>\n </mat-form-field>\n</form>\n", styles: [":host input::-webkit-outer-spin-button,:host input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i3.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i3.MinValidator, selector: "input[type=number][min][formControlName],input[type=number][min][formControl],input[type=number][min][ngModel]", inputs: ["min"] }, { kind: "directive", type: i3.MaxValidator, selector: "input[type=number][max][formControlName],input[type=number][max][formControl],input[type=number][max][ngModel]", inputs: ["max"] }, { kind: "directive", type: i4.MatError, selector: "mat-error", inputs: ["id"] }, { kind: "component", type: i4.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i4.MatLabel, selector: "mat-label" }, { kind: "directive", type: i3.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i3.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i5.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: i6.MatSelect, selector: "mat-select", inputs: ["disabled", "disableRipple", "tabIndex"], exportAs: ["matSelect"] }, { kind: "component", type: i7.MatOption, selector: "mat-option", exportAs: ["matOption"] }] });
97
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: TypeNumberComponent, decorators: [{
98
98
  type: Component,
99
99
  args: [{ template: "<form [formGroup]=\"form\">\n <mat-form-field style=\"max-width: 4em; margin-right: 1em\">\n <mat-label i18n=\"Mathematical operator < > =\">Op\u00E9rateur</mat-label>\n <mat-select [formControl]=\"operatorCtrl\" [required]=\"true\">\n <mat-option *ngFor=\"let item of operators\" [value]=\"item.key\">\n {{ item.label }}\n </mat-option>\n </mat-select>\n </mat-form-field>\n\n <mat-form-field>\n <mat-label i18n>Valeur</mat-label>\n <input\n (keydown.enter)=\"close()\"\n [errorStateMatcher]=\"matcher\"\n [formControl]=\"valueCtrl\"\n [attr.max]=\"configuration.max\"\n [attr.min]=\"configuration.min\"\n [required]=\"true\"\n [step]=\"configuration.step\"\n matInput\n type=\"number\"\n />\n <mat-error *ngIf=\"valueCtrl.hasError('min')\">< {{ configuration.min }}</mat-error>\n <mat-error *ngIf=\"valueCtrl.hasError('max')\">> {{ configuration.max }}</mat-error>\n </mat-form-field>\n</form>\n", styles: [":host input::-webkit-outer-spin-button,:host input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}\n"] }]
100
100
  }], ctorParameters: function () { return [{ type: undefined, decorators: [{
101
101
  type: Inject,
102
102
  args: [NATURAL_DROPDOWN_DATA]
103
103
  }] }, { type: i1.NaturalDropdownRef }]; } });
104
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZS1udW1iZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmF0dXJhbC9zcmMvbGliL21vZHVsZXMvZHJvcGRvd24tY29tcG9uZW50cy90eXBlLW51bWJlci90eXBlLW51bWJlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uYXR1cmFsL3NyYy9saWIvbW9kdWxlcy9kcm9wZG93bi1jb21wb25lbnRzL3R5cGUtbnVtYmVyL3R5cGUtbnVtYmVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsTUFBTSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ2hELE9BQU8sRUFBQyxXQUFXLEVBQUUsU0FBUyxFQUFlLFVBQVUsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQy9FLE9BQU8sRUFBQyxlQUFlLEVBQUUsS0FBSyxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBRzVDLE9BQU8sRUFBQyxxQkFBcUIsRUFBc0IsTUFBTSxrREFBa0QsQ0FBQztBQUU1RyxPQUFPLEVBQUMsMkJBQTJCLEVBQUMsTUFBTSxVQUFVLENBQUM7QUFDckQsT0FBTyxFQUFDLDRCQUE0QixFQUFDLE1BQU0sa0NBQWtDLENBQUM7QUFDOUUsT0FBTyxFQUFDLE9BQU8sRUFBQyxNQUFNLDZCQUE2QixDQUFDOzs7Ozs7Ozs7QUFZcEQsTUFBTSxPQUFPLG1CQUFtQjtJQVM1QixZQUNtQyxJQUFrRCxFQUN2RSxXQUErQjtRQUEvQixnQkFBVyxHQUFYLFdBQVcsQ0FBb0I7UUFWdEMsa0JBQWEsR0FBRyxJQUFJLGVBQWUsQ0FBUyxFQUFFLENBQUMsQ0FBQztRQUNoRCxrQkFBYSxHQUE0QixFQUFFLENBQUM7UUFDNUMsaUJBQVksR0FBZ0IsSUFBSSxXQUFXLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDckQsY0FBUyxHQUFnQixJQUFJ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S0FBSyxNQUFNLFFBQVEsSUFBSSxJQUFJLENBQUMsU0FBUyxFQUFFO1lBQ25DLE1BQU0saUJBQWlCLEdBQUcsU0FBUyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUNsRCxJQUFJLGlCQUFpQixFQUFFO2dCQUNuQixJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUM7Z0JBQ3pDLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLGlCQUFpQixDQUFDLEtBQUssQ0FBQyxDQUFDO2FBQ3BEO1NBQ0o7SUFDTCxDQUFDO0lBRU8sZ0JBQWdCO1FBQ3BCLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsS0FBSyxJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzdFLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLEtBQUssSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQzVDLE9BQU8sRUFBRSxDQUFDO1NBQ2I7YUFBTTtZQUNILE9BQU8sUUFBUSxDQUFDLEtBQUssR0FBRyxHQUFHLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUM7U0FDdEQ7SUFDTCxDQUFDOztnSEE3RlEsbUJBQW1CLGtCQVVoQixxQkFBcUI7b0dBVnhCLG1CQUFtQixvRENyQmhDLCtrQ0EyQkE7MkZETmEsbUJBQW1CO2tCQUovQixTQUFTOzs7MEJBY0QsTUFBTTsyQkFBQyxxQkFBcUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgSW5qZWN0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7Rm9ybUNvbnRyb2wsIEZvcm1Hcm91cCwgVmFsaWRhdG9yRm4sIFZhbGlkYXRvcnN9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7QmVoYXZpb3JTdWJqZWN0LCBtZXJnZX0gZnJvbSAncnhqcyc7XG5pbXBvcnQge0ZpbHRlckdyb3VwQ29uZGl0aW9uRmllbGR9IGZyb20gJy4uLy4uL3NlYXJjaC9jbGFzc2VzL2dyYXBocWwtZG9jdHJpbmUudHlwZXMnO1xuaW1wb3J0IHtOYXR1cmFsRHJvcGRvd25SZWZ9IGZyb20gJy4uLy4uL3NlYXJjaC9kcm9wZG93bi1jb250YWluZXIvZHJvcGRvd24tcmVmJztcbmltcG9ydCB7TkFUVVJBTF9EUk9QRE9XTl9EQVRBLCBOYXR1cmFsRHJvcGRvd25EYXRhfSBmcm9tICcuLi8uLi9zZWFyY2gvZHJvcGRvd24tY29udGFpbmVyL2Ryb3Bkb3duLnNlcnZpY2UnO1xuaW1wb3J0IHtEcm9wZG93bkNvbXBvbmVudH0gZnJvbSAnLi4vLi4vc2VhcmNoL3R5cGVzL2Ryb3Bkb3duLWNvbXBvbmVudCc7XG5pbXBvcnQge3Bvc3NpYmxlQ29tcGFyYWJsZU9wZXJhdG9yc30gZnJvbSAnLi4vdHlwZXMnO1xuaW1wb3J0IHtJbnZhbGlkV2l0aFZhbHVlU3RhdGVNYXRjaGVyfSBmcm9tICcuLi90eXBlLXRleHQvdHlwZS10ZXh0LmNvbXBvbmVudCc7XG5pbXBvcnQge2RlY2ltYWx9IGZyb20gJy4uLy4uLy4uL2NsYXNzZXMvdmFsaWRhdG9ycyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgVHlwZU51bWJlckNvbmZpZ3VyYXRpb24ge1xuICAgIG1pbj86IG51bWJlciB8IG51bGw7XG4gICAgbWF4PzogbnVtYmVyIHwgbnVsbDtcbiAgICBzdGVwPzogbnVtYmVyIHwgbnVsbDtcbn1cblxuQENvbXBvbmVudCh7XG4gICAgdGVtcGxhdGVVcmw6ICcuL3R5cGUtbnVtYmVyLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi90eXBlLW51bWJlci5jb21wb25lbnQuc2NzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBUeXBlTnVtYmVyQ29tcG9uZW50IGltcGxlbWVudHMgRHJvcGRvd25Db21wb25lbnQge1xuICAgIHB1YmxpYyByZW5kZXJlZFZhbHVlID0gbmV3IEJlaGF2aW9yU3ViamVjdDxzdHJpbmc+KCcnKTtcbiAgICBwdWJsaWMgY29uZmlndXJhdGlvbjogVHlwZU51bWJlckNvbmZpZ3VyYXRpb24gPSB7fTtcbiAgICBwdWJsaWMgb3BlcmF0b3JDdHJsOiBGb3JtQ29udHJvbCA9IG5ldyBGb3JtQ29udHJvbCgnZXF1YWwnKTtcbiAgICBwdWJsaWMgdmFsdWVDdHJsOiBGb3JtQ29udHJvbCA9IG5ldyBGb3JtQ29udHJvbCgpO1xuICAgIHB1YmxpYyBtYXRjaGVyID0gbmV3IEludmFsaWRXaXRoVmFsdWVTdGF0ZU1hdGNoZXIoKTtcbiAgICBwdWJsaWMgZm9ybTogRm9ybUdyb3VwO1xuICAgIHB1YmxpYyByZWFkb25seSBvcGVyYXRvcnMgPSBwb3NzaWJsZUNvbXBhcmFibGVPcGVyYXRvcnM7XG5cbiAgICBwdWJsaWMgY29uc3RydWN0b3IoXG4gICAgICAgIEBJbmplY3QoTkFUVVJBTF9EUk9QRE9XTl9EQVRBKSBkYXRhOiBOYXR1cmFsRHJvcGRvd25EYXRhPFR5cGVOdW1iZXJDb25maWd1cmF0aW9uPixcbiAgICAgICAgcHJvdGVjdGVkIGRyb3Bkb3duUmVmOiBOYXR1cmFsRHJvcGRvd25SZWYsXG4gICAgKSB7XG4gICAgICAgIHRoaXMuY29uZmlndXJhdGlvbiA9IGRhdGEuY29uZmlndXJhdGlvbiB8fCB7fTtcbiAgICAgICAgdGhpcy5mb3JtID0gbmV3IEZvcm1Hcm91cCh7XG4gICAgICAgICAgICBvcGVyYXRvcjogdGhpcy5vcGVyYXRvckN0cmwsXG4gICAgICAgICAgICB2YWx1ZTogdGhpcy52YWx1ZUN0cmwsXG4gICAgICAgIH0pO1xuXG4gICAgICAgIG1lcmdlKHRoaXMub3BlcmF0b3JDdHJsLnZhbHVlQ2hhbmdlcywgdGhpcy52YWx1ZUN0cmwudmFsdWVDaGFuZ2VzKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgcmVuZGVyZWQgPSB0aGlzLmdldFJlbmRlcmVkVmFsdWUoKTtcbiAgICAgICAgICAgIHRoaXMucmVuZGVyZWRWYWx1ZS5uZXh0KHJlbmRlcmVkKTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy5pbml0VmFsaWRhdG9ycygpO1xuICAgICAgICB0aGlzLnJlbG9hZENvbmRpdGlvbihkYXRhLmNvbmRpdGlvbik7XG4gICAgfVxuXG4gICAgcHVibGljIGdldENvbmRpdGlvbigpOiBGaWx0ZXJHcm91cENvbmRpdGlvbkZpZWxkIHtcbiAgICAgICAgY29uc3QgY29uZGl0aW9uOiBGaWx0ZXJHcm91cENvbmRpdGlvbkZpZWxkID0ge307XG4gICAgICAgIGNvbmRpdGlvblt0aGlzLm9wZXJhdG9yQ3RybC52YWx1ZV0gPSB7XG4gICAgICAgICAgICB2YWx1ZTogdGhpcy52YWx1ZUN0cmwudmFsdWUsXG4gICAgICAgIH07XG5cbiAgICAgICAgcmV0dXJuIGNvbmRpdGlvbjtcbiAgICB9XG5cbiAgICBwdWJsaWMgaXNWYWxpZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZm9ybS52YWxpZDtcbiAgICB9XG5cbiAgICBwdWJsaWMgaXNEaXJ0eSgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZm9ybS5kaXJ0eTtcbiAgICB9XG5cbiAgICBwdWJsaWMgY2xvc2UoKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmlzVmFsaWQoKSkge1xuICAgICAgICAgICAgdGhpcy5kcm9wZG93blJlZi5jbG9zZSh7Y29uZGl0aW9uOiB0aGlzLmdldENvbmRpdGlvbigpfSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmRyb3Bkb3duUmVmLmNsb3NlKCk7IC8vIHVuZGVmaW5lZCB2YWx1ZSwgZGlzY2FyZCBjaGFuZ2VzIC8gcHJldmVudCB0byBhZGQgYSBjb25kaXRpb24gKG9uIG5ldyBmaWVsZHNcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgaW5pdFZhbGlkYXRvcnMoKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHZhbGlkYXRvcnM6IFZhbGlkYXRvckZuW10gPSBbVmFsaWRhdG9ycy5yZXF1aXJlZF07XG4gICAgICAgIGlmICh0aGlzLmNvbmZpZ3VyYXRpb24ubWluKSB7XG4gICAgICAgICAgICB2YWxpZGF0b3JzLnB1c2goVmFsaWRhdG9ycy5taW4odGhpcy5jb25maWd1cmF0aW9uLm1pbikpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMuY29uZmlndXJhdGlvbi5tYXgpIHtcbiAgICAgICAgICAgIHZhbGlkYXRvcnMucHVzaChWYWxpZGF0b3JzLm1heCh0aGlzLmNvbmZpZ3VyYXRpb24ubWF4KSk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy5jb25maWd1cmF0aW9uLnN0ZXApIHtcbiAgICAgICAgICAgIGNvbnN0IGRlY2ltYWxzID0gKCcnICsgdGhpcy5jb25maWd1cmF0aW9uLnN0ZXApLm1hdGNoKC9cXC4oXFxkKykkLyk/LlsxXSA/PyAnJztcbiAgICAgICAgICAgIGNvbnN0IGRlY2ltYWxDb3VudCA9IGRlY2ltYWxzLmxlbmd0aDtcbiAgICAgICAgICAgIHZhbGlkYXRvcnMucHVzaChkZWNpbWFsKGRlY2ltYWxDb3VudCkpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy52YWx1ZUN0cmwuc2V0VmFsaWRhdG9ycyh2YWxpZGF0b3JzKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHJlbG9hZENvbmRpdGlvbihjb25kaXRpb246IEZpbHRlckdyb3VwQ29uZGl0aW9uRmllbGQgfCBudWxsKTogdm9pZCB7XG4gICAgICAgIGlmICghY29uZGl0aW9uKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBmb3IgKGNvbnN0IG9wZXJhdG9yIG9mIHRoaXMub3BlcmF0b3JzKSB7XG4gICAgICAgICAgICBjb25zdCByZWxvYWRlZENvbmRpdGlvbiA9IGNvbmRpdGlvbltvcGVyYXRvci5rZXldO1xuICAgICAgICAgICAgaWYgKHJlbG9hZGVkQ29uZGl0aW9uKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5vcGVyYXRvckN0cmwuc2V0VmFsdWUob3BlcmF0b3Iua2V5KTtcbiAgICAgICAgICAgICAgICB0aGlzLnZhbHVlQ3RybC5zZXRWYWx1ZShyZWxvYWRlZENvbmRpdGlvbi52YWx1ZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGdldFJlbmRlcmVkVmFsdWUoKTogc3RyaW5nIHtcbiAgICAgICAgY29uc3Qgb3BlcmF0b3IgPSB0aGlzLm9wZXJhdG9ycy5maW5kKHYgPT4gdi5rZXkgPT09IHRoaXMub3BlcmF0b3JDdHJsLnZhbHVlKTtcbiAgICAgICAgaWYgKHRoaXMudmFsdWVDdHJsLnZhbHVlID09PSBudWxsIHx8ICFvcGVyYXRvcikge1xuICAgICAgICAgICAgcmV0dXJuICcnO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIG9wZXJhdG9yLmxhYmVsICsgJyAnICsgdGhpcy52YWx1ZUN0cmwudmFsdWU7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCI8Zm9ybSBbZm9ybUdyb3VwXT1cImZvcm1cIj5cbiAgICA8bWF0LWZvcm0tZmllbGQgc3R5bGU9XCJtYXgtd2lkdGg6IDRlbTsgbWFyZ2luLXJpZ2h0OiAxZW1cIj5cbiAgICAgICAgPG1hdC1sYWJlbCBpMThuPVwiTWF0aGVtYXRpY2FsIG9wZXJhdG9yIDwgPiA9XCI+T3DDqXJhdGV1cjwvbWF0LWxhYmVsPlxuICAgICAgICA8bWF0LXNlbGVjdCBbZm9ybUNvbnRyb2xdPVwib3BlcmF0b3JDdHJsXCIgW3JlcXVpcmVkXT1cInRydWVcIj5cbiAgICAgICAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj1cImxldCBpdGVtIG9mIG9wZXJhdG9yc1wiIFt2YWx1ZV09XCJpdGVtLmtleVwiPlxuICAgICAgICAgICAgICAgIHt7IGl0ZW0ubGFiZWwgfX1cbiAgICAgICAgICAgIDwvbWF0LW9wdGlvbj5cbiAgICAgICAgPC9tYXQtc2VsZWN0PlxuICAgIDwvbWF0LWZvcm0tZmllbGQ+XG5cbiAgICA8bWF0LWZvcm0tZmllbGQ+XG4gICAgICAgIDxtYXQtbGFiZWwgaTE4bj5WYWxldXI8L21hdC1sYWJlbD5cbiAgICAgICAgPGlucHV0XG4gICAgICAgICAgICAoa2V5ZG93bi5lbnRlcik9XCJjbG9zZSgpXCJcbiAgICAgICAgICAgIFtlcnJvclN0YXRlTWF0Y2hlcl09XCJtYXRjaGVyXCJcbiAgICAgICAgICAgIFtmb3JtQ29udHJvbF09XCJ2YWx1ZUN0cmxcIlxuICAgICAgICAgICAgW2F0dHIubWF4XT1cImNvbmZpZ3VyYXRpb24ubWF4XCJcbiAgICAgICAgICAgIFthdHRyLm1pbl09XCJjb25maWd1cmF0aW9uLm1pblwiXG4gICAgICAgICAgICBbcmVxdWlyZWRdPVwidHJ1ZVwiXG4gICAgICAgICAgICBbc3RlcF09XCJjb25maWd1cmF0aW9uLnN0ZXBcIlxuICAgICAgICAgICAgbWF0SW5wdXRcbiAgICAgICAgICAgIHR5cGU9XCJudW1iZXJcIlxuICAgICAgICAvPlxuICAgICAgICA8bWF0LWVycm9yICpuZ0lmPVwidmFsdWVDdHJsLmhhc0Vycm9yKCdtaW4nKVwiPjwge3sgY29uZmlndXJhdGlvbi5taW4gfX08L21hdC1lcnJvcj5cbiAgICAgICAgPG1hdC1lcnJvciAqbmdJZj1cInZhbHVlQ3RybC5oYXNFcnJvcignbWF4JylcIj4+IHt7IGNvbmZpZ3VyYXRpb24ubWF4IH19PC9tYXQtZXJyb3I+XG4gICAgPC9tYXQtZm9ybS1maWVsZD5cbjwvZm9ybT5cbiJdfQ==
104
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZS1udW1iZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmF0dXJhbC9zcmMvbGliL21vZHVsZXMvZHJvcGRvd24tY29tcG9uZW50cy90eXBlLW51bWJlci90eXBlLW51bWJlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uYXR1cmFsL3NyYy9saWIvbW9kdWxlcy9kcm9wZG93bi1jb21wb25lbnRzL3R5cGUtbnVtYmVyL3R5cGUtbnVtYmVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsTUFBTSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ2hELE9BQU8sRUFBQyxXQUFXLEVBQUUsU0FBUyxFQUFlLFVBQVUsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQy9FLE9BQU8sRUFBQyxlQUFlLEVBQUUsS0FBSyxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBRzVDLE9BQU8sRUFBQyxxQkFBcUIsRUFBc0IsTUFBTSxrREFBa0QsQ0FBQztBQUU1RyxPQUFPLEVBQUMsMkJBQTJCLEVBQWdDLE1BQU0sVUFBVSxDQUFDO0FBQ3BGLE9BQU8sRUFBQyw0QkFBNEIsRUFBQyxNQUFNLGtDQUFrQyxDQUFDO0FBQzlFLE9BQU8sRUFBQyxPQUFPLEVBQUMsTUFBTSw2QkFBNkIsQ0FBQzs7Ozs7Ozs7O0FBWXBELE1BQU0sT0FBTyxtQkFBbUI7SUFZNUIsWUFDbUMsSUFBa0QsRUFDdkUsV0FBK0I7UUFBL0IsZ0JBQVcsR0FBWCxXQUFXLENBQW9CO1FBYjdCLGtCQUFhLEdBQUcsSUFBSSxlQUFlLENBQVMsRUFBRSxDQUFDLENBQUM7UUFDaEQsa0JBQWEsR0FBNEIsRUFBRSxDQUFDO1FBQzVDLGlCQUFZLEdBQUcsSUFBSSxXQUFXLENBQWdDLE9BQU8sRUFBRSxFQUFDLFdBQVcsRUFBRSxJQUFJLEVBQUMs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WUFDWixPQUFPO1NBQ1Y7UUFFRCxLQUFLLE1BQU0sUUFBUSxJQUFJLElBQUksQ0FBQyxTQUFTLEVBQUU7WUFDbkMsTUFBTSxpQkFBaUIsR0FBRyxTQUFTLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ2xELElBQUksaUJBQWlCLEVBQUU7Z0JBQ25CLElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQztnQkFDekMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsaUJBQWlCLENBQUMsS0FBSyxDQUFDLENBQUM7YUFDcEQ7U0FDSjtJQUNMLENBQUM7SUFFTyxnQkFBZ0I7UUFDcEIsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxLQUFLLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDN0UsSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssS0FBSyxJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUU7WUFDNUMsT0FBTyxFQUFFLENBQUM7U0FDYjthQUFNO1lBQ0gsT0FBTyxRQUFRLENBQUMsS0FBSyxHQUFHLEdBQUcsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQztTQUN0RDtJQUNMLENBQUM7O2dIQTVGUSxtQkFBbUIsa0JBYWhCLHFCQUFxQjtvR0FieEIsbUJBQW1CLG9EQ3JCaEMsK2tDQTJCQTsyRkROYSxtQkFBbUI7a0JBSi9CLFNBQVM7OzswQkFpQkQsTUFBTTsyQkFBQyxxQkFBcUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgSW5qZWN0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7Rm9ybUNvbnRyb2wsIEZvcm1Hcm91cCwgVmFsaWRhdG9yRm4sIFZhbGlkYXRvcnN9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7QmVoYXZpb3JTdWJqZWN0LCBtZXJnZX0gZnJvbSAncnhqcyc7XG5pbXBvcnQge0ZpbHRlckdyb3VwQ29uZGl0aW9uRmllbGR9IGZyb20gJy4uLy4uL3NlYXJjaC9jbGFzc2VzL2dyYXBocWwtZG9jdHJpbmUudHlwZXMnO1xuaW1wb3J0IHtOYXR1cmFsRHJvcGRvd25SZWZ9IGZyb20gJy4uLy4uL3NlYXJjaC9kcm9wZG93bi1jb250YWluZXIvZHJvcGRvd24tcmVmJztcbmltcG9ydCB7TkFUVVJBTF9EUk9QRE9XTl9EQVRBLCBOYXR1cmFsRHJvcGRvd25EYXRhfSBmcm9tICcuLi8uLi9zZWFyY2gvZHJvcGRvd24tY29udGFpbmVyL2Ryb3Bkb3duLnNlcnZpY2UnO1xuaW1wb3J0IHtEcm9wZG93bkNvbXBvbmVudH0gZnJvbSAnLi4vLi4vc2VhcmNoL3R5cGVzL2Ryb3Bkb3duLWNvbXBvbmVudCc7XG5pbXBvcnQge3Bvc3NpYmxlQ29tcGFyYWJsZU9wZXJhdG9ycywgUG9zc2libGVDb21wYXJhYmxlT3BlcnRvcktleXN9IGZyb20gJy4uL3R5cGVzJztcbmltcG9ydCB7SW52YWxpZFdpdGhWYWx1ZVN0YXRlTWF0Y2hlcn0gZnJvbSAnLi4vdHlwZS10ZXh0L3R5cGUtdGV4dC5jb21wb25lbnQnO1xuaW1wb3J0IHtkZWNpbWFsfSBmcm9tICcuLi8uLi8uLi9jbGFzc2VzL3ZhbGlkYXRvcnMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFR5cGVOdW1iZXJDb25maWd1cmF0aW9uIHtcbiAgICBtaW4/OiBudW1iZXIgfCBudWxsO1xuICAgIG1heD86IG51bWJlciB8IG51bGw7XG4gICAgc3RlcD86IG51bWJlciB8IG51bGw7XG59XG5cbkBDb21wb25lbnQoe1xuICAgIHRlbXBsYXRlVXJsOiAnLi90eXBlLW51bWJlci5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vdHlwZS1udW1iZXIuY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgVHlwZU51bWJlckNvbXBvbmVudCBpbXBsZW1lbnRzIERyb3Bkb3duQ29tcG9uZW50IHtcbiAgICBwdWJsaWMgcmVhZG9ubHkgcmVuZGVyZWRWYWx1ZSA9IG5ldyBCZWhhdmlvclN1YmplY3Q8c3RyaW5nPignJyk7XG4gICAgcHVibGljIHJlYWRvbmx5IGNvbmZpZ3VyYXRpb246IFR5cGVOdW1iZXJDb25maWd1cmF0aW9uID0ge307XG4gICAgcHVibGljIHJlYWRvbmx5IG9wZXJhdG9yQ3RybCA9IG5ldyBGb3JtQ29udHJvbDxQb3NzaWJsZUNvbXBhcmFibGVPcGVydG9yS2V5cz4oJ2VxdWFsJywge25vbk51bGxhYmxlOiB0cnVlfSk7XG4gICAgcHVibGljIHJlYWRvbmx5IHZhbHVlQ3RybCA9IG5ldyBGb3JtQ29udHJvbCgpO1xuICAgIHB1YmxpYyByZWFkb25seSBtYXRjaGVyID0gbmV3IEludmFsaWRXaXRoVmFsdWVTdGF0ZU1hdGNoZXIoKTtcbiAgICBwdWJsaWMgcmVhZG9ubHkgZm9ybSA9IG5ldyBGb3JtR3JvdXAoe1xuICAgICAgICBvcGVyYXRvcjogdGhpcy5vcGVyYXRvckN0cmwsXG4gICAgICAgIHZhbHVlOiB0aGlzLnZhbHVlQ3RybCxcbiAgICB9KTtcbiAgICBwdWJsaWMgcmVhZG9ubHkgb3BlcmF0b3JzID0gcG9zc2libGVDb21wYXJhYmxlT3BlcmF0b3JzO1xuXG4gICAgcHVibGljIGNvbnN0cnVjdG9yKFxuICAgICAgICBASW5qZWN0KE5BVFVSQUxfRFJPUERPV05fREFUQSkgZGF0YTogTmF0dXJhbERyb3Bkb3duRGF0YTxUeXBlTnVtYmVyQ29uZmlndXJhdGlvbj4sXG4gICAgICAgIHByb3RlY3RlZCBkcm9wZG93blJlZjogTmF0dXJhbERyb3Bkb3duUmVmLFxuICAgICkge1xuICAgICAgICB0aGlzLmNvbmZpZ3VyYXRpb24gPSBkYXRhLmNvbmZpZ3VyYXRpb24gfHwge307XG5cbiAgICAgICAgbWVyZ2UodGhpcy5vcGVyYXRvckN0cmwudmFsdWVDaGFuZ2VzLCB0aGlzLnZhbHVlQ3RybC52YWx1ZUNoYW5nZXMpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICBjb25zdCByZW5kZXJlZCA9IHRoaXMuZ2V0UmVuZGVyZWRWYWx1ZSgpO1xuICAgICAgICAgICAgdGhpcy5yZW5kZXJlZFZhbHVlLm5leHQocmVuZGVyZWQpO1xuICAgICAgICB9KTtcblxuICAgICAgICB0aGlzLmluaXRWYWxpZGF0b3JzKCk7XG4gICAgICAgIHRoaXMucmVsb2FkQ29uZGl0aW9uKGRhdGEuY29uZGl0aW9uKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0Q29uZGl0aW9uKCk6IEZpbHRlckdyb3VwQ29uZGl0aW9uRmllbGQge1xuICAgICAgICBjb25zdCBjb25kaXRpb246IEZpbHRlckdyb3VwQ29uZGl0aW9uRmllbGQgPSB7fTtcbiAgICAgICAgY29uZGl0aW9uW3RoaXMub3BlcmF0b3JDdHJsLnZhbHVlXSA9IHtcbiAgICAgICAgICAgIHZhbHVlOiB0aGlzLnZhbHVlQ3RybC52YWx1ZSxcbiAgICAgICAgfTtcblxuICAgICAgICByZXR1cm4gY29uZGl0aW9uO1xuICAgIH1cblxuICAgIHB1YmxpYyBpc1ZhbGlkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5mb3JtLnZhbGlkO1xuICAgIH1cblxuICAgIHB1YmxpYyBpc0RpcnR5KCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5mb3JtLmRpcnR5O1xuICAgIH1cblxuICAgIHB1YmxpYyBjbG9zZSgpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuaXNWYWxpZCgpKSB7XG4gICAgICAgICAgICB0aGlzLmRyb3Bkb3duUmVmLmNsb3NlKHtjb25kaXRpb246IHRoaXMuZ2V0Q29uZGl0aW9uKCl9KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuZHJvcGRvd25SZWYuY2xvc2UoKTsgLy8gdW5kZWZpbmVkIHZhbHVlLCBkaXNjYXJkIGNoYW5nZXMgLyBwcmV2ZW50IHRvIGFkZCBhIGNvbmRpdGlvbiAob24gbmV3IGZpZWxkc1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBpbml0VmFsaWRhdG9ycygpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgdmFsaWRhdG9yczogVmFsaWRhdG9yRm5bXSA9IFtWYWxpZGF0b3JzLnJlcXVpcmVkXTtcbiAgICAgICAgaWYgKHRoaXMuY29uZmlndXJhdGlvbi5taW4pIHtcbiAgICAgICAgICAgIHZhbGlkYXRvcnMucHVzaChWYWxpZGF0b3JzLm1pbih0aGlzLmNvbmZpZ3VyYXRpb24ubWluKSk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy5jb25maWd1cmF0aW9uLm1heCkge1xuICAgICAgICAgICAgdmFsaWRhdG9ycy5wdXNoKFZhbGlkYXRvcnMubWF4KHRoaXMuY29uZmlndXJhdGlvbi5tYXgpKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLmNvbmZpZ3VyYXRpb24uc3RlcCkge1xuICAgICAgICAgICAgY29uc3QgZGVjaW1hbHMgPSAoJycgKyB0aGlzLmNvbmZpZ3VyYXRpb24uc3RlcCkubWF0Y2goL1xcLihcXGQrKSQvKT8uWzFdID8/ICcnO1xuICAgICAgICAgICAgY29uc3QgZGVjaW1hbENvdW50ID0gZGVjaW1hbHMubGVuZ3RoO1xuICAgICAgICAgICAgdmFsaWRhdG9ycy5wdXNoKGRlY2ltYWwoZGVjaW1hbENvdW50KSk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnZhbHVlQ3RybC5zZXRWYWxpZGF0b3JzKHZhbGlkYXRvcnMpO1xuICAgIH1cblxuICAgIHByaXZhdGUgcmVsb2FkQ29uZGl0aW9uKGNvbmRpdGlvbjogRmlsdGVyR3JvdXBDb25kaXRpb25GaWVsZCB8IG51bGwpOiB2b2lkIHtcbiAgICAgICAgaWYgKCFjb25kaXRpb24pIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGZvciAoY29uc3Qgb3BlcmF0b3Igb2YgdGhpcy5vcGVyYXRvcnMpIHtcbiAgICAgICAgICAgIGNvbnN0IHJlbG9hZGVkQ29uZGl0aW9uID0gY29uZGl0aW9uW29wZXJhdG9yLmtleV07XG4gICAgICAgICAgICBpZiAocmVsb2FkZWRDb25kaXRpb24pIHtcbiAgICAgICAgICAgICAgICB0aGlzLm9wZXJhdG9yQ3RybC5zZXRWYWx1ZShvcGVyYXRvci5rZXkpO1xuICAgICAgICAgICAgICAgIHRoaXMudmFsdWVDdHJsLnNldFZhbHVlKHJlbG9hZGVkQ29uZGl0aW9uLnZhbHVlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0UmVuZGVyZWRWYWx1ZSgpOiBzdHJpbmcge1xuICAgICAgICBjb25zdCBvcGVyYXRvciA9IHRoaXMub3BlcmF0b3JzLmZpbmQodiA9PiB2LmtleSA9PT0gdGhpcy5vcGVyYXRvckN0cmwudmFsdWUpO1xuICAgICAgICBpZiAodGhpcy52YWx1ZUN0cmwudmFsdWUgPT09IG51bGwgfHwgIW9wZXJhdG9yKSB7XG4gICAgICAgICAgICByZXR1cm4gJyc7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gb3BlcmF0b3IubGFiZWwgKyAnICcgKyB0aGlzLnZhbHVlQ3RybC52YWx1ZTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIjxmb3JtIFtmb3JtR3JvdXBdPVwiZm9ybVwiPlxuICAgIDxtYXQtZm9ybS1maWVsZCBzdHlsZT1cIm1heC13aWR0aDogNGVtOyBtYXJnaW4tcmlnaHQ6IDFlbVwiPlxuICAgICAgICA8bWF0LWxhYmVsIGkxOG49XCJNYXRoZW1hdGljYWwgb3BlcmF0b3IgPCA+ID1cIj5PcMOpcmF0ZXVyPC9tYXQtbGFiZWw+XG4gICAgICAgIDxtYXQtc2VsZWN0IFtmb3JtQ29udHJvbF09XCJvcGVyYXRvckN0cmxcIiBbcmVxdWlyZWRdPVwidHJ1ZVwiPlxuICAgICAgICAgICAgPG1hdC1vcHRpb24gKm5nRm9yPVwibGV0IGl0ZW0gb2Ygb3BlcmF0b3JzXCIgW3ZhbHVlXT1cIml0ZW0ua2V5XCI+XG4gICAgICAgICAgICAgICAge3sgaXRlbS5sYWJlbCB9fVxuICAgICAgICAgICAgPC9tYXQtb3B0aW9uPlxuICAgICAgICA8L21hdC1zZWxlY3Q+XG4gICAgPC9tYXQtZm9ybS1maWVsZD5cblxuICAgIDxtYXQtZm9ybS1maWVsZD5cbiAgICAgICAgPG1hdC1sYWJlbCBpMThuPlZhbGV1cjwvbWF0LWxhYmVsPlxuICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgIChrZXlkb3duLmVudGVyKT1cImNsb3NlKClcIlxuICAgICAgICAgICAgW2Vycm9yU3RhdGVNYXRjaGVyXT1cIm1hdGNoZXJcIlxuICAgICAgICAgICAgW2Zvcm1Db250cm9sXT1cInZhbHVlQ3RybFwiXG4gICAgICAgICAgICBbYXR0ci5tYXhdPVwiY29uZmlndXJhdGlvbi5tYXhcIlxuICAgICAgICAgICAgW2F0dHIubWluXT1cImNvbmZpZ3VyYXRpb24ubWluXCJcbiAgICAgICAgICAgIFtyZXF1aXJlZF09XCJ0cnVlXCJcbiAgICAgICAgICAgIFtzdGVwXT1cImNvbmZpZ3VyYXRpb24uc3RlcFwiXG4gICAgICAgICAgICBtYXRJbnB1dFxuICAgICAgICAgICAgdHlwZT1cIm51bWJlclwiXG4gICAgICAgIC8+XG4gICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9XCJ2YWx1ZUN0cmwuaGFzRXJyb3IoJ21pbicpXCI+PCB7eyBjb25maWd1cmF0aW9uLm1pbiB9fTwvbWF0LWVycm9yPlxuICAgICAgICA8bWF0LWVycm9yICpuZ0lmPVwidmFsdWVDdHJsLmhhc0Vycm9yKCdtYXgnKVwiPj4ge3sgY29uZmlndXJhdGlvbi5tYXggfX08L21hdC1lcnJvcj5cbiAgICA8L21hdC1mb3JtLWZpZWxkPlxuPC9mb3JtPlxuIl19
@@ -7,19 +7,19 @@ import { NaturalAbstractController } from '../../../classes/abstract-controller'
7
7
  import { map, startWith, takeUntil } from 'rxjs/operators';
8
8
  import { possibleDiscreteOperators } from '../types';
9
9
  import * as i0 from "@angular/core";
10
- import * as i1 from "@angular/material/form-field";
11
- import * as i2 from "@angular/material/select";
12
- import * as i3 from "@angular/material/core";
10
+ import * as i1 from "@angular/common";
11
+ import * as i2 from "@angular/forms";
12
+ import * as i3 from "@angular/material/form-field";
13
13
  import * as i4 from "@angular/material/list";
14
- import * as i5 from "@angular/forms";
15
- import * as i6 from "@angular/common";
14
+ import * as i5 from "@angular/material/select";
15
+ import * as i6 from "@angular/material/core";
16
16
  export class TypeSelectComponent extends NaturalAbstractController {
17
17
  constructor(data) {
18
18
  super();
19
19
  this.renderedValue = new BehaviorSubject('');
20
20
  this.requireValueCtrl = false;
21
21
  this.operators = possibleDiscreteOperators;
22
- this.operatorCtrl = new FormControl('is');
22
+ this.operatorCtrl = new FormControl('is', { nonNullable: true });
23
23
  this.valueCtrl = new FormControl();
24
24
  this.form = new FormGroup({
25
25
  operator: this.operatorCtrl,
@@ -137,7 +137,7 @@ export class TypeSelectComponent extends NaturalAbstractController {
137
137
  else if (condition.null && !condition.null.not) {
138
138
  return 'none';
139
139
  }
140
- return null;
140
+ return 'is';
141
141
  }
142
142
  operatorKeyToCondition(key, values) {
143
143
  switch (key) {
@@ -154,9 +154,9 @@ export class TypeSelectComponent extends NaturalAbstractController {
154
154
  }
155
155
  }
156
156
  }
157
- TypeSelectComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: TypeSelectComponent, deps: [{ token: NATURAL_DROPDOWN_DATA }], target: i0.ɵɵFactoryTarget.Component });
158
- TypeSelectComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.0", type: TypeSelectComponent, selector: "ng-component", viewQueries: [{ propertyName: "list", first: true, predicate: MatSelectionList, descendants: true }], usesInheritance: true, ngImport: i0, template: "<form [formGroup]=\"form\">\n <mat-form-field style=\"max-width: 7em; margin-right: 1em\">\n <mat-label i18n=\"Mathematical operator < > =\">Op\u00E9rateur</mat-label>\n <mat-select [formControl]=\"operatorCtrl\" [required]=\"true\">\n <mat-option *ngFor=\"let item of operators\" [value]=\"item.key\">\n {{ item.label }}\n </mat-option>\n </mat-select>\n </mat-form-field>\n\n <mat-selection-list *ngIf=\"requireValueCtrl\" [formControl]=\"valueCtrl\">\n <mat-list-option *ngFor=\"let item of items\" [value]=\"getId(item)\" checkboxPosition=\"before\">\n {{ getDisplay(item) }}\n </mat-list-option>\n </mat-selection-list>\n</form>\n", components: [{ type: i1.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { type: i2.MatSelect, selector: "mat-select", inputs: ["disabled", "disableRipple", "tabIndex"], exportAs: ["matSelect"] }, { type: i3.MatOption, selector: "mat-option", exportAs: ["matOption"] }, { type: i4.MatSelectionList, selector: "mat-selection-list", inputs: ["disableRipple", "tabIndex", "color", "compareWith", "disabled", "multiple"], outputs: ["selectionChange"], exportAs: ["matSelectionList"] }, { type: i4.MatListOption, selector: "mat-list-option", inputs: ["disableRipple", "checkboxPosition", "color", "value", "disabled", "selected"], outputs: ["selectedChange"], exportAs: ["matListOption"] }], directives: [{ type: i5.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { type: i5.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i5.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i1.MatLabel, selector: "mat-label" }, { type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i5.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { type: i5.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { type: i6.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
159
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: TypeSelectComponent, decorators: [{
157
+ TypeSelectComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: TypeSelectComponent, deps: [{ token: NATURAL_DROPDOWN_DATA }], target: i0.ɵɵFactoryTarget.Component });
158
+ TypeSelectComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.1.1", type: TypeSelectComponent, selector: "ng-component", viewQueries: [{ propertyName: "list", first: true, predicate: MatSelectionList, descendants: true }], usesInheritance: true, ngImport: i0, template: "<form [formGroup]=\"form\">\n <mat-form-field style=\"max-width: 7em; margin-right: 1em\">\n <mat-label i18n=\"Mathematical operator < > =\">Op\u00E9rateur</mat-label>\n <mat-select [formControl]=\"operatorCtrl\" [required]=\"true\">\n <mat-option *ngFor=\"let item of operators\" [value]=\"item.key\">\n {{ item.label }}\n </mat-option>\n </mat-select>\n </mat-form-field>\n\n <mat-selection-list *ngIf=\"requireValueCtrl\" [formControl]=\"valueCtrl\">\n <mat-list-option *ngFor=\"let item of items\" [value]=\"getId(item)\" checkboxPosition=\"before\">\n {{ getDisplay(item) }}\n </mat-list-option>\n </mat-selection-list>\n</form>\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.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "component", type: i3.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i3.MatLabel, selector: "mat-label" }, { kind: "directive", type: i2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "component", type: i4.MatSelectionList, selector: "mat-selection-list", inputs: ["disableRipple", "color", "compareWith", "disabled", "multiple"], outputs: ["selectionChange"], exportAs: ["matSelectionList"] }, { kind: "component", type: i4.MatListOption, selector: "mat-list-option", inputs: ["disableRipple", "checkboxPosition", "color", "value", "disabled", "selected"], outputs: ["selectedChange"], exportAs: ["matListOption"] }, { kind: "component", type: i5.MatSelect, selector: "mat-select", inputs: ["disabled", "disableRipple", "tabIndex"], exportAs: ["matSelect"] }, { kind: "component", type: i6.MatOption, selector: "mat-option", exportAs: ["matOption"] }] });
159
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: TypeSelectComponent, decorators: [{
160
160
  type: Component,
161
161
  args: [{ template: "<form [formGroup]=\"form\">\n <mat-form-field style=\"max-width: 7em; margin-right: 1em\">\n <mat-label i18n=\"Mathematical operator < > =\">Op\u00E9rateur</mat-label>\n <mat-select [formControl]=\"operatorCtrl\" [required]=\"true\">\n <mat-option *ngFor=\"let item of operators\" [value]=\"item.key\">\n {{ item.label }}\n </mat-option>\n </mat-select>\n </mat-form-field>\n\n <mat-selection-list *ngIf=\"requireValueCtrl\" [formControl]=\"valueCtrl\">\n <mat-list-option *ngFor=\"let item of items\" [value]=\"getId(item)\" checkboxPosition=\"before\">\n {{ getDisplay(item) }}\n </mat-list-option>\n </mat-selection-list>\n</form>\n" }]
162
162
  }], ctorParameters: function () { return [{ type: undefined, decorators: [{
@@ -166,4 +166,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImpor
166
166
  type: ViewChild,
167
167
  args: [MatSelectionList, { static: false }]
168
168
  }] } });
169
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZS1zZWxlY3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmF0dXJhbC9zcmMvbGliL21vZHVsZXMvZHJvcGRvd24tY29tcG9uZW50cy90eXBlLXNlbGVjdC90eXBlLXNlbGVjdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uYXR1cmFsL3NyYy9saWIvbW9kdWxlcy9kcm9wZG93bi1jb21wb25lbnRzL3R5cGUtc2VsZWN0L3R5cGUtc2VsZWN0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBZ0IsU0FBUyxFQUFFLE1BQU0sRUFBYSxTQUFTLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDckYsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sd0JBQXdCLENBQUM7QUFDeEQsT0FBTyxFQUFDLGVBQWUsRUFBRSxLQUFLLEVBQWMsRUFBRSxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBRTVELE9BQU8sRUFBQyxxQkFBcUIsRUFBc0IsTUFBTSxrREFBa0QsQ0FBQztBQUU1RyxPQUFPLEVBQUMsV0FBVyxFQUFFLFNBQVMsRUFBZSxVQUFVLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUMvRSxPQUFPLEVBQUMseUJBQXlCLEVBQUMsTUFBTSxzQ0FBc0MsQ0FBQztBQUMvRSxPQUFPLEVBQUMsR0FBRyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUN6RCxPQUFPLEVBQTJCLHlCQUF5QixFQUFDLE1BQU0sVUFBVSxDQUFDOzs7Ozs7OztBQXFCN0UsTUFBTSxPQUFPLG1CQUNULFNBQVEseUJBQXlCO0lBc0JqQyxZQUFrRCxJQUFrRDtRQUNoRyxLQUFLLEVBQUUsQ0FBQztRQXBCSSxrQkFBYSxHQUFHLElBQUksZUFBZSxDQUFTLEVBQUUsQ0FBQyxDQUFDO1FBRXpELHFCQUFnQixHQUFH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QUMsRUFBRSxFQUFFLEVBQUMsTUFBTSxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFDLEVBQUMsQ0FBQztZQUM3QyxLQUFLLEtBQUs7Z0JBQ04sT0FBTyxFQUFDLElBQUksRUFBRSxFQUFDLEdBQUcsRUFBRSxJQUFJLEVBQUMsRUFBQyxDQUFDO1lBQy9CLEtBQUssTUFBTTtnQkFDUCxPQUFPLEVBQUMsSUFBSSxFQUFFLEVBQUMsR0FBRyxFQUFFLEtBQUssRUFBQyxFQUFDLENBQUM7WUFDaEM7Z0JBQ0ksTUFBTSxJQUFJLEtBQUssQ0FBQyw0QkFBNEIsR0FBRyxHQUFHLENBQUMsQ0FBQztTQUMzRDtJQUNMLENBQUM7O2dIQW5MUSxtQkFBbUIsa0JBdUJELHFCQUFxQjtvR0F2QnZDLG1CQUFtQiwwRkFLakIsZ0JBQWdCLHVFQ25DL0IsNHRCQWdCQTsyRkRjYSxtQkFBbUI7a0JBSC9CLFNBQVM7OzswQkEwQmMsTUFBTTsyQkFBQyxxQkFBcUI7NENBbEJLLElBQUk7c0JBQXhELFNBQVM7dUJBQUMsZ0JBQWdCLEVBQUUsRUFBQyxNQUFNLEVBQUUsS0FBSyxFQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtBZnRlclZpZXdJbml0LCBDb21wb25lbnQsIEluamVjdCwgT25EZXN0cm95LCBWaWV3Q2hpbGR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtNYXRTZWxlY3Rpb25MaXN0fSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9saXN0JztcbmltcG9ydCB7QmVoYXZpb3JTdWJqZWN0LCBtZXJnZSwgT2JzZXJ2YWJsZSwgb2Z9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtGaWx0ZXJHcm91cENvbmRpdGlvbkZpZWxkLCBTY2FsYXJ9IGZyb20gJy4uLy4uL3NlYXJjaC9jbGFzc2VzL2dyYXBocWwtZG9jdHJpbmUudHlwZXMnO1xuaW1wb3J0IHtOQVRVUkFMX0RST1BET1dOX0RBVEEsIE5hdHVyYWxEcm9wZG93bkRhdGF9IGZyb20gJy4uLy4uL3NlYXJjaC9kcm9wZG93bi1jb250YWluZXIvZHJvcGRvd24uc2VydmljZSc7XG5pbXBvcnQge0Ryb3Bkb3duQ29tcG9uZW50fSBmcm9tICcuLi8uLi9zZWFyY2gvdHlwZXMvZHJvcGRvd24tY29tcG9uZW50JztcbmltcG9ydCB7Rm9ybUNvbnRyb2wsIEZvcm1Hcm91cCwgVmFsaWRhdG9yRm4sIFZhbGlkYXRvcnN9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7TmF0dXJhbEFic3RyYWN0Q29udHJvbGxlcn0gZnJvbSAnLi4vLi4vLi4vY2xhc3Nlcy9hYnN0cmFjdC1jb250cm9sbGVyJztcbmltcG9ydCB7bWFwLCBzdGFydFdpdGgsIHRha2VVbnRpbH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHtQb3NzaWJsZURpc2NyZXRlT3BlcmF0b3IsIHBvc3NpYmxlRGlzY3JldGVPcGVyYXRvcnN9IGZyb20gJy4uL3R5cGVzJztcblxuZXhwb3J0IHR5cGUgVHlwZVNlbGVjdEl0ZW0gPVxuICAgIHwgU2NhbGFyXG4gICAgfCB7XG4gICAgICAgICAgaWQ6IFNjYWxhcjtcbiAgICAgICAgICBuYW1lOiBTY2FsYXI7XG4gICAgICB9XG4gICAgfCB7XG4gICAgICAgICAgdmFsdWU6IFNjYWxhcjtcbiAgICAgICAgICBuYW1lOiBTY2FsYXI7XG4gICAgICB9O1xuXG5leHBvcnQgaW50ZXJmYWNlIFR5cGVTZWxlY3RDb25maWd1cmF0aW9uIHtcbiAgICBpdGVtczogVHlwZVNlbGVjdEl0ZW1bXSB8IE9ic2VydmFibGU8VHlwZVNlbGVjdEl0ZW1bXT47XG4gICAgbXVsdGlwbGU/OiBib29sZWFuO1xufVxuXG5AQ29tcG9uZW50KHtcbiAgICB0ZW1wbGF0ZVVybDogJy4vdHlwZS1zZWxlY3QuY29tcG9uZW50Lmh0bWwnLFxufSlcbmV4cG9ydCBjbGFzcyBUeXBlU2VsZWN0Q29tcG9uZW50XG4gICAgZXh0ZW5kcyBOYXR1cmFsQWJzdHJhY3RDb250cm9sbGVyXG4gICAgaW1wbGVtZW50cyBEcm9wZG93bkNvbXBvbmVudCwgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95XG57XG4gICAgcHVibGljIHJlYWRvbmx5IHJlbmRlcmVkVmFsdWUgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PHN0cmluZz4oJycpO1xuICAgIEBWaWV3Q2hpbGQoTWF0U2VsZWN0aW9uTGlzdCwge3N0YXRpYzogZmFsc2V9KSBwdWJsaWMgbGlzdCE6IE1hdFNlbGVjdGlvbkxpc3Q7XG4gICAgcHVibGljIHJlcXVpcmVWYWx1ZUN0cmwgPSBmYWxzZTtcbiAgICBwdWJsaWMgcmVhZG9ubHkgb3BlcmF0b3JzID0gcG9zc2libGVEaXNjcmV0ZU9wZXJhdG9ycztcbiAgICBwdWJsaWMgcmVhZG9ubHkgb3BlcmF0b3JDdHJsOiBGb3JtQ29udHJvbCA9IG5ldyBGb3JtQ29udHJvbCgnaXMnKTtcbiAgICBwdWJsaWMgcmVhZG9ubHkgdmFsdWVDdHJsOiBGb3JtQ29udHJvbCA9IG5ldyBGb3JtQ29udHJvbCgpO1xuICAgIHB1YmxpYyByZWFkb25seSBmb3JtID0gbmV3IEZvcm1Hcm91cCh7XG4gICAgICAgIG9wZXJhdG9yOiB0aGlzLm9wZXJhdG9yQ3RybCxcbiAgICAgICAgdmFsdWU6IHRoaXMudmFsdWVDdHJsLFxuICAgIH0pO1xuXG4gICAgcHVibGljIGl0ZW1zOiBUeXBlU2VsZWN0SXRlbVtdID0gW107XG4gICAgcHJpdmF0ZSByZWFkb25seSBjb25maWd1cmF0aW9uOiBUeXBlU2VsZWN0Q29uZmlndXJhdGlvbjtcblxuICAgIHByaXZhdGUgcmVhZG9ubHkgZGVmYXVsdHM6IFR5cGVTZWxlY3RDb25maWd1cmF0aW9uID0ge1xuICAgICAgICBpdGVtczogW10sXG4gICAgICAgIG11bHRpcGxlOiB0cnVlLFxuICAgIH07XG5cbiAgICBwdWJsaWMgY29uc3RydWN0b3IoQEluamVjdChOQVRVUkFMX0RST1BET1dOX0RBVEEpIGRhdGE6IE5hdHVyYWxEcm9wZG93bkRhdGE8VHlwZVNlbGVjdENvbmZpZ3VyYXRpb24+KSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgICAgIHRoaXMuY29uZmlndXJhdGlvbiA9IHsuLi50aGlzLmRlZmF1bHRzLCAuLi5kYXRhLmNvbmZpZ3VyYXRpb259O1xuXG4gICAgICAgIC8vIEltbWVkaWF0ZWx5IGluaXRWYWxpZGF0b3JzIGFuZCBldmVyeXRpbWUgdGhlIG9wZXJhdG9yIGNoYW5nZSBsYXRlclxuICAgICAgICB0aGlzLm9wZXJhdG9yQ3RybC52YWx1ZUNoYW5nZXMucGlwZShzdGFydFdpdGgobnVsbCkpLnN1YnNjcmliZSgoKSA9PiB0aGlzLmluaXRWYWxpZGF0b3JzKCkpO1xuXG4gICAgICAgIG1lcmdlKHRoaXMub3BlcmF0b3JDdHJsLnZhbHVlQ2hhbmdlcywgdGhpcy52YWx1ZUN0cmwudmFsdWVDaGFuZ2VzKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgcmVuZGVyZWQgPSB0aGlzLmdldFJlbmRlcmVkVmFsdWUoKTtcbiAgICAgICAgICAgIHRoaXMucmVuZGVyZWRWYWx1ZS5uZXh0KHJlbmRlcmVkKTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy5yZWxvYWRDb25kaXRpb24oZGF0YS5jb25kaXRpb24pO1xuICAgIH1cblxuICAgIHB1YmxpYyBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy5pc011bHRpcGxlKCkgJiYgdGhpcy5saXN0KSB7XG4gICAgICAgICAgICAodGhpcy5saXN0LnNlbGVjdGVkT3B0aW9ucyBhcyBhbnkpLl9tdWx0aXBsZSA9IGZhbHNlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIGdldElkKGl0ZW06IFR5cGVTZWxlY3RJdGVtKTogU2NhbGFyIHtcbiAgICAgICAgaWYgKHR5cGVvZiBpdGVtID09PSAnb2JqZWN0JyAmJiBpdGVtKSB7XG4gICAgICAgICAgICByZXR1cm4gKGl0ZW0gYXMgYW55KS5pZCB8fCAoaXRlbSBhcyBhbnkpLnZhbHVlO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGl0ZW0gYXMgU2NhbGFyO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXREaXNwbGF5KGl0ZW06IFR5cGVTZWxlY3RJdGVtKTogU2NhbGFyIHtcbiAgICAgICAgaWYgKHR5cGVvZiBpdGVtID09PSAnb2JqZWN0JyAmJiBpdGVtICYmIGl0ZW0ubmFtZSkge1xuICAgICAgICAgICAgcmV0dXJuIGl0ZW0ubmFtZTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBpdGVtIGFzIFNjYWxhcjtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0Q29uZGl0aW9uKCk6IEZpbHRlckdyb3VwQ29uZGl0aW9uRmllbGQge1xuICAgICAgICBpZiAoIXRoaXMuaXNWYWxpZCgpKSB7XG4gICAgICAgICAgICByZXR1cm4ge307XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCB2YWx1ZXMgPSB0aGlzLnZhbHVlQ3RybC52YWx1ZTtcbiAgICAgICAgcmV0dXJuIHRoaXMub3BlcmF0b3JLZXlUb0NvbmRpdGlvbih0aGlzLm9wZXJhdG9yQ3RybC52YWx1ZSwgdmFsdWVzKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgaXNWYWxpZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZm9ybS52YWxpZDtcbiAgICB9XG5cbiAgICBwdWJsaWMgaXNEaXJ0eSgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZm9ybS5kaXJ0eTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGluaXRWYWxpZGF0b3JzKCk6IHZvaWQge1xuICAgICAgICBjb25zdCB3aGl0ZWxpc3Q6IFBvc3NpYmxlRGlzY3JldGVPcGVyYXRvclsna2V5J11bXSA9IFsnaXMnLCAnaXNub3QnXTtcbiAgICAgICAgdGhpcy5yZXF1aXJlVmFsdWVDdHJsID0gd2hpdGVsaXN0LmluY2x1ZGVzKHRoaXMub3BlcmF0b3JDdHJsLnZhbHVlKTtcbiAgICAgICAgY29uc3QgdmFsaWRhdG9yczogVmFsaWRhdG9yRm5bXSA9IHRoaXMucmVxdWlyZVZhbHVlQ3RybCA/IFtWYWxpZGF0b3JzLnJlcXVpcmVkXSA6IFtdO1xuXG4gICAgICAgIHRoaXMudmFsdWVDdHJsLnNldFZhbGlkYXRvcnModmFsaWRhdG9ycyk7XG4gICAgICAgIHRoaXMudmFsdWVDdHJsLnVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkoKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGlzTXVsdGlwbGUoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAhIXRoaXMuY29uZmlndXJhdGlvbi5tdWx0aXBsZTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldEl0ZW1CeUlkKGlkOiBTY2FsYXIpOiBUeXBlU2VsZWN0SXRlbSB8IHVuZGVmaW5lZCB7XG4gICAgICAgIHJldHVybiB0aGlzLml0ZW1zLmZpbmQoaXRlbSA9PiB0aGlzLmdldElkKGl0ZW0pID09PSBpZCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSByZWxvYWRDb25kaXRpb24oY29uZGl0aW9uOiBGaWx0ZXJHcm91cENvbmRpdGlvbkZpZWxkIHwgbnVsbCk6IHZvaWQge1xuICAgICAgICBpZiAoY29uZGl0aW9uKSB7XG4gICAgICAgICAgICBjb25zdCBvcGVyYXRvcktleSA9IHRoaXMuY29uZGl0aW9uVG9PcGVyYXRvcktleShjb25kaXRpb24pO1xuICAgICAgICAgICAgdGhpcy5vcGVyYXRvckN0cmwuc2V0VmFsdWUob3BlcmF0b3JLZXkpO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gQWx3YXlzIHJlbG9hZCB2YWx1ZSwgZXZlbiB3aXRob3V0IGNvbmRpdGlvbiBiZWNhdXNlIHdlIG5lZWQgdG8gbG9hZCBsaXN0IG9mIGF2YWlsYWJsZSBpdGVtcyBpbiBhbGwgY2FzZXNcbiAgICAgICAgdGhpcy5yZWxvYWRWYWx1ZShjb25kaXRpb24pLnN1YnNjcmliZSh2YWx1ZSA9PiB7XG4gICAgICAgICAgICB0aGlzLnZhbHVlQ3RybC5zZXRWYWx1ZSh2YWx1ZSk7XG4gICAgICAgICAgICB0aGlzLnJlbmRlcmVkVmFsdWUubmV4dCh0aGlzLmdldFJlbmRlcmVkVmFsdWUoKSk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJlbG9hZCB0aGUgdmFsdWUgZnJvbSBBUEkgKGBvcGVyYXRvckN0cmxgIHNob3VsZCBub3QgYmUgdG91Y2hlZClcbiAgICAgKi9cbiAgICBwcml2YXRlIHJlbG9hZFZhbHVlKGNvbmRpdGlvbjogRmlsdGVyR3JvdXBDb25kaXRpb25GaWVsZCB8IG51bGwpOiBPYnNlcnZhYmxlPFNjYWxhcltdPiB7XG4gICAgICAgIGNvbnN0IHdhbnRlZElkcyA9IGNvbmRpdGlvbj8uaW4/LnZhbHVlcyA/PyBbXTtcblxuICAgICAgICBjb25zdCBpdGVtcyQgPSBBcnJheS5pc0FycmF5KHRoaXMuY29uZmlndXJhdGlvbi5pdGVtcylcbiAgICAgICAgICAgID8gb2YodGhpcy5jb25maWd1cmF0aW9uLml0ZW1zKVxuICAgICAgICAgICAgOiB0aGlzLmNvbmZpZ3VyYXRpb24uaXRlbXM7XG5cbiAgICAgICAgcmV0dXJuIGl0ZW1zJC5waXBlKFxuICAgICAgICAgICAgdGFrZVVudGlsKHRoaXMubmdVbnN1YnNjcmliZSksXG4gICAgICAgICAgICBtYXAoaXRlbXMgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuaXRlbXMgPSBpdGVtcztcblxuICAgICAgICAgICAgICAgIC8vIFJlbG9hZCBzZWxlY3Rpb24sIGFjY29yZGluZyB0byBwb3NzaWJsZSB2YWx1ZXMgZnJvbSBjb25maWd1cmF0aW9uXG4gICAgICAgICAgICAgICAgY29uc3QgcG9zc2libGVJZHMgPSB0aGlzLml0ZW1zLm1hcChpdGVtID0+IHRoaXMuZ2V0SWQoaXRlbSkpO1xuICAgICAgICAgICAgICAgIGNvbnN0IHdhbnRlZEFuZFBvc3NpYmxlSWRzID0gd2FudGVkSWRzLmZpbHRlcihcbiAgICAgICAgICAgICAgICAgICAgaWQgPT4gdHlwZW9mIHBvc3NpYmxlSWRzLmZpbmQoaSA9PiBpID09PSBpZCkgIT09ICd1bmRlZmluZWQnLFxuICAgICAgICAgICAgICAgICk7XG5cbiAgICAgICAgICAgICAgICByZXR1cm4gd2FudGVkQW5kUG9zc2libGVJZHM7XG4gICAgICAgICAgICB9KSxcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldFJlbmRlcmVkVmFsdWUoKTogc3RyaW5nIHtcbiAgICAgICAgY29uc3Qgb3BlcmF0b3IgPSB0aGlzLm9wZXJhdG9ycy5maW5kKHYgPT4gdi5rZXkgPT09IHRoaXMub3BlcmF0b3JDdHJsLnZhbHVlKTtcbiAgICAgICAgaWYgKCFvcGVyYXRvciB8fCAhdGhpcy5pc1ZhbGlkKCkpIHtcbiAgICAgICAgICAgIHJldHVybiAnJztcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHNlbGVjdGlvbiA9XG4gICAgICAgICAgICB0aGlzLnZhbHVlQ3RybC52YWx1ZVxuICAgICAgICAgICAgICAgID8ubWFwKChpZDogU2NhbGFyKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGl0ZW0gPSB0aGlzLmdldEl0ZW1CeUlkKGlkKTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGl0ZW0pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmdldERpc3BsYXkoaXRlbSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgIC5qb2luKCcsICcpID8/IG51bGw7XG5cbiAgICAgICAgcmV0dXJuIFtvcGVyYXRvci5sYWJlbCwgc2VsZWN0aW9uXS5maWx0ZXIodiA9PiB2KS5qb2luKCcgJyk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjb25kaXRpb25Ub09wZXJhdG9yS2V5KGNvbmRpdGlvbjogRmlsdGVyR3JvdXBDb25kaXRpb25GaWVsZCk6IFBvc3NpYmxlRGlzY3JldGVPcGVyYXRvclsna2V5J10gfCBudWxsIHtcbiAgICAgICAgaWYgKGNvbmRpdGlvbi5pbiAmJiAhY29uZGl0aW9uLmluLm5vdCkge1xuICAgICAgICAgICAgcmV0dXJuICdpcyc7XG4gICAgICAgIH0gZWxzZSBpZiAoY29uZGl0aW9uLmluICYmIGNvbmRpdGlvbi5pbi5ub3QpIHtcbiAgICAgICAgICAgIHJldHVybiAnaXNub3QnO1xuICAgICAgICB9IGVsc2UgaWYgKGNvbmRpdGlvbi5udWxsICYmIGNvbmRpdGlvbi5udWxsLm5vdCkge1xuICAgICAgICAgICAgcmV0dXJuICdhbnknO1xuICAgICAgICB9IGVsc2UgaWYgKGNvbmRpdGlvbi5udWxsICYmICFjb25kaXRpb24ubnVsbC5ub3QpIHtcbiAgICAgICAgICAgIHJldHVybiAnbm9uZSc7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICBwcml2YXRlIG9wZXJhdG9yS2V5VG9Db25kaXRpb24oa2V5OiBQb3NzaWJsZURpc2NyZXRlT3BlcmF0b3JbJ2tleSddLCB2YWx1ZXM6IFNjYWxhcltdKTogRmlsdGVyR3JvdXBDb25kaXRpb25GaWVsZCB7XG4gICAgICAgIHN3aXRjaCAoa2V5KSB7XG4gICAgICAgICAgICBjYXNlICdpcyc6XG4gICAgICAgICAgICAgICAgcmV0dXJuIHtpbjoge3ZhbHVlczogdmFsdWVzfX07XG4gICAgICAgICAgICBjYXNlICdpc25vdCc6XG4gICAgICAgICAgICAgICAgcmV0dXJuIHtpbjoge3ZhbHVlczogdmFsdWVzLCBub3Q6IHRydWV9fTtcbiAgICAgICAgICAgIGNhc2UgJ2FueSc6XG4gICAgICAgICAgICAgICAgcmV0dXJuIHtudWxsOiB7bm90OiB0cnVlfX07XG4gICAgICAgICAgICBjYXNlICdub25lJzpcbiAgICAgICAgICAgICAgICByZXR1cm4ge251bGw6IHtub3Q6IGZhbHNlfX07XG4gICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignVW5zdXBwb3J0ZWQgb3BlcmF0b3Iga2V5OiAnICsga2V5KTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIjxmb3JtIFtmb3JtR3JvdXBdPVwiZm9ybVwiPlxuICAgIDxtYXQtZm9ybS1maWVsZCBzdHlsZT1cIm1heC13aWR0aDogN2VtOyBtYXJnaW4tcmlnaHQ6IDFlbVwiPlxuICAgICAgICA8bWF0LWxhYmVsIGkxOG49XCJNYXRoZW1hdGljYWwgb3BlcmF0b3IgPCA+ID1cIj5PcMOpcmF0ZXVyPC9tYXQtbGFiZWw+XG4gICAgICAgIDxtYXQtc2VsZWN0IFtmb3JtQ29udHJvbF09XCJvcGVyYXRvckN0cmxcIiBbcmVxdWlyZWRdPVwidHJ1ZVwiPlxuICAgICAgICAgICAgPG1hdC1vcHRpb24gKm5nRm9yPVwibGV0IGl0ZW0gb2Ygb3BlcmF0b3JzXCIgW3ZhbHVlXT1cIml0ZW0ua2V5XCI+XG4gICAgICAgICAgICAgICAge3sgaXRlbS5sYWJlbCB9fVxuICAgICAgICAgICAgPC9tYXQtb3B0aW9uPlxuICAgICAgICA8L21hdC1zZWxlY3Q+XG4gICAgPC9tYXQtZm9ybS1maWVsZD5cblxuICAgIDxtYXQtc2VsZWN0aW9uLWxpc3QgKm5nSWY9XCJyZXF1aXJlVmFsdWVDdHJsXCIgW2Zvcm1Db250cm9sXT1cInZhbHVlQ3RybFwiPlxuICAgICAgICA8bWF0LWxpc3Qtb3B0aW9uICpuZ0Zvcj1cImxldCBpdGVtIG9mIGl0ZW1zXCIgW3ZhbHVlXT1cImdldElkKGl0ZW0pXCIgY2hlY2tib3hQb3NpdGlvbj1cImJlZm9yZVwiPlxuICAgICAgICAgICAge3sgZ2V0RGlzcGxheShpdGVtKSB9fVxuICAgICAgICA8L21hdC1saXN0LW9wdGlvbj5cbiAgICA8L21hdC1zZWxlY3Rpb24tbGlzdD5cbjwvZm9ybT5cbiJdfQ==
169
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZS1zZWxlY3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmF0dXJhbC9zcmMvbGliL21vZHVsZXMvZHJvcGRvd24tY29tcG9uZW50cy90eXBlLXNlbGVjdC90eXBlLXNlbGVjdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uYXR1cmFsL3NyYy9saWIvbW9kdWxlcy9kcm9wZG93bi1jb21wb25lbnRzL3R5cGUtc2VsZWN0L3R5cGUtc2VsZWN0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBZ0IsU0FBUyxFQUFFLE1BQU0sRUFBYSxTQUFTLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDckYsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sd0JBQXdCLENBQUM7QUFDeEQsT0FBTyxFQUFDLGVBQWUsRUFBRSxLQUFLLEVBQWMsRUFBRSxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBRTVELE9BQU8sRUFBQyxxQkFBcUIsRUFBc0IsTUFBTSxrREFBa0QsQ0FBQztBQUU1RyxPQUFPLEVBQUMsV0FBVyxFQUFFLFNBQVMsRUFBZSxVQUFVLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUMvRSxPQUFPLEVBQUMseUJBQXlCLEVBQUMsTUFBTSxzQ0FBc0MsQ0FBQztBQUMvRSxPQUFPLEVBQUMsR0FBRyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUN6RCxPQUFPLEVBQXlELHlCQUF5QixFQUFDLE1BQU0sVUFBVSxDQUFDOzs7Ozs7OztBQXFCM0csTUFBTSxPQUFPLG1CQUNULFNBQVEseUJBQXlCO0lBc0JqQyxZQUFrRCxJQUFrRDtRQUNoRyxLQUFLLEVBQUUsQ0FBQztRQXBCSSxrQkFBYSxHQUFHLElBQUksZUFBZSxDQUFTLEVBQUUsQ0FBQyxDQUFDO1FBRXpELHFCQUFnQixHQUFH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WUFDbEMsS0FBSyxPQUFPO2dCQUNSLE9BQU8sRUFBQyxFQUFFLEVBQUUsRUFBQyxNQUFNLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUMsRUFBQyxDQUFDO1lBQzdDLEtBQUssS0FBSztnQkFDTixPQUFPLEVBQUMsSUFBSSxFQUFFLEVBQUMsR0FBRyxFQUFFLElBQUksRUFBQyxFQUFDLENBQUM7WUFDL0IsS0FBSyxNQUFNO2dCQUNQLE9BQU8sRUFBQyxJQUFJLEVBQUUsRUFBQyxHQUFHLEVBQUUsS0FBSyxFQUFDLEVBQUMsQ0FBQztZQUNoQztnQkFDSSxNQUFNLElBQUksS0FBSyxDQUFDLDRCQUE0QixHQUFHLEdBQUcsQ0FBQyxDQUFDO1NBQzNEO0lBQ0wsQ0FBQzs7Z0hBbkxRLG1CQUFtQixrQkF1QkQscUJBQXFCO29HQXZCdkMsbUJBQW1CLDBGQUtqQixnQkFBZ0IsdUVDbkMvQiw0dEJBZ0JBOzJGRGNhLG1CQUFtQjtrQkFIL0IsU0FBUzs7OzBCQTBCYyxNQUFNOzJCQUFDLHFCQUFxQjs0Q0FsQkssSUFBSTtzQkFBeEQsU0FBUzt1QkFBQyxnQkFBZ0IsRUFBRSxFQUFDLE1BQU0sRUFBRSxLQUFLLEVBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0FmdGVyVmlld0luaXQsIENvbXBvbmVudCwgSW5qZWN0LCBPbkRlc3Ryb3ksIFZpZXdDaGlsZH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge01hdFNlbGVjdGlvbkxpc3R9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2xpc3QnO1xuaW1wb3J0IHtCZWhhdmlvclN1YmplY3QsIG1lcmdlLCBPYnNlcnZhYmxlLCBvZn0gZnJvbSAncnhqcyc7XG5pbXBvcnQge0ZpbHRlckdyb3VwQ29uZGl0aW9uRmllbGQsIFNjYWxhcn0gZnJvbSAnLi4vLi4vc2VhcmNoL2NsYXNzZXMvZ3JhcGhxbC1kb2N0cmluZS50eXBlcyc7XG5pbXBvcnQge05BVFVSQUxfRFJPUERPV05fREFUQSwgTmF0dXJhbERyb3Bkb3duRGF0YX0gZnJvbSAnLi4vLi4vc2VhcmNoL2Ryb3Bkb3duLWNvbnRhaW5lci9kcm9wZG93bi5zZXJ2aWNlJztcbmltcG9ydCB7RHJvcGRvd25Db21wb25lbnR9IGZyb20gJy4uLy4uL3NlYXJjaC90eXBlcy9kcm9wZG93bi1jb21wb25lbnQnO1xuaW1wb3J0IHtGb3JtQ29udHJvbCwgRm9ybUdyb3VwLCBWYWxpZGF0b3JGbiwgVmFsaWRhdG9yc30gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHtOYXR1cmFsQWJzdHJhY3RDb250cm9sbGVyfSBmcm9tICcuLi8uLi8uLi9jbGFzc2VzL2Fic3RyYWN0LWNvbnRyb2xsZXInO1xuaW1wb3J0IHttYXAsIHN0YXJ0V2l0aCwgdGFrZVVudGlsfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQge1Bvc3NpYmxlRGlzY3JldGVPcGVyYXRvciwgUG9zc2libGVEaXNjcmV0ZU9wZXJhdG9yS2V5cywgcG9zc2libGVEaXNjcmV0ZU9wZXJhdG9yc30gZnJvbSAnLi4vdHlwZXMnO1xuXG5leHBvcnQgdHlwZSBUeXBlU2VsZWN0SXRlbSA9XG4gICAgfCBTY2FsYXJcbiAgICB8IHtcbiAgICAgICAgICBpZDogU2NhbGFyO1xuICAgICAgICAgIG5hbWU6IFNjYWxhcjtcbiAgICAgIH1cbiAgICB8IHtcbiAgICAgICAgICB2YWx1ZTogU2NhbGFyO1xuICAgICAgICAgIG5hbWU6IFNjYWxhcjtcbiAgICAgIH07XG5cbmV4cG9ydCBpbnRlcmZhY2UgVHlwZVNlbGVjdENvbmZpZ3VyYXRpb24ge1xuICAgIGl0ZW1zOiBUeXBlU2VsZWN0SXRlbVtdIHwgT2JzZXJ2YWJsZTxUeXBlU2VsZWN0SXRlbVtdPjtcbiAgICBtdWx0aXBsZT86IGJvb2xlYW47XG59XG5cbkBDb21wb25lbnQoe1xuICAgIHRlbXBsYXRlVXJsOiAnLi90eXBlLXNlbGVjdC5jb21wb25lbnQuaHRtbCcsXG59KVxuZXhwb3J0IGNsYXNzIFR5cGVTZWxlY3RDb21wb25lbnRcbiAgICBleHRlbmRzIE5hdHVyYWxBYnN0cmFjdENvbnRyb2xsZXJcbiAgICBpbXBsZW1lbnRzIERyb3Bkb3duQ29tcG9uZW50LCBBZnRlclZpZXdJbml0LCBPbkRlc3Ryb3lcbntcbiAgICBwdWJsaWMgcmVhZG9ubHkgcmVuZGVyZWRWYWx1ZSA9IG5ldyBCZWhhdmlvclN1YmplY3Q8c3RyaW5nPignJyk7XG4gICAgQFZpZXdDaGlsZChNYXRTZWxlY3Rpb25MaXN0LCB7c3RhdGljOiBmYWxzZX0pIHB1YmxpYyBsaXN0ITogTWF0U2VsZWN0aW9uTGlzdDtcbiAgICBwdWJsaWMgcmVxdWlyZVZhbHVlQ3RybCA9IGZhbHNlO1xuICAgIHB1YmxpYyByZWFkb25seSBvcGVyYXRvcnMgPSBwb3NzaWJsZURpc2NyZXRlT3BlcmF0b3JzO1xuICAgIHB1YmxpYyByZWFkb25seSBvcGVyYXRvckN0cmwgPSBuZXcgRm9ybUNvbnRyb2w8UG9zc2libGVEaXNjcmV0ZU9wZXJhdG9yS2V5cz4oJ2lzJywge25vbk51bGxhYmxlOiB0cnVlfSk7XG4gICAgcHVibGljIHJlYWRvbmx5IHZhbHVlQ3RybCA9IG5ldyBGb3JtQ29udHJvbCgpO1xuICAgIHB1YmxpYyByZWFkb25seSBmb3JtID0gbmV3IEZvcm1Hcm91cCh7XG4gICAgICAgIG9wZXJhdG9yOiB0aGlzLm9wZXJhdG9yQ3RybCxcbiAgICAgICAgdmFsdWU6IHRoaXMudmFsdWVDdHJsLFxuICAgIH0pO1xuXG4gICAgcHVibGljIGl0ZW1zOiBUeXBlU2VsZWN0SXRlbVtdID0gW107XG4gICAgcHJpdmF0ZSByZWFkb25seSBjb25maWd1cmF0aW9uOiBUeXBlU2VsZWN0Q29uZmlndXJhdGlvbjtcblxuICAgIHByaXZhdGUgcmVhZG9ubHkgZGVmYXVsdHM6IFR5cGVTZWxlY3RDb25maWd1cmF0aW9uID0ge1xuICAgICAgICBpdGVtczogW10sXG4gICAgICAgIG11bHRpcGxlOiB0cnVlLFxuICAgIH07XG5cbiAgICBwdWJsaWMgY29uc3RydWN0b3IoQEluamVjdChOQVRVUkFMX0RST1BET1dOX0RBVEEpIGRhdGE6IE5hdHVyYWxEcm9wZG93bkRhdGE8VHlwZVNlbGVjdENvbmZpZ3VyYXRpb24+KSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgICAgIHRoaXMuY29uZmlndXJhdGlvbiA9IHsuLi50aGlzLmRlZmF1bHRzLCAuLi5kYXRhLmNvbmZpZ3VyYXRpb259O1xuXG4gICAgICAgIC8vIEltbWVkaWF0ZWx5IGluaXRWYWxpZGF0b3JzIGFuZCBldmVyeXRpbWUgdGhlIG9wZXJhdG9yIGNoYW5nZSBsYXRlclxuICAgICAgICB0aGlzLm9wZXJhdG9yQ3RybC52YWx1ZUNoYW5nZXMucGlwZShzdGFydFdpdGgobnVsbCkpLnN1YnNjcmliZSgoKSA9PiB0aGlzLmluaXRWYWxpZGF0b3JzKCkpO1xuXG4gICAgICAgIG1lcmdlKHRoaXMub3BlcmF0b3JDdHJsLnZhbHVlQ2hhbmdlcywgdGhpcy52YWx1ZUN0cmwudmFsdWVDaGFuZ2VzKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgcmVuZGVyZWQgPSB0aGlzLmdldFJlbmRlcmVkVmFsdWUoKTtcbiAgICAgICAgICAgIHRoaXMucmVuZGVyZWRWYWx1ZS5uZXh0KHJlbmRlcmVkKTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy5yZWxvYWRDb25kaXRpb24oZGF0YS5jb25kaXRpb24pO1xuICAgIH1cblxuICAgIHB1YmxpYyBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy5pc011bHRpcGxlKCkgJiYgdGhpcy5saXN0KSB7XG4gICAgICAgICAgICAodGhpcy5saXN0LnNlbGVjdGVkT3B0aW9ucyBhcyBhbnkpLl9tdWx0aXBsZSA9IGZhbHNlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIGdldElkKGl0ZW06IFR5cGVTZWxlY3RJdGVtKTogU2NhbGFyIHtcbiAgICAgICAgaWYgKHR5cGVvZiBpdGVtID09PSAnb2JqZWN0JyAmJiBpdGVtKSB7XG4gICAgICAgICAgICByZXR1cm4gKGl0ZW0gYXMgYW55KS5pZCB8fCAoaXRlbSBhcyBhbnkpLnZhbHVlO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGl0ZW0gYXMgU2NhbGFyO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXREaXNwbGF5KGl0ZW06IFR5cGVTZWxlY3RJdGVtKTogU2NhbGFyIHtcbiAgICAgICAgaWYgKHR5cGVvZiBpdGVtID09PSAnb2JqZWN0JyAmJiBpdGVtICYmIGl0ZW0ubmFtZSkge1xuICAgICAgICAgICAgcmV0dXJuIGl0ZW0ubmFtZTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBpdGVtIGFzIFNjYWxhcjtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0Q29uZGl0aW9uKCk6IEZpbHRlckdyb3VwQ29uZGl0aW9uRmllbGQge1xuICAgICAgICBpZiAoIXRoaXMuaXNWYWxpZCgpKSB7XG4gICAgICAgICAgICByZXR1cm4ge307XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCB2YWx1ZXMgPSB0aGlzLnZhbHVlQ3RybC52YWx1ZTtcbiAgICAgICAgcmV0dXJuIHRoaXMub3BlcmF0b3JLZXlUb0NvbmRpdGlvbih0aGlzLm9wZXJhdG9yQ3RybC52YWx1ZSwgdmFsdWVzKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgaXNWYWxpZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZm9ybS52YWxpZDtcbiAgICB9XG5cbiAgICBwdWJsaWMgaXNEaXJ0eSgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZm9ybS5kaXJ0eTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGluaXRWYWxpZGF0b3JzKCk6IHZvaWQge1xuICAgICAgICBjb25zdCB3aGl0ZWxpc3Q6IFBvc3NpYmxlRGlzY3JldGVPcGVyYXRvcktleXNbXSA9IFsnaXMnLCAnaXNub3QnXTtcbiAgICAgICAgdGhpcy5yZXF1aXJlVmFsdWVDdHJsID0gd2hpdGVsaXN0LmluY2x1ZGVzKHRoaXMub3BlcmF0b3JDdHJsLnZhbHVlKTtcbiAgICAgICAgY29uc3QgdmFsaWRhdG9yczogVmFsaWRhdG9yRm5bXSA9IHRoaXMucmVxdWlyZVZhbHVlQ3RybCA/IFtWYWxpZGF0b3JzLnJlcXVpcmVkXSA6IFtdO1xuXG4gICAgICAgIHRoaXMudmFsdWVDdHJsLnNldFZhbGlkYXRvcnModmFsaWRhdG9ycyk7XG4gICAgICAgIHRoaXMudmFsdWVDdHJsLnVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkoKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGlzTXVsdGlwbGUoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAhIXRoaXMuY29uZmlndXJhdGlvbi5tdWx0aXBsZTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldEl0ZW1CeUlkKGlkOiBTY2FsYXIpOiBUeXBlU2VsZWN0SXRlbSB8IHVuZGVmaW5lZCB7XG4gICAgICAgIHJldHVybiB0aGlzLml0ZW1zLmZpbmQoaXRlbSA9PiB0aGlzLmdldElkKGl0ZW0pID09PSBpZCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSByZWxvYWRDb25kaXRpb24oY29uZGl0aW9uOiBGaWx0ZXJHcm91cENvbmRpdGlvbkZpZWxkIHwgbnVsbCk6IHZvaWQge1xuICAgICAgICBpZiAoY29uZGl0aW9uKSB7XG4gICAgICAgICAgICBjb25zdCBvcGVyYXRvcktleSA9IHRoaXMuY29uZGl0aW9uVG9PcGVyYXRvcktleShjb25kaXRpb24pO1xuICAgICAgICAgICAgdGhpcy5vcGVyYXRvckN0cmwuc2V0VmFsdWUob3BlcmF0b3JLZXkpO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gQWx3YXlzIHJlbG9hZCB2YWx1ZSwgZXZlbiB3aXRob3V0IGNvbmRpdGlvbiBiZWNhdXNlIHdlIG5lZWQgdG8gbG9hZCBsaXN0IG9mIGF2YWlsYWJsZSBpdGVtcyBpbiBhbGwgY2FzZXNcbiAgICAgICAgdGhpcy5yZWxvYWRWYWx1ZShjb25kaXRpb24pLnN1YnNjcmliZSh2YWx1ZSA9PiB7XG4gICAgICAgICAgICB0aGlzLnZhbHVlQ3RybC5zZXRWYWx1ZSh2YWx1ZSk7XG4gICAgICAgICAgICB0aGlzLnJlbmRlcmVkVmFsdWUubmV4dCh0aGlzLmdldFJlbmRlcmVkVmFsdWUoKSk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJlbG9hZCB0aGUgdmFsdWUgZnJvbSBBUEkgKGBvcGVyYXRvckN0cmxgIHNob3VsZCBub3QgYmUgdG91Y2hlZClcbiAgICAgKi9cbiAgICBwcml2YXRlIHJlbG9hZFZhbHVlKGNvbmRpdGlvbjogRmlsdGVyR3JvdXBDb25kaXRpb25GaWVsZCB8IG51bGwpOiBPYnNlcnZhYmxlPFNjYWxhcltdPiB7XG4gICAgICAgIGNvbnN0IHdhbnRlZElkcyA9IGNvbmRpdGlvbj8uaW4/LnZhbHVlcyA/PyBbXTtcblxuICAgICAgICBjb25zdCBpdGVtcyQgPSBBcnJheS5pc0FycmF5KHRoaXMuY29uZmlndXJhdGlvbi5pdGVtcylcbiAgICAgICAgICAgID8gb2YodGhpcy5jb25maWd1cmF0aW9uLml0ZW1zKVxuICAgICAgICAgICAgOiB0aGlzLmNvbmZpZ3VyYXRpb24uaXRlbXM7XG5cbiAgICAgICAgcmV0dXJuIGl0ZW1zJC5waXBlKFxuICAgICAgICAgICAgdGFrZVVudGlsKHRoaXMubmdVbnN1YnNjcmliZSksXG4gICAgICAgICAgICBtYXAoaXRlbXMgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuaXRlbXMgPSBpdGVtcztcblxuICAgICAgICAgICAgICAgIC8vIFJlbG9hZCBzZWxlY3Rpb24sIGFjY29yZGluZyB0byBwb3NzaWJsZSB2YWx1ZXMgZnJvbSBjb25maWd1cmF0aW9uXG4gICAgICAgICAgICAgICAgY29uc3QgcG9zc2libGVJZHMgPSB0aGlzLml0ZW1zLm1hcChpdGVtID0+IHRoaXMuZ2V0SWQoaXRlbSkpO1xuICAgICAgICAgICAgICAgIGNvbnN0IHdhbnRlZEFuZFBvc3NpYmxlSWRzID0gd2FudGVkSWRzLmZpbHRlcihcbiAgICAgICAgICAgICAgICAgICAgaWQgPT4gdHlwZW9mIHBvc3NpYmxlSWRzLmZpbmQoaSA9PiBpID09PSBpZCkgIT09ICd1bmRlZmluZWQnLFxuICAgICAgICAgICAgICAgICk7XG5cbiAgICAgICAgICAgICAgICByZXR1cm4gd2FudGVkQW5kUG9zc2libGVJZHM7XG4gICAgICAgICAgICB9KSxcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldFJlbmRlcmVkVmFsdWUoKTogc3RyaW5nIHtcbiAgICAgICAgY29uc3Qgb3BlcmF0b3IgPSB0aGlzLm9wZXJhdG9ycy5maW5kKHYgPT4gdi5rZXkgPT09IHRoaXMub3BlcmF0b3JDdHJsLnZhbHVlKTtcbiAgICAgICAgaWYgKCFvcGVyYXRvciB8fCAhdGhpcy5pc1ZhbGlkKCkpIHtcbiAgICAgICAgICAgIHJldHVybiAnJztcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHNlbGVjdGlvbiA9XG4gICAgICAgICAgICB0aGlzLnZhbHVlQ3RybC52YWx1ZVxuICAgICAgICAgICAgICAgID8ubWFwKChpZDogU2NhbGFyKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGl0ZW0gPSB0aGlzLmdldEl0ZW1CeUlkKGlkKTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGl0ZW0pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmdldERpc3BsYXkoaXRlbSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgIC5qb2luKCcsICcpID8/IG51bGw7XG5cbiAgICAgICAgcmV0dXJuIFtvcGVyYXRvci5sYWJlbCwgc2VsZWN0aW9uXS5maWx0ZXIodiA9PiB2KS5qb2luKCcgJyk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjb25kaXRpb25Ub09wZXJhdG9yS2V5KGNvbmRpdGlvbjogRmlsdGVyR3JvdXBDb25kaXRpb25GaWVsZCk6IFBvc3NpYmxlRGlzY3JldGVPcGVyYXRvcktleXMge1xuICAgICAgICBpZiAoY29uZGl0aW9uLmluICYmICFjb25kaXRpb24uaW4ubm90KSB7XG4gICAgICAgICAgICByZXR1cm4gJ2lzJztcbiAgICAgICAgfSBlbHNlIGlmIChjb25kaXRpb24uaW4gJiYgY29uZGl0aW9uLmluLm5vdCkge1xuICAgICAgICAgICAgcmV0dXJuICdpc25vdCc7XG4gICAgICAgIH0gZWxzZSBpZiAoY29uZGl0aW9uLm51bGwgJiYgY29uZGl0aW9uLm51bGwubm90KSB7XG4gICAgICAgICAgICByZXR1cm4gJ2FueSc7XG4gICAgICAgIH0gZWxzZSBpZiAoY29uZGl0aW9uLm51bGwgJiYgIWNvbmRpdGlvbi5udWxsLm5vdCkge1xuICAgICAgICAgICAgcmV0dXJuICdub25lJztcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiAnaXMnO1xuICAgIH1cblxuICAgIHByaXZhdGUgb3BlcmF0b3JLZXlUb0NvbmRpdGlvbihrZXk6IFBvc3NpYmxlRGlzY3JldGVPcGVyYXRvcktleXMsIHZhbHVlczogU2NhbGFyW10pOiBGaWx0ZXJHcm91cENvbmRpdGlvbkZpZWxkIHtcbiAgICAgICAgc3dpdGNoIChrZXkpIHtcbiAgICAgICAgICAgIGNhc2UgJ2lzJzpcbiAgICAgICAgICAgICAgICByZXR1cm4ge2luOiB7dmFsdWVzOiB2YWx1ZXN9fTtcbiAgICAgICAgICAgIGNhc2UgJ2lzbm90JzpcbiAgICAgICAgICAgICAgICByZXR1cm4ge2luOiB7dmFsdWVzOiB2YWx1ZXMsIG5vdDogdHJ1ZX19O1xuICAgICAgICAgICAgY2FzZSAnYW55JzpcbiAgICAgICAgICAgICAgICByZXR1cm4ge251bGw6IHtub3Q6IHRydWV9fTtcbiAgICAgICAgICAgIGNhc2UgJ25vbmUnOlxuICAgICAgICAgICAgICAgIHJldHVybiB7bnVsbDoge25vdDogZmFsc2V9fTtcbiAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdVbnN1cHBvcnRlZCBvcGVyYXRvciBrZXk6ICcgKyBrZXkpO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiPGZvcm0gW2Zvcm1Hcm91cF09XCJmb3JtXCI+XG4gICAgPG1hdC1mb3JtLWZpZWxkIHN0eWxlPVwibWF4LXdpZHRoOiA3ZW07IG1hcmdpbi1yaWdodDogMWVtXCI+XG4gICAgICAgIDxtYXQtbGFiZWwgaTE4bj1cIk1hdGhlbWF0aWNhbCBvcGVyYXRvciA8ID4gPVwiPk9ww6lyYXRldXI8L21hdC1sYWJlbD5cbiAgICAgICAgPG1hdC1zZWxlY3QgW2Zvcm1Db250cm9sXT1cIm9wZXJhdG9yQ3RybFwiIFtyZXF1aXJlZF09XCJ0cnVlXCI+XG4gICAgICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9XCJsZXQgaXRlbSBvZiBvcGVyYXRvcnNcIiBbdmFsdWVdPVwiaXRlbS5rZXlcIj5cbiAgICAgICAgICAgICAgICB7eyBpdGVtLmxhYmVsIH19XG4gICAgICAgICAgICA8L21hdC1vcHRpb24+XG4gICAgICAgIDwvbWF0LXNlbGVjdD5cbiAgICA8L21hdC1mb3JtLWZpZWxkPlxuXG4gICAgPG1hdC1zZWxlY3Rpb24tbGlzdCAqbmdJZj1cInJlcXVpcmVWYWx1ZUN0cmxcIiBbZm9ybUNvbnRyb2xdPVwidmFsdWVDdHJsXCI+XG4gICAgICAgIDxtYXQtbGlzdC1vcHRpb24gKm5nRm9yPVwibGV0IGl0ZW0gb2YgaXRlbXNcIiBbdmFsdWVdPVwiZ2V0SWQoaXRlbSlcIiBjaGVja2JveFBvc2l0aW9uPVwiYmVmb3JlXCI+XG4gICAgICAgICAgICB7eyBnZXREaXNwbGF5KGl0ZW0pIH19XG4gICAgICAgIDwvbWF0LWxpc3Qtb3B0aW9uPlxuICAgIDwvbWF0LXNlbGVjdGlvbi1saXN0PlxuPC9mb3JtPlxuIl19
@@ -4,10 +4,10 @@ import { BehaviorSubject } from 'rxjs';
4
4
  import { NATURAL_DROPDOWN_DATA } from '../../search/dropdown-container/dropdown.service';
5
5
  import * as i0 from "@angular/core";
6
6
  import * as i1 from "../../search/dropdown-container/dropdown-ref";
7
- import * as i2 from "@angular/material/form-field";
8
- import * as i3 from "@angular/material/input";
9
- import * as i4 from "@angular/forms";
10
- import * as i5 from "@angular/common";
7
+ import * as i2 from "@angular/common";
8
+ import * as i3 from "@angular/forms";
9
+ import * as i4 from "@angular/material/form-field";
10
+ import * as i5 from "@angular/material/input";
11
11
  export class InvalidWithValueStateMatcher {
12
12
  isErrorState(control, form) {
13
13
  return control && control.invalid && control.value;
@@ -17,17 +17,20 @@ export class TypeTextComponent {
17
17
  constructor(data, dropdownRef) {
18
18
  this.dropdownRef = dropdownRef;
19
19
  this.renderedValue = new BehaviorSubject('');
20
- this.formCtrl = new FormControl();
20
+ this.formCtrl = new FormControl('', { nonNullable: true });
21
21
  this.matcher = new InvalidWithValueStateMatcher();
22
22
  this.formCtrl.valueChanges.subscribe(value => {
23
23
  this.renderedValue.next(value === null ? '' : this.formCtrl.value + '');
24
24
  });
25
25
  this.formCtrl.setValidators([Validators.required]);
26
26
  if (data.condition && data.condition.like) {
27
- this.formCtrl.setValue(data.condition.like.value);
27
+ this.formCtrl.setValue('' + data.condition.like.value);
28
28
  }
29
29
  }
30
30
  getCondition() {
31
+ if (!this.formCtrl.value) {
32
+ return {};
33
+ }
31
34
  return { like: { value: this.formCtrl.value } };
32
35
  }
33
36
  isValid() {
@@ -45,13 +48,13 @@ export class TypeTextComponent {
45
48
  }
46
49
  }
47
50
  }
48
- TypeTextComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: TypeTextComponent, deps: [{ token: NATURAL_DROPDOWN_DATA }, { token: i1.NaturalDropdownRef }], target: i0.ɵɵFactoryTarget.Component });
49
- TypeTextComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.0", type: TypeTextComponent, selector: "ng-component", ngImport: i0, template: "<mat-form-field>\n <mat-label i18n>Valeur</mat-label>\n <input\n (keydown.enter)=\"close()\"\n [errorStateMatcher]=\"matcher\"\n [formControl]=\"formCtrl\"\n [required]=\"true\"\n matInput\n type=\"text\"\n />\n <mat-error *ngIf=\"formCtrl.hasError('required')\">*</mat-error>\n</mat-form-field>\n", styles: [":host input::-webkit-outer-spin-button,:host input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}\n"], components: [{ type: i2.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }], directives: [{ type: i2.MatLabel, selector: "mat-label" }, { type: i3.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { type: i4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i4.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { type: i4.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.MatError, selector: "mat-error", inputs: ["id"] }] });
50
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: TypeTextComponent, decorators: [{
51
+ TypeTextComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: TypeTextComponent, deps: [{ token: NATURAL_DROPDOWN_DATA }, { token: i1.NaturalDropdownRef }], target: i0.ɵɵFactoryTarget.Component });
52
+ TypeTextComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.1.1", type: TypeTextComponent, selector: "ng-component", ngImport: i0, template: "<mat-form-field>\n <mat-label i18n>Valeur</mat-label>\n <input\n (keydown.enter)=\"close()\"\n [errorStateMatcher]=\"matcher\"\n [formControl]=\"formCtrl\"\n [required]=\"true\"\n matInput\n type=\"text\"\n />\n <mat-error *ngIf=\"formCtrl.hasError('required')\">*</mat-error>\n</mat-form-field>\n", styles: [":host input::-webkit-outer-spin-button,:host input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i4.MatError, selector: "mat-error", inputs: ["id"] }, { kind: "component", type: i4.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i4.MatLabel, selector: "mat-label" }, { kind: "directive", type: i3.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i5.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }] });
53
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: TypeTextComponent, decorators: [{
51
54
  type: Component,
52
55
  args: [{ template: "<mat-form-field>\n <mat-label i18n>Valeur</mat-label>\n <input\n (keydown.enter)=\"close()\"\n [errorStateMatcher]=\"matcher\"\n [formControl]=\"formCtrl\"\n [required]=\"true\"\n matInput\n type=\"text\"\n />\n <mat-error *ngIf=\"formCtrl.hasError('required')\">*</mat-error>\n</mat-form-field>\n", styles: [":host input::-webkit-outer-spin-button,:host input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}\n"] }]
53
56
  }], ctorParameters: function () { return [{ type: undefined, decorators: [{
54
57
  type: Inject,
55
58
  args: [NATURAL_DROPDOWN_DATA]
56
59
  }] }, { type: i1.NaturalDropdownRef }]; } });
57
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZS10ZXh0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25hdHVyYWwvc3JjL2xpYi9tb2R1bGVzL2Ryb3Bkb3duLWNvbXBvbmVudHMvdHlwZS10ZXh0L3R5cGUtdGV4dC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uYXR1cmFsL3NyYy9saWIvbW9kdWxlcy9kcm9wZG93bi1jb21wb25lbnRzL3R5cGUtdGV4dC90eXBlLXRleHQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxNQUFNLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDaEQsT0FBTyxFQUFDLFdBQVcsRUFBOEIsVUFBVSxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFFbkYsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUdyQyxPQUFPLEVBQUMscUJBQXFCLEVBQXNCLE1BQU0sa0RBQWtELENBQUM7Ozs7Ozs7QUFHNUcsTUFBTSxPQUFPLDRCQUE0QjtJQUM5QixZQUFZLENBQUMsT0FBMkIsRUFBRSxJQUF3QztRQUNyRixPQUFPLE9BQU8sSUFBSSxPQUFPLENBQUMsT0FBTyxJQUFJLE9BQU8sQ0FBQyxLQUFLLENBQUM7SUFDdkQsQ0FBQztDQUNKO0FBTUQsTUFBTSxPQUFPLGlCQUFpQjtJQUsxQixZQUNtQyxJQUFnQyxFQUNyRCxXQUErQjtRQUEvQixnQkFBVyxHQUFYLFdBQVcsQ0FBb0I7UUFOdEMsa0JBQWEsR0FBRyxJQUFJLGVBQWUsQ0FBUyxFQUFFLENBQUMsQ0FBQztRQUNoRCxhQUFRLEdBQWdCLElBQUksV0FBVyxFQUFFLENBQUM7UUFDMUMsWUFBTyxHQUFHLElBQUksNEJBQTRCLEVBQUUsQ0FBQztRQU1oRCxJQUFJLENBQUMsUUFBUSxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDekMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsS0FBSyxLQUFLLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssR0FBRyxFQUFFLENBQUMsQ0FBQztRQUM1RSxDQUFDLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7UUFFbkQsSUFBSSxJQUFJLENBQUMsU0FBUyxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFO1lBQ3ZDLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1NBQ3JEO0lBQ0wsQ0FBQztJQUVNLFlBQVk7UUFDZixPQUFPLEVBQUMsSUFBSSxFQUFFLEVBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxFQUFDLEVBQUMsQ0FBQztJQUNoRCxDQUFDO0lBRU0sT0FBTztRQUNWLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUM7SUFDL0IsQ0FBQztJQUVNLE9BQU87UUFDVixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDO0lBQy9CLENBQUM7SUFFTSxLQUFLO1FBQ1IsSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFLEVBQUU7WUFDaEIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsRUFBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLFlBQVksRUFBRSxFQUFDLENBQUMsQ0FBQztTQUM1RDthQUFNO1lBQ0gsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLCtFQUErRTtTQUM1RztJQUNMLENBQUM7OzhHQXRDUSxpQkFBaUIsa0JBTWQscUJBQXFCO2tHQU54QixpQkFBaUIsb0RDbkI5QixpV0FZQTsyRkRPYSxpQkFBaUI7a0JBSjdCLFNBQVM7OzswQkFVRCxNQUFNOzJCQUFDLHFCQUFxQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBJbmplY3R9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtGb3JtQ29udHJvbCwgRm9ybUdyb3VwRGlyZWN0aXZlLCBOZ0Zvcm0sIFZhbGlkYXRvcnN9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7RXJyb3JTdGF0ZU1hdGNoZXJ9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NvcmUnO1xuaW1wb3J0IHtCZWhhdmlvclN1YmplY3R9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtGaWx0ZXJHcm91cENvbmRpdGlvbkZpZWxkfSBmcm9tICcuLi8uLi9zZWFyY2gvY2xhc3Nlcy9ncmFwaHFsLWRvY3RyaW5lLnR5cGVzJztcbmltcG9ydCB7TmF0dXJhbERyb3Bkb3duUmVmfSBmcm9tICcuLi8uLi9zZWFyY2gvZHJvcGRvd24tY29udGFpbmVyL2Ryb3Bkb3duLXJlZic7XG5pbXBvcnQge05BVFVSQUxfRFJPUERPV05fREFUQSwgTmF0dXJhbERyb3Bkb3duRGF0YX0gZnJvbSAnLi4vLi4vc2VhcmNoL2Ryb3Bkb3duLWNvbnRhaW5lci9kcm9wZG93bi5zZXJ2aWNlJztcbmltcG9ydCB7RHJvcGRvd25Db21wb25lbnR9IGZyb20gJy4uLy4uL3NlYXJjaC90eXBlcy9kcm9wZG93bi1jb21wb25lbnQnO1xuXG5leHBvcnQgY2xhc3MgSW52YWxpZFdpdGhWYWx1ZVN0YXRlTWF0Y2hlciBpbXBsZW1lbnRzIEVycm9yU3RhdGVNYXRjaGVyIHtcbiAgICBwdWJsaWMgaXNFcnJvclN0YXRlKGNvbnRyb2w6IEZvcm1Db250cm9sIHwgbnVsbCwgZm9ybTogRm9ybUdyb3VwRGlyZWN0aXZlIHwgTmdGb3JtIHwgbnVsbCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gY29udHJvbCAmJiBjb250cm9sLmludmFsaWQgJiYgY29udHJvbC52YWx1ZTtcbiAgICB9XG59XG5cbkBDb21wb25lbnQoe1xuICAgIHRlbXBsYXRlVXJsOiAnLi90eXBlLXRleHQuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL3R5cGUtdGV4dC5jb21wb25lbnQuc2NzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBUeXBlVGV4dENvbXBvbmVudCBpbXBsZW1lbnRzIERyb3Bkb3duQ29tcG9uZW50IHtcbiAgICBwdWJsaWMgcmVuZGVyZWRWYWx1ZSA9IG5ldyBCZWhhdmlvclN1YmplY3Q8c3RyaW5nPignJyk7XG4gICAgcHVibGljIGZvcm1DdHJsOiBGb3JtQ29udHJvbCA9IG5ldyBGb3JtQ29udHJvbCgpO1xuICAgIHB1YmxpYyBtYXRjaGVyID0gbmV3IEludmFsaWRXaXRoVmFsdWVTdGF0ZU1hdGNoZXIoKTtcblxuICAgIHB1YmxpYyBjb25zdHJ1Y3RvcihcbiAgICAgICAgQEluamVjdChOQVRVUkFMX0RST1BET1dOX0RBVEEpIGRhdGE6IE5hdHVyYWxEcm9wZG93bkRhdGE8bmV2ZXI+LFxuICAgICAgICBwcm90ZWN0ZWQgZHJvcGRvd25SZWY6IE5hdHVyYWxEcm9wZG93blJlZixcbiAgICApIHtcbiAgICAgICAgdGhpcy5mb3JtQ3RybC52YWx1ZUNoYW5nZXMuc3Vic2NyaWJlKHZhbHVlID0+IHtcbiAgICAgICAgICAgIHRoaXMucmVuZGVyZWRWYWx1ZS5uZXh0KHZhbHVlID09PSBudWxsID8gJycgOiB0aGlzLmZvcm1DdHJsLnZhbHVlICsgJycpO1xuICAgICAgICB9KTtcblxuICAgICAgICB0aGlzLmZvcm1DdHJsLnNldFZhbGlkYXRvcnMoW1ZhbGlkYXRvcnMucmVxdWlyZWRdKTtcblxuICAgICAgICBpZiAoZGF0YS5jb25kaXRpb24gJiYgZGF0YS5jb25kaXRpb24ubGlrZSkge1xuICAgICAgICAgICAgdGhpcy5mb3JtQ3RybC5zZXRWYWx1ZShkYXRhLmNvbmRpdGlvbi5saWtlLnZhbHVlKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyBnZXRDb25kaXRpb24oKTogRmlsdGVyR3JvdXBDb25kaXRpb25GaWVsZCB7XG4gICAgICAgIHJldHVybiB7bGlrZToge3ZhbHVlOiB0aGlzLmZvcm1DdHJsLnZhbHVlfX07XG4gICAgfVxuXG4gICAgcHVibGljIGlzVmFsaWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmZvcm1DdHJsLnZhbGlkO1xuICAgIH1cblxuICAgIHB1YmxpYyBpc0RpcnR5KCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5mb3JtQ3RybC5kaXJ0eTtcbiAgICB9XG5cbiAgICBwdWJsaWMgY2xvc2UoKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmlzVmFsaWQoKSkge1xuICAgICAgICAgICAgdGhpcy5kcm9wZG93blJlZi5jbG9zZSh7Y29uZGl0aW9uOiB0aGlzLmdldENvbmRpdGlvbigpfSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmRyb3Bkb3duUmVmLmNsb3NlKCk7IC8vIHVuZGVmaW5lZCB2YWx1ZSwgZGlzY2FyZCBjaGFuZ2VzIC8gcHJldmVudCB0byBhZGQgYSBjb25kaXRpb24gKG9uIG5ldyBmaWVsZHNcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIjxtYXQtZm9ybS1maWVsZD5cbiAgICA8bWF0LWxhYmVsIGkxOG4+VmFsZXVyPC9tYXQtbGFiZWw+XG4gICAgPGlucHV0XG4gICAgICAgIChrZXlkb3duLmVudGVyKT1cImNsb3NlKClcIlxuICAgICAgICBbZXJyb3JTdGF0ZU1hdGNoZXJdPVwibWF0Y2hlclwiXG4gICAgICAgIFtmb3JtQ29udHJvbF09XCJmb3JtQ3RybFwiXG4gICAgICAgIFtyZXF1aXJlZF09XCJ0cnVlXCJcbiAgICAgICAgbWF0SW5wdXRcbiAgICAgICAgdHlwZT1cInRleHRcIlxuICAgIC8+XG4gICAgPG1hdC1lcnJvciAqbmdJZj1cImZvcm1DdHJsLmhhc0Vycm9yKCdyZXF1aXJlZCcpXCI+KjwvbWF0LWVycm9yPlxuPC9tYXQtZm9ybS1maWVsZD5cbiJdfQ==
60
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZS10ZXh0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25hdHVyYWwvc3JjL2xpYi9tb2R1bGVzL2Ryb3Bkb3duLWNvbXBvbmVudHMvdHlwZS10ZXh0L3R5cGUtdGV4dC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uYXR1cmFsL3NyYy9saWIvbW9kdWxlcy9kcm9wZG93bi1jb21wb25lbnRzL3R5cGUtdGV4dC90eXBlLXRleHQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxNQUFNLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDaEQsT0FBTyxFQUFDLFdBQVcsRUFBOEIsVUFBVSxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFFbkYsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUdyQyxPQUFPLEVBQUMscUJBQXFCLEVBQXNCLE1BQU0sa0RBQWtELENBQUM7Ozs7Ozs7QUFHNUcsTUFBTSxPQUFPLDRCQUE0QjtJQUM5QixZQUFZLENBQUMsT0FBMkIsRUFBRSxJQUF3QztRQUNyRixPQUFPLE9BQU8sSUFBSSxPQUFPLENBQUMsT0FBTyxJQUFJLE9BQU8sQ0FBQyxLQUFLLENBQUM7SUFDdkQsQ0FBQztDQUNKO0FBTUQsTUFBTSxPQUFPLGlCQUFpQjtJQUsxQixZQUNtQyxJQUFnQyxFQUNyRCxXQUErQjtRQUEvQixnQkFBVyxHQUFYLFdBQVcsQ0FBb0I7UUFON0Isa0JBQWEsR0FBRyxJQUFJLGVBQWUsQ0FBUyxFQUFFLENBQUMsQ0FBQztRQUNoRCxhQUFRLEdBQUcsSUFBSSxXQUFXLENBQUMsRUFBRSxFQUFFLEVBQUMsV0FBVyxFQUFFLElBQUksRUFBQyxDQUFDLENBQUM7UUFDcEQsWUFBTyxHQUFHLElBQUksNEJBQTRCLEVBQUUsQ0FBQztRQU16RCxJQUFJLENBQUMsUUFBUSxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDekMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsS0FBSyxLQUFLLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssR0FBRyxFQUFFLENBQUMsQ0FBQztRQUM1RSxDQUFDLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7UUFFbkQsSUFBSSxJQUFJLENBQUMsU0FBUyxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFO1lBQ3ZDLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLEVBQUUsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztTQUMxRDtJQUNMLENBQUM7SUFFTSxZQUFZO1FBQ2YsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxFQUFFO1lBQ3RCLE9BQU8sRUFBRSxDQUFDO1NBQ2I7UUFFRCxPQUFPLEVBQUMsSUFBSSxFQUFFLEVBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxFQUFDLEVBQUMsQ0FBQztJQUNoRCxDQUFDO0lBRU0sT0FBTztRQUNWLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUM7SUFDL0IsQ0FBQztJQUVNLE9BQU87UUFDVixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDO0lBQy9CLENBQUM7SUFFTSxLQUFLO1FBQ1IsSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFLEVBQUU7WUFDaEIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsRUFBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLFlBQVksRUFBRSxFQUFDLENBQUMsQ0FBQztTQUM1RDthQUFNO1lBQ0gsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLCtFQUErRTtTQUM1RztJQUNMLENBQUM7OzhHQTFDUSxpQkFBaUIsa0JBTWQscUJBQXFCO2tHQU54QixpQkFBaUIsb0RDbkI5QixpV0FZQTsyRkRPYSxpQkFBaUI7a0JBSjdCLFNBQVM7OzswQkFVRCxNQUFNOzJCQUFDLHFCQUFxQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBJbmplY3R9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtGb3JtQ29udHJvbCwgRm9ybUdyb3VwRGlyZWN0aXZlLCBOZ0Zvcm0sIFZhbGlkYXRvcnN9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7RXJyb3JTdGF0ZU1hdGNoZXJ9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NvcmUnO1xuaW1wb3J0IHtCZWhhdmlvclN1YmplY3R9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtGaWx0ZXJHcm91cENvbmRpdGlvbkZpZWxkfSBmcm9tICcuLi8uLi9zZWFyY2gvY2xhc3Nlcy9ncmFwaHFsLWRvY3RyaW5lLnR5cGVzJztcbmltcG9ydCB7TmF0dXJhbERyb3Bkb3duUmVmfSBmcm9tICcuLi8uLi9zZWFyY2gvZHJvcGRvd24tY29udGFpbmVyL2Ryb3Bkb3duLXJlZic7XG5pbXBvcnQge05BVFVSQUxfRFJPUERPV05fREFUQSwgTmF0dXJhbERyb3Bkb3duRGF0YX0gZnJvbSAnLi4vLi4vc2VhcmNoL2Ryb3Bkb3duLWNvbnRhaW5lci9kcm9wZG93bi5zZXJ2aWNlJztcbmltcG9ydCB7RHJvcGRvd25Db21wb25lbnR9IGZyb20gJy4uLy4uL3NlYXJjaC90eXBlcy9kcm9wZG93bi1jb21wb25lbnQnO1xuXG5leHBvcnQgY2xhc3MgSW52YWxpZFdpdGhWYWx1ZVN0YXRlTWF0Y2hlciBpbXBsZW1lbnRzIEVycm9yU3RhdGVNYXRjaGVyIHtcbiAgICBwdWJsaWMgaXNFcnJvclN0YXRlKGNvbnRyb2w6IEZvcm1Db250cm9sIHwgbnVsbCwgZm9ybTogRm9ybUdyb3VwRGlyZWN0aXZlIHwgTmdGb3JtIHwgbnVsbCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gY29udHJvbCAmJiBjb250cm9sLmludmFsaWQgJiYgY29udHJvbC52YWx1ZTtcbiAgICB9XG59XG5cbkBDb21wb25lbnQoe1xuICAgIHRlbXBsYXRlVXJsOiAnLi90eXBlLXRleHQuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL3R5cGUtdGV4dC5jb21wb25lbnQuc2NzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBUeXBlVGV4dENvbXBvbmVudCBpbXBsZW1lbnRzIERyb3Bkb3duQ29tcG9uZW50IHtcbiAgICBwdWJsaWMgcmVhZG9ubHkgcmVuZGVyZWRWYWx1ZSA9IG5ldyBCZWhhdmlvclN1YmplY3Q8c3RyaW5nPignJyk7XG4gICAgcHVibGljIHJlYWRvbmx5IGZvcm1DdHJsID0gbmV3IEZvcm1Db250cm9sKCcnLCB7bm9uTnVsbGFibGU6IHRydWV9KTtcbiAgICBwdWJsaWMgcmVhZG9ubHkgbWF0Y2hlciA9IG5ldyBJbnZhbGlkV2l0aFZhbHVlU3RhdGVNYXRjaGVyKCk7XG5cbiAgICBwdWJsaWMgY29uc3RydWN0b3IoXG4gICAgICAgIEBJbmplY3QoTkFUVVJBTF9EUk9QRE9XTl9EQVRBKSBkYXRhOiBOYXR1cmFsRHJvcGRvd25EYXRhPG5ldmVyPixcbiAgICAgICAgcHJvdGVjdGVkIGRyb3Bkb3duUmVmOiBOYXR1cmFsRHJvcGRvd25SZWYsXG4gICAgKSB7XG4gICAgICAgIHRoaXMuZm9ybUN0cmwudmFsdWVDaGFuZ2VzLnN1YnNjcmliZSh2YWx1ZSA9PiB7XG4gICAgICAgICAgICB0aGlzLnJlbmRlcmVkVmFsdWUubmV4dCh2YWx1ZSA9PT0gbnVsbCA/ICcnIDogdGhpcy5mb3JtQ3RybC52YWx1ZSArICcnKTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy5mb3JtQ3RybC5zZXRWYWxpZGF0b3JzKFtWYWxpZGF0b3JzLnJlcXVpcmVkXSk7XG5cbiAgICAgICAgaWYgKGRhdGEuY29uZGl0aW9uICYmIGRhdGEuY29uZGl0aW9uLmxpa2UpIHtcbiAgICAgICAgICAgIHRoaXMuZm9ybUN0cmwuc2V0VmFsdWUoJycgKyBkYXRhLmNvbmRpdGlvbi5saWtlLnZhbHVlKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyBnZXRDb25kaXRpb24oKTogRmlsdGVyR3JvdXBDb25kaXRpb25GaWVsZCB7XG4gICAgICAgIGlmICghdGhpcy5mb3JtQ3RybC52YWx1ZSkge1xuICAgICAgICAgICAgcmV0dXJuIHt9O1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHtsaWtlOiB7dmFsdWU6IHRoaXMuZm9ybUN0cmwudmFsdWV9fTtcbiAgICB9XG5cbiAgICBwdWJsaWMgaXNWYWxpZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZm9ybUN0cmwudmFsaWQ7XG4gICAgfVxuXG4gICAgcHVibGljIGlzRGlydHkoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmZvcm1DdHJsLmRpcnR5O1xuICAgIH1cblxuICAgIHB1YmxpYyBjbG9zZSgpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuaXNWYWxpZCgpKSB7XG4gICAgICAgICAgICB0aGlzLmRyb3Bkb3duUmVmLmNsb3NlKHtjb25kaXRpb246IHRoaXMuZ2V0Q29uZGl0aW9uKCl9KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuZHJvcGRvd25SZWYuY2xvc2UoKTsgLy8gdW5kZWZpbmVkIHZhbHVlLCBkaXNjYXJkIGNoYW5nZXMgLyBwcmV2ZW50IHRvIGFkZCBhIGNvbmRpdGlvbiAob24gbmV3IGZpZWxkc1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiPG1hdC1mb3JtLWZpZWxkPlxuICAgIDxtYXQtbGFiZWwgaTE4bj5WYWxldXI8L21hdC1sYWJlbD5cbiAgICA8aW5wdXRcbiAgICAgICAgKGtleWRvd24uZW50ZXIpPVwiY2xvc2UoKVwiXG4gICAgICAgIFtlcnJvclN0YXRlTWF0Y2hlcl09XCJtYXRjaGVyXCJcbiAgICAgICAgW2Zvcm1Db250cm9sXT1cImZvcm1DdHJsXCJcbiAgICAgICAgW3JlcXVpcmVkXT1cInRydWVcIlxuICAgICAgICBtYXRJbnB1dFxuICAgICAgICB0eXBlPVwidGV4dFwiXG4gICAgLz5cbiAgICA8bWF0LWVycm9yICpuZ0lmPVwiZm9ybUN0cmwuaGFzRXJyb3IoJ3JlcXVpcmVkJylcIj4qPC9tYXQtZXJyb3I+XG48L21hdC1mb3JtLWZpZWxkPlxuIl19
@@ -38,4 +38,4 @@ export const possibleDiscreteOperators = [
38
38
  label: $localize `aucun`,
39
39
  },
40
40
  ];
41
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uYXR1cmFsL3NyYy9saWIvbW9kdWxlcy9kcm9wZG93bi1jb21wb25lbnRzL3R5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQU9BLE1BQU0sQ0FBQyxNQUFNLDJCQUEyQixHQUFpQztJQUNyRTtRQUNJLEdBQUcsRUFBRSxNQUFNO1FBQ1gsS0FBSyxFQUFFLEdBQUc7S0FDYjtJQUNEO1FBQ0ksR0FBRyxFQUFFLGFBQWE7UUFDbEIsS0FBSyxFQUFFLEdBQUc7S0FDYjtJQUNEO1FBQ0ksR0FBRyxFQUFFLE9BQU87UUFDWixLQUFLLEVBQUUsR0FBRztLQUNiO0lBQ0Q7UUFDSSxHQUFHLEVBQUUsZ0JBQWdCO1FBQ3JCLEtBQUssRUFBRSxHQUFHO0tBQ2I7SUFDRDtRQUNJLEdBQUcsRUFBRSxTQUFTO1FBQ2QsS0FBSyxFQUFFLEdBQUc7S0FDYjtDQUNKLENBQUM7QUFPRixNQUFNLENBQUMsTUFBTSx5QkFBeUIsR0FBK0I7SUFDakU7UUFDSSxHQUFHLEVBQUUsSUFBSTtRQUNULEtBQUssRUFBRSxTQUFTLENBQUEsS0FBSztLQUN4QjtJQUNEO1FBQ0ksR0FBRyxFQUFFLE9BQU87UUFDWixLQUFLLEVBQUUsU0FBUyxDQUFBLFdBQVc7S0FDOUI7SUFDRDtRQUNJLEdBQUcsRUFBRSxLQUFLO1FBQ1YsS0FBSyxFQUFFLFNBQVMsQ0FBQSxNQUFNO0tBQ3pCO0lBQ0Q7UUFDSSxHQUFHLEVBQUUsTUFBTTtRQUNYLEtBQUssRUFBRSxTQUFTLENBQUEsT0FBTztLQUMxQjtDQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0ZpbHRlckdyb3VwQ29uZGl0aW9uRmllbGR9IGZyb20gJy4uL3NlYXJjaC9jbGFzc2VzL2dyYXBocWwtZG9jdHJpbmUudHlwZXMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFBvc3NpYmxlQ29tcGFyYWJsZU9wZXJhdG9yIHtcbiAgICBrZXk6IGtleW9mIFBpY2s8RmlsdGVyR3JvdXBDb25kaXRpb25GaWVsZCwgJ2xlc3MnIHwgJ2xlc3NPckVxdWFsJyB8ICdlcXVhbCcgfCAnZ3JlYXRlck9yRXF1YWwnIHwgJ2dyZWF0ZXInPjtcbiAgICBsYWJlbDogc3RyaW5nO1xufVxuXG5leHBvcnQgY29uc3QgcG9zc2libGVDb21wYXJhYmxlT3BlcmF0b3JzOiBQb3NzaWJsZUNvbXBhcmFibGVPcGVyYXRvcltdID0gW1xuICAgIHtcbiAgICAgICAga2V5OiAnbGVzcycsXG4gICAgICAgIGxhYmVsOiAnPCcsXG4gICAgfSxcbiAgICB7XG4gICAgICAgIGtleTogJ2xlc3NPckVxdWFsJyxcbiAgICAgICAgbGFiZWw6ICfiiaQnLFxuICAgIH0sXG4gICAge1xuICAgICAgICBrZXk6ICdlcXVhbCcsXG4gICAgICAgIGxhYmVsOiAnPScsXG4gICAgfSxcbiAgICB7XG4gICAgICAgIGtleTogJ2dyZWF0ZXJPckVxdWFsJyxcbiAgICAgICAgbGFiZWw6ICfiiaUnLFxuICAgIH0sXG4gICAge1xuICAgICAgICBrZXk6ICdncmVhdGVyJyxcbiAgICAgICAgbGFiZWw6ICc+JyxcbiAgICB9LFxuXTtcblxuZXhwb3J0IGludGVyZmFjZSBQb3NzaWJsZURpc2NyZXRlT3BlcmF0b3Ige1xuICAgIGtleTogJ2lzJyB8ICdpc25vdCcgfCAnYW55JyB8ICdub25lJztcbiAgICBsYWJlbDogc3RyaW5nO1xufVxuXG5leHBvcnQgY29uc3QgcG9zc2libGVEaXNjcmV0ZU9wZXJhdG9yczogUG9zc2libGVEaXNjcmV0ZU9wZXJhdG9yW10gPSBbXG4gICAge1xuICAgICAgICBrZXk6ICdpcycsXG4gICAgICAgIGxhYmVsOiAkbG9jYWxpemVgZXN0YCxcbiAgICB9LFxuICAgIHtcbiAgICAgICAga2V5OiAnaXNub3QnLFxuICAgICAgICBsYWJlbDogJGxvY2FsaXplYG4nZXN0IHBhc2AsXG4gICAgfSxcbiAgICB7XG4gICAgICAgIGtleTogJ2FueScsXG4gICAgICAgIGxhYmVsOiAkbG9jYWxpemVgdG91c2AsXG4gICAgfSxcbiAgICB7XG4gICAgICAgIGtleTogJ25vbmUnLFxuICAgICAgICBsYWJlbDogJGxvY2FsaXplYGF1Y3VuYCxcbiAgICB9LFxuXTtcbiJdfQ==
41
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uYXR1cmFsL3NyYy9saWIvbW9kdWxlcy9kcm9wZG93bi1jb21wb25lbnRzL3R5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQVlBLE1BQU0sQ0FBQyxNQUFNLDJCQUEyQixHQUFpQztJQUNyRTtRQUNJLEdBQUcsRUFBRSxNQUFNO1FBQ1gsS0FBSyxFQUFFLEdBQUc7S0FDYjtJQUNEO1FBQ0ksR0FBRyxFQUFFLGFBQWE7UUFDbEIsS0FBSyxFQUFFLEdBQUc7S0FDYjtJQUNEO1FBQ0ksR0FBRyxFQUFFLE9BQU87UUFDWixLQUFLLEVBQUUsR0FBRztLQUNiO0lBQ0Q7UUFDSSxHQUFHLEVBQUUsZ0JBQWdCO1FBQ3JCLEtBQUssRUFBRSxHQUFHO0tBQ2I7SUFDRDtRQUNJLEdBQUcsRUFBRSxTQUFTO1FBQ2QsS0FBSyxFQUFFLEdBQUc7S0FDYjtDQUNKLENBQUM7QUFTRixNQUFNLENBQUMsTUFBTSx5QkFBeUIsR0FBK0I7SUFDakU7UUFDSSxHQUFHLEVBQUUsSUFBSTtRQUNULEtBQUssRUFBRSxTQUFTLENBQUEsS0FBSztLQUN4QjtJQUNEO1FBQ0ksR0FBRyxFQUFFLE9BQU87UUFDWixLQUFLLEVBQUUsU0FBUyxDQUFBLFdBQVc7S0FDOUI7SUFDRDtRQUNJLEdBQUcsRUFBRSxLQUFLO1FBQ1YsS0FBSyxFQUFFLFNBQVMsQ0FBQSxNQUFNO0tBQ3pCO0lBQ0Q7UUFDSSxHQUFHLEVBQUUsTUFBTTtRQUNYLEtBQUssRUFBRSxTQUFTLENBQUEsT0FBTztLQUMxQjtDQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0ZpbHRlckdyb3VwQ29uZGl0aW9uRmllbGR9IGZyb20gJy4uL3NlYXJjaC9jbGFzc2VzL2dyYXBocWwtZG9jdHJpbmUudHlwZXMnO1xuXG5leHBvcnQgdHlwZSBQb3NzaWJsZUNvbXBhcmFibGVPcGVydG9yS2V5cyA9IGtleW9mIFBpY2s8XG4gICAgRmlsdGVyR3JvdXBDb25kaXRpb25GaWVsZCxcbiAgICAnbGVzcycgfCAnbGVzc09yRXF1YWwnIHwgJ2VxdWFsJyB8ICdncmVhdGVyT3JFcXVhbCcgfCAnZ3JlYXRlcidcbj47XG5cbmV4cG9ydCBpbnRlcmZhY2UgUG9zc2libGVDb21wYXJhYmxlT3BlcmF0b3Ige1xuICAgIGtleTogUG9zc2libGVDb21wYXJhYmxlT3BlcnRvcktleXM7XG4gICAgbGFiZWw6IHN0cmluZztcbn1cblxuZXhwb3J0IGNvbnN0IHBvc3NpYmxlQ29tcGFyYWJsZU9wZXJhdG9yczogUG9zc2libGVDb21wYXJhYmxlT3BlcmF0b3JbXSA9IFtcbiAgICB7XG4gICAgICAgIGtleTogJ2xlc3MnLFxuICAgICAgICBsYWJlbDogJzwnLFxuICAgIH0sXG4gICAge1xuICAgICAgICBrZXk6ICdsZXNzT3JFcXVhbCcsXG4gICAgICAgIGxhYmVsOiAn4omkJyxcbiAgICB9LFxuICAgIHtcbiAgICAgICAga2V5OiAnZXF1YWwnLFxuICAgICAgICBsYWJlbDogJz0nLFxuICAgIH0sXG4gICAge1xuICAgICAgICBrZXk6ICdncmVhdGVyT3JFcXVhbCcsXG4gICAgICAgIGxhYmVsOiAn4omlJyxcbiAgICB9LFxuICAgIHtcbiAgICAgICAga2V5OiAnZ3JlYXRlcicsXG4gICAgICAgIGxhYmVsOiAnPicsXG4gICAgfSxcbl07XG5cbmV4cG9ydCB0eXBlIFBvc3NpYmxlRGlzY3JldGVPcGVyYXRvcktleXMgPSAnaXMnIHwgJ2lzbm90JyB8ICdhbnknIHwgJ25vbmUnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFBvc3NpYmxlRGlzY3JldGVPcGVyYXRvciB7XG4gICAga2V5OiBQb3NzaWJsZURpc2NyZXRlT3BlcmF0b3JLZXlzO1xuICAgIGxhYmVsOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBjb25zdCBwb3NzaWJsZURpc2NyZXRlT3BlcmF0b3JzOiBQb3NzaWJsZURpc2NyZXRlT3BlcmF0b3JbXSA9IFtcbiAgICB7XG4gICAgICAgIGtleTogJ2lzJyxcbiAgICAgICAgbGFiZWw6ICRsb2NhbGl6ZWBlc3RgLFxuICAgIH0sXG4gICAge1xuICAgICAgICBrZXk6ICdpc25vdCcsXG4gICAgICAgIGxhYmVsOiAkbG9jYWxpemVgbidlc3QgcGFzYCxcbiAgICB9LFxuICAgIHtcbiAgICAgICAga2V5OiAnYW55JyxcbiAgICAgICAgbGFiZWw6ICRsb2NhbGl6ZWB0b3VzYCxcbiAgICB9LFxuICAgIHtcbiAgICAgICAga2V5OiAnbm9uZScsXG4gICAgICAgIGxhYmVsOiAkbG9jYWxpemVgYXVjdW5gLFxuICAgIH0sXG5dO1xuIl19
@@ -201,9 +201,9 @@ export class NaturalAbstractFile extends NaturalAbstractController {
201
201
  return !(this.maxSize && item.size > this.maxSize);
202
202
  }
203
203
  }
204
- NaturalAbstractFile.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: NaturalAbstractFile, deps: [{ token: i0.ElementRef }, { token: i1.NaturalFileService }, { token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Directive });
205
- NaturalAbstractFile.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.0", type: NaturalAbstractFile, inputs: { multiple: "multiple", accept: "accept", maxSize: "maxSize", fileSelectionDisabled: "fileSelectionDisabled", selectable: "selectable", broadcast: "broadcast" }, outputs: { fileChange: "fileChange", filesChange: "filesChange" }, host: { listeners: { "change": "onChange($event)" } }, usesInheritance: true, usesOnChanges: true, ngImport: i0 });
206
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: NaturalAbstractFile, decorators: [{
204
+ NaturalAbstractFile.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: NaturalAbstractFile, deps: [{ token: i0.ElementRef }, { token: i1.NaturalFileService }, { token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Directive });
205
+ NaturalAbstractFile.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.1.1", type: NaturalAbstractFile, inputs: { multiple: "multiple", accept: "accept", maxSize: "maxSize", fileSelectionDisabled: "fileSelectionDisabled", selectable: "selectable", broadcast: "broadcast" }, outputs: { fileChange: "fileChange", filesChange: "filesChange" }, host: { listeners: { "change": "onChange($event)" } }, usesInheritance: true, usesOnChanges: true, ngImport: i0 });
206
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: NaturalAbstractFile, decorators: [{
207
207
  type: Directive
208
208
  }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i1.NaturalFileService }, { type: Document, decorators: [{
209
209
  type: Inject,
@@ -4,10 +4,10 @@ import { DOCUMENT } from '@angular/common';
4
4
  import * as i0 from "@angular/core";
5
5
  import * as i1 from "../file.service";
6
6
  import * as i2 from "@angular/platform-browser";
7
- import * as i3 from "../../icon/icon.component";
8
- import * as i4 from "../file-drop.directive";
7
+ import * as i3 from "@angular/common";
8
+ import * as i4 from "../../icon/icon.component";
9
9
  import * as i5 from "@angular/material/core";
10
- import * as i6 from "@angular/common";
10
+ import * as i6 from "../file-drop.directive";
11
11
  import * as i7 from "../../common/pipes/capitalize.pipe";
12
12
  // @dynamic
13
13
  export class FileComponent {
@@ -112,9 +112,9 @@ export class FileComponent {
112
112
  return subject.asObservable();
113
113
  }
114
114
  }
115
- FileComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: FileComponent, deps: [{ token: i1.NaturalFileService }, { token: i2.DomSanitizer }, { token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Component });
116
- FileComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.0", type: FileComponent, selector: "natural-file", inputs: { height: "height", action: "action", backgroundSize: "backgroundSize", accept: "accept", service: "service", model: "model", formCtrl: "formCtrl" }, outputs: { modelChange: "modelChange" }, host: { properties: { "style.height.px": "this.height" } }, usesOnChanges: true, ngImport: i0, template: "<a\n (fileChange)=\"upload($event)\"\n naturalFileDrop\n [selectable]=\"true\"\n [accept]=\"accept\"\n [attr.href]=\"getDownloadLink()\"\n [class.has-action]=\"!!action\"\n [class.suggest-upload]=\"!model && action === 'upload'\"\n [fileSelectionDisabled]=\"action !== 'upload'\"\n [matRippleDisabled]=\"!action\"\n [style.backgroundImage]=\"imagePreview\"\n [style.backgroundSize]=\"backgroundSize\"\n matRipple\n target=\"_blank\"\n>\n <div *ngIf=\"filePreview\" class=\"file-preview\">\n <natural-icon [size]=\"height * 0.33\" name=\"attachment\"></natural-icon>\n {{ filePreview | uppercase }}\n </div>\n\n <div class=\"action-overlay\">\n <natural-icon *ngIf=\"action === 'upload'\" [size]=\"height * 0.66\" name=\"cloud_upload\"></natural-icon>\n <natural-icon *ngIf=\"action === 'download'\" [size]=\"height * 0.66\" name=\"get_app\"></natural-icon>\n {{ action | capitalize }}\n </div>\n</a>\n", styles: [":host{display:flex;flex-direction:row;overflow:hidden;position:relative}:host>a{position:relative;flex:1;background-position:center;background-repeat:no-repeat}:host>a.has-action{cursor:pointer}:host>a.has-action.suggest-upload .action-overlay{opacity:.66}:host>a.has-action:hover .action-overlay,:host>a.has-action.natural-file-over .action-overlay{opacity:1}:host .action-overlay,:host .file-preview{display:flex;flex-direction:column;position:absolute;top:0;left:0;right:0;bottom:0;justify-content:center;align-items:center;font-size:36px;line-height:1.3em;text-align:center}:host .action-overlay{opacity:0}:host .action-overlay>div{opacity:0;position:absolute;top:0;left:0;right:0;bottom:0;display:flex;justify-content:center;align-items:center}\n"], components: [{ type: i3.NaturalIconComponent, selector: "natural-icon", inputs: ["label", "labelColor", "labelPosition", "name", "size"] }], directives: [{ type: i4.NaturalFileDropDirective, selector: ":not([naturalFileSelect])[naturalFileDrop]", outputs: ["fileOver"] }, { type: i5.MatRipple, selector: "[mat-ripple], [matRipple]", inputs: ["matRippleColor", "matRippleUnbounded", "matRippleCentered", "matRippleRadius", "matRippleAnimation", "matRippleDisabled", "matRippleTrigger"], exportAs: ["matRipple"] }, { type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "uppercase": i6.UpperCasePipe, "capitalize": i7.NaturalCapitalizePipe } });
117
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: FileComponent, decorators: [{
115
+ FileComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: FileComponent, deps: [{ token: i1.NaturalFileService }, { token: i2.DomSanitizer }, { token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Component });
116
+ FileComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.1.1", type: FileComponent, selector: "natural-file", inputs: { height: "height", action: "action", backgroundSize: "backgroundSize", accept: "accept", service: "service", model: "model", formCtrl: "formCtrl" }, outputs: { modelChange: "modelChange" }, host: { properties: { "style.height.px": "this.height" } }, usesOnChanges: true, ngImport: i0, template: "<a\n (fileChange)=\"upload($event)\"\n naturalFileDrop\n [selectable]=\"true\"\n [accept]=\"accept\"\n [attr.href]=\"getDownloadLink()\"\n [class.has-action]=\"!!action\"\n [class.suggest-upload]=\"!model && action === 'upload'\"\n [fileSelectionDisabled]=\"action !== 'upload'\"\n [matRippleDisabled]=\"!action\"\n [style.backgroundImage]=\"imagePreview\"\n [style.backgroundSize]=\"backgroundSize\"\n matRipple\n target=\"_blank\"\n>\n <div *ngIf=\"filePreview\" class=\"file-preview\">\n <natural-icon [size]=\"height * 0.33\" name=\"attachment\"></natural-icon>\n {{ filePreview | uppercase }}\n </div>\n\n <div class=\"action-overlay\">\n <natural-icon *ngIf=\"action === 'upload'\" [size]=\"height * 0.66\" name=\"cloud_upload\"></natural-icon>\n <natural-icon *ngIf=\"action === 'download'\" [size]=\"height * 0.66\" name=\"get_app\"></natural-icon>\n {{ action | capitalize }}\n </div>\n</a>\n", styles: [":host{display:flex;flex-direction:row;overflow:hidden;position:relative}:host>a{position:relative;flex:1;background-position:center;background-repeat:no-repeat}:host>a.has-action{cursor:pointer}:host>a.has-action.suggest-upload .action-overlay{opacity:.66}:host>a.has-action:hover .action-overlay,:host>a.has-action.natural-file-over .action-overlay{opacity:1}:host .action-overlay,:host .file-preview{display:flex;flex-direction:column;position:absolute;top:0;left:0;right:0;bottom:0;justify-content:center;align-items:center;font-size:36px;line-height:1.3em;text-align:center}:host .action-overlay{opacity:0}:host .action-overlay>div{opacity:0;position:absolute;top:0;left:0;right:0;bottom:0;display:flex;justify-content:center;align-items:center}\n"], dependencies: [{ kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4.NaturalIconComponent, selector: "natural-icon", inputs: ["label", "labelColor", "labelPosition", "name", "size"] }, { kind: "directive", type: i5.MatRipple, selector: "[mat-ripple], [matRipple]", inputs: ["matRippleColor", "matRippleUnbounded", "matRippleCentered", "matRippleRadius", "matRippleAnimation", "matRippleDisabled", "matRippleTrigger"], exportAs: ["matRipple"] }, { kind: "directive", type: i6.NaturalFileDropDirective, selector: ":not([naturalFileSelect])[naturalFileDrop]", outputs: ["fileOver"] }, { kind: "pipe", type: i3.UpperCasePipe, name: "uppercase" }, { kind: "pipe", type: i7.NaturalCapitalizePipe, name: "capitalize" }] });
117
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: FileComponent, decorators: [{
118
118
  type: Component,
119
119
  args: [{ selector: 'natural-file', template: "<a\n (fileChange)=\"upload($event)\"\n naturalFileDrop\n [selectable]=\"true\"\n [accept]=\"accept\"\n [attr.href]=\"getDownloadLink()\"\n [class.has-action]=\"!!action\"\n [class.suggest-upload]=\"!model && action === 'upload'\"\n [fileSelectionDisabled]=\"action !== 'upload'\"\n [matRippleDisabled]=\"!action\"\n [style.backgroundImage]=\"imagePreview\"\n [style.backgroundSize]=\"backgroundSize\"\n matRipple\n target=\"_blank\"\n>\n <div *ngIf=\"filePreview\" class=\"file-preview\">\n <natural-icon [size]=\"height * 0.33\" name=\"attachment\"></natural-icon>\n {{ filePreview | uppercase }}\n </div>\n\n <div class=\"action-overlay\">\n <natural-icon *ngIf=\"action === 'upload'\" [size]=\"height * 0.66\" name=\"cloud_upload\"></natural-icon>\n <natural-icon *ngIf=\"action === 'download'\" [size]=\"height * 0.66\" name=\"get_app\"></natural-icon>\n {{ action | capitalize }}\n </div>\n</a>\n", styles: [":host{display:flex;flex-direction:row;overflow:hidden;position:relative}:host>a{position:relative;flex:1;background-position:center;background-repeat:no-repeat}:host>a.has-action{cursor:pointer}:host>a.has-action.suggest-upload .action-overlay{opacity:.66}:host>a.has-action:hover .action-overlay,:host>a.has-action.natural-file-over .action-overlay{opacity:1}:host .action-overlay,:host .file-preview{display:flex;flex-direction:column;position:absolute;top:0;left:0;right:0;bottom:0;justify-content:center;align-items:center;font-size:36px;line-height:1.3em;text-align:center}:host .action-overlay{opacity:0}:host .action-overlay>div{opacity:0;position:absolute;top:0;left:0;right:0;bottom:0;display:flex;justify-content:center;align-items:center}\n"] }]
120
120
  }], ctorParameters: function () { return [{ type: i1.NaturalFileService }, { type: i2.DomSanitizer }, { type: Document, decorators: [{
@@ -85,9 +85,9 @@ export class NaturalFileDropDirective extends NaturalAbstractFile {
85
85
  (this.broadcast && this.naturalFileService.filesChanged.observed));
86
86
  }
87
87
  }
88
- NaturalFileDropDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: NaturalFileDropDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive });
89
- NaturalFileDropDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.0", type: NaturalFileDropDirective, selector: ":not([naturalFileSelect])[naturalFileDrop]", outputs: { fileOver: "fileOver" }, host: { listeners: { "drop": "onDrop($event)", "dragover": "onDragOver($event)", "dragleave": "onDragLeave($event)" }, properties: { "class.natural-file-over": "this.fileOverClass" } }, usesInheritance: true, ngImport: i0 });
90
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: NaturalFileDropDirective, decorators: [{
88
+ NaturalFileDropDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: NaturalFileDropDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive });
89
+ NaturalFileDropDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.1.1", type: NaturalFileDropDirective, selector: ":not([naturalFileSelect])[naturalFileDrop]", outputs: { fileOver: "fileOver" }, host: { listeners: { "drop": "onDrop($event)", "dragover": "onDragOver($event)", "dragleave": "onDragLeave($event)" }, properties: { "class.natural-file-over": "this.fileOverClass" } }, usesInheritance: true, ngImport: i0 });
90
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: NaturalFileDropDirective, decorators: [{
91
91
  type: Directive,
92
92
  args: [{
93
93
  selector: ':not([naturalFileSelect])[naturalFileDrop]',
@@ -15,9 +15,9 @@ export class NaturalFileSelectDirective extends NaturalAbstractFile {
15
15
  this.selectable = true;
16
16
  }
17
17
  }
18
- NaturalFileSelectDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: NaturalFileSelectDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive });
19
- NaturalFileSelectDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.0", type: NaturalFileSelectDirective, selector: ":not([naturalFileDrop])[naturalFileSelect]", inputs: { selectable: "selectable" }, usesInheritance: true, ngImport: i0 });
20
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: NaturalFileSelectDirective, decorators: [{
18
+ NaturalFileSelectDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: NaturalFileSelectDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive });
19
+ NaturalFileSelectDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.1.1", type: NaturalFileSelectDirective, selector: ":not([naturalFileDrop])[naturalFileSelect]", inputs: { selectable: "selectable" }, usesInheritance: true, ngImport: i0 });
20
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: NaturalFileSelectDirective, decorators: [{
21
21
  type: Directive,
22
22
  args: [{
23
23
  selector: ':not([naturalFileDrop])[naturalFileSelect]',
@@ -10,10 +10,10 @@ import * as i0 from "@angular/core";
10
10
  const declarations = [NaturalFileDropDirective, NaturalFileSelectDirective, FileComponent];
11
11
  export class NaturalFileModule {
12
12
  }
13
- NaturalFileModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: NaturalFileModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
14
- NaturalFileModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: NaturalFileModule, declarations: [NaturalFileDropDirective, NaturalFileSelectDirective, FileComponent], imports: [CommonModule, NaturalIconModule, MatRippleModule, NaturalCommonModule], exports: [NaturalFileDropDirective, NaturalFileSelectDirective, FileComponent] });
15
- NaturalFileModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: NaturalFileModule, imports: [[CommonModule, NaturalIconModule, MatRippleModule, NaturalCommonModule]] });
16
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: NaturalFileModule, decorators: [{
13
+ NaturalFileModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: NaturalFileModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
14
+ NaturalFileModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.1.1", ngImport: i0, type: NaturalFileModule, declarations: [NaturalFileDropDirective, NaturalFileSelectDirective, FileComponent], imports: [CommonModule, NaturalIconModule, MatRippleModule, NaturalCommonModule], exports: [NaturalFileDropDirective, NaturalFileSelectDirective, FileComponent] });
15
+ NaturalFileModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: NaturalFileModule, imports: [CommonModule, NaturalIconModule, MatRippleModule, NaturalCommonModule] });
16
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: NaturalFileModule, decorators: [{
17
17
  type: NgModule,
18
18
  args: [{
19
19
  imports: [CommonModule, NaturalIconModule, MatRippleModule, NaturalCommonModule],
@@ -21,4 +21,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImpor
21
21
  exports: declarations,
22
22
  }]
23
23
  }] });
24
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uYXR1cmFsL3NyYy9saWIvbW9kdWxlcy9maWxlL2ZpbGUubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUM3QyxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBRXZDLE9BQU8sRUFBQyx3QkFBd0IsRUFBQyxNQUFNLHVCQUF1QixDQUFDO0FBQy9ELE9BQU8sRUFBQywwQkFBMEIsRUFBQyxNQUFNLHlCQUF5QixDQUFDO0FBQ25FLE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSw0QkFBNEIsQ0FBQztBQUN6RCxPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUN0RCxPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFDLG1CQUFtQixFQUFDLE1BQU0seUJBQXlCLENBQUM7O0FBRTVELE1BQU0sWUFBWSxHQUFHLENBQUMsd0JBQXdCLEVBQUUsMEJBQTBCLEVBQUUsYUFBYSxDQUFDLENBQUM7QUFPM0YsTUFBTSxPQUFPLGlCQUFpQjs7OEdBQWpCLGlCQUFpQjsrR0FBakIsaUJBQWlCLGlCQVBSLHdCQUF3QixFQUFFLDBCQUEwQixFQUFFLGFBQWEsYUFHM0UsWUFBWSxFQUFFLGlCQUFpQixFQUFFLGVBQWUsRUFBRSxtQkFBbUIsYUFIN0Qsd0JBQXdCLEVBQUUsMEJBQTBCLEVBQUUsYUFBYTsrR0FPNUUsaUJBQWlCLFlBSmpCLENBQUMsWUFBWSxFQUFFLGlCQUFpQixFQUFFLGVBQWUsRUFBRSxtQkFBbUIsQ0FBQzsyRkFJdkUsaUJBQWlCO2tCQUw3QixRQUFRO21CQUFDO29CQUNOLE9BQU8sRUFBRSxDQUFDLFlBQVksRUFBRSxpQkFBaUIsRUFBRSxlQUFlLEVBQUUsbUJBQW1CLENBQUM7b0JBQ2hGLFlBQVksRUFBRSxZQUFZO29CQUMxQixPQUFPLEVBQUUsWUFBWTtpQkFDeEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbW1vbk1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7TmdNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQge05hdHVyYWxGaWxlRHJvcERpcmVjdGl2ZX0gZnJvbSAnLi9maWxlLWRyb3AuZGlyZWN0aXZlJztcbmltcG9ydCB7TmF0dXJhbEZpbGVTZWxlY3REaXJlY3RpdmV9IGZyb20gJy4vZmlsZS1zZWxlY3QuZGlyZWN0aXZlJztcbmltcG9ydCB7RmlsZUNvbXBvbmVudH0gZnJvbSAnLi9jb21wb25lbnQvZmlsZS5jb21wb25lbnQnO1xuaW1wb3J0IHtOYXR1cmFsSWNvbk1vZHVsZX0gZnJvbSAnLi4vaWNvbi9pY29uLm1vZHVsZSc7XG5pbXBvcnQge01hdFJpcHBsZU1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY29yZSc7XG5pbXBvcnQge05hdHVyYWxDb21tb25Nb2R1bGV9IGZyb20gJy4uL2NvbW1vbi9jb21tb24tbW9kdWxlJztcblxuY29uc3QgZGVjbGFyYXRpb25zID0gW05hdHVyYWxGaWxlRHJvcERpcmVjdGl2ZSwgTmF0dXJhbEZpbGVTZWxlY3REaXJlY3RpdmUsIEZpbGVDb21wb25lbnRdO1xuXG5ATmdNb2R1bGUoe1xuICAgIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIE5hdHVyYWxJY29uTW9kdWxlLCBNYXRSaXBwbGVNb2R1bGUsIE5hdHVyYWxDb21tb25Nb2R1bGVdLFxuICAgIGRlY2xhcmF0aW9uczogZGVjbGFyYXRpb25zLFxuICAgIGV4cG9ydHM6IGRlY2xhcmF0aW9ucyxcbn0pXG5leHBvcnQgY2xhc3MgTmF0dXJhbEZpbGVNb2R1bGUge31cbiJdfQ==
24
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uYXR1cmFsL3NyYy9saWIvbW9kdWxlcy9maWxlL2ZpbGUubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUM3QyxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBRXZDLE9BQU8sRUFBQyx3QkFBd0IsRUFBQyxNQUFNLHVCQUF1QixDQUFDO0FBQy9ELE9BQU8sRUFBQywwQkFBMEIsRUFBQyxNQUFNLHlCQUF5QixDQUFDO0FBQ25FLE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSw0QkFBNEIsQ0FBQztBQUN6RCxPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUN0RCxPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFDLG1CQUFtQixFQUFDLE1BQU0seUJBQXlCLENBQUM7O0FBRTVELE1BQU0sWUFBWSxHQUFHLENBQUMsd0JBQXdCLEVBQUUsMEJBQTBCLEVBQUUsYUFBYSxDQUFDLENBQUM7QUFPM0YsTUFBTSxPQUFPLGlCQUFpQjs7OEdBQWpCLGlCQUFpQjsrR0FBakIsaUJBQWlCLGlCQVBSLHdCQUF3QixFQUFFLDBCQUEwQixFQUFFLGFBQWEsYUFHM0UsWUFBWSxFQUFFLGlCQUFpQixFQUFFLGVBQWUsRUFBRSxtQkFBbUIsYUFIN0Qsd0JBQXdCLEVBQUUsMEJBQTBCLEVBQUUsYUFBYTsrR0FPNUUsaUJBQWlCLFlBSmhCLFlBQVksRUFBRSxpQkFBaUIsRUFBRSxlQUFlLEVBQUUsbUJBQW1COzJGQUl0RSxpQkFBaUI7a0JBTDdCLFFBQVE7bUJBQUM7b0JBQ04sT0FBTyxFQUFFLENBQUMsWUFBWSxFQUFFLGlCQUFpQixFQUFFLGVBQWUsRUFBRSxtQkFBbUIsQ0FBQztvQkFDaEYsWUFBWSxFQUFFLFlBQVk7b0JBQzFCLE9BQU8sRUFBRSxZQUFZO2lCQUN4QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tbW9uTW9kdWxlfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtOZ01vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7TmF0dXJhbEZpbGVEcm9wRGlyZWN0aXZlfSBmcm9tICcuL2ZpbGUtZHJvcC5kaXJlY3RpdmUnO1xuaW1wb3J0IHtOYXR1cmFsRmlsZVNlbGVjdERpcmVjdGl2ZX0gZnJvbSAnLi9maWxlLXNlbGVjdC5kaXJlY3RpdmUnO1xuaW1wb3J0IHtGaWxlQ29tcG9uZW50fSBmcm9tICcuL2NvbXBvbmVudC9maWxlLmNvbXBvbmVudCc7XG5pbXBvcnQge05hdHVyYWxJY29uTW9kdWxlfSBmcm9tICcuLi9pY29uL2ljb24ubW9kdWxlJztcbmltcG9ydCB7TWF0UmlwcGxlTW9kdWxlfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jb3JlJztcbmltcG9ydCB7TmF0dXJhbENvbW1vbk1vZHVsZX0gZnJvbSAnLi4vY29tbW9uL2NvbW1vbi1tb2R1bGUnO1xuXG5jb25zdCBkZWNsYXJhdGlvbnMgPSBbTmF0dXJhbEZpbGVEcm9wRGlyZWN0aXZlLCBOYXR1cmFsRmlsZVNlbGVjdERpcmVjdGl2ZSwgRmlsZUNvbXBvbmVudF07XG5cbkBOZ01vZHVsZSh7XG4gICAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgTmF0dXJhbEljb25Nb2R1bGUsIE1hdFJpcHBsZU1vZHVsZSwgTmF0dXJhbENvbW1vbk1vZHVsZV0sXG4gICAgZGVjbGFyYXRpb25zOiBkZWNsYXJhdGlvbnMsXG4gICAgZXhwb3J0czogZGVjbGFyYXRpb25zLFxufSlcbmV4cG9ydCBjbGFzcyBOYXR1cmFsRmlsZU1vZHVsZSB7fVxuIl19
@@ -34,9 +34,9 @@ export class NaturalFileService {
34
34
  return null;
35
35
  }
36
36
  }
37
- NaturalFileService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: NaturalFileService, deps: [{ token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Injectable });
38
- NaturalFileService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: NaturalFileService, providedIn: 'root' });
39
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: NaturalFileService, decorators: [{
37
+ NaturalFileService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: NaturalFileService, deps: [{ token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Injectable });
38
+ NaturalFileService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: NaturalFileService, providedIn: 'root' });
39
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: NaturalFileService, decorators: [{
40
40
  type: Injectable,
41
41
  args: [{
42
42
  providedIn: 'root',