@3kles/kles-material-dynamicforms 1.1.10 → 1.1.13

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 (95) hide show
  1. package/3kles-kles-material-dynamicforms.metadata.json +1 -1
  2. package/bundles/3kles-kles-material-dynamicforms.umd.js +94 -27
  3. package/bundles/3kles-kles-material-dynamicforms.umd.js.map +1 -1
  4. package/bundles/3kles-kles-material-dynamicforms.umd.min.js +2 -2
  5. package/bundles/3kles-kles-material-dynamicforms.umd.min.js.map +1 -1
  6. package/esm2015/lib/directive/dynamic-field.directive.js +1 -2
  7. package/esm2015/lib/fields/array.component.js +4 -4
  8. package/esm2015/lib/fields/badge.component.js +7 -4
  9. package/esm2015/lib/fields/button-form.component.js +5 -2
  10. package/esm2015/lib/fields/button-submit.component.js +4 -1
  11. package/esm2015/lib/fields/button-toogle-group.component.js +4 -6
  12. package/esm2015/lib/fields/buttonchecker-form.component.js +6 -3
  13. package/esm2015/lib/fields/buttonfile-form.component.js +4 -1
  14. package/esm2015/lib/fields/checkbox.component.js +4 -1
  15. package/esm2015/lib/fields/chip.component.js +4 -1
  16. package/esm2015/lib/fields/color.component.js +4 -1
  17. package/esm2015/lib/fields/date.component.js +4 -1
  18. package/esm2015/lib/fields/field.abstract.js +11 -2
  19. package/esm2015/lib/fields/group.component.js +4 -1
  20. package/esm2015/lib/fields/icon.component.js +4 -1
  21. package/esm2015/lib/fields/input.clearable.component.js +5 -2
  22. package/esm2015/lib/fields/input.component.js +4 -1
  23. package/esm2015/lib/fields/label.component.js +4 -1
  24. package/esm2015/lib/fields/line-break.component.js +4 -1
  25. package/esm2015/lib/fields/link.component.js +4 -1
  26. package/esm2015/lib/fields/list-field.component.js +4 -1
  27. package/esm2015/lib/fields/radio.component.js +6 -3
  28. package/esm2015/lib/fields/select.component.js +8 -5
  29. package/esm2015/lib/fields/select.search.component.js +10 -10
  30. package/esm2015/lib/fields/selection-list.component.js +4 -1
  31. package/esm2015/lib/fields/slide-toggle.component.js +6 -3
  32. package/esm2015/lib/fields/text.component.js +4 -1
  33. package/esm2015/lib/fields/textarea.component.js +6 -3
  34. package/esm2015/lib/forms/buttonfile-control.component.js +1 -5
  35. package/esm5/lib/directive/dynamic-field.directive.js +1 -2
  36. package/esm5/lib/fields/array.component.js +4 -4
  37. package/esm5/lib/fields/badge.component.js +7 -4
  38. package/esm5/lib/fields/button-form.component.js +5 -2
  39. package/esm5/lib/fields/button-submit.component.js +4 -1
  40. package/esm5/lib/fields/button-toogle-group.component.js +4 -6
  41. package/esm5/lib/fields/buttonchecker-form.component.js +5 -2
  42. package/esm5/lib/fields/buttonfile-form.component.js +4 -1
  43. package/esm5/lib/fields/checkbox.component.js +4 -1
  44. package/esm5/lib/fields/chip.component.js +4 -1
  45. package/esm5/lib/fields/color.component.js +4 -1
  46. package/esm5/lib/fields/date.component.js +4 -1
  47. package/esm5/lib/fields/field.abstract.js +9 -2
  48. package/esm5/lib/fields/group.component.js +4 -1
  49. package/esm5/lib/fields/icon.component.js +4 -1
  50. package/esm5/lib/fields/input.clearable.component.js +5 -2
  51. package/esm5/lib/fields/input.component.js +4 -1
  52. package/esm5/lib/fields/label.component.js +4 -1
  53. package/esm5/lib/fields/line-break.component.js +4 -1
  54. package/esm5/lib/fields/link.component.js +4 -1
  55. package/esm5/lib/fields/list-field.component.js +4 -1
  56. package/esm5/lib/fields/radio.component.js +6 -3
  57. package/esm5/lib/fields/select.component.js +5 -2
  58. package/esm5/lib/fields/select.search.component.js +7 -7
  59. package/esm5/lib/fields/selection-list.component.js +4 -1
  60. package/esm5/lib/fields/slide-toggle.component.js +6 -3
  61. package/esm5/lib/fields/text.component.js +4 -1
  62. package/esm5/lib/fields/textarea.component.js +6 -3
  63. package/esm5/lib/forms/buttonfile-control.component.js +1 -5
  64. package/fesm2015/3kles-kles-material-dynamicforms.js +105 -36
  65. package/fesm2015/3kles-kles-material-dynamicforms.js.map +1 -1
  66. package/fesm5/3kles-kles-material-dynamicforms.js +96 -29
  67. package/fesm5/3kles-kles-material-dynamicforms.js.map +1 -1
  68. package/lib/fields/array.component.d.ts +3 -2
  69. package/lib/fields/badge.component.d.ts +4 -3
  70. package/lib/fields/button-form.component.d.ts +3 -2
  71. package/lib/fields/button-submit.component.d.ts +3 -2
  72. package/lib/fields/button-toogle-group.component.d.ts +3 -2
  73. package/lib/fields/buttonchecker-form.component.d.ts +3 -2
  74. package/lib/fields/buttonfile-form.component.d.ts +3 -2
  75. package/lib/fields/checkbox.component.d.ts +3 -2
  76. package/lib/fields/chip.component.d.ts +3 -2
  77. package/lib/fields/color.component.d.ts +3 -2
  78. package/lib/fields/date.component.d.ts +3 -2
  79. package/lib/fields/field.abstract.d.ts +5 -2
  80. package/lib/fields/group.component.d.ts +3 -2
  81. package/lib/fields/icon.component.d.ts +3 -2
  82. package/lib/fields/input.clearable.component.d.ts +3 -2
  83. package/lib/fields/input.component.d.ts +3 -2
  84. package/lib/fields/label.component.d.ts +3 -2
  85. package/lib/fields/line-break.component.d.ts +3 -2
  86. package/lib/fields/link.component.d.ts +3 -2
  87. package/lib/fields/list-field.component.d.ts +3 -2
  88. package/lib/fields/radio.component.d.ts +3 -2
  89. package/lib/fields/select.component.d.ts +3 -2
  90. package/lib/fields/select.search.component.d.ts +0 -1
  91. package/lib/fields/selection-list.component.d.ts +3 -2
  92. package/lib/fields/slide-toggle.component.d.ts +3 -2
  93. package/lib/fields/text.component.d.ts +3 -2
  94. package/lib/fields/textarea.component.d.ts +4 -3
  95. package/package.json +1 -1
@@ -1,6 +1,6 @@
1
1
  import { __decorate, __extends } from "tslib";
2
- import { Component } from "@angular/core";
3
- import { KlesFieldAbstract } from "./field.abstract";
2
+ import { Component } from '@angular/core';
3
+ import { KlesFieldAbstract } from './field.abstract';
4
4
  var KlesFormTextareaComponent = /** @class */ (function (_super) {
5
5
  __extends(KlesFormTextareaComponent, _super);
6
6
  function KlesFormTextareaComponent() {
@@ -9,6 +9,9 @@ var KlesFormTextareaComponent = /** @class */ (function (_super) {
9
9
  KlesFormTextareaComponent.prototype.ngOnInit = function () {
10
10
  _super.prototype.ngOnInit.call(this);
11
11
  };
12
+ KlesFormTextareaComponent.prototype.ngOnDestroy = function () {
13
+ _super.prototype.ngOnDestroy.call(this);
14
+ };
12
15
  KlesFormTextareaComponent = __decorate([
13
16
  Component({
14
17
  selector: 'kles-form-textarea',
@@ -19,4 +22,4 @@ var KlesFormTextareaComponent = /** @class */ (function (_super) {
19
22
  return KlesFormTextareaComponent;
20
23
  }(KlesFieldAbstract));
21
24
  export { KlesFormTextareaComponent };
22
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dGFyZWEuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQDNrbGVzL2tsZXMtbWF0ZXJpYWwtZHluYW1pY2Zvcm1zLyIsInNvdXJjZXMiOlsibGliL2ZpZWxkcy90ZXh0YXJlYS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDbEQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFzQnJEO0lBQStDLDZDQUFpQjtJQUFoRTs7SUFJQSxDQUFDO0lBSEcsNENBQVEsR0FBUjtRQUNJLGlCQUFNLFFBQVEsV0FBRSxDQUFDO0lBQ3JCLENBQUM7SUFIUSx5QkFBeUI7UUFwQnJDLFNBQVMsQ0FBQztZQUNQLFFBQVEsRUFBRSxvQkFBb0I7WUFDOUIsUUFBUSxFQUFFLG8vQkFlVDtxQkFDUSxvQ0FBb0M7U0FDaEQsQ0FBQztPQUNXLHlCQUF5QixDQUlyQztJQUFELGdDQUFDO0NBQUEsQUFKRCxDQUErQyxpQkFBaUIsR0FJL0Q7U0FKWSx5QkFBeUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBLbGVzRmllbGRBYnN0cmFjdCB9IGZyb20gXCIuL2ZpZWxkLmFic3RyYWN0XCI7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAna2xlcy1mb3JtLXRleHRhcmVhJyxcbiAgICB0ZW1wbGF0ZTogYFxuICAgIDxtYXQtZm9ybS1maWVsZCBbZm9ybUdyb3VwXT1cImdyb3VwXCIgY2xhc3M9XCJmb3JtLWVsZW1lbnRcIj5cbiAgICAgICAgPHRleHRhcmVhIG1hdElucHV0IG1hdFRvb2x0aXA9XCJ7e2ZpZWxkLnRvb2x0aXB9fVwiIFthdHRyLmlkXT1cImZpZWxkLmlkXCIgW25nQ2xhc3NdPVwiZmllbGQubmdDbGFzc1wiIFxuICAgICAgICBbZm9ybUNvbnRyb2xOYW1lXT1cImZpZWxkLm5hbWVcIiBjZGtUZXh0YXJlYUF1dG9zaXplIFtwbGFjZWhvbGRlcl09XCJmaWVsZC5wbGFjZWhvbGRlciB8IHRyYW5zbGF0ZVwiXG4gICAgICAgIFtjZGtBdXRvc2l6ZU1pblJvd3NdPVwiZmllbGQudGV4dGFyZWFBdXRvU2l6ZT8ubWluUm93c1wiIFtjZGtBdXRvc2l6ZU1heFJvd3NdPVwiZmllbGQudGV4dGFyZWFBdXRvU2l6ZT8ubWF4Um93c1wiICBbbWF4bGVuZ3RoXT1cImZpZWxkLm1heExlbmd0aFwiPlxuICAgICAgICA8L3RleHRhcmVhPlxuXG5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgdmFsaWRhdGlvbiBvZiBmaWVsZC52YWxpZGF0aW9ucztcIiBuZ1Byb2plY3RBcz1cIm1hdC1lcnJvclwiPlxuICAgICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj1cImdyb3VwLmdldChmaWVsZC5uYW1lKS5oYXNFcnJvcih2YWxpZGF0aW9uLm5hbWUpXCI+e3t2YWxpZGF0aW9uLm1lc3NhZ2UgfCB0cmFuc2xhdGV9fTwvbWF0LWVycm9yPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgdmFsaWRhdGlvbiBvZiBmaWVsZC5hc3luY1ZhbGlkYXRpb25zO1wiIG5nUHJvamVjdEFzPVwibWF0LWVycm9yXCI+XG4gICAgICAgICAgICA8bWF0LWVycm9yICpuZ0lmPVwiZ3JvdXAuZ2V0KGZpZWxkLm5hbWUpLmhhc0Vycm9yKHZhbGlkYXRpb24ubmFtZSlcIj57e3ZhbGlkYXRpb24ubWVzc2FnZSB8IHRyYW5zbGF0ZX19PC9tYXQtZXJyb3I+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgYCxcbiAgICBzdHlsZXM6IFsnbWF0LWZvcm0tZmllbGQge3dpZHRoOiBjYWxjKDEwMCUpfSddXG59KVxuZXhwb3J0IGNsYXNzIEtsZXNGb3JtVGV4dGFyZWFDb21wb25lbnQgZXh0ZW5kcyBLbGVzRmllbGRBYnN0cmFjdCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIHN1cGVyLm5nT25Jbml0KCk7XG4gICAgfVxufSJdfQ==
25
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dGFyZWEuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQDNrbGVzL2tsZXMtbWF0ZXJpYWwtZHluYW1pY2Zvcm1zLyIsInNvdXJjZXMiOlsibGliL2ZpZWxkcy90ZXh0YXJlYS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQXFCLE1BQU0sZUFBZSxDQUFDO0FBQzdELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBc0JyRDtJQUErQyw2Q0FBaUI7SUFBaEU7O0lBUUEsQ0FBQztJQVBHLDRDQUFRLEdBQVI7UUFDSSxpQkFBTSxRQUFRLFdBQUUsQ0FBQztJQUNyQixDQUFDO0lBRUQsK0NBQVcsR0FBWDtRQUNJLGlCQUFNLFdBQVcsV0FBRSxDQUFDO0lBQ3hCLENBQUM7SUFQUSx5QkFBeUI7UUFwQnJDLFNBQVMsQ0FBQztZQUNQLFFBQVEsRUFBRSxvQkFBb0I7WUFDOUIsUUFBUSxFQUFFLG8vQkFlVDtxQkFDUSxvQ0FBb0M7U0FDaEQsQ0FBQztPQUNXLHlCQUF5QixDQVFyQztJQUFELGdDQUFDO0NBQUEsQUFSRCxDQUErQyxpQkFBaUIsR0FRL0Q7U0FSWSx5QkFBeUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uRGVzdHJveSwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBLbGVzRmllbGRBYnN0cmFjdCB9IGZyb20gJy4vZmllbGQuYWJzdHJhY3QnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2tsZXMtZm9ybS10ZXh0YXJlYScsXG4gICAgdGVtcGxhdGU6IGBcbiAgICA8bWF0LWZvcm0tZmllbGQgW2Zvcm1Hcm91cF09XCJncm91cFwiIGNsYXNzPVwiZm9ybS1lbGVtZW50XCI+XG4gICAgICAgIDx0ZXh0YXJlYSBtYXRJbnB1dCBtYXRUb29sdGlwPVwie3tmaWVsZC50b29sdGlwfX1cIiBbYXR0ci5pZF09XCJmaWVsZC5pZFwiIFtuZ0NsYXNzXT1cImZpZWxkLm5nQ2xhc3NcIiBcbiAgICAgICAgW2Zvcm1Db250cm9sTmFtZV09XCJmaWVsZC5uYW1lXCIgY2RrVGV4dGFyZWFBdXRvc2l6ZSBbcGxhY2Vob2xkZXJdPVwiZmllbGQucGxhY2Vob2xkZXIgfCB0cmFuc2xhdGVcIlxuICAgICAgICBbY2RrQXV0b3NpemVNaW5Sb3dzXT1cImZpZWxkLnRleHRhcmVhQXV0b1NpemU/Lm1pblJvd3NcIiBbY2RrQXV0b3NpemVNYXhSb3dzXT1cImZpZWxkLnRleHRhcmVhQXV0b1NpemU/Lm1heFJvd3NcIiAgW21heGxlbmd0aF09XCJmaWVsZC5tYXhMZW5ndGhcIj5cbiAgICAgICAgPC90ZXh0YXJlYT5cblxuXG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IHZhbGlkYXRpb24gb2YgZmllbGQudmFsaWRhdGlvbnM7XCIgbmdQcm9qZWN0QXM9XCJtYXQtZXJyb3JcIj5cbiAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9XCJncm91cC5nZXQoZmllbGQubmFtZSkuaGFzRXJyb3IodmFsaWRhdGlvbi5uYW1lKVwiPnt7dmFsaWRhdGlvbi5tZXNzYWdlIHwgdHJhbnNsYXRlfX08L21hdC1lcnJvcj5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IHZhbGlkYXRpb24gb2YgZmllbGQuYXN5bmNWYWxpZGF0aW9ucztcIiBuZ1Byb2plY3RBcz1cIm1hdC1lcnJvclwiPlxuICAgICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj1cImdyb3VwLmdldChmaWVsZC5uYW1lKS5oYXNFcnJvcih2YWxpZGF0aW9uLm5hbWUpXCI+e3t2YWxpZGF0aW9uLm1lc3NhZ2UgfCB0cmFuc2xhdGV9fTwvbWF0LWVycm9yPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgIGAsXG4gICAgc3R5bGVzOiBbJ21hdC1mb3JtLWZpZWxkIHt3aWR0aDogY2FsYygxMDAlKX0nXVxufSlcbmV4cG9ydCBjbGFzcyBLbGVzRm9ybVRleHRhcmVhQ29tcG9uZW50IGV4dGVuZHMgS2xlc0ZpZWxkQWJzdHJhY3QgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIHN1cGVyLm5nT25Jbml0KCk7XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIHN1cGVyLm5nT25EZXN0cm95KCk7XG4gICAgfVxufVxuIl19
@@ -47,10 +47,6 @@ var KlesButtonFileComponent = /** @class */ (function (_super) {
47
47
  files = input.files;
48
48
  fileContent = [];
49
49
  if (!(files && files.length)) return [3 /*break*/, 7];
50
- console.log('Filename: ' + files[0].name);
51
- console.log('Type: ' + files[0].type);
52
- console.log('Size: ' + files[0].size + ' bytes');
53
- console.log('Files=', files.length);
54
50
  i = 0;
55
51
  _c.label = 1;
56
52
  case 1:
@@ -120,4 +116,4 @@ var KlesButtonFileComponent = /** @class */ (function (_super) {
120
116
  return KlesButtonFileComponent;
121
117
  }(KlesButtonComponent));
122
118
  export { KlesButtonFileComponent };
123
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnV0dG9uZmlsZS1jb250cm9sLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0Aza2xlcy9rbGVzLW1hdGVyaWFsLWR5bmFtaWNmb3Jtcy8iLCJzb3VyY2VzIjpbImxpYi9mb3Jtcy9idXR0b25maWxlLWNvbnRyb2wuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLFVBQVUsRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekUsT0FBTyxFQUF3QixpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3pFLE9BQU8sRUFBVyxtQkFBbUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBMEIxRTtJQUE2QywyQ0FBbUI7SUFBaEU7UUFBQSxxRUE4RUM7UUE1RUcsWUFBTSxHQUFHLEtBQUssQ0FBQztRQUNmLGdCQUFVLEdBQUcsSUFBSSxVQUFVLEVBQUUsQ0FBQztRQUU5QixXQUFLLEdBQWdCLEVBQUUsQ0FBQzs7SUF5RTVCLENBQUM7Z0NBOUVZLHVCQUF1QjtJQU9oQyx1Q0FBSyxHQUFMLFVBQU0sS0FBSztRQUNQLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQ3BDLENBQUM7SUFFRCw0Q0FBVSxHQUFWLFVBQVcsS0FBYztRQUNyQixJQUFJLENBQUMsS0FBSyxFQUFFO1lBQ1IsS0FBSyxHQUFHLEVBQUUsS0FBSyxFQUFFLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztTQUNoQztRQUNELElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxFQUFFO1lBQ2QsS0FBSyxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDO1NBQzNCO1FBQ0QsSUFBSSxLQUFLLENBQUMsUUFBUSxFQUFFO1lBQ2hCLElBQU0sUUFBUSxHQUFHLEtBQUssQ0FBQyxRQUFRLENBQUM7WUFDaEMsSUFBSSxDQUFDLEtBQUssR0FBRyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENB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SW5pdCwgZm9yd2FyZFJlZiwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb250cm9sVmFsdWVBY2Nlc3NvciwgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBJQnV0dG9uLCBLbGVzQnV0dG9uQ29tcG9uZW50IH0gZnJvbSAnLi9idXR0b24tY29udHJvbC5jb21wb25lbnQnO1xuXG5leHBvcnQgaW50ZXJmYWNlIElCdXR0b25GaWxlIGV4dGVuZHMgSUJ1dHRvbiB7XG4gICAgZmlsZUNvbnRlbnQ/OiBzdHJpbmcgfCBzdHJpbmdbXTtcbn1cblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdrbGVzLWJ1dHRvbi1maWxlJyxcbiAgICB0ZW1wbGF0ZTogYFxuICAgICAgICA8aW5wdXQgdHlwZT1cImZpbGVcIiAjZmlsZSBzdHlsZT1cImRpc3BsYXk6IG5vbmVcIiBhY2NlcHQ9XCJ7e2FjY2VwdH19XCIgKGNoYW5nZSk9XCJvbkZpbGVTZWxlY3QoJGV2ZW50LnRhcmdldClcIiBtdWx0aXBsZSAvPlxuICAgICAgICA8a2xlcy1idXR0b24gXG4gICAgICAgICAgICBbY2xhc3NCdXR0b25dPVwiY2xhc3NCdXR0b25cIiBcbiAgICAgICAgICAgIFtuYW1lXT1cIm5hbWVcIiBbbGFiZWxdPVwibGFiZWxcIiBbY29sb3JdPVwiY29sb3JcIiBcbiAgICAgICAgICAgIFtpY29uXT1cImljb25cIiBbaWNvblN2Z109XCJpY29uU3ZnXCJcbiAgICAgICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgICAgICAgICBbdmFsdWVdPVwidmFsdWVcIiAoY2xpY2spPVwiY2xpY2soJGV2ZW50KVwiPlxuICAgICAgICA8L2tsZXMtYnV0dG9uPlxuICAgIGAsXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgICAgICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gS2xlc0J1dHRvbkZpbGVDb21wb25lbnQpLFxuICAgICAgICAgICAgbXVsdGk6IHRydWVcbiAgICAgICAgfVxuICAgIF1cbn0pXG5leHBvcnQgY2xhc3MgS2xlc0J1dHRvbkZpbGVDb21wb25lbnQgZXh0ZW5kcyBLbGVzQnV0dG9uQ29tcG9uZW50IGltcGxlbWVudHMgQ29udHJvbFZhbHVlQWNjZXNzb3Ige1xuICAgIEBWaWV3Q2hpbGQoJ2ZpbGUnKSBmaWxlO1xuICAgIGFjY2VwdCA9ICcqLionO1xuICAgIGZpbGVSZWFkZXIgPSBuZXcgRmlsZVJlYWRlcigpO1xuICAgIGZpbGVDb250ZW50OiBzdHJpbmcgfCBzdHJpbmdbXTtcbiAgICB2YWx1ZTogSUJ1dHRvbkZpbGUgPSB7fTtcblxuICAgIGNsaWNrKGV2ZW50KSB7XG4gICAgICAgIHRoaXMuZmlsZS5uYXRpdmVFbGVtZW50LmNsaWNrKCk7XG4gICAgfVxuXG4gICAgd3JpdGVWYWx1ZSh2YWx1ZTogSUJ1dHRvbik6IHZvaWQge1xuICAgICAgICBpZiAoIXZhbHVlKSB7XG4gICAgICAgICAgICB2YWx1ZSA9IHsgZXZlbnQ6IHRoaXMubmFtZSB9O1xuICAgICAgICB9XG4gICAgICAgIGlmICghdmFsdWUuZXZlbnQpIHtcbiAgICAgICAgICAgIHZhbHVlLmV2ZW50ID0gdGhpcy5uYW1lO1xuICAgICAgICB9XG4gICAgICAgIGlmICh2YWx1ZS51aUJ1dHRvbikge1xuICAgICAgICAgICAgY29uc3QgdWlCdXR0b24gPSB2YWx1ZS51aUJ1dHRvbjtcbiAgICAgICAgICAgIHRoaXMubGFiZWwgPSAodWlCdXR0b24ubGFiZWwpID8gdWlCdXR0b24ubGFiZWwgOiB0aGlzLmxhYmVsO1xuICAgICAgICAgICAgdGhpcy5jb2xvciA9ICh1aUJ1dHRvbi5jb2xvcikgPyB1aUJ1dHRvbi5jb2xvciA6IHRoaXMuY29sb3I7XG4gICAgICAgICAgICB0aGlzLmljb24gPSAodWlCdXR0b24uaWNvbikgPyB1aUJ1dHRvbi5pY29uIDogdGhpcy5pY29uO1xuICAgICAgICAgICAgdGhpcy5pY29uU3ZnID0gKHVpQnV0dG9uLmljb25TdmcpID8gdWlCdXR0b24uaWNvblN2ZyA6IHRoaXMuaWNvblN2ZztcbiAgICAgICAgICAgIHRoaXMuZGlzYWJsZWQgPSAodWlCdXR0b24uZGlzYWJsZWQpID8gdWlCdXR0b24uZGlzYWJsZWQgOiB0aGlzLmRpc2FibGVkO1xuICAgICAgICAgICAgdGhpcy5jbGFzc0J1dHRvbiA9ICh1aUJ1dHRvbi5jbGFzcykgPyB1aUJ1dHRvbi5jbGFzcyA6IHRoaXMuY2xhc3NCdXR0b247XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy52YWx1ZSA9IHZhbHVlO1xuICAgIH1cblxuXG4gICAgb25GaWxlTG9hZChmaWxlTG9hZGVkRXZlbnQpIHtcbiAgICAgICAgY29uc3QgdGV4dEZyb21GaWxlTG9hZGVkID0gZmlsZUxvYWRlZEV2ZW50LnRhcmdldC5yZXN1bHQ7XG4gICAgICAgIHRoaXMuZmlsZUNvbnRlbnQgPSB0ZXh0RnJvbUZpbGVMb2FkZWQ7XG4gICAgfVxuXG4gICAgYXN5bmMgb25GaWxlU2VsZWN0KGlucHV0OiBIVE1MSW5wdXRFbGVtZW50KSB7XG4gICAgICAgIGlmIChpbnB1dC5maWxlcy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICBjb25zdCBmaWxlcyA9IGlucHV0LmZpbGVzO1xuICAgICAgICAgICAgbGV0IGZpbGVDb250ZW50ID0gW107XG4gICAgICAgICAgICBpZiAoZmlsZXMgJiYgZmlsZXMubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgY29uc29sZS5sb2coJ0ZpbGVuYW1lOiAnICsgZmlsZXNbMF0ubmFtZSk7XG4gICAgICAgICAgICAgICAgY29uc29sZS5sb2coJ1R5cGU6ICcgKyBmaWxlc1swXS50eXBlKTtcbiAgICAgICAgICAgICAgICBjb25zb2xlLmxvZygnU2l6ZTogJyArIGZpbGVzWzBdLnNpemUgKyAnIGJ5dGVzJyk7XG5cbiAgICAgICAgICAgICAgICBjb25zb2xlLmxvZygnRmlsZXM9JywgZmlsZXMubGVuZ3RoKTtcblxuICAgICAgICAgICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgZmlsZXMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZpbGVDb250ZW50W2ldID0gYXdhaXQgdGhpcy5yZWFkVXBsb2FkZWRGaWxlKGZpbGVzW2ldKTtcbiAgICAgICAgICAgICAgICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmIChmaWxlQ29udGVudC5sZW5ndGggPT09IDEpIHtcbiAgICAgICAgICAgICAgICAgICAgZmlsZUNvbnRlbnQgPSBmaWxlQ29udGVudFswXTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0aGlzLnZhbHVlLmV2ZW50ID0gdGhpcy5uYW1lO1xuICAgICAgICAgICAgdGhpcy52YWx1ZS5maWxlQ29udGVudCA9IGZpbGVDb250ZW50O1xuICAgICAgICAgICAgdGhpcy5vbkNoYW5nZSh0aGlzLnZhbHVlKTtcbiAgICAgICAgICAgIGlucHV0LnZhbHVlID0gJyc7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICByZWFkVXBsb2FkZWRGaWxlKGlucHV0RmlsZSk6IFByb21pc2U8YW55PiB7XG4gICAgICAgIGNvbnN0IHRlbXBvcmFyeUZpbGVSZWFkZXIgPSBuZXcgRmlsZVJlYWRlcigpO1xuICAgICAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgICAgICAgICAgdGVtcG9yYXJ5RmlsZVJlYWRlci5vbmVycm9yID0gKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRlbXBvcmFyeUZpbGVSZWFkZXIuYWJvcnQoKTtcbiAgICAgICAgICAgICAgICBjb25zdCBlcnJvcjogRE9NRXhjZXB0aW9uID0gbmV3IERPTUV4Y2VwdGlvbignUHJvYmxlbSBwYXJzaW5nIGlucHV0IGZpbGUuJyk7XG4gICAgICAgICAgICAgICAgcmVqZWN0KGVycm9yKTtcbiAgICAgICAgICAgIH07XG4gICAgICAgICAgICB0ZW1wb3JhcnlGaWxlUmVhZGVyLm9ubG9hZCA9ICgpID0+IHtcbiAgICAgICAgICAgICAgICByZXNvbHZlKHRlbXBvcmFyeUZpbGVSZWFkZXIucmVzdWx0KTtcbiAgICAgICAgICAgIH07XG4gICAgICAgICAgICB0ZW1wb3JhcnlGaWxlUmVhZGVyLnJlYWRBc0FycmF5QnVmZmVyKGlucHV0RmlsZSk7XG4gICAgICAgIH0pO1xuICAgIH1cbn0iXX0=
119
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnV0dG9uZmlsZS1jb250cm9sLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0Aza2xlcy9rbGVzLW1hdGVyaWFsLWR5bmFtaWNmb3Jtcy8iLCJzb3VyY2VzIjpbImxpYi9mb3Jtcy9idXR0b25maWxlLWNvbnRyb2wuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLFVBQVUsRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekUsT0FBTyxFQUF3QixpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3pFLE9BQU8sRUFBVyxtQkFBbUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBMEIxRTtJQUE2QywyQ0FBbUI7SUFBaEU7UUFBQSxxRUF3RUM7UUF0RUcsWUFBTSxHQUFHLEtBQUssQ0FBQztRQUNmLGdCQUFVLEdBQUcsSUFBSSxVQUFVLEVBQUUsQ0FBQztRQUU5QixXQUFLLEdBQWdCLEVBQUUsQ0FBQzs7SUFtRTVCLENBQUM7Z0NBeEVZLHVCQUF1QjtJQU9oQyx1Q0FBSyxHQUFMLFVBQU0sS0FBSztRQUNQLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQ3BDLENBQUM7SUFFRCw0Q0FBVSxHQUFWLFVBQVcsS0FBYztRQUNyQixJQUFJLENBQUMsS0FBSyxFQUFFO1lBQ1IsS0FBSyxHQUFHLEVBQUUsS0FBSyxFQUFFLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztTQUNoQztRQUNELElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxFQUFFO1lBQ2QsS0FBSyxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDO1NBQzNCO1FBQ0QsSUFBSSxLQUFLLENBQUMsUUFBUSxFQUFFO1lBQ2hCLElBQU0sUUFBUSxHQUFHLEtBQUssQ0FBQyxRQUFRLENBQUM7WUFDaEMsSUFBSSxDQUFDLEtBQUssR0FBRyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENB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QUFDLENBQUM7Z0JBQzVFLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUNsQixDQUFDLENBQUM7WUFDRixtQkFBbUIsQ0FBQyxNQUFNLEdBQUc7Z0JBQ3pCLE9BQU8sQ0FBQyxtQkFBbUIsQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUN4QyxDQUFDLENBQUM7WUFDRixtQkFBbUIsQ0FBQyxpQkFBaUIsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUNyRCxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7O0lBdEVrQjtRQUFsQixTQUFTLENBQUMsTUFBTSxDQUFDO3lEQUFNO0lBRGYsdUJBQXVCO1FBcEJuQyxTQUFTLENBQUM7WUFDUCxRQUFRLEVBQUUsa0JBQWtCO1lBQzVCLFFBQVEsRUFBRSw4YkFTVDtZQUNELFNBQVMsRUFBRTtnQkFDUDtvQkFDSSxPQUFPLEVBQUUsaUJBQWlCO29CQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLGNBQU0sT0FBQSx5QkFBdUIsRUFBdkIsQ0FBdUIsQ0FBQztvQkFDdEQsS0FBSyxFQUFFLElBQUk7aUJBQ2Q7YUFDSjtTQUNKLENBQUM7T0FDVyx1QkFBdUIsQ0F3RW5DO0lBQUQsOEJBQUM7Q0FBQSxBQXhFRCxDQUE2QyxtQkFBbUIsR0F3RS9EO1NBeEVZLHVCQUF1QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBmb3J3YXJkUmVmLCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IElCdXR0b24sIEtsZXNCdXR0b25Db21wb25lbnQgfSBmcm9tICcuL2J1dHRvbi1jb250cm9sLmNvbXBvbmVudCc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUJ1dHRvbkZpbGUgZXh0ZW5kcyBJQnV0dG9uIHtcbiAgICBmaWxlQ29udGVudD86IHN0cmluZyB8IHN0cmluZ1tdO1xufVxuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2tsZXMtYnV0dG9uLWZpbGUnLFxuICAgIHRlbXBsYXRlOiBgXG4gICAgICAgIDxpbnB1dCB0eXBlPVwiZmlsZVwiICNmaWxlIHN0eWxlPVwiZGlzcGxheTogbm9uZVwiIGFjY2VwdD1cInt7YWNjZXB0fX1cIiAoY2hhbmdlKT1cIm9uRmlsZVNlbGVjdCgkZXZlbnQudGFyZ2V0KVwiIG11bHRpcGxlIC8+XG4gICAgICAgIDxrbGVzLWJ1dHRvbiBcbiAgICAgICAgICAgIFtjbGFzc0J1dHRvbl09XCJjbGFzc0J1dHRvblwiIFxuICAgICAgICAgICAgW25hbWVdPVwibmFtZVwiIFtsYWJlbF09XCJsYWJlbFwiIFtjb2xvcl09XCJjb2xvclwiIFxuICAgICAgICAgICAgW2ljb25dPVwiaWNvblwiIFtpY29uU3ZnXT1cImljb25TdmdcIlxuICAgICAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAgICAgICAgIFt2YWx1ZV09XCJ2YWx1ZVwiIChjbGljayk9XCJjbGljaygkZXZlbnQpXCI+XG4gICAgICAgIDwva2xlcy1idXR0b24+XG4gICAgYCxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgICAgICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBLbGVzQnV0dG9uRmlsZUNvbXBvbmVudCksXG4gICAgICAgICAgICBtdWx0aTogdHJ1ZVxuICAgICAgICB9XG4gICAgXVxufSlcbmV4cG9ydCBjbGFzcyBLbGVzQnV0dG9uRmlsZUNvbXBvbmVudCBleHRlbmRzIEtsZXNCdXR0b25Db21wb25lbnQgaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciB7XG4gICAgQFZpZXdDaGlsZCgnZmlsZScpIGZpbGU7XG4gICAgYWNjZXB0ID0gJyouKic7XG4gICAgZmlsZVJlYWRlciA9IG5ldyBGaWxlUmVhZGVyKCk7XG4gICAgZmlsZUNvbnRlbnQ6IHN0cmluZyB8IHN0cmluZ1tdO1xuICAgIHZhbHVlOiBJQnV0dG9uRmlsZSA9IHt9O1xuXG4gICAgY2xpY2soZXZlbnQpIHtcbiAgICAgICAgdGhpcy5maWxlLm5hdGl2ZUVsZW1lbnQuY2xpY2soKTtcbiAgICB9XG5cbiAgICB3cml0ZVZhbHVlKHZhbHVlOiBJQnV0dG9uKTogdm9pZCB7XG4gICAgICAgIGlmICghdmFsdWUpIHtcbiAgICAgICAgICAgIHZhbHVlID0geyBldmVudDogdGhpcy5uYW1lIH07XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCF2YWx1ZS5ldmVudCkge1xuICAgICAgICAgICAgdmFsdWUuZXZlbnQgPSB0aGlzLm5hbWU7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHZhbHVlLnVpQnV0dG9uKSB7XG4gICAgICAgICAgICBjb25zdCB1aUJ1dHRvbiA9IHZhbHVlLnVpQnV0dG9uO1xuICAgICAgICAgICAgdGhpcy5sYWJlbCA9ICh1aUJ1dHRvbi5sYWJlbCkgPyB1aUJ1dHRvbi5sYWJlbCA6IHRoaXMubGFiZWw7XG4gICAgICAgICAgICB0aGlzLmNvbG9yID0gKHVpQnV0dG9uLmNvbG9yKSA/IHVpQnV0dG9uLmNvbG9yIDogdGhpcy5jb2xvcjtcbiAgICAgICAgICAgIHRoaXMuaWNvbiA9ICh1aUJ1dHRvbi5pY29uKSA/IHVpQnV0dG9uLmljb24gOiB0aGlzLmljb247XG4gICAgICAgICAgICB0aGlzLmljb25TdmcgPSAodWlCdXR0b24uaWNvblN2ZykgPyB1aUJ1dHRvbi5pY29uU3ZnIDogdGhpcy5pY29uU3ZnO1xuICAgICAgICAgICAgdGhpcy5kaXNhYmxlZCA9ICh1aUJ1dHRvbi5kaXNhYmxlZCkgPyB1aUJ1dHRvbi5kaXNhYmxlZCA6IHRoaXMuZGlzYWJsZWQ7XG4gICAgICAgICAgICB0aGlzLmNsYXNzQnV0dG9uID0gKHVpQnV0dG9uLmNsYXNzKSA/IHVpQnV0dG9uLmNsYXNzIDogdGhpcy5jbGFzc0J1dHRvbjtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLnZhbHVlID0gdmFsdWU7XG4gICAgfVxuXG5cbiAgICBvbkZpbGVMb2FkKGZpbGVMb2FkZWRFdmVudCkge1xuICAgICAgICBjb25zdCB0ZXh0RnJvbUZpbGVMb2FkZWQgPSBmaWxlTG9hZGVkRXZlbnQudGFyZ2V0LnJlc3VsdDtcbiAgICAgICAgdGhpcy5maWxlQ29udGVudCA9IHRleHRGcm9tRmlsZUxvYWRlZDtcbiAgICB9XG5cbiAgICBhc3luYyBvbkZpbGVTZWxlY3QoaW5wdXQ6IEhUTUxJbnB1dEVsZW1lbnQpIHtcbiAgICAgICAgaWYgKGlucHV0LmZpbGVzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgIGNvbnN0IGZpbGVzID0gaW5wdXQuZmlsZXM7XG4gICAgICAgICAgICBsZXQgZmlsZUNvbnRlbnQgPSBbXTtcbiAgICAgICAgICAgIGlmIChmaWxlcyAmJiBmaWxlcy5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGZpbGVzLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBmaWxlQ29udGVudFtpXSA9IGF3YWl0IHRoaXMucmVhZFVwbG9hZGVkRmlsZShmaWxlc1tpXSk7XG4gICAgICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAoZmlsZUNvbnRlbnQubGVuZ3RoID09PSAxKSB7XG4gICAgICAgICAgICAgICAgICAgIGZpbGVDb250ZW50ID0gZmlsZUNvbnRlbnRbMF07XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdGhpcy52YWx1ZS5ldmVudCA9IHRoaXMubmFtZTtcbiAgICAgICAgICAgIHRoaXMudmFsdWUuZmlsZUNvbnRlbnQgPSBmaWxlQ29udGVudDtcbiAgICAgICAgICAgIHRoaXMub25DaGFuZ2UodGhpcy52YWx1ZSk7XG4gICAgICAgICAgICBpbnB1dC52YWx1ZSA9ICcnO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcmVhZFVwbG9hZGVkRmlsZShpbnB1dEZpbGUpOiBQcm9taXNlPGFueT4ge1xuICAgICAgICBjb25zdCB0ZW1wb3JhcnlGaWxlUmVhZGVyID0gbmV3IEZpbGVSZWFkZXIoKTtcbiAgICAgICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICAgICAgICAgIHRlbXBvcmFyeUZpbGVSZWFkZXIub25lcnJvciA9ICgpID0+IHtcbiAgICAgICAgICAgICAgICB0ZW1wb3JhcnlGaWxlUmVhZGVyLmFib3J0KCk7XG4gICAgICAgICAgICAgICAgY29uc3QgZXJyb3I6IERPTUV4Y2VwdGlvbiA9IG5ldyBET01FeGNlcHRpb24oJ1Byb2JsZW0gcGFyc2luZyBpbnB1dCBmaWxlLicpO1xuICAgICAgICAgICAgICAgIHJlamVjdChlcnJvcik7XG4gICAgICAgICAgICB9O1xuICAgICAgICAgICAgdGVtcG9yYXJ5RmlsZVJlYWRlci5vbmxvYWQgPSAoKSA9PiB7XG4gICAgICAgICAgICAgICAgcmVzb2x2ZSh0ZW1wb3JhcnlGaWxlUmVhZGVyLnJlc3VsdCk7XG4gICAgICAgICAgICB9O1xuICAgICAgICAgICAgdGVtcG9yYXJ5RmlsZVJlYWRlci5yZWFkQXNBcnJheUJ1ZmZlcihpbnB1dEZpbGUpO1xuICAgICAgICB9KTtcbiAgICB9XG59XG4iXX0=
@@ -2,8 +2,8 @@ import { __decorate, __awaiter } from 'tslib';
2
2
  import { EventEmitter, Input, Output, Component, ComponentFactoryResolver, ViewContainerRef, Directive, ViewChild, ViewChildren, NgModule, forwardRef, Pipe, CUSTOM_ELEMENTS_SCHEMA, NO_ERRORS_SCHEMA } from '@angular/core';
3
3
  import { CommonModule } from '@angular/common';
4
4
  import { Validators, FormBuilder, FormControl, NG_VALUE_ACCESSOR, ReactiveFormsModule, FormsModule } from '@angular/forms';
5
- import { Observable, of, ReplaySubject, Subject } from 'rxjs';
6
- import { startWith, switchMap, map, takeUntil, take } from 'rxjs/operators';
5
+ import { Subject, Observable, of, ReplaySubject } from 'rxjs';
6
+ import { takeUntil, startWith, switchMap, map, take } from 'rxjs/operators';
7
7
  import { CdkVirtualScrollViewport, ScrollingModule, CdkScrollable } from '@angular/cdk/scrolling';
8
8
  import { MatOption, MatNativeDateModule, ErrorStateMatcher } from '@angular/material/core';
9
9
  import { MatSliderModule } from '@angular/material/slider';
@@ -362,13 +362,16 @@ KlesComponentDirective = __decorate([
362
362
  ], KlesComponentDirective);
363
363
 
364
364
  class KlesFieldAbstract {
365
+ constructor() {
366
+ this._onDestroy = new Subject();
367
+ }
365
368
  ngOnInit() {
366
369
  var _a;
367
370
  // this.applyPipeTransform();
368
371
  if (this.field.valueChanges) {
369
372
  this.field.valueChanges(this.field, this.group, this.siblingFields);
370
373
  }
371
- (_a = this.group.controls[this.field.name]) === null || _a === void 0 ? void 0 : _a.valueChanges.pipe().subscribe(val => {
374
+ (_a = this.group.controls[this.field.name]) === null || _a === void 0 ? void 0 : _a.valueChanges.pipe(takeUntil(this._onDestroy)).subscribe(val => {
372
375
  if (this.field.valueChanges) {
373
376
  this.field.valueChanges(this.field, this.group, this.siblingFields, val);
374
377
  }
@@ -377,6 +380,10 @@ class KlesFieldAbstract {
377
380
  }
378
381
  ngAfterViewInit() {
379
382
  }
383
+ ngOnDestroy() {
384
+ this._onDestroy.next();
385
+ this._onDestroy.complete();
386
+ }
380
387
  applyPipeTransform() {
381
388
  if (this.group && this.field) {
382
389
  const control = this.group.controls[this.field.name];
@@ -406,6 +413,9 @@ let KlesFormLabelComponent = class KlesFormLabelComponent extends KlesFieldAbstr
406
413
  this.group.controls[this.field.name].disable();
407
414
  super.ngOnInit();
408
415
  }
416
+ ngOnDestroy() {
417
+ super.ngOnDestroy();
418
+ }
409
419
  };
410
420
  KlesFormLabelComponent = __decorate([
411
421
  Component({
@@ -468,6 +478,9 @@ let KlesFormInputComponent = class KlesFormInputComponent extends KlesFieldAbstr
468
478
  return value ? value : '';
469
479
  }
470
480
  }
481
+ ngOnDestroy() {
482
+ super.ngOnDestroy();
483
+ }
471
484
  };
472
485
  KlesFormInputComponent = __decorate([
473
486
  Component({
@@ -519,6 +532,9 @@ let KlesFormSubmitButtonComponent = class KlesFormSubmitButtonComponent extends
519
532
  ngOnInit() {
520
533
  super.ngOnInit();
521
534
  }
535
+ ngOnDestroy() {
536
+ super.ngOnDestroy();
537
+ }
522
538
  };
523
539
  KlesFormSubmitButtonComponent = __decorate([
524
540
  Component({
@@ -550,6 +566,9 @@ let KlesFormSelectComponent = class KlesFormSelectComponent extends KlesFieldAbs
550
566
  this.options$ = this.field.options;
551
567
  }
552
568
  }
569
+ ngOnDestroy() {
570
+ super.ngOnDestroy();
571
+ }
553
572
  openChange($event) {
554
573
  if (this.field.virtualScroll) {
555
574
  if ($event) {
@@ -580,11 +599,11 @@ KlesFormSelectComponent = __decorate([
580
599
 
581
600
  <ng-container *ngIf="!field.virtualScroll">
582
601
  <ng-container *ngIf="!field.autocompleteComponent">
583
- <mat-option *ngFor="let item of options$ | async" [value]="item">{{(field.property ? item[field.property] : item) | klesTransform:field.pipeTransform}}</mat-option>
602
+ <mat-option *ngFor="let item of options$ | async" [value]="item" [disabled]="item?.disabled">{{(field.property ? item[field.property] : item) | klesTransform:field.pipeTransform}}</mat-option>
584
603
  </ng-container>
585
604
 
586
605
  <ng-container *ngIf="field.autocompleteComponent">
587
- <mat-option *ngFor="let item of options$ | async" [value]="item">
606
+ <mat-option *ngFor="let item of options$ | async" [value]="item" [disabled]="item?.disabled">
588
607
  <ng-container klesComponent [component]="field.autocompleteComponent" [value]="item" [field]="field"></ng-container>
589
608
  </mat-option>
590
609
  </ng-container>
@@ -593,7 +612,7 @@ KlesFormSelectComponent = __decorate([
593
612
  <ng-container *ngIf="field.virtualScroll">
594
613
  <cdk-virtual-scroll-viewport [itemSize]="field.itemSize || 50" [style.height.px]=5*48>
595
614
  <ng-container *ngIf="!field.autocompleteComponent">
596
- <mat-option *cdkVirtualFor="let item of options$ | async" [value]="item">
615
+ <mat-option *cdkVirtualFor="let item of options$ | async" [value]="item" [disabled]="item?.disabled">
597
616
  {{(field.property ? item[field.property] : item) | klesTransform:field.pipeTransform}}
598
617
  </mat-option>
599
618
 
@@ -612,7 +631,7 @@ KlesFormSelectComponent = __decorate([
612
631
  </ng-container>
613
632
 
614
633
  <ng-container *ngIf="field.autocompleteComponent">
615
- <mat-option *cdkVirtualFor="let item of options$ | async" [value]="item">
634
+ <mat-option *cdkVirtualFor="let item of options$ | async" [value]="item" [disabled]="item?.disabled">
616
635
  <ng-container klesComponent [component]="field.autocompleteComponent" [value]="item" [field]="field"></ng-container>
617
636
  </mat-option>
618
637
  <ng-container *ngIf="field.multiple">
@@ -646,6 +665,9 @@ KlesFormSelectComponent = __decorate([
646
665
 
647
666
  let KlesFormDateComponent = class KlesFormDateComponent extends KlesFieldAbstract {
648
667
  ngOnInit() { super.ngOnInit(); }
668
+ ngOnDestroy() {
669
+ super.ngOnDestroy();
670
+ }
649
671
  };
650
672
  KlesFormDateComponent = __decorate([
651
673
  Component({
@@ -670,10 +692,13 @@ KlesFormDateComponent = __decorate([
670
692
 
671
693
  let KlesFormRadioComponent = class KlesFormRadioComponent extends KlesFieldAbstract {
672
694
  ngOnInit() { super.ngOnInit(); }
695
+ ngOnDestroy() {
696
+ super.ngOnDestroy();
697
+ }
673
698
  };
674
699
  KlesFormRadioComponent = __decorate([
675
700
  Component({
676
- selector: "kles-form-radiobutton",
701
+ selector: 'kles-form-radiobutton',
677
702
  template: `
678
703
  <div [formGroup]="group">
679
704
  <label class="radio-label-padding">{{field.label}}</label>
@@ -693,6 +718,9 @@ KlesFormRadioComponent = __decorate([
693
718
 
694
719
  let KlesFormCheckboxComponent = class KlesFormCheckboxComponent extends KlesFieldAbstract {
695
720
  ngOnInit() { super.ngOnInit(); }
721
+ ngOnDestroy() {
722
+ super.ngOnDestroy();
723
+ }
696
724
  };
697
725
  KlesFormCheckboxComponent = __decorate([
698
726
  Component({
@@ -754,6 +782,9 @@ let KlesFormListFieldComponent = class KlesFormListFieldComponent extends KlesFi
754
782
  }
755
783
  return null;
756
784
  }
785
+ ngOnDestroy() {
786
+ super.ngOnDestroy();
787
+ }
757
788
  };
758
789
  KlesFormListFieldComponent.ctorParameters = () => [
759
790
  { type: FormBuilder }
@@ -817,6 +848,9 @@ let KlesFormColorComponent = class KlesFormColorComponent extends KlesFieldAbstr
817
848
  // pad each with zeros and return
818
849
  return "#" + r1 + g1 + b1;
819
850
  }
851
+ ngOnDestroy() {
852
+ super.ngOnDestroy();
853
+ }
820
854
  };
821
855
  KlesFormColorComponent = __decorate([
822
856
  Component({
@@ -845,6 +879,9 @@ KlesFormColorComponent = __decorate([
845
879
 
846
880
  let KlesFormChipComponent = class KlesFormChipComponent extends KlesFieldAbstract {
847
881
  ngOnInit() { super.ngOnInit(); }
882
+ ngOnDestroy() {
883
+ super.ngOnDestroy();
884
+ }
848
885
  };
849
886
  KlesFormChipComponent = __decorate([
850
887
  Component({
@@ -867,6 +904,9 @@ let KlesFormGroupComponent = class KlesFormGroupComponent extends KlesFieldAbstr
867
904
  this.subGroup = this.group.controls[this.field.name];
868
905
  super.ngOnInit();
869
906
  }
907
+ ngOnDestroy() {
908
+ super.ngOnDestroy();
909
+ }
870
910
  };
871
911
  KlesFormGroupComponent = __decorate([
872
912
  Component({
@@ -887,6 +927,9 @@ KlesFormGroupComponent = __decorate([
887
927
 
888
928
  let KlesFormIconComponent = class KlesFormIconComponent extends KlesFieldAbstract {
889
929
  ngOnInit() { super.ngOnInit(); }
930
+ ngOnDestroy() {
931
+ super.ngOnDestroy();
932
+ }
890
933
  };
891
934
  KlesFormIconComponent = __decorate([
892
935
  Component({
@@ -905,7 +948,6 @@ let KlesFormSelectSearchComponent = class KlesFormSelectSearchComponent extends
905
948
  this.searchControl = new FormControl();
906
949
  this.selectAllControl = new FormControl(false);
907
950
  this.optionsFiltered$ = new ReplaySubject(1);
908
- this._onDestroy = new Subject();
909
951
  this.compareFn = (o1, o2) => {
910
952
  if (this.field.property && o1 && o2) {
911
953
  return o1[this.field.property] === o2[this.field.property];
@@ -951,7 +993,7 @@ let KlesFormSelectSearchComponent = class KlesFormSelectSearchComponent extends
951
993
  })).subscribe(this.optionsFiltered$);
952
994
  this.group.controls[this.field.name]
953
995
  .valueChanges.pipe(takeUntil(this._onDestroy), startWith(this.group.controls[this.field.name].value), switchMap(selected => {
954
- return this.optionsFiltered$.pipe(map(options => {
996
+ return this.optionsFiltered$.pipe(map((options) => options.filter((option) => !(option === null || option === void 0 ? void 0 : option.disabled))), map(options => {
955
997
  if (!selected) {
956
998
  return false;
957
999
  }
@@ -967,11 +1009,12 @@ let KlesFormSelectSearchComponent = class KlesFormSelectSearchComponent extends
967
1009
  });
968
1010
  }
969
1011
  ngOnDestroy() {
970
- this._onDestroy.next();
1012
+ // this._onDestroy.next();
1013
+ super.ngOnDestroy();
971
1014
  }
972
1015
  toggleAllSelection(state) {
973
1016
  if (state.checked) {
974
- this.optionsFiltered$.pipe(take(1)).subscribe(options => {
1017
+ this.optionsFiltered$.pipe(take(1), map((options) => options.filter((option) => !(option === null || option === void 0 ? void 0 : option.disabled)))).subscribe(options => {
975
1018
  if (options.length > 0) {
976
1019
  this.group.controls[this.field.name].patchValue(options.slice());
977
1020
  }
@@ -1020,7 +1063,7 @@ KlesFormSelectSearchComponent = __decorate([
1020
1063
  (change)="toggleAllSelection($event)">
1021
1064
  {{'selectAll' | translate}}
1022
1065
  </mat-checkbox>
1023
- <mat-option *cdkVirtualFor="let item of optionsFiltered$ | async" [value]="item">{{(field.property ? item[field.property] : item) | klesTransform:field.pipeTransform}}</mat-option>
1066
+ <mat-option *cdkVirtualFor="let item of optionsFiltered$ | async" [value]="item" [disabled]="item?.disabled">{{(field.property ? item[field.property] : item) | klesTransform:field.pipeTransform}}</mat-option>
1024
1067
 
1025
1068
  <ng-container *ngIf="field.multiple">
1026
1069
  <mat-option *ngFor="let item of group.controls[field.name].value | slice:0:30" [value]="item"
@@ -1037,7 +1080,7 @@ KlesFormSelectSearchComponent = __decorate([
1037
1080
  </ng-container>
1038
1081
 
1039
1082
  <ng-container *ngIf="field.autocompleteComponent">
1040
- <mat-option *cdkVirtualFor="let item of optionsFiltered$ | async" [value]="item">
1083
+ <mat-option *cdkVirtualFor="let item of optionsFiltered$ | async" [value]="item" [disabled]="item?.disabled">
1041
1084
  <ng-container klesComponent [component]="field.autocompleteComponent" [value]="item" [field]="field"></ng-container>
1042
1085
  </mat-option>
1043
1086
 
@@ -1071,11 +1114,11 @@ KlesFormSelectSearchComponent = __decorate([
1071
1114
  </mat-checkbox>
1072
1115
 
1073
1116
  <ng-container *ngIf="!field.autocompleteComponent">
1074
- <mat-option *ngFor="let item of optionsFiltered$ | async" [value]="item">{{(field.property ? item[field.property] : item) | klesTransform:field.pipeTransform}}</mat-option>
1117
+ <mat-option *ngFor="let item of optionsFiltered$ | async" [value]="item" [disabled]="item?.disabled">{{(field.property ? item[field.property] : item) | klesTransform:field.pipeTransform}}</mat-option>
1075
1118
  </ng-container>
1076
1119
 
1077
1120
  <ng-container *ngIf="field.autocompleteComponent">
1078
- <mat-option *ngFor="let item of optionsFiltered$ | async" [value]="item">
1121
+ <mat-option *ngFor="let item of optionsFiltered$ | async" [value]="item" [disabled]="item?.disabled">
1079
1122
  <ng-container klesComponent [component]="field.autocompleteComponent" [value]="item" [field]="field"></ng-container>
1080
1123
  </mat-option>
1081
1124
  </ng-container>
@@ -1097,6 +1140,9 @@ KlesFormSelectSearchComponent = __decorate([
1097
1140
 
1098
1141
  let KlesFormLineBreakComponent = class KlesFormLineBreakComponent extends KlesFieldAbstract {
1099
1142
  ngOnInit() { super.ngOnInit(); }
1143
+ ngOnDestroy() {
1144
+ super.ngOnDestroy();
1145
+ }
1100
1146
  };
1101
1147
  KlesFormLineBreakComponent = __decorate([
1102
1148
  Component({
@@ -1114,6 +1160,9 @@ let KlesFormLinkComponent = class KlesFormLinkComponent extends KlesFieldAbstrac
1114
1160
  ngOnInit() {
1115
1161
  super.ngOnInit();
1116
1162
  }
1163
+ ngOnDestroy() {
1164
+ super.ngOnDestroy();
1165
+ }
1117
1166
  };
1118
1167
  KlesFormLinkComponent = __decorate([
1119
1168
  Component({
@@ -1136,6 +1185,9 @@ let KlesFormSelectionListComponent = class KlesFormSelectionListComponent extend
1136
1185
  this.options$ = this.field.options;
1137
1186
  }
1138
1187
  }
1188
+ ngOnDestroy() {
1189
+ super.ngOnDestroy();
1190
+ }
1139
1191
  };
1140
1192
  KlesFormSelectionListComponent = __decorate([
1141
1193
  Component({
@@ -1171,6 +1223,9 @@ let KlesFormButtonToogleGroupComponent = class KlesFormButtonToogleGroupComponen
1171
1223
  this.options$ = this.field.options;
1172
1224
  }
1173
1225
  }
1226
+ ngOnDestroy() {
1227
+ super.ngOnDestroy();
1228
+ }
1174
1229
  };
1175
1230
  KlesFormButtonToogleGroupComponent = __decorate([
1176
1231
  Component({
@@ -1187,20 +1242,15 @@ KlesFormButtonToogleGroupComponent = __decorate([
1187
1242
  `
1188
1243
  })
1189
1244
  ], KlesFormButtonToogleGroupComponent);
1190
- // <mat-button-toggle-group [formControlName]="field.name">
1191
- // <mat-button-toggle value="bold">Bold</mat-button-toggle>
1192
- // <mat-button-toggle value="italic">Italic</mat-button-toggle>
1193
- // <mat-button-toggle value="underline">Underline</mat-button-toggle>
1194
- // </mat-button-toggle-group>
1195
1245
 
1196
1246
  let KlesFormArrayComponent = class KlesFormArrayComponent extends KlesFieldAbstract {
1197
1247
  ngOnInit() {
1198
1248
  // this.subGroup = this.group.controls[this.field.name] as FormGroup;
1199
1249
  super.ngOnInit();
1200
1250
  this.formArray = this.group.controls[this.field.name];
1201
- console.log('on arrive ici');
1202
- console.log(this.field);
1203
- console.log(this.formArray);
1251
+ }
1252
+ ngOnDestroy() {
1253
+ super.ngOnDestroy();
1204
1254
  }
1205
1255
  };
1206
1256
  KlesFormArrayComponent = __decorate([
@@ -1259,7 +1309,6 @@ let KlesDynamicFieldDirective = class KlesDynamicFieldDirective {
1259
1309
  this.buildComponent();
1260
1310
  }
1261
1311
  ngOnChanges(changes) {
1262
- console.log('ngOnCHange', changes);
1263
1312
  if (changes.group) {
1264
1313
  this.group = changes.group.currentValue;
1265
1314
  }
@@ -1501,13 +1550,16 @@ let KlesFormButtonComponent = class KlesFormButtonComponent extends KlesFieldAbs
1501
1550
  ngOnInit() {
1502
1551
  super.ngOnInit();
1503
1552
  }
1553
+ ngOnDestroy() {
1554
+ super.ngOnDestroy();
1555
+ }
1504
1556
  };
1505
1557
  KlesFormButtonComponent = __decorate([
1506
1558
  Component({
1507
1559
  selector: 'kles-form-button',
1508
1560
  template: `
1509
1561
  <div [formGroup]="group">
1510
- <kles-button
1562
+ <kles-button
1511
1563
  [attr.id]="field.id" [classButton]="field.ngClass"
1512
1564
  [name]="field.name" [label]="field.label" [color]="field.color"
1513
1565
  [icon]="field.icon"
@@ -1573,6 +1625,9 @@ let KlesFormButtonCheckerComponent = class KlesFormButtonCheckerComponent extend
1573
1625
  ngOnInit() {
1574
1626
  super.ngOnInit();
1575
1627
  }
1628
+ ngOnDestroy() {
1629
+ super.ngOnDestroy();
1630
+ }
1576
1631
  };
1577
1632
  KlesFormButtonCheckerComponent = __decorate([
1578
1633
  Component({
@@ -1580,8 +1635,8 @@ KlesFormButtonCheckerComponent = __decorate([
1580
1635
  template: `
1581
1636
  <div [formGroup]="group">
1582
1637
  <kles-button-checker
1583
- [attr.id]="field.id" [classButton]="field.ngClass"
1584
- [name]="field.name" [label]="field.label" [color]="field.color"
1638
+ [attr.id]="field.id" [classButton]="field.ngClass"
1639
+ [name]="field.name" [label]="field.label" [color]="field.color"
1585
1640
  [icon]="field.icon"
1586
1641
  [iconSvg]="field.iconSvg"
1587
1642
  [value]="field.value"
@@ -1632,10 +1687,6 @@ let KlesButtonFileComponent = KlesButtonFileComponent_1 = class KlesButtonFileCo
1632
1687
  const files = input.files;
1633
1688
  let fileContent = [];
1634
1689
  if (files && files.length) {
1635
- console.log('Filename: ' + files[0].name);
1636
- console.log('Type: ' + files[0].type);
1637
- console.log('Size: ' + files[0].size + ' bytes');
1638
- console.log('Files=', files.length);
1639
1690
  for (let i = 0; i < files.length; i++) {
1640
1691
  try {
1641
1692
  fileContent[i] = yield this.readUploadedFile(files[i]);
@@ -1699,6 +1750,9 @@ let KlesFormButtonFileComponent = class KlesFormButtonFileComponent extends Kles
1699
1750
  ngOnInit() {
1700
1751
  super.ngOnInit();
1701
1752
  }
1753
+ ngOnDestroy() {
1754
+ super.ngOnDestroy();
1755
+ }
1702
1756
  };
1703
1757
  KlesFormButtonFileComponent = __decorate([
1704
1758
  Component({
@@ -1722,6 +1776,9 @@ let KlesFormTextareaComponent = class KlesFormTextareaComponent extends KlesFiel
1722
1776
  ngOnInit() {
1723
1777
  super.ngOnInit();
1724
1778
  }
1779
+ ngOnDestroy() {
1780
+ super.ngOnDestroy();
1781
+ }
1725
1782
  };
1726
1783
  KlesFormTextareaComponent = __decorate([
1727
1784
  Component({
@@ -1750,6 +1807,9 @@ let KlesFormTextComponent = class KlesFormTextComponent extends KlesFieldAbstrac
1750
1807
  ngOnInit() {
1751
1808
  super.ngOnInit();
1752
1809
  }
1810
+ ngOnDestroy() {
1811
+ super.ngOnDestroy();
1812
+ }
1753
1813
  };
1754
1814
  KlesFormTextComponent = __decorate([
1755
1815
  Component({
@@ -1763,6 +1823,9 @@ KlesFormTextComponent = __decorate([
1763
1823
  ], KlesFormTextComponent);
1764
1824
 
1765
1825
  let KlesFormInputClearableComponent = class KlesFormInputClearableComponent extends KlesFormInputComponent {
1826
+ ngOnDestroy() {
1827
+ super.ngOnDestroy();
1828
+ }
1766
1829
  };
1767
1830
  KlesFormInputClearableComponent = __decorate([
1768
1831
  Component({
@@ -1795,7 +1858,7 @@ KlesFormInputClearableComponent = __decorate([
1795
1858
  <input matInput matTooltip="{{field.tooltip}}" [attr.id]="field.id" [ngClass]="field.ngClass" [formControlName]="field.name" [placeholder]="field.placeholder | translate" [type]="field.inputType"
1796
1859
  [maxLength]="field.maxLength" [min]="field.min" [max]="field.max" [step]="field.step">
1797
1860
  </ng-template>
1798
- <button mat-button matSuffix mat-icon-button aria-label="Clear" type="button"
1861
+ <button *ngIf="!group.get(field.name).disabled" mat-button matSuffix mat-icon-button aria-label="Clear" type="button"
1799
1862
  (click)="group.controls[field.name].reset();">
1800
1863
  <mat-icon>close</mat-icon>
1801
1864
  </button>
@@ -1855,12 +1918,15 @@ ArrayFormatPipe = __decorate([
1855
1918
 
1856
1919
  let KlesFormSlideToggleComponent = class KlesFormSlideToggleComponent extends KlesFieldAbstract {
1857
1920
  ngOnInit() { super.ngOnInit(); }
1921
+ ngOnDestroy() {
1922
+ super.ngOnDestroy();
1923
+ }
1858
1924
  };
1859
1925
  KlesFormSlideToggleComponent = __decorate([
1860
1926
  Component({
1861
- selector: "kles-form-slide-toggle",
1927
+ selector: 'kles-form-slide-toggle',
1862
1928
  template: `
1863
- <div [formGroup]="group" >
1929
+ <div [formGroup]="group" >
1864
1930
  <mat-slide-toggle matTooltip="{{field.tooltip}}" [attr.id]="field.id" [ngClass]="field.ngClass" [color]="field.color" [formControlName]="field.name">{{field.label | translate}}</mat-slide-toggle>
1865
1931
  <ng-container *ngFor="let validation of field.validations;" ngProjectAs="mat-error">
1866
1932
  <mat-error *ngIf="group.get(field.name).hasError(validation.name)">{{validation.message}}</mat-error>
@@ -1877,6 +1943,9 @@ let KlesFormBadgeComponent = class KlesFormBadgeComponent extends KlesFieldAbstr
1877
1943
  ngOnInit() {
1878
1944
  super.ngOnInit();
1879
1945
  }
1946
+ ngOnDestroy() {
1947
+ super.ngOnDestroy();
1948
+ }
1880
1949
  };
1881
1950
  KlesFormBadgeComponent = __decorate([
1882
1951
  Component({
@@ -1884,7 +1953,7 @@ KlesFormBadgeComponent = __decorate([
1884
1953
  template: `
1885
1954
  <span matTooltip="{{field.tooltip}}" [attr.id]="field.id" [ngClass]="field.ngClass"
1886
1955
  matBadge="{{group.controls[field.name].value}}" matBadgeOverlap="false" matBadgeColor="{{field.color}}">
1887
- </span>
1956
+ </span>
1888
1957
  `
1889
1958
  })
1890
1959
  ], KlesFormBadgeComponent);