@simpleangularcontrols/sac-bootstrap4 13.0.0-rc.2 → 13.0.0-rc.4

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 (172) hide show
  1. package/controls/checkbox/checkbox.d.ts +5 -5
  2. package/controls/checkbox/checkbox.d.ts.map +1 -1
  3. package/controls/checkbox/checkbox.module.d.ts +2 -1
  4. package/controls/checkbox/checkbox.module.d.ts.map +1 -1
  5. package/controls/checkbox/radiobuttons.d.ts +5 -5
  6. package/controls/checkbox/radiobuttons.d.ts.map +1 -1
  7. package/controls/contextmenu/contextmenu.d.ts +6 -6
  8. package/controls/contextmenu/contextmenu.d.ts.map +1 -1
  9. package/controls/contextmenu/contextmenuanchor.d.ts +2 -2
  10. package/controls/contextmenu/contextmenuanchor.d.ts.map +1 -1
  11. package/controls/contextmenu/contextmenucontainer.d.ts +2 -2
  12. package/controls/contextmenu/contextmenucontainer.d.ts.map +1 -1
  13. package/controls/datetime/date.d.ts +6 -6
  14. package/controls/datetime/date.d.ts.map +1 -1
  15. package/controls/datetime/datetime.d.ts +6 -6
  16. package/controls/datetime/datetime.d.ts.map +1 -1
  17. package/controls/datetime/datetime.module.d.ts +2 -1
  18. package/controls/datetime/datetime.module.d.ts.map +1 -1
  19. package/controls/datetime/time.d.ts +6 -6
  20. package/controls/datetime/time.d.ts.map +1 -1
  21. package/controls/form/form.d.ts +0 -8
  22. package/controls/form/form.d.ts.map +1 -1
  23. package/controls/form/form.module.d.ts.map +1 -1
  24. package/controls/input/input.d.ts +5 -5
  25. package/controls/input/input.d.ts.map +1 -1
  26. package/controls/input/input.module.d.ts +2 -1
  27. package/controls/input/input.module.d.ts.map +1 -1
  28. package/controls/input/inputarea.d.ts +5 -5
  29. package/controls/input/inputarea.d.ts.map +1 -1
  30. package/controls/input/inputcurrency.d.ts +5 -5
  31. package/controls/input/inputcurrency.d.ts.map +1 -1
  32. package/controls/input/inputdecimal.d.ts +5 -5
  33. package/controls/input/inputdecimal.d.ts.map +1 -1
  34. package/controls/input/inputemail.d.ts +5 -5
  35. package/controls/input/inputemail.d.ts.map +1 -1
  36. package/controls/input/inputinteger.d.ts +5 -5
  37. package/controls/input/inputinteger.d.ts.map +1 -1
  38. package/controls/input/inputpassword.d.ts +5 -5
  39. package/controls/input/inputpassword.d.ts.map +1 -1
  40. package/controls/input/inputsearch.d.ts +5 -5
  41. package/controls/input/inputsearch.d.ts.map +1 -1
  42. package/controls/layout/formlayout.directive.d.ts +7 -0
  43. package/controls/layout/formlayout.directive.d.ts.map +1 -0
  44. package/controls/layout/formlayout.directive.ngfactory.d.ts +4 -0
  45. package/controls/layout/formlayout.directive.ngfactory.d.ts.map +1 -0
  46. package/controls/layout/formlayout.directive.ngsummary.d.ts +2 -0
  47. package/controls/layout/formlayout.directive.ngsummary.d.ts.map +1 -0
  48. package/controls/layout/layout.module.d.ts +11 -0
  49. package/controls/layout/layout.module.d.ts.map +1 -0
  50. package/controls/layout/layout.module.ngfactory.d.ts +4 -0
  51. package/controls/layout/layout.module.ngfactory.d.ts.map +1 -0
  52. package/controls/layout/layout.module.ngsummary.d.ts +2 -0
  53. package/controls/layout/layout.module.ngsummary.d.ts.map +1 -0
  54. package/controls/layout/tocontrolwidthcss.pipe.d.ts +20 -0
  55. package/controls/layout/tocontrolwidthcss.pipe.d.ts.map +1 -0
  56. package/controls/layout/tocontrolwidthcss.pipe.ngfactory.d.ts +4 -0
  57. package/controls/layout/tocontrolwidthcss.pipe.ngfactory.d.ts.map +1 -0
  58. package/controls/layout/tocontrolwidthcss.pipe.ngsummary.d.ts +2 -0
  59. package/controls/layout/tocontrolwidthcss.pipe.ngsummary.d.ts.map +1 -0
  60. package/controls/layout/tolabelwidthcss.pipe.d.ts +14 -0
  61. package/controls/layout/tolabelwidthcss.pipe.d.ts.map +1 -0
  62. package/controls/layout/tolabelwidthcss.pipe.ngfactory.d.ts +4 -0
  63. package/controls/layout/tolabelwidthcss.pipe.ngfactory.d.ts.map +1 -0
  64. package/controls/layout/tolabelwidthcss.pipe.ngsummary.d.ts +2 -0
  65. package/controls/layout/tolabelwidthcss.pipe.ngsummary.d.ts.map +1 -0
  66. package/controls/list/dropdown.d.ts +10 -10
  67. package/controls/list/dropdown.d.ts.map +1 -1
  68. package/controls/list/dropdown.module.d.ts +2 -1
  69. package/controls/list/dropdown.module.d.ts.map +1 -1
  70. package/controls/list/list.module.d.ts +2 -1
  71. package/controls/list/list.module.d.ts.map +1 -1
  72. package/controls/list/listbox.d.ts +9 -9
  73. package/controls/list/listbox.d.ts.map +1 -1
  74. package/controls/multilanguage/multilanguage.module.d.ts +2 -1
  75. package/controls/multilanguage/multilanguage.module.d.ts.map +1 -1
  76. package/controls/multilanguage/multilanguageinput.d.ts +5 -5
  77. package/controls/multilanguage/multilanguageinput.d.ts.map +1 -1
  78. package/controls/multilanguage/multilanguageinputarea.d.ts +5 -5
  79. package/controls/multilanguage/multilanguageinputarea.d.ts.map +1 -1
  80. package/controls/multilanguage/multilanguagemenu.d.ts +6 -6
  81. package/controls/multilanguage/multilanguagemenu.d.ts.map +1 -1
  82. package/controls/multilanguage/multilanguagemenuanchor.d.ts +2 -2
  83. package/controls/multilanguage/multilanguagemenuanchor.d.ts.map +1 -1
  84. package/controls/multilanguage/multilanguagemenucontainer.d.ts +2 -2
  85. package/controls/multilanguage/multilanguagemenucontainer.d.ts.map +1 -1
  86. package/controls/static/formcontainer.d.ts +5 -5
  87. package/controls/static/formcontainer.d.ts.map +1 -1
  88. package/controls/static/staticlabel.d.ts +5 -5
  89. package/controls/static/staticlabel.d.ts.map +1 -1
  90. package/controls/static/staticlabel.module.d.ts +2 -1
  91. package/controls/static/staticlabel.module.d.ts.map +1 -1
  92. package/controls/tinymce/tinymce.d.ts +6 -6
  93. package/controls/tinymce/tinymce.d.ts.map +1 -1
  94. package/controls/tinymce/tinymce.module.d.ts +5 -4
  95. package/controls/tinymce/tinymce.module.d.ts.map +1 -1
  96. package/controls/upload/dropzonemultiple.d.ts +7 -7
  97. package/controls/upload/dropzonemultiple.d.ts.map +1 -1
  98. package/controls/upload/dropzonesingle.d.ts +7 -7
  99. package/controls/upload/dropzonesingle.d.ts.map +1 -1
  100. package/controls/upload/upload.d.ts +7 -7
  101. package/controls/upload/upload.d.ts.map +1 -1
  102. package/controls/upload/upload.module.d.ts +2 -1
  103. package/controls/upload/upload.module.d.ts.map +1 -1
  104. package/controls/upload/uploadmultiple.d.ts +7 -7
  105. package/controls/upload/uploadmultiple.d.ts.map +1 -1
  106. package/controls/validation/validationsummary.d.ts +4 -4
  107. package/controls/validation/validationsummary.d.ts.map +1 -1
  108. package/esm2020/controls/buttons/button.mjs +3 -3
  109. package/esm2020/controls/checkbox/checkbox.mjs +15 -17
  110. package/esm2020/controls/checkbox/checkbox.module.mjs +19 -10
  111. package/esm2020/controls/checkbox/radiobuttons.mjs +15 -17
  112. package/esm2020/controls/contextmenu/contextmenu.mjs +9 -8
  113. package/esm2020/controls/contextmenu/contextmenuanchor.mjs +5 -4
  114. package/esm2020/controls/contextmenu/contextmenucontainer.mjs +5 -4
  115. package/esm2020/controls/datetime/date.mjs +17 -19
  116. package/esm2020/controls/datetime/datetime.mjs +16 -18
  117. package/esm2020/controls/datetime/datetime.module.mjs +25 -12
  118. package/esm2020/controls/datetime/time.mjs +17 -19
  119. package/esm2020/controls/form/form.mjs +3 -17
  120. package/esm2020/controls/form/form.module.mjs +5 -14
  121. package/esm2020/controls/input/input.mjs +15 -13
  122. package/esm2020/controls/input/input.module.mjs +40 -11
  123. package/esm2020/controls/input/inputarea.mjs +15 -17
  124. package/esm2020/controls/input/inputcurrency.mjs +15 -17
  125. package/esm2020/controls/input/inputdecimal.mjs +15 -17
  126. package/esm2020/controls/input/inputemail.mjs +15 -17
  127. package/esm2020/controls/input/inputinteger.mjs +15 -17
  128. package/esm2020/controls/input/inputpassword.mjs +15 -17
  129. package/esm2020/controls/input/inputsearch.mjs +14 -11
  130. package/esm2020/controls/layout/formlayout.directive.mjs +14 -0
  131. package/esm2020/controls/layout/formlayout.directive.ngfactory.mjs +4 -0
  132. package/esm2020/controls/layout/formlayout.directive.ngsummary.mjs +2 -0
  133. package/esm2020/controls/layout/layout.module.mjs +32 -0
  134. package/esm2020/controls/layout/layout.module.ngfactory.mjs +4 -0
  135. package/esm2020/controls/layout/layout.module.ngsummary.mjs +2 -0
  136. package/esm2020/controls/layout/tocontrolwidthcss.pipe.mjs +54 -0
  137. package/esm2020/controls/layout/tocontrolwidthcss.pipe.ngfactory.mjs +4 -0
  138. package/esm2020/controls/layout/tocontrolwidthcss.pipe.ngsummary.mjs +2 -0
  139. package/esm2020/controls/layout/tolabelwidthcss.pipe.mjs +38 -0
  140. package/esm2020/controls/layout/tolabelwidthcss.pipe.ngfactory.mjs +4 -0
  141. package/esm2020/controls/layout/tolabelwidthcss.pipe.ngsummary.mjs +2 -0
  142. package/esm2020/controls/list/dropdown.mjs +22 -17
  143. package/esm2020/controls/list/dropdown.module.mjs +8 -15
  144. package/esm2020/controls/list/list.module.mjs +6 -5
  145. package/esm2020/controls/list/listbox.mjs +22 -22
  146. package/esm2020/controls/multilanguage/multilanguage.module.mjs +5 -4
  147. package/esm2020/controls/multilanguage/multilanguageinput.mjs +17 -17
  148. package/esm2020/controls/multilanguage/multilanguageinputarea.mjs +17 -17
  149. package/esm2020/controls/multilanguage/multilanguagemenu.mjs +9 -8
  150. package/esm2020/controls/multilanguage/multilanguagemenuanchor.mjs +5 -4
  151. package/esm2020/controls/multilanguage/multilanguagemenucontainer.mjs +5 -4
  152. package/esm2020/controls/static/formcontainer.mjs +16 -13
  153. package/esm2020/controls/static/staticlabel.mjs +14 -11
  154. package/esm2020/controls/static/staticlabel.module.mjs +8 -11
  155. package/esm2020/controls/tinymce/tinymce.mjs +18 -14
  156. package/esm2020/controls/tinymce/tinymce.module.mjs +9 -5
  157. package/esm2020/controls/upload/dropzonemultiple.mjs +18 -13
  158. package/esm2020/controls/upload/dropzonesingle.mjs +18 -13
  159. package/esm2020/controls/upload/upload.mjs +26 -15
  160. package/esm2020/controls/upload/upload.module.mjs +5 -4
  161. package/esm2020/controls/upload/uploadmultiple.mjs +16 -13
  162. package/esm2020/controls/validation/validationsummary.mjs +9 -13
  163. package/esm2020/public_api.mjs +30 -26
  164. package/fesm2015/simpleangularcontrols-sac-bootstrap4.mjs +663 -529
  165. package/fesm2015/simpleangularcontrols-sac-bootstrap4.mjs.map +1 -1
  166. package/fesm2020/simpleangularcontrols-sac-bootstrap4.mjs +663 -529
  167. package/fesm2020/simpleangularcontrols-sac-bootstrap4.mjs.map +1 -1
  168. package/package.json +4 -3
  169. package/public_api.d.ts +29 -25
  170. package/public_api.d.ts.map +1 -1
  171. package/simpleangularcontrols-sac-bootstrap4-13.0.0-rc.4.tgz +0 -0
  172. package/simpleangularcontrols-sac-bootstrap4-13.0.0-rc.2.tgz +0 -0
@@ -2,46 +2,57 @@ import { Component, forwardRef, Host, Optional, } from '@angular/core';
2
2
  import { NG_VALIDATORS, NG_VALUE_ACCESSOR } from '@angular/forms';
3
3
  import { SacUploadSingleCommon } from '@simpleangularcontrols/sac-common';
4
4
  import * as i0 from "@angular/core";
5
- import * as i1 from "../form/form";
5
+ import * as i1 from "../layout/formlayout.directive";
6
6
  import * as i2 from "@angular/common";
7
+ import * as i3 from "../layout/tolabelwidthcss.pipe";
8
+ import * as i4 from "../layout/tocontrolwidthcss.pipe";
7
9
  /**
8
10
  * Upload Komponten
9
11
  * @see https://github.com/kukhariev/ngx-uploadx/
10
12
  */
11
13
  export class SacUploadComponent extends SacUploadSingleCommon {
14
+ // #region Constructors
12
15
  /**
13
- * Konstruktor
14
- * @param parent Formular
15
- * @param injector Angular Dependency Injection Service
16
- * @param renderer Angular Rendering Engine
17
- * @param ngZone ngZone Referenz
16
+ * Constructor
17
+ * @param formLayout SacFormLayout to define scoped layout settings
18
+ * @param injector Injector for injecting services
19
+ * @param renderer Angular rendering engine
20
+ * @param ngZone ngZone to manage external javascripts
18
21
  */
19
- constructor(parent, injector, renderer, ngZone) {
20
- super(parent, injector, renderer, ngZone);
22
+ constructor(formLayout, injector, renderer, ngZone) {
23
+ super(formLayout, injector, renderer, ngZone);
21
24
  }
22
25
  }
23
- SacUploadComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SacUploadComponent, deps: [{ token: i1.SacFormDirective, host: true, optional: true }, { token: i0.Injector }, { token: i0.Renderer2 }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
26
+ SacUploadComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SacUploadComponent, deps: [{ token: i1.SacFormLayoutDirective, host: true, optional: true }, { token: i0.Injector }, { token: i0.Renderer2 }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
24
27
  SacUploadComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.7", type: SacUploadComponent, selector: "sac-upload", providers: [
25
- { provide: NG_VALUE_ACCESSOR, multi: true, useExisting: SacUploadComponent },
28
+ {
29
+ provide: NG_VALUE_ACCESSOR,
30
+ multi: true,
31
+ useExisting: SacUploadComponent,
32
+ },
26
33
  {
27
34
  provide: NG_VALIDATORS,
28
35
  multi: true,
29
36
  useExisting: forwardRef(() => SacUploadComponent),
30
37
  },
31
- ], usesInheritance: true, ngImport: i0, template: "<div class=\"row form-group\" [class.no-gutters]=\"disablelabel\">\r\n <label\r\n *ngIf=\"disablelabel === false && !isadaptivelabel\"\r\n id=\"{{name}}_label\"\r\n for=\"{{name}}\"\r\n class=\"col-12 col-form-label\"\r\n [ngClass]=\"[labelsize !== 12 ? 'col-md-' + labelsize : 'sr-only']\"\r\n >{{label}}</label\r\n >\r\n <div\r\n class=\"col-12\"\r\n [ngClass]=\"[disablelabel === false ? 'col-md-' + _inputsize : 'col-md-12']\"\r\n >\r\n <div\r\n class=\"input-group upload-component upload-single\"\r\n [class.is-invalid]=\"isinlineerrorenabled && invalid && (dirty || touched)\"\r\n >\r\n <div class=\"input-group-prepend\">\r\n <!-- image-preview-input -->\r\n <div\r\n class=\"btn upload-input custom-file\"\r\n [class.disabled]=\"HasQueueItem()\"\r\n [class.btn-secondary]=\"!(invalid && (dirty || touched))\"\r\n [class.btn-danger]=\"invalid && (dirty || touched)\"\r\n >\r\n <i class=\"pr-2\" [class]=\"IconBrowse\"></i>\r\n <span class=\"upload-browse\"\r\n >{{ lngResourceService.GetString('UPLOAD_BUTTON_BROWSE') | async\r\n }}</span\r\n >\r\n <input\r\n type=\"file\"\r\n class=\"custom-file-input\"\r\n #files\r\n (click)=\"files.value = ''\"\r\n (uploadxState)=\"onUpload($event)\"\r\n multiple\r\n [disabled]=\"HasQueueItem()\"\r\n />\r\n </div>\r\n </div>\r\n <div\r\n class=\"form-control upload-progress\"\r\n [class.is-invalid]=\"invalid && (dirty || touched)\"\r\n >\r\n <div class=\"progress\">\r\n <div\r\n class=\"progress-bar\"\r\n [class.progress-bar-success]=\"Progress()===100\"\r\n role=\"progressbar\"\r\n [attr.aria-valuenow]=\"Progress()\"\r\n aria-valuemin=\"0\"\r\n aria-valuemax=\"100\"\r\n [style.width.%]=\"Progress()\"\r\n >\r\n <span class=\"progress-text text-dark\"\r\n >{{ Filename() | async }}</span\r\n >\r\n </div>\r\n </div>\r\n </div>\r\n <!-- <input type=\"textimage-preview-filename\" class=\"form-control image-preview-filename\" disabled=\"disabled\"> --><!-- don't give a name === doesn't send on POST/GET -->\r\n <div class=\"input-group-append\">\r\n <!-- image-preview-clear button -->\r\n <button\r\n class=\"btn\"\r\n (click)=\"cancelAll()\"\r\n [attr.disabled]=\"HasQueueItem() === false ? 'disabled' : null\"\r\n [class.disabled]=\"HasQueueItem() === false ? 'disabled' : null\"\r\n [class.btn-secondary]=\"!(invalid && (dirty || touched))\"\r\n [class.btn-danger]=\"invalid && (dirty || touched)\"\r\n >\r\n <span [class]=\"IconDelete\"></span>\r\n </button>\r\n <button\r\n *ngIf=\"(autoupload === false && enablepause) || (autoupload && enablepause && IsPaused() === false)\"\r\n class=\"btn\"\r\n (click)=\"pauseAll()\"\r\n [attr.disabled]=\"IsUploading() === false ? 'disabled' : null\"\r\n [class.disabled]=\"IsUploading() === false ? 'disabled' : null\"\r\n [class.btn-secondary]=\"!(invalid && (dirty || touched))\"\r\n [class.btn-danger]=\"invalid && (dirty || touched)\"\r\n >\r\n <span [class]=\"IconPause\"></span>\r\n </button>\r\n <button\r\n *ngIf=\"autoupload && enablepause && IsPaused()\"\r\n class=\"btn\"\r\n (click)=\"uploadAll()\"\r\n [class.btn-secondary]=\"!(invalid && (dirty || touched))\"\r\n [class.btn-danger]=\"invalid && (dirty || touched)\"\r\n >\r\n <span [class]=\"IconContinue\"></span>\r\n </button>\r\n <button\r\n *ngIf=\"autoupload === false\"\r\n class=\"btn text-nowrap\"\r\n (click)=\"uploadAll()\"\r\n [attr.disabled]=\"IsStateToUpload() === false ? 'disabled' : null\"\r\n [class.disabled]=\"IsStateToUpload() === false ? 'disabled' : null\"\r\n [class.btn-secondary]=\"!(invalid && (dirty || touched))\"\r\n [class.btn-danger]=\"invalid && (dirty || touched)\"\r\n >\r\n <span [class]=\"IconUpload\" class=\"pr-2\"></span>{{\r\n lngResourceService.GetString('UPLOAD_BUTTON_UPLOAD') | async }}\r\n </button>\r\n </div>\r\n </div>\r\n <div\r\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\"\r\n class=\"invalid-feedback\"\r\n >\r\n {{ GetErrorMessage() | async }}\r\n </div>\r\n </div>\r\n</div>\r\n", styles: [".upload-component .custom-file .custom-file-input{inset:0;position:absolute}.upload-component.upload-multiple .upload-progress .progress{border-top-right-radius:0;border-bottom-right-radius:0}.upload-component.upload-single .upload-progress .progress{border-radius:0}.upload-component .upload-progress{padding:0;border:0}.upload-component .upload-progress .progress{height:calc(2.25rem + 2px)}.upload-component .upload-progress .progress .progress-text{position:absolute;left:0;right:0}\n"], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], pipes: { "async": i2.AsyncPipe } });
38
+ ], usesInheritance: true, ngImport: i0, template: "<div class=\"row form-group\" [class.no-gutters]=\"disablelabel\">\r\n <label\r\n *ngIf=\"disablelabel === false && !isAdaptiveLabel\"\r\n id=\"{{name}}_label\"\r\n for=\"{{name}}\"\r\n class=\"col-12 col-form-label\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'sr-only' ]\"\r\n >{{label}}</label\r\n >\r\n <div\r\n class=\"col-12\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\r\n >\r\n <div\r\n class=\"input-group upload-component upload-single\"\r\n [class.is-invalid]=\"isinlineerrorenabled && invalid && (dirty || touched)\"\r\n >\r\n <div class=\"input-group-prepend\">\r\n <!-- image-preview-input -->\r\n <div\r\n class=\"btn upload-input custom-file\"\r\n [class.disabled]=\"HasQueueItem()\"\r\n [class.btn-secondary]=\"!(invalid && (dirty || touched))\"\r\n [class.btn-danger]=\"invalid && (dirty || touched)\"\r\n >\r\n <i class=\"pr-2\" [class]=\"IconBrowse\"></i>\r\n <span class=\"upload-browse\"\r\n >{{ lngResourceService.GetString('UPLOAD_BUTTON_BROWSE') | async\r\n }}</span\r\n >\r\n <input\r\n type=\"file\"\r\n class=\"custom-file-input\"\r\n #files\r\n (click)=\"files.value = ''\"\r\n (uploadxState)=\"onUpload($event)\"\r\n multiple\r\n [disabled]=\"HasQueueItem()\"\r\n />\r\n </div>\r\n </div>\r\n <div\r\n class=\"form-control upload-progress\"\r\n [class.is-invalid]=\"invalid && (dirty || touched)\"\r\n >\r\n <div class=\"progress\">\r\n <div\r\n class=\"progress-bar\"\r\n [class.progress-bar-success]=\"Progress()===100\"\r\n role=\"progressbar\"\r\n [attr.aria-valuenow]=\"Progress()\"\r\n aria-valuemin=\"0\"\r\n aria-valuemax=\"100\"\r\n [style.width.%]=\"Progress()\"\r\n >\r\n <span class=\"progress-text text-dark\"\r\n >{{ Filename() | async }}</span\r\n >\r\n </div>\r\n </div>\r\n </div>\r\n <!-- <input type=\"textimage-preview-filename\" class=\"form-control image-preview-filename\" disabled=\"disabled\"> --><!-- don't give a name === doesn't send on POST/GET -->\r\n <div class=\"input-group-append\">\r\n <!-- image-preview-clear button -->\r\n <button\r\n class=\"btn\"\r\n (click)=\"cancelAll()\"\r\n [attr.disabled]=\"HasQueueItem() === false ? 'disabled' : null\"\r\n [class.disabled]=\"HasQueueItem() === false ? 'disabled' : null\"\r\n [class.btn-secondary]=\"!(invalid && (dirty || touched))\"\r\n [class.btn-danger]=\"invalid && (dirty || touched)\"\r\n >\r\n <span [class]=\"IconDelete\"></span>\r\n </button>\r\n <button\r\n *ngIf=\"(autoupload === false && enablepause) || (autoupload && enablepause && IsPaused() === false)\"\r\n class=\"btn\"\r\n (click)=\"pauseAll()\"\r\n [attr.disabled]=\"IsUploading() === false ? 'disabled' : null\"\r\n [class.disabled]=\"IsUploading() === false ? 'disabled' : null\"\r\n [class.btn-secondary]=\"!(invalid && (dirty || touched))\"\r\n [class.btn-danger]=\"invalid && (dirty || touched)\"\r\n >\r\n <span [class]=\"IconPause\"></span>\r\n </button>\r\n <button\r\n *ngIf=\"autoupload && enablepause && IsPaused()\"\r\n class=\"btn\"\r\n (click)=\"uploadAll()\"\r\n [class.btn-secondary]=\"!(invalid && (dirty || touched))\"\r\n [class.btn-danger]=\"invalid && (dirty || touched)\"\r\n >\r\n <span [class]=\"IconContinue\"></span>\r\n </button>\r\n <button\r\n *ngIf=\"autoupload === false\"\r\n class=\"btn text-nowrap\"\r\n (click)=\"uploadAll()\"\r\n [attr.disabled]=\"IsStateToUpload() === false ? 'disabled' : null\"\r\n [class.disabled]=\"IsStateToUpload() === false ? 'disabled' : null\"\r\n [class.btn-secondary]=\"!(invalid && (dirty || touched))\"\r\n [class.btn-danger]=\"invalid && (dirty || touched)\"\r\n >\r\n <span [class]=\"IconUpload\" class=\"pr-2\"></span>{{\r\n lngResourceService.GetString('UPLOAD_BUTTON_UPLOAD') | async }}\r\n </button>\r\n </div>\r\n </div>\r\n <div\r\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\"\r\n class=\"invalid-feedback\"\r\n >\r\n {{ GetErrorMessage() | async }}\r\n </div>\r\n </div>\r\n</div>\r\n", styles: [".upload-component .custom-file .custom-file-input{inset:0;position:absolute}.upload-component.upload-multiple .upload-progress .progress{border-top-right-radius:0;border-bottom-right-radius:0}.upload-component.upload-single .upload-progress .progress{border-radius:0}.upload-component .upload-progress{padding:0;border:0}.upload-component .upload-progress .progress{height:calc(2.25rem + 2px)}.upload-component .upload-progress .progress .progress-text{position:absolute;left:0;right:0}\n"], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], pipes: { "toLabelWidthCss": i3.SacToLabelWidthCssPipe, "toControlWidthCss": i4.SacToControlWidthCssPipe, "async": i2.AsyncPipe } });
32
39
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SacUploadComponent, decorators: [{
33
40
  type: Component,
34
41
  args: [{ selector: 'sac-upload', providers: [
35
- { provide: NG_VALUE_ACCESSOR, multi: true, useExisting: SacUploadComponent },
42
+ {
43
+ provide: NG_VALUE_ACCESSOR,
44
+ multi: true,
45
+ useExisting: SacUploadComponent,
46
+ },
36
47
  {
37
48
  provide: NG_VALIDATORS,
38
49
  multi: true,
39
50
  useExisting: forwardRef(() => SacUploadComponent),
40
51
  },
41
- ], template: "<div class=\"row form-group\" [class.no-gutters]=\"disablelabel\">\r\n <label\r\n *ngIf=\"disablelabel === false && !isadaptivelabel\"\r\n id=\"{{name}}_label\"\r\n for=\"{{name}}\"\r\n class=\"col-12 col-form-label\"\r\n [ngClass]=\"[labelsize !== 12 ? 'col-md-' + labelsize : 'sr-only']\"\r\n >{{label}}</label\r\n >\r\n <div\r\n class=\"col-12\"\r\n [ngClass]=\"[disablelabel === false ? 'col-md-' + _inputsize : 'col-md-12']\"\r\n >\r\n <div\r\n class=\"input-group upload-component upload-single\"\r\n [class.is-invalid]=\"isinlineerrorenabled && invalid && (dirty || touched)\"\r\n >\r\n <div class=\"input-group-prepend\">\r\n <!-- image-preview-input -->\r\n <div\r\n class=\"btn upload-input custom-file\"\r\n [class.disabled]=\"HasQueueItem()\"\r\n [class.btn-secondary]=\"!(invalid && (dirty || touched))\"\r\n [class.btn-danger]=\"invalid && (dirty || touched)\"\r\n >\r\n <i class=\"pr-2\" [class]=\"IconBrowse\"></i>\r\n <span class=\"upload-browse\"\r\n >{{ lngResourceService.GetString('UPLOAD_BUTTON_BROWSE') | async\r\n }}</span\r\n >\r\n <input\r\n type=\"file\"\r\n class=\"custom-file-input\"\r\n #files\r\n (click)=\"files.value = ''\"\r\n (uploadxState)=\"onUpload($event)\"\r\n multiple\r\n [disabled]=\"HasQueueItem()\"\r\n />\r\n </div>\r\n </div>\r\n <div\r\n class=\"form-control upload-progress\"\r\n [class.is-invalid]=\"invalid && (dirty || touched)\"\r\n >\r\n <div class=\"progress\">\r\n <div\r\n class=\"progress-bar\"\r\n [class.progress-bar-success]=\"Progress()===100\"\r\n role=\"progressbar\"\r\n [attr.aria-valuenow]=\"Progress()\"\r\n aria-valuemin=\"0\"\r\n aria-valuemax=\"100\"\r\n [style.width.%]=\"Progress()\"\r\n >\r\n <span class=\"progress-text text-dark\"\r\n >{{ Filename() | async }}</span\r\n >\r\n </div>\r\n </div>\r\n </div>\r\n <!-- <input type=\"textimage-preview-filename\" class=\"form-control image-preview-filename\" disabled=\"disabled\"> --><!-- don't give a name === doesn't send on POST/GET -->\r\n <div class=\"input-group-append\">\r\n <!-- image-preview-clear button -->\r\n <button\r\n class=\"btn\"\r\n (click)=\"cancelAll()\"\r\n [attr.disabled]=\"HasQueueItem() === false ? 'disabled' : null\"\r\n [class.disabled]=\"HasQueueItem() === false ? 'disabled' : null\"\r\n [class.btn-secondary]=\"!(invalid && (dirty || touched))\"\r\n [class.btn-danger]=\"invalid && (dirty || touched)\"\r\n >\r\n <span [class]=\"IconDelete\"></span>\r\n </button>\r\n <button\r\n *ngIf=\"(autoupload === false && enablepause) || (autoupload && enablepause && IsPaused() === false)\"\r\n class=\"btn\"\r\n (click)=\"pauseAll()\"\r\n [attr.disabled]=\"IsUploading() === false ? 'disabled' : null\"\r\n [class.disabled]=\"IsUploading() === false ? 'disabled' : null\"\r\n [class.btn-secondary]=\"!(invalid && (dirty || touched))\"\r\n [class.btn-danger]=\"invalid && (dirty || touched)\"\r\n >\r\n <span [class]=\"IconPause\"></span>\r\n </button>\r\n <button\r\n *ngIf=\"autoupload && enablepause && IsPaused()\"\r\n class=\"btn\"\r\n (click)=\"uploadAll()\"\r\n [class.btn-secondary]=\"!(invalid && (dirty || touched))\"\r\n [class.btn-danger]=\"invalid && (dirty || touched)\"\r\n >\r\n <span [class]=\"IconContinue\"></span>\r\n </button>\r\n <button\r\n *ngIf=\"autoupload === false\"\r\n class=\"btn text-nowrap\"\r\n (click)=\"uploadAll()\"\r\n [attr.disabled]=\"IsStateToUpload() === false ? 'disabled' : null\"\r\n [class.disabled]=\"IsStateToUpload() === false ? 'disabled' : null\"\r\n [class.btn-secondary]=\"!(invalid && (dirty || touched))\"\r\n [class.btn-danger]=\"invalid && (dirty || touched)\"\r\n >\r\n <span [class]=\"IconUpload\" class=\"pr-2\"></span>{{\r\n lngResourceService.GetString('UPLOAD_BUTTON_UPLOAD') | async }}\r\n </button>\r\n </div>\r\n </div>\r\n <div\r\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\"\r\n class=\"invalid-feedback\"\r\n >\r\n {{ GetErrorMessage() | async }}\r\n </div>\r\n </div>\r\n</div>\r\n", styles: [".upload-component .custom-file .custom-file-input{inset:0;position:absolute}.upload-component.upload-multiple .upload-progress .progress{border-top-right-radius:0;border-bottom-right-radius:0}.upload-component.upload-single .upload-progress .progress{border-radius:0}.upload-component .upload-progress{padding:0;border:0}.upload-component .upload-progress .progress{height:calc(2.25rem + 2px)}.upload-component .upload-progress .progress .progress-text{position:absolute;left:0;right:0}\n"] }]
42
- }], ctorParameters: function () { return [{ type: i1.SacFormDirective, decorators: [{
52
+ ], template: "<div class=\"row form-group\" [class.no-gutters]=\"disablelabel\">\r\n <label\r\n *ngIf=\"disablelabel === false && !isAdaptiveLabel\"\r\n id=\"{{name}}_label\"\r\n for=\"{{name}}\"\r\n class=\"col-12 col-form-label\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'sr-only' ]\"\r\n >{{label}}</label\r\n >\r\n <div\r\n class=\"col-12\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\r\n >\r\n <div\r\n class=\"input-group upload-component upload-single\"\r\n [class.is-invalid]=\"isinlineerrorenabled && invalid && (dirty || touched)\"\r\n >\r\n <div class=\"input-group-prepend\">\r\n <!-- image-preview-input -->\r\n <div\r\n class=\"btn upload-input custom-file\"\r\n [class.disabled]=\"HasQueueItem()\"\r\n [class.btn-secondary]=\"!(invalid && (dirty || touched))\"\r\n [class.btn-danger]=\"invalid && (dirty || touched)\"\r\n >\r\n <i class=\"pr-2\" [class]=\"IconBrowse\"></i>\r\n <span class=\"upload-browse\"\r\n >{{ lngResourceService.GetString('UPLOAD_BUTTON_BROWSE') | async\r\n }}</span\r\n >\r\n <input\r\n type=\"file\"\r\n class=\"custom-file-input\"\r\n #files\r\n (click)=\"files.value = ''\"\r\n (uploadxState)=\"onUpload($event)\"\r\n multiple\r\n [disabled]=\"HasQueueItem()\"\r\n />\r\n </div>\r\n </div>\r\n <div\r\n class=\"form-control upload-progress\"\r\n [class.is-invalid]=\"invalid && (dirty || touched)\"\r\n >\r\n <div class=\"progress\">\r\n <div\r\n class=\"progress-bar\"\r\n [class.progress-bar-success]=\"Progress()===100\"\r\n role=\"progressbar\"\r\n [attr.aria-valuenow]=\"Progress()\"\r\n aria-valuemin=\"0\"\r\n aria-valuemax=\"100\"\r\n [style.width.%]=\"Progress()\"\r\n >\r\n <span class=\"progress-text text-dark\"\r\n >{{ Filename() | async }}</span\r\n >\r\n </div>\r\n </div>\r\n </div>\r\n <!-- <input type=\"textimage-preview-filename\" class=\"form-control image-preview-filename\" disabled=\"disabled\"> --><!-- don't give a name === doesn't send on POST/GET -->\r\n <div class=\"input-group-append\">\r\n <!-- image-preview-clear button -->\r\n <button\r\n class=\"btn\"\r\n (click)=\"cancelAll()\"\r\n [attr.disabled]=\"HasQueueItem() === false ? 'disabled' : null\"\r\n [class.disabled]=\"HasQueueItem() === false ? 'disabled' : null\"\r\n [class.btn-secondary]=\"!(invalid && (dirty || touched))\"\r\n [class.btn-danger]=\"invalid && (dirty || touched)\"\r\n >\r\n <span [class]=\"IconDelete\"></span>\r\n </button>\r\n <button\r\n *ngIf=\"(autoupload === false && enablepause) || (autoupload && enablepause && IsPaused() === false)\"\r\n class=\"btn\"\r\n (click)=\"pauseAll()\"\r\n [attr.disabled]=\"IsUploading() === false ? 'disabled' : null\"\r\n [class.disabled]=\"IsUploading() === false ? 'disabled' : null\"\r\n [class.btn-secondary]=\"!(invalid && (dirty || touched))\"\r\n [class.btn-danger]=\"invalid && (dirty || touched)\"\r\n >\r\n <span [class]=\"IconPause\"></span>\r\n </button>\r\n <button\r\n *ngIf=\"autoupload && enablepause && IsPaused()\"\r\n class=\"btn\"\r\n (click)=\"uploadAll()\"\r\n [class.btn-secondary]=\"!(invalid && (dirty || touched))\"\r\n [class.btn-danger]=\"invalid && (dirty || touched)\"\r\n >\r\n <span [class]=\"IconContinue\"></span>\r\n </button>\r\n <button\r\n *ngIf=\"autoupload === false\"\r\n class=\"btn text-nowrap\"\r\n (click)=\"uploadAll()\"\r\n [attr.disabled]=\"IsStateToUpload() === false ? 'disabled' : null\"\r\n [class.disabled]=\"IsStateToUpload() === false ? 'disabled' : null\"\r\n [class.btn-secondary]=\"!(invalid && (dirty || touched))\"\r\n [class.btn-danger]=\"invalid && (dirty || touched)\"\r\n >\r\n <span [class]=\"IconUpload\" class=\"pr-2\"></span>{{\r\n lngResourceService.GetString('UPLOAD_BUTTON_UPLOAD') | async }}\r\n </button>\r\n </div>\r\n </div>\r\n <div\r\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\"\r\n class=\"invalid-feedback\"\r\n >\r\n {{ GetErrorMessage() | async }}\r\n </div>\r\n </div>\r\n</div>\r\n", styles: [".upload-component .custom-file .custom-file-input{inset:0;position:absolute}.upload-component.upload-multiple .upload-progress .progress{border-top-right-radius:0;border-bottom-right-radius:0}.upload-component.upload-single .upload-progress .progress{border-radius:0}.upload-component .upload-progress{padding:0;border:0}.upload-component .upload-progress .progress{height:calc(2.25rem + 2px)}.upload-component .upload-progress .progress .progress-text{position:absolute;left:0;right:0}\n"] }]
53
+ }], ctorParameters: function () { return [{ type: i1.SacFormLayoutDirective, decorators: [{
43
54
  type: Host
44
55
  }, {
45
56
  type: Optional
46
57
  }] }, { type: i0.Injector }, { type: i0.Renderer2 }, { type: i0.NgZone }]; } });
47
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBsb2FkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2FjLWJvb3RzdHJhcDQvc3JjL2NvbnRyb2xzL3VwbG9hZC91cGxvYWQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zYWMtYm9vdHN0cmFwNC9zcmMvY29udHJvbHMvdXBsb2FkL3VwbG9hZC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsVUFBVSxFQUNWLElBQUksRUFHSixRQUFRLEdBRVQsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGFBQWEsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLG1DQUFtQyxDQUFDOzs7O0FBRzFFOzs7R0FHRztBQWNILE1BQU0sT0FBTyxrQkFBbUIsU0FBUSxxQkFBcUI7SUFDM0Q7Ozs7OztPQU1HO0lBQ0gsWUFDc0IsTUFBd0IsRUFDNUMsUUFBa0IsRUFDbEIsUUFBbUIsRUFDbkIsTUFBYztRQUVkLEtBQUssQ0FBQyxNQUFNLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxNQUFNLENBQUMsQ0FBQztJQUM1QyxDQUFDOzsrR0FmVSxrQkFBa0I7bUdBQWxCLGtCQUFrQixxQ0FUbEI7UUFDVCxFQUFFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRSxrQkFBa0IsRUFBRTtRQUM1RTtZQUNFLE9BQU8sRUFBRSxhQUFhO1lBQ3RCLEtBQUssRUFBRSxJQUFJO1lBQ1gsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQztTQUNsRDtLQUNGLGlEQzVCSCxvcUpBb0hBOzJGRHRGYSxrQkFBa0I7a0JBYjlCLFNBQVM7K0JBQ0UsWUFBWSxhQUdYO3dCQUNULEVBQUUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsV0FBVyxvQkFBb0IsRUFBRTt3QkFDNUU7NEJBQ0UsT0FBTyxFQUFFLGFBQWE7NEJBQ3RCLEtBQUssRUFBRSxJQUFJOzRCQUNYLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLG1CQUFtQixDQUFDO3lCQUNsRDtxQkFDRjs7MEJBV0UsSUFBSTs7MEJBQUksUUFBUSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQ29tcG9uZW50LFxyXG4gIGZvcndhcmRSZWYsXHJcbiAgSG9zdCxcclxuICBJbmplY3RvcixcclxuICBOZ1pvbmUsXHJcbiAgT3B0aW9uYWwsXHJcbiAgUmVuZGVyZXIyLFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBOR19WQUxJREFUT1JTLCBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgU2FjVXBsb2FkU2luZ2xlQ29tbW9uIH0gZnJvbSAnQHNpbXBsZWFuZ3VsYXJjb250cm9scy9zYWMtY29tbW9uJztcclxuaW1wb3J0IHsgU2FjRm9ybURpcmVjdGl2ZSB9IGZyb20gJy4uL2Zvcm0vZm9ybSc7XHJcblxyXG4vKipcclxuICogVXBsb2FkIEtvbXBvbnRlblxyXG4gKiBAc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9rdWtoYXJpZXYvbmd4LXVwbG9hZHgvXHJcbiAqL1xyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ3NhYy11cGxvYWQnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi91cGxvYWQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vdXBsb2FkLnNjc3MnXSxcclxuICBwcm92aWRlcnM6IFtcclxuICAgIHsgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsIG11bHRpOiB0cnVlLCB1c2VFeGlzdGluZzogU2FjVXBsb2FkQ29tcG9uZW50IH0sXHJcbiAgICB7XHJcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTElEQVRPUlMsXHJcbiAgICAgIG11bHRpOiB0cnVlLFxyXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBTYWNVcGxvYWRDb21wb25lbnQpLFxyXG4gICAgfSxcclxuICBdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgU2FjVXBsb2FkQ29tcG9uZW50IGV4dGVuZHMgU2FjVXBsb2FkU2luZ2xlQ29tbW9uIHtcclxuICAvKipcclxuICAgKiBLb25zdHJ1a3RvclxyXG4gICAqIEBwYXJhbSBwYXJlbnQgRm9ybXVsYXJcclxuICAgKiBAcGFyYW0gaW5qZWN0b3IgQW5ndWxhciBEZXBlbmRlbmN5IEluamVjdGlvbiBTZXJ2aWNlXHJcbiAgICogQHBhcmFtIHJlbmRlcmVyIEFuZ3VsYXIgUmVuZGVyaW5nIEVuZ2luZVxyXG4gICAqIEBwYXJhbSBuZ1pvbmUgbmdab25lIFJlZmVyZW56XHJcbiAgICovXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBASG9zdCgpIEBPcHRpb25hbCgpIHBhcmVudDogU2FjRm9ybURpcmVjdGl2ZSxcclxuICAgIGluamVjdG9yOiBJbmplY3RvcixcclxuICAgIHJlbmRlcmVyOiBSZW5kZXJlcjIsXHJcbiAgICBuZ1pvbmU6IE5nWm9uZVxyXG4gICkge1xyXG4gICAgc3VwZXIocGFyZW50LCBpbmplY3RvciwgcmVuZGVyZXIsIG5nWm9uZSk7XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJyb3cgZm9ybS1ncm91cFwiIFtjbGFzcy5uby1ndXR0ZXJzXT1cImRpc2FibGVsYWJlbFwiPlxyXG4gIDxsYWJlbFxyXG4gICAgKm5nSWY9XCJkaXNhYmxlbGFiZWwgPT09IGZhbHNlICYmICFpc2FkYXB0aXZlbGFiZWxcIlxyXG4gICAgaWQ9XCJ7e25hbWV9fV9sYWJlbFwiXHJcbiAgICBmb3I9XCJ7e25hbWV9fVwiXHJcbiAgICBjbGFzcz1cImNvbC0xMiBjb2wtZm9ybS1sYWJlbFwiXHJcbiAgICBbbmdDbGFzc109XCJbbGFiZWxzaXplICE9PSAxMiA/ICAnY29sLW1kLScgKyBsYWJlbHNpemUgOiAnc3Itb25seSddXCJcclxuICAgID57e2xhYmVsfX08L2xhYmVsXHJcbiAgPlxyXG4gIDxkaXZcclxuICAgIGNsYXNzPVwiY29sLTEyXCJcclxuICAgIFtuZ0NsYXNzXT1cIltkaXNhYmxlbGFiZWwgPT09IGZhbHNlID8gJ2NvbC1tZC0nICsgX2lucHV0c2l6ZSA6ICdjb2wtbWQtMTInXVwiXHJcbiAgPlxyXG4gICAgPGRpdlxyXG4gICAgICBjbGFzcz1cImlucHV0LWdyb3VwIHVwbG9hZC1jb21wb25lbnQgdXBsb2FkLXNpbmdsZVwiXHJcbiAgICAgIFtjbGFzcy5pcy1pbnZhbGlkXT1cImlzaW5saW5lZXJyb3JlbmFibGVkICYmIGludmFsaWQgJiYgKGRpcnR5IHx8IHRvdWNoZWQpXCJcclxuICAgID5cclxuICAgICAgPGRpdiBjbGFzcz1cImlucHV0LWdyb3VwLXByZXBlbmRcIj5cclxuICAgICAgICA8IS0tIGltYWdlLXByZXZpZXctaW5wdXQgLS0+XHJcbiAgICAgICAgPGRpdlxyXG4gICAgICAgICAgY2xhc3M9XCJidG4gdXBsb2FkLWlucHV0IGN1c3RvbS1maWxlXCJcclxuICAgICAgICAgIFtjbGFzcy5kaXNhYmxlZF09XCJIYXNRdWV1ZUl0ZW0oKVwiXHJcbiAgICAgICAgICBbY2xhc3MuYnRuLXNlY29uZGFyeV09XCIhKGludmFsaWQgJiYgKGRpcnR5IHx8IHRvdWNoZWQpKVwiXHJcbiAgICAgICAgICBbY2xhc3MuYnRuLWRhbmdlcl09XCJpbnZhbGlkICYmIChkaXJ0eSB8fCB0b3VjaGVkKVwiXHJcbiAgICAgICAgPlxyXG4gICAgICAgICAgPGkgY2xhc3M9XCJwci0yXCIgW2NsYXNzXT1cIkljb25Ccm93c2VcIj48L2k+XHJcbiAgICAgICAgICA8c3BhbiBjbGFzcz1cInVwbG9hZC1icm93c2VcIlxyXG4gICAgICAgICAgICA+e3sgbG5nUmVzb3VyY2VTZXJ2aWNlLkdldFN0cmluZygnVVBMT0FEX0JVVFRPTl9CUk9XU0UnKSB8IGFzeW5jXHJcbiAgICAgICAgICAgIH19PC9zcGFuXHJcbiAgICAgICAgICA+XHJcbiAgICAgICAgICA8aW5wdXRcclxuICAgICAgICAgICAgdHlwZT1cImZpbGVcIlxyXG4gICAgICAgICAgICBjbGFzcz1cImN1c3RvbS1maWxlLWlucHV0XCJcclxuICAgICAgICAgICAgI2ZpbGVzXHJcbiAgICAgICAgICAgIChjbGljayk9XCJmaWxlcy52YWx1ZSA9ICcnXCJcclxuICAgICAgICAgICAgKHVwbG9hZHhTdGF0ZSk9XCJvblVwbG9hZCgkZXZlbnQpXCJcclxuICAgICAgICAgICAgbXVsdGlwbGVcclxuICAgICAgICAgICAgW2Rpc2FibGVkXT1cIkhhc1F1ZXVlSXRlbSgpXCJcclxuICAgICAgICAgIC8+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8ZGl2XHJcbiAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2wgdXBsb2FkLXByb2dyZXNzXCJcclxuICAgICAgICBbY2xhc3MuaXMtaW52YWxpZF09XCJpbnZhbGlkICYmIChkaXJ0eSB8fCB0b3VjaGVkKVwiXHJcbiAgICAgID5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwicHJvZ3Jlc3NcIj5cclxuICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgY2xhc3M9XCJwcm9ncmVzcy1iYXJcIlxyXG4gICAgICAgICAgICBbY2xhc3MucHJvZ3Jlc3MtYmFyLXN1Y2Nlc3NdPVwiUHJvZ3Jlc3MoKT09PTEwMFwiXHJcbiAgICAgICAgICAgIHJvbGU9XCJwcm9ncmVzc2JhclwiXHJcbiAgICAgICAgICAgIFthdHRyLmFyaWEtdmFsdWVub3ddPVwiUHJvZ3Jlc3MoKVwiXHJcbiAgICAgICAgICAgIGFyaWEtdmFsdWVtaW49XCIwXCJcclxuICAgICAgICAgICAgYXJpYS12YWx1ZW1heD1cIjEwMFwiXHJcbiAgICAgICAgICAgIFtzdHlsZS53aWR0aC4lXT1cIlByb2dyZXNzKClcIlxyXG4gICAgICAgICAgPlxyXG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cInByb2dyZXNzLXRleHQgdGV4dC1kYXJrXCJcclxuICAgICAgICAgICAgICA+e3sgRmlsZW5hbWUoKSB8IGFzeW5jIH19PC9zcGFuXHJcbiAgICAgICAgICAgID5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgPCEtLSA8aW5wdXQgdHlwZT1cInRleHRpbWFnZS1wcmV2aWV3LWZpbGVuYW1lXCIgY2xhc3M9XCJmb3JtLWNvbnRyb2wgaW1hZ2UtcHJldmlldy1maWxlbmFtZVwiIGRpc2FibGVkPVwiZGlzYWJsZWRcIj4gLS0+PCEtLSBkb24ndCBnaXZlIGEgbmFtZSA9PT0gZG9lc24ndCBzZW5kIG9uIFBPU1QvR0VUIC0tPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiaW5wdXQtZ3JvdXAtYXBwZW5kXCI+XHJcbiAgICAgICAgPCEtLSBpbWFnZS1wcmV2aWV3LWNsZWFyIGJ1dHRvbiAtLT5cclxuICAgICAgICA8YnV0dG9uXHJcbiAgICAgICAgICBjbGFzcz1cImJ0blwiXHJcbiAgICAgICAgICAoY2xpY2spPVwiY2FuY2VsQWxsKClcIlxyXG4gICAgICAgICAgW2F0dHIuZGlzYWJsZWRdPVwiSGFzUXVldWVJdGVtKCkgPT09IGZhbHNlID8gJ2Rpc2FibGVkJyA6IG51bGxcIlxyXG4gICAgICAgICAgW2NsYXNzLmRpc2FibGVkXT1cIkhhc1F1ZXVlSXRlbSgpID09PSBmYWxzZSA/ICdkaXNhYmxlZCcgOiBudWxsXCJcclxuICAgICAgICAgIFtjbGFzcy5idG4tc2Vjb25kYXJ5XT1cIiEoaW52YWxpZCAmJiAoZGlydHkgfHwgdG91Y2hlZCkpXCJcclxuICAgICAgICAgIFtjbGFzcy5idG4tZGFuZ2VyXT1cImludmFsaWQgJiYgKGRpcnR5IHx8IHRvdWNoZWQpXCJcclxuICAgICAgICA+XHJcbiAgICAgICAgICA8c3BhbiBbY2xhc3NdPVwiSWNvbkRlbGV0ZVwiPjwvc3Bhbj5cclxuICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICA8YnV0dG9uXHJcbiAgICAgICAgICAqbmdJZj1cIihhdXRvdXBsb2FkID09PSBmYWxzZSAmJiBlbmFibGVwYXVzZSkgfHwgKGF1dG91cGxvYWQgJiYgZW5hYmxlcGF1c2UgJiYgSXNQYXVzZWQoKSA9PT0gZmFsc2UpXCJcclxuICAgICAgICAgIGNsYXNzPVwiYnRuXCJcclxuICAgICAgICAgIChjbGljayk9XCJwYXVzZUFsbCgpXCJcclxuICAgICAgICAgIFthdHRyLmRpc2FibGVkXT1cIklzVXBsb2FkaW5nKCkgPT09IGZhbHNlID8gJ2Rpc2FibGVkJyA6IG51bGxcIlxyXG4gICAgICAgICAgW2NsYXNzLmRpc2FibGVkXT1cIklzVXBsb2FkaW5nKCkgPT09IGZhbHNlID8gJ2Rpc2FibGVkJyA6IG51bGxcIlxyXG4gICAgICAgICAgW2NsYXNzLmJ0bi1zZWNvbmRhcnldPVwiIShpbnZhbGlkICYmIChkaXJ0eSB8fCB0b3VjaGVkKSlcIlxyXG4gICAgICAgICAgW2NsYXNzLmJ0bi1kYW5nZXJdPVwiaW52YWxpZCAmJiAoZGlydHkgfHwgdG91Y2hlZClcIlxyXG4gICAgICAgID5cclxuICAgICAgICAgIDxzcGFuIFtjbGFzc109XCJJY29uUGF1c2VcIj48L3NwYW4+XHJcbiAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgPGJ1dHRvblxyXG4gICAgICAgICAgKm5nSWY9XCJhdXRvdXBsb2FkICYmIGVuYWJsZXBhdXNlICYmIElzUGF1c2VkKClcIlxyXG4gICAgICAgICAgY2xhc3M9XCJidG5cIlxyXG4gICAgICAgICAgKGNsaWNrKT1cInVwbG9hZEFsbCgpXCJcclxuICAgICAgICAgIFtjbGFzcy5idG4tc2Vjb25kYXJ5XT1cIiEoaW52YWxpZCAmJiAoZGlydHkgfHwgdG91Y2hlZCkpXCJcclxuICAgICAgICAgIFtjbGFzcy5idG4tZGFuZ2VyXT1cImludmFsaWQgJiYgKGRpcnR5IHx8IHRvdWNoZWQpXCJcclxuICAgICAgICA+XHJcbiAgICAgICAgICA8c3BhbiBbY2xhc3NdPVwiSWNvbkNvbnRpbnVlXCI+PC9zcGFuPlxyXG4gICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgIDxidXR0b25cclxuICAgICAgICAgICpuZ0lmPVwiYXV0b3VwbG9hZCA9PT0gZmFsc2VcIlxyXG4gICAgICAgICAgY2xhc3M9XCJidG4gdGV4dC1ub3dyYXBcIlxyXG4gICAgICAgICAgKGNsaWNrKT1cInVwbG9hZEFsbCgpXCJcclxuICAgICAgICAgIFthdHRyLmRpc2FibGVkXT1cIklzU3RhdGVUb1VwbG9hZCgpID09PSBmYWxzZSA/ICAnZGlzYWJsZWQnIDogbnVsbFwiXHJcbiAgICAgICAgICBbY2xhc3MuZGlzYWJsZWRdPVwiSXNTdGF0ZVRvVXBsb2FkKCkgPT09IGZhbHNlID8gICdkaXNhYmxlZCcgOiBudWxsXCJcclxuICAgICAgICAgIFtjbGFzcy5idG4tc2Vjb25kYXJ5XT1cIiEoaW52YWxpZCAmJiAoZGlydHkgfHwgdG91Y2hlZCkpXCJcclxuICAgICAgICAgIFtjbGFzcy5idG4tZGFuZ2VyXT1cImludmFsaWQgJiYgKGRpcnR5IHx8IHRvdWNoZWQpXCJcclxuICAgICAgICA+XHJcbiAgICAgICAgICA8c3BhbiBbY2xhc3NdPVwiSWNvblVwbG9hZFwiIGNsYXNzPVwicHItMlwiPjwvc3Bhbj57e1xyXG4gICAgICAgICAgbG5nUmVzb3VyY2VTZXJ2aWNlLkdldFN0cmluZygnVVBMT0FEX0JVVFRPTl9VUExPQUQnKSB8IGFzeW5jIH19XHJcbiAgICAgICAgPC9idXR0b24+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2XHJcbiAgICAgICpuZ0lmPVwiaXNpbmxpbmVlcnJvcmVuYWJsZWQgJiYgaW52YWxpZCAmJiAoZGlydHkgfHwgdG91Y2hlZClcIlxyXG4gICAgICBjbGFzcz1cImludmFsaWQtZmVlZGJhY2tcIlxyXG4gICAgPlxyXG4gICAgICB7eyBHZXRFcnJvck1lc3NhZ2UoKSB8IGFzeW5jIH19XHJcbiAgICA8L2Rpdj5cclxuICA8L2Rpdj5cclxuPC9kaXY+XHJcbiJdfQ==
58
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBsb2FkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2FjLWJvb3RzdHJhcDQvc3JjL2NvbnRyb2xzL3VwbG9hZC91cGxvYWQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zYWMtYm9vdHN0cmFwNC9zcmMvY29udHJvbHMvdXBsb2FkL3VwbG9hZC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsVUFBVSxFQUNWLElBQUksRUFHSixRQUFRLEdBRVQsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGFBQWEsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLG1DQUFtQyxDQUFDOzs7Ozs7QUFHMUU7OztHQUdHO0FBa0JILE1BQU0sT0FBTyxrQkFBbUIsU0FBUSxxQkFBcUI7SUFDM0QsdUJBQXVCO0lBRXZCOzs7Ozs7T0FNRztJQUNILFlBQ3NCLFVBQWtDLEVBQ3RELFFBQWtCLEVBQ2xCLFFBQW1CLEVBQ25CLE1BQWM7UUFFZCxLQUFLLENBQUMsVUFBVSxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDaEQsQ0FBQzs7K0dBakJVLGtCQUFrQjttR0FBbEIsa0JBQWtCLHFDQWJsQjtRQUNUO1lBQ0UsT0FBTyxFQUFFLGlCQUFpQjtZQUMxQixLQUFLLEVBQUUsSUFBSTtZQUNYLFdBQVcsRUFBRSxrQkFBa0I7U0FDaEM7UUFDRDtZQUNFLE9BQU8sRUFBRSxhQUFhO1lBQ3RCLEtBQUssRUFBRSxJQUFJO1lBQ1gsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQztTQUNsRDtLQUNGLGlEQ2hDSCwrckpBb0hBOzJGRGxGYSxrQkFBa0I7a0JBakI5QixTQUFTOytCQUNFLFlBQVksYUFHWDt3QkFDVDs0QkFDRSxPQUFPLEVBQUUsaUJBQWlCOzRCQUMxQixLQUFLLEVBQUUsSUFBSTs0QkFDWCxXQUFXLG9CQUFvQjt5QkFDaEM7d0JBQ0Q7NEJBQ0UsT0FBTyxFQUFFLGFBQWE7NEJBQ3RCLEtBQUssRUFBRSxJQUFJOzRCQUNYLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLG1CQUFtQixDQUFDO3lCQUNsRDtxQkFDRjs7MEJBYUUsSUFBSTs7MEJBQUksUUFBUSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQ29tcG9uZW50LFxyXG4gIGZvcndhcmRSZWYsXHJcbiAgSG9zdCxcclxuICBJbmplY3RvcixcclxuICBOZ1pvbmUsXHJcbiAgT3B0aW9uYWwsXHJcbiAgUmVuZGVyZXIyLFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBOR19WQUxJREFUT1JTLCBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgU2FjVXBsb2FkU2luZ2xlQ29tbW9uIH0gZnJvbSAnQHNpbXBsZWFuZ3VsYXJjb250cm9scy9zYWMtY29tbW9uJztcclxuaW1wb3J0IHsgU2FjRm9ybUxheW91dERpcmVjdGl2ZSB9IGZyb20gJy4uL2xheW91dC9mb3JtbGF5b3V0LmRpcmVjdGl2ZSc7XHJcblxyXG4vKipcclxuICogVXBsb2FkIEtvbXBvbnRlblxyXG4gKiBAc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9rdWtoYXJpZXYvbmd4LXVwbG9hZHgvXHJcbiAqL1xyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ3NhYy11cGxvYWQnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi91cGxvYWQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vdXBsb2FkLnNjc3MnXSxcclxuICBwcm92aWRlcnM6IFtcclxuICAgIHtcclxuICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXHJcbiAgICAgIG11bHRpOiB0cnVlLFxyXG4gICAgICB1c2VFeGlzdGluZzogU2FjVXBsb2FkQ29tcG9uZW50LFxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgcHJvdmlkZTogTkdfVkFMSURBVE9SUyxcclxuICAgICAgbXVsdGk6IHRydWUsXHJcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFNhY1VwbG9hZENvbXBvbmVudCksXHJcbiAgICB9LFxyXG4gIF0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTYWNVcGxvYWRDb21wb25lbnQgZXh0ZW5kcyBTYWNVcGxvYWRTaW5nbGVDb21tb24ge1xyXG4gIC8vICNyZWdpb24gQ29uc3RydWN0b3JzXHJcblxyXG4gIC8qKlxyXG4gICAqIENvbnN0cnVjdG9yXHJcbiAgICogQHBhcmFtIGZvcm1MYXlvdXQgU2FjRm9ybUxheW91dCB0byBkZWZpbmUgc2NvcGVkIGxheW91dCBzZXR0aW5nc1xyXG4gICAqIEBwYXJhbSBpbmplY3RvciBJbmplY3RvciBmb3IgaW5qZWN0aW5nIHNlcnZpY2VzXHJcbiAgICogQHBhcmFtIHJlbmRlcmVyIEFuZ3VsYXIgcmVuZGVyaW5nIGVuZ2luZVxyXG4gICAqIEBwYXJhbSBuZ1pvbmUgbmdab25lIHRvIG1hbmFnZSBleHRlcm5hbCBqYXZhc2NyaXB0c1xyXG4gICAqL1xyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgQEhvc3QoKSBAT3B0aW9uYWwoKSBmb3JtTGF5b3V0OiBTYWNGb3JtTGF5b3V0RGlyZWN0aXZlLFxyXG4gICAgaW5qZWN0b3I6IEluamVjdG9yLFxyXG4gICAgcmVuZGVyZXI6IFJlbmRlcmVyMixcclxuICAgIG5nWm9uZTogTmdab25lXHJcbiAgKSB7XHJcbiAgICBzdXBlcihmb3JtTGF5b3V0LCBpbmplY3RvciwgcmVuZGVyZXIsIG5nWm9uZSk7XHJcbiAgfVxyXG5cclxuICAvLyAjZW5kcmVnaW9uIENvbnN0cnVjdG9yc1xyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJyb3cgZm9ybS1ncm91cFwiIFtjbGFzcy5uby1ndXR0ZXJzXT1cImRpc2FibGVsYWJlbFwiPlxyXG4gIDxsYWJlbFxyXG4gICAgKm5nSWY9XCJkaXNhYmxlbGFiZWwgPT09IGZhbHNlICYmICFpc0FkYXB0aXZlTGFiZWxcIlxyXG4gICAgaWQ9XCJ7e25hbWV9fV9sYWJlbFwiXHJcbiAgICBmb3I9XCJ7e25hbWV9fVwiXHJcbiAgICBjbGFzcz1cImNvbC0xMiBjb2wtZm9ybS1sYWJlbFwiXHJcbiAgICBbbmdDbGFzc109XCJbZGlzYWJsZWxhYmVsID09PSBmYWxzZSA/ICh0aGlzLmxhYmVsU2l6ZXMgfCB0b0xhYmVsV2lkdGhDc3MpIDogJ3NyLW9ubHknIF1cIlxyXG4gICAgPnt7bGFiZWx9fTwvbGFiZWxcclxuICA+XHJcbiAgPGRpdlxyXG4gICAgY2xhc3M9XCJjb2wtMTJcIlxyXG4gICAgW25nQ2xhc3NdPVwiW2Rpc2FibGVsYWJlbCA9PT0gZmFsc2UgPyAgKHRoaXMubGFiZWxTaXplcyB8IHRvQ29udHJvbFdpZHRoQ3NzKSA6ICcnXVwiXHJcbiAgPlxyXG4gICAgPGRpdlxyXG4gICAgICBjbGFzcz1cImlucHV0LWdyb3VwIHVwbG9hZC1jb21wb25lbnQgdXBsb2FkLXNpbmdsZVwiXHJcbiAgICAgIFtjbGFzcy5pcy1pbnZhbGlkXT1cImlzaW5saW5lZXJyb3JlbmFibGVkICYmIGludmFsaWQgJiYgKGRpcnR5IHx8IHRvdWNoZWQpXCJcclxuICAgID5cclxuICAgICAgPGRpdiBjbGFzcz1cImlucHV0LWdyb3VwLXByZXBlbmRcIj5cclxuICAgICAgICA8IS0tIGltYWdlLXByZXZpZXctaW5wdXQgLS0+XHJcbiAgICAgICAgPGRpdlxyXG4gICAgICAgICAgY2xhc3M9XCJidG4gdXBsb2FkLWlucHV0IGN1c3RvbS1maWxlXCJcclxuICAgICAgICAgIFtjbGFzcy5kaXNhYmxlZF09XCJIYXNRdWV1ZUl0ZW0oKVwiXHJcbiAgICAgICAgICBbY2xhc3MuYnRuLXNlY29uZGFyeV09XCIhKGludmFsaWQgJiYgKGRpcnR5IHx8IHRvdWNoZWQpKVwiXHJcbiAgICAgICAgICBbY2xhc3MuYnRuLWRhbmdlcl09XCJpbnZhbGlkICYmIChkaXJ0eSB8fCB0b3VjaGVkKVwiXHJcbiAgICAgICAgPlxyXG4gICAgICAgICAgPGkgY2xhc3M9XCJwci0yXCIgW2NsYXNzXT1cIkljb25Ccm93c2VcIj48L2k+XHJcbiAgICAgICAgICA8c3BhbiBjbGFzcz1cInVwbG9hZC1icm93c2VcIlxyXG4gICAgICAgICAgICA+e3sgbG5nUmVzb3VyY2VTZXJ2aWNlLkdldFN0cmluZygnVVBMT0FEX0JVVFRPTl9CUk9XU0UnKSB8IGFzeW5jXHJcbiAgICAgICAgICAgIH19PC9zcGFuXHJcbiAgICAgICAgICA+XHJcbiAgICAgICAgICA8aW5wdXRcclxuICAgICAgICAgICAgdHlwZT1cImZpbGVcIlxyXG4gICAgICAgICAgICBjbGFzcz1cImN1c3RvbS1maWxlLWlucHV0XCJcclxuICAgICAgICAgICAgI2ZpbGVzXHJcbiAgICAgICAgICAgIChjbGljayk9XCJmaWxlcy52YWx1ZSA9ICcnXCJcclxuICAgICAgICAgICAgKHVwbG9hZHhTdGF0ZSk9XCJvblVwbG9hZCgkZXZlbnQpXCJcclxuICAgICAgICAgICAgbXVsdGlwbGVcclxuICAgICAgICAgICAgW2Rpc2FibGVkXT1cIkhhc1F1ZXVlSXRlbSgpXCJcclxuICAgICAgICAgIC8+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8ZGl2XHJcbiAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2wgdXBsb2FkLXByb2dyZXNzXCJcclxuICAgICAgICBbY2xhc3MuaXMtaW52YWxpZF09XCJpbnZhbGlkICYmIChkaXJ0eSB8fCB0b3VjaGVkKVwiXHJcbiAgICAgID5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwicHJvZ3Jlc3NcIj5cclxuICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgY2xhc3M9XCJwcm9ncmVzcy1iYXJcIlxyXG4gICAgICAgICAgICBbY2xhc3MucHJvZ3Jlc3MtYmFyLXN1Y2Nlc3NdPVwiUHJvZ3Jlc3MoKT09PTEwMFwiXHJcbiAgICAgICAgICAgIHJvbGU9XCJwcm9ncmVzc2JhclwiXHJcbiAgICAgICAgICAgIFthdHRyLmFyaWEtdmFsdWVub3ddPVwiUHJvZ3Jlc3MoKVwiXHJcbiAgICAgICAgICAgIGFyaWEtdmFsdWVtaW49XCIwXCJcclxuICAgICAgICAgICAgYXJpYS12YWx1ZW1heD1cIjEwMFwiXHJcbiAgICAgICAgICAgIFtzdHlsZS53aWR0aC4lXT1cIlByb2dyZXNzKClcIlxyXG4gICAgICAgICAgPlxyXG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cInByb2dyZXNzLXRleHQgdGV4dC1kYXJrXCJcclxuICAgICAgICAgICAgICA+e3sgRmlsZW5hbWUoKSB8IGFzeW5jIH19PC9zcGFuXHJcbiAgICAgICAgICAgID5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgPCEtLSA8aW5wdXQgdHlwZT1cInRleHRpbWFnZS1wcmV2aWV3LWZpbGVuYW1lXCIgY2xhc3M9XCJmb3JtLWNvbnRyb2wgaW1hZ2UtcHJldmlldy1maWxlbmFtZVwiIGRpc2FibGVkPVwiZGlzYWJsZWRcIj4gLS0+PCEtLSBkb24ndCBnaXZlIGEgbmFtZSA9PT0gZG9lc24ndCBzZW5kIG9uIFBPU1QvR0VUIC0tPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiaW5wdXQtZ3JvdXAtYXBwZW5kXCI+XHJcbiAgICAgICAgPCEtLSBpbWFnZS1wcmV2aWV3LWNsZWFyIGJ1dHRvbiAtLT5cclxuICAgICAgICA8YnV0dG9uXHJcbiAgICAgICAgICBjbGFzcz1cImJ0blwiXHJcbiAgICAgICAgICAoY2xpY2spPVwiY2FuY2VsQWxsKClcIlxyXG4gICAgICAgICAgW2F0dHIuZGlzYWJsZWRdPVwiSGFzUXVldWVJdGVtKCkgPT09IGZhbHNlID8gJ2Rpc2FibGVkJyA6IG51bGxcIlxyXG4gICAgICAgICAgW2NsYXNzLmRpc2FibGVkXT1cIkhhc1F1ZXVlSXRlbSgpID09PSBmYWxzZSA/ICdkaXNhYmxlZCcgOiBudWxsXCJcclxuICAgICAgICAgIFtjbGFzcy5idG4tc2Vjb25kYXJ5XT1cIiEoaW52YWxpZCAmJiAoZGlydHkgfHwgdG91Y2hlZCkpXCJcclxuICAgICAgICAgIFtjbGFzcy5idG4tZGFuZ2VyXT1cImludmFsaWQgJiYgKGRpcnR5IHx8IHRvdWNoZWQpXCJcclxuICAgICAgICA+XHJcbiAgICAgICAgICA8c3BhbiBbY2xhc3NdPVwiSWNvbkRlbGV0ZVwiPjwvc3Bhbj5cclxuICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICA8YnV0dG9uXHJcbiAgICAgICAgICAqbmdJZj1cIihhdXRvdXBsb2FkID09PSBmYWxzZSAmJiBlbmFibGVwYXVzZSkgfHwgKGF1dG91cGxvYWQgJiYgZW5hYmxlcGF1c2UgJiYgSXNQYXVzZWQoKSA9PT0gZmFsc2UpXCJcclxuICAgICAgICAgIGNsYXNzPVwiYnRuXCJcclxuICAgICAgICAgIChjbGljayk9XCJwYXVzZUFsbCgpXCJcclxuICAgICAgICAgIFthdHRyLmRpc2FibGVkXT1cIklzVXBsb2FkaW5nKCkgPT09IGZhbHNlID8gJ2Rpc2FibGVkJyA6IG51bGxcIlxyXG4gICAgICAgICAgW2NsYXNzLmRpc2FibGVkXT1cIklzVXBsb2FkaW5nKCkgPT09IGZhbHNlID8gJ2Rpc2FibGVkJyA6IG51bGxcIlxyXG4gICAgICAgICAgW2NsYXNzLmJ0bi1zZWNvbmRhcnldPVwiIShpbnZhbGlkICYmIChkaXJ0eSB8fCB0b3VjaGVkKSlcIlxyXG4gICAgICAgICAgW2NsYXNzLmJ0bi1kYW5nZXJdPVwiaW52YWxpZCAmJiAoZGlydHkgfHwgdG91Y2hlZClcIlxyXG4gICAgICAgID5cclxuICAgICAgICAgIDxzcGFuIFtjbGFzc109XCJJY29uUGF1c2VcIj48L3NwYW4+XHJcbiAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgPGJ1dHRvblxyXG4gICAgICAgICAgKm5nSWY9XCJhdXRvdXBsb2FkICYmIGVuYWJsZXBhdXNlICYmIElzUGF1c2VkKClcIlxyXG4gICAgICAgICAgY2xhc3M9XCJidG5cIlxyXG4gICAgICAgICAgKGNsaWNrKT1cInVwbG9hZEFsbCgpXCJcclxuICAgICAgICAgIFtjbGFzcy5idG4tc2Vjb25kYXJ5XT1cIiEoaW52YWxpZCAmJiAoZGlydHkgfHwgdG91Y2hlZCkpXCJcclxuICAgICAgICAgIFtjbGFzcy5idG4tZGFuZ2VyXT1cImludmFsaWQgJiYgKGRpcnR5IHx8IHRvdWNoZWQpXCJcclxuICAgICAgICA+XHJcbiAgICAgICAgICA8c3BhbiBbY2xhc3NdPVwiSWNvbkNvbnRpbnVlXCI+PC9zcGFuPlxyXG4gICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgIDxidXR0b25cclxuICAgICAgICAgICpuZ0lmPVwiYXV0b3VwbG9hZCA9PT0gZmFsc2VcIlxyXG4gICAgICAgICAgY2xhc3M9XCJidG4gdGV4dC1ub3dyYXBcIlxyXG4gICAgICAgICAgKGNsaWNrKT1cInVwbG9hZEFsbCgpXCJcclxuICAgICAgICAgIFthdHRyLmRpc2FibGVkXT1cIklzU3RhdGVUb1VwbG9hZCgpID09PSBmYWxzZSA/ICAnZGlzYWJsZWQnIDogbnVsbFwiXHJcbiAgICAgICAgICBbY2xhc3MuZGlzYWJsZWRdPVwiSXNTdGF0ZVRvVXBsb2FkKCkgPT09IGZhbHNlID8gICdkaXNhYmxlZCcgOiBudWxsXCJcclxuICAgICAgICAgIFtjbGFzcy5idG4tc2Vjb25kYXJ5XT1cIiEoaW52YWxpZCAmJiAoZGlydHkgfHwgdG91Y2hlZCkpXCJcclxuICAgICAgICAgIFtjbGFzcy5idG4tZGFuZ2VyXT1cImludmFsaWQgJiYgKGRpcnR5IHx8IHRvdWNoZWQpXCJcclxuICAgICAgICA+XHJcbiAgICAgICAgICA8c3BhbiBbY2xhc3NdPVwiSWNvblVwbG9hZFwiIGNsYXNzPVwicHItMlwiPjwvc3Bhbj57e1xyXG4gICAgICAgICAgbG5nUmVzb3VyY2VTZXJ2aWNlLkdldFN0cmluZygnVVBMT0FEX0JVVFRPTl9VUExPQUQnKSB8IGFzeW5jIH19XHJcbiAgICAgICAgPC9idXR0b24+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2XHJcbiAgICAgICpuZ0lmPVwiaXNpbmxpbmVlcnJvcmVuYWJsZWQgJiYgaW52YWxpZCAmJiAoZGlydHkgfHwgdG91Y2hlZClcIlxyXG4gICAgICBjbGFzcz1cImludmFsaWQtZmVlZGJhY2tcIlxyXG4gICAgPlxyXG4gICAgICB7eyBHZXRFcnJvck1lc3NhZ2UoKSB8IGFzeW5jIH19XHJcbiAgICA8L2Rpdj5cclxuICA8L2Rpdj5cclxuPC9kaXY+XHJcbiJdfQ==
@@ -1,6 +1,7 @@
1
1
  import { CommonModule } from '@angular/common';
2
2
  import { NgModule } from '@angular/core';
3
3
  import { FormsModule } from '@angular/forms';
4
+ import { SACBootstrap4LayoutModule } from '../layout/layout.module';
4
5
  import { SacDropzoneMultipleComponent } from './dropzonemultiple';
5
6
  import { SacDropzoneSingleComponent } from './dropzonesingle';
6
7
  import { SacUploadComponent } from './upload';
@@ -12,11 +13,11 @@ SACBootstrap4UploadModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0"
12
13
  SACBootstrap4UploadModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SACBootstrap4UploadModule, declarations: [SacUploadComponent,
13
14
  SacUploadMultipleComponent,
14
15
  SacDropzoneSingleComponent,
15
- SacDropzoneMultipleComponent], imports: [CommonModule, FormsModule], exports: [SacUploadComponent,
16
+ SacDropzoneMultipleComponent], imports: [CommonModule, FormsModule, SACBootstrap4LayoutModule], exports: [SacUploadComponent,
16
17
  SacUploadMultipleComponent,
17
18
  SacDropzoneSingleComponent,
18
19
  SacDropzoneMultipleComponent] });
19
- SACBootstrap4UploadModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SACBootstrap4UploadModule, imports: [[CommonModule, FormsModule]] });
20
+ SACBootstrap4UploadModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SACBootstrap4UploadModule, imports: [[CommonModule, FormsModule, SACBootstrap4LayoutModule]] });
20
21
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SACBootstrap4UploadModule, decorators: [{
21
22
  type: NgModule,
22
23
  args: [{
@@ -26,7 +27,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImpor
26
27
  SacDropzoneSingleComponent,
27
28
  SacDropzoneMultipleComponent,
28
29
  ],
29
- imports: [CommonModule, FormsModule],
30
+ imports: [CommonModule, FormsModule, SACBootstrap4LayoutModule],
30
31
  exports: [
31
32
  SacUploadComponent,
32
33
  SacUploadMultipleComponent,
@@ -35,4 +36,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImpor
35
36
  ],
36
37
  }]
37
38
  }] });
38
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBsb2FkLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NhYy1ib290c3RyYXA0L3NyYy9jb250cm9scy91cGxvYWQvdXBsb2FkLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDbEUsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDOUQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQzlDLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLGtCQUFrQixDQUFDOztBQWlCOUQsTUFBTSxPQUFPLHlCQUF5Qjs7c0hBQXpCLHlCQUF5Qjt1SEFBekIseUJBQXlCLGlCQWJsQyxrQkFBa0I7UUFDbEIsMEJBQTBCO1FBQzFCLDBCQUEwQjtRQUMxQiw0QkFBNEIsYUFFcEIsWUFBWSxFQUFFLFdBQVcsYUFFakMsa0JBQWtCO1FBQ2xCLDBCQUEwQjtRQUMxQiwwQkFBMEI7UUFDMUIsNEJBQTRCO3VIQUduQix5QkFBeUIsWUFSM0IsQ0FBQyxZQUFZLEVBQUUsV0FBVyxDQUFDOzJGQVF6Qix5QkFBeUI7a0JBZnJDLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFO3dCQUNaLGtCQUFrQjt3QkFDbEIsMEJBQTBCO3dCQUMxQiwwQkFBMEI7d0JBQzFCLDRCQUE0QjtxQkFDN0I7b0JBQ0QsT0FBTyxFQUFFLENBQUMsWUFBWSxFQUFFLFdBQVcsQ0FBQztvQkFDcEMsT0FBTyxFQUFFO3dCQUNQLGtCQUFrQjt3QkFDbEIsMEJBQTBCO3dCQUMxQiwwQkFBMEI7d0JBQzFCLDRCQUE0QjtxQkFDN0I7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgU2FjRHJvcHpvbmVNdWx0aXBsZUNvbXBvbmVudCB9IGZyb20gJy4vZHJvcHpvbmVtdWx0aXBsZSc7XHJcbmltcG9ydCB7IFNhY0Ryb3B6b25lU2luZ2xlQ29tcG9uZW50IH0gZnJvbSAnLi9kcm9wem9uZXNpbmdsZSc7XHJcbmltcG9ydCB7IFNhY1VwbG9hZENvbXBvbmVudCB9IGZyb20gJy4vdXBsb2FkJztcclxuaW1wb3J0IHsgU2FjVXBsb2FkTXVsdGlwbGVDb21wb25lbnQgfSBmcm9tICcuL3VwbG9hZG11bHRpcGxlJztcclxuXHJcbkBOZ01vZHVsZSh7XHJcbiAgZGVjbGFyYXRpb25zOiBbXHJcbiAgICBTYWNVcGxvYWRDb21wb25lbnQsXHJcbiAgICBTYWNVcGxvYWRNdWx0aXBsZUNvbXBvbmVudCxcclxuICAgIFNhY0Ryb3B6b25lU2luZ2xlQ29tcG9uZW50LFxyXG4gICAgU2FjRHJvcHpvbmVNdWx0aXBsZUNvbXBvbmVudCxcclxuICBdLFxyXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIEZvcm1zTW9kdWxlXSxcclxuICBleHBvcnRzOiBbXHJcbiAgICBTYWNVcGxvYWRDb21wb25lbnQsXHJcbiAgICBTYWNVcGxvYWRNdWx0aXBsZUNvbXBvbmVudCxcclxuICAgIFNhY0Ryb3B6b25lU2luZ2xlQ29tcG9uZW50LFxyXG4gICAgU2FjRHJvcHpvbmVNdWx0aXBsZUNvbXBvbmVudCxcclxuICBdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgU0FDQm9vdHN0cmFwNFVwbG9hZE1vZHVsZSB7fVxyXG4iXX0=
39
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBsb2FkLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NhYy1ib290c3RyYXA0L3NyYy9jb250cm9scy91cGxvYWQvdXBsb2FkLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDcEUsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDbEUsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDOUQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQzlDLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLGtCQUFrQixDQUFDOztBQWlCOUQsTUFBTSxPQUFPLHlCQUF5Qjs7c0hBQXpCLHlCQUF5Qjt1SEFBekIseUJBQXlCLGlCQWJsQyxrQkFBa0I7UUFDbEIsMEJBQTBCO1FBQzFCLDBCQUEwQjtRQUMxQiw0QkFBNEIsYUFFcEIsWUFBWSxFQUFFLFdBQVcsRUFBRSx5QkFBeUIsYUFFNUQsa0JBQWtCO1FBQ2xCLDBCQUEwQjtRQUMxQiwwQkFBMEI7UUFDMUIsNEJBQTRCO3VIQUduQix5QkFBeUIsWUFSM0IsQ0FBQyxZQUFZLEVBQUUsV0FBVyxFQUFFLHlCQUF5QixDQUFDOzJGQVFwRCx5QkFBeUI7a0JBZnJDLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFO3dCQUNaLGtCQUFrQjt3QkFDbEIsMEJBQTBCO3dCQUMxQiwwQkFBMEI7d0JBQzFCLDRCQUE0QjtxQkFDN0I7b0JBQ0QsT0FBTyxFQUFFLENBQUMsWUFBWSxFQUFFLFdBQVcsRUFBRSx5QkFBeUIsQ0FBQztvQkFDL0QsT0FBTyxFQUFFO3dCQUNQLGtCQUFrQjt3QkFDbEIsMEJBQTBCO3dCQUMxQiwwQkFBMEI7d0JBQzFCLDRCQUE0QjtxQkFDN0I7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgU0FDQm9vdHN0cmFwNExheW91dE1vZHVsZSB9IGZyb20gJy4uL2xheW91dC9sYXlvdXQubW9kdWxlJztcclxuaW1wb3J0IHsgU2FjRHJvcHpvbmVNdWx0aXBsZUNvbXBvbmVudCB9IGZyb20gJy4vZHJvcHpvbmVtdWx0aXBsZSc7XHJcbmltcG9ydCB7IFNhY0Ryb3B6b25lU2luZ2xlQ29tcG9uZW50IH0gZnJvbSAnLi9kcm9wem9uZXNpbmdsZSc7XHJcbmltcG9ydCB7IFNhY1VwbG9hZENvbXBvbmVudCB9IGZyb20gJy4vdXBsb2FkJztcclxuaW1wb3J0IHsgU2FjVXBsb2FkTXVsdGlwbGVDb21wb25lbnQgfSBmcm9tICcuL3VwbG9hZG11bHRpcGxlJztcclxuXHJcbkBOZ01vZHVsZSh7XHJcbiAgZGVjbGFyYXRpb25zOiBbXHJcbiAgICBTYWNVcGxvYWRDb21wb25lbnQsXHJcbiAgICBTYWNVcGxvYWRNdWx0aXBsZUNvbXBvbmVudCxcclxuICAgIFNhY0Ryb3B6b25lU2luZ2xlQ29tcG9uZW50LFxyXG4gICAgU2FjRHJvcHpvbmVNdWx0aXBsZUNvbXBvbmVudCxcclxuICBdLFxyXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIEZvcm1zTW9kdWxlLCBTQUNCb290c3RyYXA0TGF5b3V0TW9kdWxlXSxcclxuICBleHBvcnRzOiBbXHJcbiAgICBTYWNVcGxvYWRDb21wb25lbnQsXHJcbiAgICBTYWNVcGxvYWRNdWx0aXBsZUNvbXBvbmVudCxcclxuICAgIFNhY0Ryb3B6b25lU2luZ2xlQ29tcG9uZW50LFxyXG4gICAgU2FjRHJvcHpvbmVNdWx0aXBsZUNvbXBvbmVudCxcclxuICBdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgU0FDQm9vdHN0cmFwNFVwbG9hZE1vZHVsZSB7fVxyXG4iXX0=
@@ -2,25 +2,28 @@ import { Component, forwardRef, Host, Optional, } from '@angular/core';
2
2
  import { NG_VALIDATORS, NG_VALUE_ACCESSOR } from '@angular/forms';
3
3
  import { SacUploadMultipleCommon } from '@simpleangularcontrols/sac-common';
4
4
  import * as i0 from "@angular/core";
5
- import * as i1 from "../form/form";
5
+ import * as i1 from "../layout/formlayout.directive";
6
6
  import * as i2 from "@angular/common";
7
+ import * as i3 from "../layout/tolabelwidthcss.pipe";
8
+ import * as i4 from "../layout/tocontrolwidthcss.pipe";
7
9
  /**
8
10
  * Upload Komponente für den Upload mehrer Files
9
11
  * @see https://github.com/kukhariev/ngx-uploadx/
10
12
  */
11
13
  export class SacUploadMultipleComponent extends SacUploadMultipleCommon {
14
+ // #region Constructors
12
15
  /**
13
- * Konstruktor
14
- * @param parent Formular
15
- * @param injector Angular Dependency Injection Service
16
- * @param renderer Angular Rendering Engine
17
- * @param ngZone ngZone
16
+ * Constructor
17
+ * @param formLayout SacFormLayout to define scoped layout settings
18
+ * @param injector Injector for injecting services
19
+ * @param renderer Angular rendering engine
20
+ * @param ngZone ngZone to manage external javascripts
18
21
  */
19
- constructor(parent, injector, renderer, ngZone) {
20
- super(parent, injector, renderer, ngZone);
22
+ constructor(formLayout, injector, renderer, ngZone) {
23
+ super(formLayout, injector, renderer, ngZone);
21
24
  }
22
25
  }
23
- SacUploadMultipleComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SacUploadMultipleComponent, deps: [{ token: i1.SacFormDirective, host: true, optional: true }, { token: i0.Injector }, { token: i0.Renderer2 }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
26
+ SacUploadMultipleComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SacUploadMultipleComponent, deps: [{ token: i1.SacFormLayoutDirective, host: true, optional: true }, { token: i0.Injector }, { token: i0.Renderer2 }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
24
27
  SacUploadMultipleComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.7", type: SacUploadMultipleComponent, selector: "sac-uploadmultiple", providers: [
25
28
  {
26
29
  provide: NG_VALUE_ACCESSOR,
@@ -32,7 +35,7 @@ SacUploadMultipleComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0
32
35
  multi: true,
33
36
  useExisting: forwardRef(() => SacUploadMultipleComponent),
34
37
  },
35
- ], usesInheritance: true, ngImport: i0, template: "<div class=\"row form-group\" [class.no-gutters]=\"disablelabel\">\r\n <label\r\n *ngIf=\"disablelabel === false && !isadaptivelabel\"\r\n id=\"{{name}}_label\"\r\n for=\"{{name}}\"\r\n class=\"col-12 col-form-label\"\r\n [ngClass]=\"[labelsize !== 12 ? 'col-md-' + labelsize : 'sr-only']\"\r\n >{{label}}</label\r\n >\r\n <div\r\n class=\"col-12\"\r\n [ngClass]=\"[disablelabel === false ? 'col-md-' + _inputsize : 'col-sm-12']\"\r\n >\r\n <div class=\"upload-component\">\r\n <div class=\"row\">\r\n <div class=\"col-12\">\r\n <div\r\n class=\"btn-group\"\r\n [class.is-invalid]=\"isinlineerrorenabled && invalid && (dirty || touched)\"\r\n >\r\n <div\r\n class=\"btn upload-input custom-file\"\r\n [class.disabled]=\"maxfiles > 0 && uploads.length >= maxfiles\"\r\n [class.btn-secondary]=\"!(invalid && (dirty || touched))\"\r\n [class.btn-danger]=\"invalid && (dirty || touched)\"\r\n >\r\n <i [class]=\"IconBrowse\" class=\"pr-2\"></i>\r\n <span class=\"upload-browse\">Browse</span>\r\n <input\r\n type=\"file\"\r\n class=\"custom-file-input\"\r\n #files\r\n (click)=\"files.value = ''\"\r\n (uploadxState)=\"onUpload($event)\"\r\n multiple\r\n [disabled]=\"maxfiles > 0 && uploads.length >= maxfiles\"\r\n />\r\n </div>\r\n\r\n <div class=\"btn-group\">\r\n <!-- image-preview-clear button -->\r\n <button\r\n class=\"btn\"\r\n (click)=\"cancelAll()\"\r\n [attr.disabled]=\"HasQueueItem() === false ? 'disabled' : null\"\r\n [class.btn-secondary]=\"!(invalid && (dirty || touched))\"\r\n [class.btn-danger]=\"invalid && (dirty || touched)\"\r\n >\r\n <span [class]=\"IconDelete\"></span>\r\n </button>\r\n <button\r\n *ngIf=\"(autoupload === false && enablepause) || (autoupload && enablepause && IsPaused() === false)\"\r\n class=\"btn\"\r\n (click)=\"pauseAll()\"\r\n [attr.disabled]=\"IsUploading() === false ? 'disabled' : null\"\r\n [class.btn-secondary]=\"!(invalid && (dirty || touched))\"\r\n [class.btn-danger]=\"invalid && (dirty || touched)\"\r\n >\r\n <span [class]=\"IconPause\"></span>\r\n </button>\r\n <button\r\n *ngIf=\"autoupload && enablepause && IsPaused() === true\"\r\n class=\"btn\"\r\n (click)=\"uploadAll()\"\r\n [class.btn-secondary]=\"!(invalid && (dirty || touched))\"\r\n [class.btn-danger]=\"invalid && (dirty || touched)\"\r\n >\r\n <span [class]=\"IconContinue\"></span>\r\n </button>\r\n <button\r\n *ngIf=\"autoupload === false\"\r\n class=\"btn text-nowrap\"\r\n (click)=\"uploadAll()\"\r\n [attr.disabled]=\"IsStateToUpload() === false ? 'disabled' : null\"\r\n [class.btn-secondary]=\"!(invalid && (dirty || touched))\"\r\n [class.btn-danger]=\"invalid && (dirty || touched)\"\r\n >\r\n <span [class]=\"IconUpload\" class=\"pr-2\"></span> {{\r\n lngResourceService.GetString('UPLOAD_BUTTON_UPLOAD') | async }}\r\n </button>\r\n </div>\r\n </div>\r\n <div\r\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\"\r\n class=\"invalid-feedback\"\r\n >\r\n {{ GetErrorMessage() | async }}\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div *ngFor=\"let file of uploads\" style=\"margin-top: 5px\">\r\n <div class=\"input-group upload-component upload-multiple\">\r\n <div\r\n class=\"form-control upload-progress\"\r\n [class.is-invalid]=\"invalid && (dirty || touched)\"\r\n >\r\n <div class=\"progress\">\r\n <div\r\n class=\"progress-bar\"\r\n [class.progress-bar-success]=\"file.progress===100\"\r\n role=\"progressbar\"\r\n [attr.aria-valuenow]=\"file.progress\"\r\n aria-valuemin=\"0\"\r\n aria-valuemax=\"100\"\r\n [style.width.%]=\"file.progress\"\r\n >\r\n <span class=\"progress-text text-dark\">{{ file.name }}</span>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"input-group-append\">\r\n <!-- image-preview-clear button -->\r\n <button\r\n class=\"btn\"\r\n (click)=\"cancel(file.uploadId)\"\r\n [class.btn-secondary]=\"!(invalid && (dirty || touched))\"\r\n [class.btn-danger]=\"invalid && (dirty || touched)\"\r\n >\r\n <span [class]=\"IconDelete\"></span>\r\n </button>\r\n <button\r\n *ngIf=\"(autoupload === false && enablepause) || (autoupload && enablepause && file.status !== 'paused')\"\r\n class=\"btn\"\r\n (click)=\"pause(file.uploadId)\"\r\n [attr.disabled]=\"file.status !== 'uploading' ? 'disabled' : null\"\r\n [class.btn-secondary]=\"!(invalid && (dirty || touched))\"\r\n [class.btn-danger]=\"invalid && (dirty || touched)\"\r\n >\r\n <span [class]=\"IconPause\"></span>\r\n </button>\r\n <button\r\n *ngIf=\"autoupload && enablepause && file.status === 'paused'\"\r\n class=\"btn\"\r\n (click)=\"upload(file.uploadId)\"\r\n [class.btn-secondary]=\"!(invalid && (dirty || touched))\"\r\n [class.btn-danger]=\"invalid && (dirty || touched)\"\r\n >\r\n <span [class]=\"IconContinue\"></span>\r\n </button>\r\n <button\r\n *ngIf=\"autoupload === false\"\r\n class=\"btn text-nowrap\"\r\n (click)=\"upload(file.uploadId)\"\r\n [attr.disabled]=\"file.status !== 'added' && file.status !== 'paused' ? 'disabled' : null\"\r\n [class.btn-secondary]=\"!(invalid && (dirty || touched))\"\r\n [class.btn-danger]=\"invalid && (dirty || touched)\"\r\n >\r\n <span [class]=\"IconUpload\" class=\"pr-2\"></span>{{\r\n lngResourceService.GetString('UPLOAD_BUTTON_UPLOAD') | async }}\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n", styles: [".upload-component .custom-file .custom-file-input{inset:0;position:absolute}.upload-component.upload-multiple .upload-progress .progress{border-top-right-radius:0;border-bottom-right-radius:0}.upload-component.upload-single .upload-progress .progress{border-radius:0}.upload-component .upload-progress{padding:0;border:0}.upload-component .upload-progress .progress{height:calc(2.25rem + 2px)}.upload-component .upload-progress .progress .progress-text{position:absolute;left:0;right:0}\n"], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], pipes: { "async": i2.AsyncPipe } });
38
+ ], usesInheritance: true, ngImport: i0, template: "<div class=\"row form-group\" [class.no-gutters]=\"disablelabel\">\r\n <label\r\n *ngIf=\"disablelabel === false && !isAdaptiveLabel\"\r\n id=\"{{name}}_label\"\r\n for=\"{{name}}\"\r\n class=\"col-12 col-form-label\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'sr-only' ]\"\r\n >{{label}}</label\r\n >\r\n <div\r\n class=\"col-12\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\r\n >\r\n <div class=\"upload-component\">\r\n <div class=\"row\">\r\n <div class=\"col-12\">\r\n <div\r\n class=\"btn-group\"\r\n [class.is-invalid]=\"isinlineerrorenabled && invalid && (dirty || touched)\"\r\n >\r\n <div\r\n class=\"btn upload-input custom-file\"\r\n [class.disabled]=\"maxfiles > 0 && uploads.length >= maxfiles\"\r\n [class.btn-secondary]=\"!(invalid && (dirty || touched))\"\r\n [class.btn-danger]=\"invalid && (dirty || touched)\"\r\n >\r\n <i [class]=\"IconBrowse\" class=\"pr-2\"></i>\r\n <span class=\"upload-browse\">Browse</span>\r\n <input\r\n type=\"file\"\r\n class=\"custom-file-input\"\r\n #files\r\n (click)=\"files.value = ''\"\r\n (uploadxState)=\"onUpload($event)\"\r\n multiple\r\n [disabled]=\"maxfiles > 0 && uploads.length >= maxfiles\"\r\n />\r\n </div>\r\n\r\n <div class=\"btn-group\">\r\n <!-- image-preview-clear button -->\r\n <button\r\n class=\"btn\"\r\n (click)=\"cancelAll()\"\r\n [attr.disabled]=\"HasQueueItem() === false ? 'disabled' : null\"\r\n [class.btn-secondary]=\"!(invalid && (dirty || touched))\"\r\n [class.btn-danger]=\"invalid && (dirty || touched)\"\r\n >\r\n <span [class]=\"IconDelete\"></span>\r\n </button>\r\n <button\r\n *ngIf=\"(autoupload === false && enablepause) || (autoupload && enablepause && IsPaused() === false)\"\r\n class=\"btn\"\r\n (click)=\"pauseAll()\"\r\n [attr.disabled]=\"IsUploading() === false ? 'disabled' : null\"\r\n [class.btn-secondary]=\"!(invalid && (dirty || touched))\"\r\n [class.btn-danger]=\"invalid && (dirty || touched)\"\r\n >\r\n <span [class]=\"IconPause\"></span>\r\n </button>\r\n <button\r\n *ngIf=\"autoupload && enablepause && IsPaused() === true\"\r\n class=\"btn\"\r\n (click)=\"uploadAll()\"\r\n [class.btn-secondary]=\"!(invalid && (dirty || touched))\"\r\n [class.btn-danger]=\"invalid && (dirty || touched)\"\r\n >\r\n <span [class]=\"IconContinue\"></span>\r\n </button>\r\n <button\r\n *ngIf=\"autoupload === false\"\r\n class=\"btn text-nowrap\"\r\n (click)=\"uploadAll()\"\r\n [attr.disabled]=\"IsStateToUpload() === false ? 'disabled' : null\"\r\n [class.btn-secondary]=\"!(invalid && (dirty || touched))\"\r\n [class.btn-danger]=\"invalid && (dirty || touched)\"\r\n >\r\n <span [class]=\"IconUpload\" class=\"pr-2\"></span> {{\r\n lngResourceService.GetString('UPLOAD_BUTTON_UPLOAD') | async }}\r\n </button>\r\n </div>\r\n </div>\r\n <div\r\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\"\r\n class=\"invalid-feedback\"\r\n >\r\n {{ GetErrorMessage() | async }}\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div *ngFor=\"let file of uploads\" style=\"margin-top: 5px\">\r\n <div class=\"input-group upload-component upload-multiple\">\r\n <div\r\n class=\"form-control upload-progress\"\r\n [class.is-invalid]=\"invalid && (dirty || touched)\"\r\n >\r\n <div class=\"progress\">\r\n <div\r\n class=\"progress-bar\"\r\n [class.progress-bar-success]=\"file.progress===100\"\r\n role=\"progressbar\"\r\n [attr.aria-valuenow]=\"file.progress\"\r\n aria-valuemin=\"0\"\r\n aria-valuemax=\"100\"\r\n [style.width.%]=\"file.progress\"\r\n >\r\n <span class=\"progress-text text-dark\">{{ file.name }}</span>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"input-group-append\">\r\n <!-- image-preview-clear button -->\r\n <button\r\n class=\"btn\"\r\n (click)=\"cancel(file.uploadId)\"\r\n [class.btn-secondary]=\"!(invalid && (dirty || touched))\"\r\n [class.btn-danger]=\"invalid && (dirty || touched)\"\r\n >\r\n <span [class]=\"IconDelete\"></span>\r\n </button>\r\n <button\r\n *ngIf=\"(autoupload === false && enablepause) || (autoupload && enablepause && file.status !== 'paused')\"\r\n class=\"btn\"\r\n (click)=\"pause(file.uploadId)\"\r\n [attr.disabled]=\"file.status !== 'uploading' ? 'disabled' : null\"\r\n [class.btn-secondary]=\"!(invalid && (dirty || touched))\"\r\n [class.btn-danger]=\"invalid && (dirty || touched)\"\r\n >\r\n <span [class]=\"IconPause\"></span>\r\n </button>\r\n <button\r\n *ngIf=\"autoupload && enablepause && file.status === 'paused'\"\r\n class=\"btn\"\r\n (click)=\"upload(file.uploadId)\"\r\n [class.btn-secondary]=\"!(invalid && (dirty || touched))\"\r\n [class.btn-danger]=\"invalid && (dirty || touched)\"\r\n >\r\n <span [class]=\"IconContinue\"></span>\r\n </button>\r\n <button\r\n *ngIf=\"autoupload === false\"\r\n class=\"btn text-nowrap\"\r\n (click)=\"upload(file.uploadId)\"\r\n [attr.disabled]=\"file.status !== 'added' && file.status !== 'paused' ? 'disabled' : null\"\r\n [class.btn-secondary]=\"!(invalid && (dirty || touched))\"\r\n [class.btn-danger]=\"invalid && (dirty || touched)\"\r\n >\r\n <span [class]=\"IconUpload\" class=\"pr-2\"></span>{{\r\n lngResourceService.GetString('UPLOAD_BUTTON_UPLOAD') | async }}\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n", styles: [".upload-component .custom-file .custom-file-input{inset:0;position:absolute}.upload-component.upload-multiple .upload-progress .progress{border-top-right-radius:0;border-bottom-right-radius:0}.upload-component.upload-single .upload-progress .progress{border-radius:0}.upload-component .upload-progress{padding:0;border:0}.upload-component .upload-progress .progress{height:calc(2.25rem + 2px)}.upload-component .upload-progress .progress .progress-text{position:absolute;left:0;right:0}\n"], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], pipes: { "toLabelWidthCss": i3.SacToLabelWidthCssPipe, "toControlWidthCss": i4.SacToControlWidthCssPipe, "async": i2.AsyncPipe } });
36
39
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SacUploadMultipleComponent, decorators: [{
37
40
  type: Component,
38
41
  args: [{ selector: 'sac-uploadmultiple', providers: [
@@ -46,10 +49,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImpor
46
49
  multi: true,
47
50
  useExisting: forwardRef(() => SacUploadMultipleComponent),
48
51
  },
49
- ], template: "<div class=\"row form-group\" [class.no-gutters]=\"disablelabel\">\r\n <label\r\n *ngIf=\"disablelabel === false && !isadaptivelabel\"\r\n id=\"{{name}}_label\"\r\n for=\"{{name}}\"\r\n class=\"col-12 col-form-label\"\r\n [ngClass]=\"[labelsize !== 12 ? 'col-md-' + labelsize : 'sr-only']\"\r\n >{{label}}</label\r\n >\r\n <div\r\n class=\"col-12\"\r\n [ngClass]=\"[disablelabel === false ? 'col-md-' + _inputsize : 'col-sm-12']\"\r\n >\r\n <div class=\"upload-component\">\r\n <div class=\"row\">\r\n <div class=\"col-12\">\r\n <div\r\n class=\"btn-group\"\r\n [class.is-invalid]=\"isinlineerrorenabled && invalid && (dirty || touched)\"\r\n >\r\n <div\r\n class=\"btn upload-input custom-file\"\r\n [class.disabled]=\"maxfiles > 0 && uploads.length >= maxfiles\"\r\n [class.btn-secondary]=\"!(invalid && (dirty || touched))\"\r\n [class.btn-danger]=\"invalid && (dirty || touched)\"\r\n >\r\n <i [class]=\"IconBrowse\" class=\"pr-2\"></i>\r\n <span class=\"upload-browse\">Browse</span>\r\n <input\r\n type=\"file\"\r\n class=\"custom-file-input\"\r\n #files\r\n (click)=\"files.value = ''\"\r\n (uploadxState)=\"onUpload($event)\"\r\n multiple\r\n [disabled]=\"maxfiles > 0 && uploads.length >= maxfiles\"\r\n />\r\n </div>\r\n\r\n <div class=\"btn-group\">\r\n <!-- image-preview-clear button -->\r\n <button\r\n class=\"btn\"\r\n (click)=\"cancelAll()\"\r\n [attr.disabled]=\"HasQueueItem() === false ? 'disabled' : null\"\r\n [class.btn-secondary]=\"!(invalid && (dirty || touched))\"\r\n [class.btn-danger]=\"invalid && (dirty || touched)\"\r\n >\r\n <span [class]=\"IconDelete\"></span>\r\n </button>\r\n <button\r\n *ngIf=\"(autoupload === false && enablepause) || (autoupload && enablepause && IsPaused() === false)\"\r\n class=\"btn\"\r\n (click)=\"pauseAll()\"\r\n [attr.disabled]=\"IsUploading() === false ? 'disabled' : null\"\r\n [class.btn-secondary]=\"!(invalid && (dirty || touched))\"\r\n [class.btn-danger]=\"invalid && (dirty || touched)\"\r\n >\r\n <span [class]=\"IconPause\"></span>\r\n </button>\r\n <button\r\n *ngIf=\"autoupload && enablepause && IsPaused() === true\"\r\n class=\"btn\"\r\n (click)=\"uploadAll()\"\r\n [class.btn-secondary]=\"!(invalid && (dirty || touched))\"\r\n [class.btn-danger]=\"invalid && (dirty || touched)\"\r\n >\r\n <span [class]=\"IconContinue\"></span>\r\n </button>\r\n <button\r\n *ngIf=\"autoupload === false\"\r\n class=\"btn text-nowrap\"\r\n (click)=\"uploadAll()\"\r\n [attr.disabled]=\"IsStateToUpload() === false ? 'disabled' : null\"\r\n [class.btn-secondary]=\"!(invalid && (dirty || touched))\"\r\n [class.btn-danger]=\"invalid && (dirty || touched)\"\r\n >\r\n <span [class]=\"IconUpload\" class=\"pr-2\"></span> {{\r\n lngResourceService.GetString('UPLOAD_BUTTON_UPLOAD') | async }}\r\n </button>\r\n </div>\r\n </div>\r\n <div\r\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\"\r\n class=\"invalid-feedback\"\r\n >\r\n {{ GetErrorMessage() | async }}\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div *ngFor=\"let file of uploads\" style=\"margin-top: 5px\">\r\n <div class=\"input-group upload-component upload-multiple\">\r\n <div\r\n class=\"form-control upload-progress\"\r\n [class.is-invalid]=\"invalid && (dirty || touched)\"\r\n >\r\n <div class=\"progress\">\r\n <div\r\n class=\"progress-bar\"\r\n [class.progress-bar-success]=\"file.progress===100\"\r\n role=\"progressbar\"\r\n [attr.aria-valuenow]=\"file.progress\"\r\n aria-valuemin=\"0\"\r\n aria-valuemax=\"100\"\r\n [style.width.%]=\"file.progress\"\r\n >\r\n <span class=\"progress-text text-dark\">{{ file.name }}</span>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"input-group-append\">\r\n <!-- image-preview-clear button -->\r\n <button\r\n class=\"btn\"\r\n (click)=\"cancel(file.uploadId)\"\r\n [class.btn-secondary]=\"!(invalid && (dirty || touched))\"\r\n [class.btn-danger]=\"invalid && (dirty || touched)\"\r\n >\r\n <span [class]=\"IconDelete\"></span>\r\n </button>\r\n <button\r\n *ngIf=\"(autoupload === false && enablepause) || (autoupload && enablepause && file.status !== 'paused')\"\r\n class=\"btn\"\r\n (click)=\"pause(file.uploadId)\"\r\n [attr.disabled]=\"file.status !== 'uploading' ? 'disabled' : null\"\r\n [class.btn-secondary]=\"!(invalid && (dirty || touched))\"\r\n [class.btn-danger]=\"invalid && (dirty || touched)\"\r\n >\r\n <span [class]=\"IconPause\"></span>\r\n </button>\r\n <button\r\n *ngIf=\"autoupload && enablepause && file.status === 'paused'\"\r\n class=\"btn\"\r\n (click)=\"upload(file.uploadId)\"\r\n [class.btn-secondary]=\"!(invalid && (dirty || touched))\"\r\n [class.btn-danger]=\"invalid && (dirty || touched)\"\r\n >\r\n <span [class]=\"IconContinue\"></span>\r\n </button>\r\n <button\r\n *ngIf=\"autoupload === false\"\r\n class=\"btn text-nowrap\"\r\n (click)=\"upload(file.uploadId)\"\r\n [attr.disabled]=\"file.status !== 'added' && file.status !== 'paused' ? 'disabled' : null\"\r\n [class.btn-secondary]=\"!(invalid && (dirty || touched))\"\r\n [class.btn-danger]=\"invalid && (dirty || touched)\"\r\n >\r\n <span [class]=\"IconUpload\" class=\"pr-2\"></span>{{\r\n lngResourceService.GetString('UPLOAD_BUTTON_UPLOAD') | async }}\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n", styles: [".upload-component .custom-file .custom-file-input{inset:0;position:absolute}.upload-component.upload-multiple .upload-progress .progress{border-top-right-radius:0;border-bottom-right-radius:0}.upload-component.upload-single .upload-progress .progress{border-radius:0}.upload-component .upload-progress{padding:0;border:0}.upload-component .upload-progress .progress{height:calc(2.25rem + 2px)}.upload-component .upload-progress .progress .progress-text{position:absolute;left:0;right:0}\n"] }]
50
- }], ctorParameters: function () { return [{ type: i1.SacFormDirective, decorators: [{
52
+ ], template: "<div class=\"row form-group\" [class.no-gutters]=\"disablelabel\">\r\n <label\r\n *ngIf=\"disablelabel === false && !isAdaptiveLabel\"\r\n id=\"{{name}}_label\"\r\n for=\"{{name}}\"\r\n class=\"col-12 col-form-label\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'sr-only' ]\"\r\n >{{label}}</label\r\n >\r\n <div\r\n class=\"col-12\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\r\n >\r\n <div class=\"upload-component\">\r\n <div class=\"row\">\r\n <div class=\"col-12\">\r\n <div\r\n class=\"btn-group\"\r\n [class.is-invalid]=\"isinlineerrorenabled && invalid && (dirty || touched)\"\r\n >\r\n <div\r\n class=\"btn upload-input custom-file\"\r\n [class.disabled]=\"maxfiles > 0 && uploads.length >= maxfiles\"\r\n [class.btn-secondary]=\"!(invalid && (dirty || touched))\"\r\n [class.btn-danger]=\"invalid && (dirty || touched)\"\r\n >\r\n <i [class]=\"IconBrowse\" class=\"pr-2\"></i>\r\n <span class=\"upload-browse\">Browse</span>\r\n <input\r\n type=\"file\"\r\n class=\"custom-file-input\"\r\n #files\r\n (click)=\"files.value = ''\"\r\n (uploadxState)=\"onUpload($event)\"\r\n multiple\r\n [disabled]=\"maxfiles > 0 && uploads.length >= maxfiles\"\r\n />\r\n </div>\r\n\r\n <div class=\"btn-group\">\r\n <!-- image-preview-clear button -->\r\n <button\r\n class=\"btn\"\r\n (click)=\"cancelAll()\"\r\n [attr.disabled]=\"HasQueueItem() === false ? 'disabled' : null\"\r\n [class.btn-secondary]=\"!(invalid && (dirty || touched))\"\r\n [class.btn-danger]=\"invalid && (dirty || touched)\"\r\n >\r\n <span [class]=\"IconDelete\"></span>\r\n </button>\r\n <button\r\n *ngIf=\"(autoupload === false && enablepause) || (autoupload && enablepause && IsPaused() === false)\"\r\n class=\"btn\"\r\n (click)=\"pauseAll()\"\r\n [attr.disabled]=\"IsUploading() === false ? 'disabled' : null\"\r\n [class.btn-secondary]=\"!(invalid && (dirty || touched))\"\r\n [class.btn-danger]=\"invalid && (dirty || touched)\"\r\n >\r\n <span [class]=\"IconPause\"></span>\r\n </button>\r\n <button\r\n *ngIf=\"autoupload && enablepause && IsPaused() === true\"\r\n class=\"btn\"\r\n (click)=\"uploadAll()\"\r\n [class.btn-secondary]=\"!(invalid && (dirty || touched))\"\r\n [class.btn-danger]=\"invalid && (dirty || touched)\"\r\n >\r\n <span [class]=\"IconContinue\"></span>\r\n </button>\r\n <button\r\n *ngIf=\"autoupload === false\"\r\n class=\"btn text-nowrap\"\r\n (click)=\"uploadAll()\"\r\n [attr.disabled]=\"IsStateToUpload() === false ? 'disabled' : null\"\r\n [class.btn-secondary]=\"!(invalid && (dirty || touched))\"\r\n [class.btn-danger]=\"invalid && (dirty || touched)\"\r\n >\r\n <span [class]=\"IconUpload\" class=\"pr-2\"></span> {{\r\n lngResourceService.GetString('UPLOAD_BUTTON_UPLOAD') | async }}\r\n </button>\r\n </div>\r\n </div>\r\n <div\r\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\"\r\n class=\"invalid-feedback\"\r\n >\r\n {{ GetErrorMessage() | async }}\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div *ngFor=\"let file of uploads\" style=\"margin-top: 5px\">\r\n <div class=\"input-group upload-component upload-multiple\">\r\n <div\r\n class=\"form-control upload-progress\"\r\n [class.is-invalid]=\"invalid && (dirty || touched)\"\r\n >\r\n <div class=\"progress\">\r\n <div\r\n class=\"progress-bar\"\r\n [class.progress-bar-success]=\"file.progress===100\"\r\n role=\"progressbar\"\r\n [attr.aria-valuenow]=\"file.progress\"\r\n aria-valuemin=\"0\"\r\n aria-valuemax=\"100\"\r\n [style.width.%]=\"file.progress\"\r\n >\r\n <span class=\"progress-text text-dark\">{{ file.name }}</span>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"input-group-append\">\r\n <!-- image-preview-clear button -->\r\n <button\r\n class=\"btn\"\r\n (click)=\"cancel(file.uploadId)\"\r\n [class.btn-secondary]=\"!(invalid && (dirty || touched))\"\r\n [class.btn-danger]=\"invalid && (dirty || touched)\"\r\n >\r\n <span [class]=\"IconDelete\"></span>\r\n </button>\r\n <button\r\n *ngIf=\"(autoupload === false && enablepause) || (autoupload && enablepause && file.status !== 'paused')\"\r\n class=\"btn\"\r\n (click)=\"pause(file.uploadId)\"\r\n [attr.disabled]=\"file.status !== 'uploading' ? 'disabled' : null\"\r\n [class.btn-secondary]=\"!(invalid && (dirty || touched))\"\r\n [class.btn-danger]=\"invalid && (dirty || touched)\"\r\n >\r\n <span [class]=\"IconPause\"></span>\r\n </button>\r\n <button\r\n *ngIf=\"autoupload && enablepause && file.status === 'paused'\"\r\n class=\"btn\"\r\n (click)=\"upload(file.uploadId)\"\r\n [class.btn-secondary]=\"!(invalid && (dirty || touched))\"\r\n [class.btn-danger]=\"invalid && (dirty || touched)\"\r\n >\r\n <span [class]=\"IconContinue\"></span>\r\n </button>\r\n <button\r\n *ngIf=\"autoupload === false\"\r\n class=\"btn text-nowrap\"\r\n (click)=\"upload(file.uploadId)\"\r\n [attr.disabled]=\"file.status !== 'added' && file.status !== 'paused' ? 'disabled' : null\"\r\n [class.btn-secondary]=\"!(invalid && (dirty || touched))\"\r\n [class.btn-danger]=\"invalid && (dirty || touched)\"\r\n >\r\n <span [class]=\"IconUpload\" class=\"pr-2\"></span>{{\r\n lngResourceService.GetString('UPLOAD_BUTTON_UPLOAD') | async }}\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n", styles: [".upload-component .custom-file .custom-file-input{inset:0;position:absolute}.upload-component.upload-multiple .upload-progress .progress{border-top-right-radius:0;border-bottom-right-radius:0}.upload-component.upload-single .upload-progress .progress{border-radius:0}.upload-component .upload-progress{padding:0;border:0}.upload-component .upload-progress .progress{height:calc(2.25rem + 2px)}.upload-component .upload-progress .progress .progress-text{position:absolute;left:0;right:0}\n"] }]
53
+ }], ctorParameters: function () { return [{ type: i1.SacFormLayoutDirective, decorators: [{
51
54
  type: Host
52
55
  }, {
53
56
  type: Optional
54
57
  }] }, { type: i0.Injector }, { type: i0.Renderer2 }, { type: i0.NgZone }]; } });
55
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBsb2FkbXVsdGlwbGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zYWMtYm9vdHN0cmFwNC9zcmMvY29udHJvbHMvdXBsb2FkL3VwbG9hZG11bHRpcGxlLnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2FjLWJvb3RzdHJhcDQvc3JjL2NvbnRyb2xzL3VwbG9hZC91cGxvYWRtdWx0aXBsZS5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsVUFBVSxFQUNWLElBQUksRUFHSixRQUFRLEdBRVQsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGFBQWEsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLG1DQUFtQyxDQUFDOzs7O0FBRzVFOzs7R0FHRztBQWtCSCxNQUFNLE9BQU8sMEJBQTJCLFNBQVEsdUJBQXVCO0lBQ3JFOzs7Ozs7T0FNRztJQUNILFlBQ3NCLE1BQXdCLEVBQzVDLFFBQWtCLEVBQ2xCLFFBQW1CLEVBQ25CLE1BQWM7UUFFZCxLQUFLLENBQUMsTUFBTSxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDNUMsQ0FBQzs7dUhBZlUsMEJBQTBCOzJHQUExQiwwQkFBMEIsNkNBYjFCO1FBQ1Q7WUFDRSxPQUFPLEVBQUUsaUJBQWlCO1lBQzFCLEtBQUssRUFBRSxJQUFJO1lBQ1gsV0FBVyxFQUFFLDBCQUEwQjtTQUN4QztRQUNEO1lBQ0UsT0FBTyxFQUFFLGFBQWE7WUFDdEIsS0FBSyxFQUFFLElBQUk7WUFDWCxXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLDBCQUEwQixDQUFDO1NBQzFEO0tBQ0YsaURDaENILHExTkE2SkE7MkZEM0hhLDBCQUEwQjtrQkFqQnRDLFNBQVM7K0JBQ0Usb0JBQW9CLGFBR25CO3dCQUNUOzRCQUNFLE9BQU8sRUFBRSxpQkFBaUI7NEJBQzFCLEtBQUssRUFBRSxJQUFJOzRCQUNYLFdBQVcsNEJBQTRCO3lCQUN4Qzt3QkFDRDs0QkFDRSxPQUFPLEVBQUUsYUFBYTs0QkFDdEIsS0FBSyxFQUFFLElBQUk7NEJBQ1gsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsMkJBQTJCLENBQUM7eUJBQzFEO3FCQUNGOzswQkFXRSxJQUFJOzswQkFBSSxRQUFRIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDb21wb25lbnQsXHJcbiAgZm9yd2FyZFJlZixcclxuICBIb3N0LFxyXG4gIEluamVjdG9yLFxyXG4gIE5nWm9uZSxcclxuICBPcHRpb25hbCxcclxuICBSZW5kZXJlcjIsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE5HX1ZBTElEQVRPUlMsIE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBTYWNVcGxvYWRNdWx0aXBsZUNvbW1vbiB9IGZyb20gJ0BzaW1wbGVhbmd1bGFyY29udHJvbHMvc2FjLWNvbW1vbic7XHJcbmltcG9ydCB7IFNhY0Zvcm1EaXJlY3RpdmUgfSBmcm9tICcuLi9mb3JtL2Zvcm0nO1xyXG5cclxuLyoqXHJcbiAqIFVwbG9hZCBLb21wb25lbnRlIGbDvHIgZGVuIFVwbG9hZCBtZWhyZXIgRmlsZXNcclxuICogQHNlZSBodHRwczovL2dpdGh1Yi5jb20va3VraGFyaWV2L25neC11cGxvYWR4L1xyXG4gKi9cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdzYWMtdXBsb2FkbXVsdGlwbGUnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi91cGxvYWRtdWx0aXBsZS5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi91cGxvYWQuc2NzcyddLFxyXG4gIHByb3ZpZGVyczogW1xyXG4gICAge1xyXG4gICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcclxuICAgICAgbXVsdGk6IHRydWUsXHJcbiAgICAgIHVzZUV4aXN0aW5nOiBTYWNVcGxvYWRNdWx0aXBsZUNvbXBvbmVudCxcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTElEQVRPUlMsXHJcbiAgICAgIG11bHRpOiB0cnVlLFxyXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBTYWNVcGxvYWRNdWx0aXBsZUNvbXBvbmVudCksXHJcbiAgICB9LFxyXG4gIF0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTYWNVcGxvYWRNdWx0aXBsZUNvbXBvbmVudCBleHRlbmRzIFNhY1VwbG9hZE11bHRpcGxlQ29tbW9uIHtcclxuICAvKipcclxuICAgKiBLb25zdHJ1a3RvclxyXG4gICAqIEBwYXJhbSBwYXJlbnQgRm9ybXVsYXJcclxuICAgKiBAcGFyYW0gaW5qZWN0b3IgQW5ndWxhciBEZXBlbmRlbmN5IEluamVjdGlvbiBTZXJ2aWNlXHJcbiAgICogQHBhcmFtIHJlbmRlcmVyIEFuZ3VsYXIgUmVuZGVyaW5nIEVuZ2luZVxyXG4gICAqIEBwYXJhbSBuZ1pvbmUgbmdab25lXHJcbiAgICovXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBASG9zdCgpIEBPcHRpb25hbCgpIHBhcmVudDogU2FjRm9ybURpcmVjdGl2ZSxcclxuICAgIGluamVjdG9yOiBJbmplY3RvcixcclxuICAgIHJlbmRlcmVyOiBSZW5kZXJlcjIsXHJcbiAgICBuZ1pvbmU6IE5nWm9uZVxyXG4gICkge1xyXG4gICAgc3VwZXIocGFyZW50LCBpbmplY3RvciwgcmVuZGVyZXIsIG5nWm9uZSk7XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJyb3cgZm9ybS1ncm91cFwiIFtjbGFzcy5uby1ndXR0ZXJzXT1cImRpc2FibGVsYWJlbFwiPlxyXG4gIDxsYWJlbFxyXG4gICAgKm5nSWY9XCJkaXNhYmxlbGFiZWwgPT09IGZhbHNlICYmICFpc2FkYXB0aXZlbGFiZWxcIlxyXG4gICAgaWQ9XCJ7e25hbWV9fV9sYWJlbFwiXHJcbiAgICBmb3I9XCJ7e25hbWV9fVwiXHJcbiAgICBjbGFzcz1cImNvbC0xMiBjb2wtZm9ybS1sYWJlbFwiXHJcbiAgICBbbmdDbGFzc109XCJbbGFiZWxzaXplICE9PSAxMiA/ICAnY29sLW1kLScgKyBsYWJlbHNpemUgOiAnc3Itb25seSddXCJcclxuICAgID57e2xhYmVsfX08L2xhYmVsXHJcbiAgPlxyXG4gIDxkaXZcclxuICAgIGNsYXNzPVwiY29sLTEyXCJcclxuICAgIFtuZ0NsYXNzXT1cIltkaXNhYmxlbGFiZWwgPT09IGZhbHNlID8gJ2NvbC1tZC0nICsgX2lucHV0c2l6ZSA6ICdjb2wtc20tMTInXVwiXHJcbiAgPlxyXG4gICAgPGRpdiBjbGFzcz1cInVwbG9hZC1jb21wb25lbnRcIj5cclxuICAgICAgPGRpdiBjbGFzcz1cInJvd1wiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtMTJcIj5cclxuICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgY2xhc3M9XCJidG4tZ3JvdXBcIlxyXG4gICAgICAgICAgICBbY2xhc3MuaXMtaW52YWxpZF09XCJpc2lubGluZWVycm9yZW5hYmxlZCAmJiBpbnZhbGlkICYmIChkaXJ0eSB8fCB0b3VjaGVkKVwiXHJcbiAgICAgICAgICA+XHJcbiAgICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgICBjbGFzcz1cImJ0biB1cGxvYWQtaW5wdXQgY3VzdG9tLWZpbGVcIlxyXG4gICAgICAgICAgICAgIFtjbGFzcy5kaXNhYmxlZF09XCJtYXhmaWxlcyA+IDAgJiYgIHVwbG9hZHMubGVuZ3RoID49IG1heGZpbGVzXCJcclxuICAgICAgICAgICAgICBbY2xhc3MuYnRuLXNlY29uZGFyeV09XCIhKGludmFsaWQgJiYgKGRpcnR5IHx8IHRvdWNoZWQpKVwiXHJcbiAgICAgICAgICAgICAgW2NsYXNzLmJ0bi1kYW5nZXJdPVwiaW52YWxpZCAmJiAoZGlydHkgfHwgdG91Y2hlZClcIlxyXG4gICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgPGkgW2NsYXNzXT1cIkljb25Ccm93c2VcIiBjbGFzcz1cInByLTJcIj48L2k+XHJcbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ1cGxvYWQtYnJvd3NlXCI+QnJvd3NlPC9zcGFuPlxyXG4gICAgICAgICAgICAgIDxpbnB1dFxyXG4gICAgICAgICAgICAgICAgdHlwZT1cImZpbGVcIlxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJjdXN0b20tZmlsZS1pbnB1dFwiXHJcbiAgICAgICAgICAgICAgICAjZmlsZXNcclxuICAgICAgICAgICAgICAgIChjbGljayk9XCJmaWxlcy52YWx1ZSA9ICcnXCJcclxuICAgICAgICAgICAgICAgICh1cGxvYWR4U3RhdGUpPVwib25VcGxvYWQoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgICBtdWx0aXBsZVxyXG4gICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cIm1heGZpbGVzID4gMCAmJiAgdXBsb2Fkcy5sZW5ndGggPj0gbWF4ZmlsZXNcIlxyXG4gICAgICAgICAgICAgIC8+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImJ0bi1ncm91cFwiPlxyXG4gICAgICAgICAgICAgIDwhLS0gaW1hZ2UtcHJldmlldy1jbGVhciBidXR0b24gLS0+XHJcbiAgICAgICAgICAgICAgPGJ1dHRvblxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJidG5cIlxyXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cImNhbmNlbEFsbCgpXCJcclxuICAgICAgICAgICAgICAgIFthdHRyLmRpc2FibGVkXT1cIkhhc1F1ZXVlSXRlbSgpID09PSBmYWxzZSA/ICdkaXNhYmxlZCcgOiBudWxsXCJcclxuICAgICAgICAgICAgICAgIFtjbGFzcy5idG4tc2Vjb25kYXJ5XT1cIiEoaW52YWxpZCAmJiAoZGlydHkgfHwgdG91Y2hlZCkpXCJcclxuICAgICAgICAgICAgICAgIFtjbGFzcy5idG4tZGFuZ2VyXT1cImludmFsaWQgJiYgKGRpcnR5IHx8IHRvdWNoZWQpXCJcclxuICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICA8c3BhbiBbY2xhc3NdPVwiSWNvbkRlbGV0ZVwiPjwvc3Bhbj5cclxuICAgICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgICAgICA8YnV0dG9uXHJcbiAgICAgICAgICAgICAgICAqbmdJZj1cIihhdXRvdXBsb2FkID09PSBmYWxzZSAmJiBlbmFibGVwYXVzZSkgfHwgKGF1dG91cGxvYWQgJiYgZW5hYmxlcGF1c2UgJiYgSXNQYXVzZWQoKSA9PT0gZmFsc2UpXCJcclxuICAgICAgICAgICAgICAgIGNsYXNzPVwiYnRuXCJcclxuICAgICAgICAgICAgICAgIChjbGljayk9XCJwYXVzZUFsbCgpXCJcclxuICAgICAgICAgICAgICAgIFthdHRyLmRpc2FibGVkXT1cIklzVXBsb2FkaW5nKCkgPT09IGZhbHNlID8gJ2Rpc2FibGVkJyA6IG51bGxcIlxyXG4gICAgICAgICAgICAgICAgW2NsYXNzLmJ0bi1zZWNvbmRhcnldPVwiIShpbnZhbGlkICYmIChkaXJ0eSB8fCB0b3VjaGVkKSlcIlxyXG4gICAgICAgICAgICAgICAgW2NsYXNzLmJ0bi1kYW5nZXJdPVwiaW52YWxpZCAmJiAoZGlydHkgfHwgdG91Y2hlZClcIlxyXG4gICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgIDxzcGFuIFtjbGFzc109XCJJY29uUGF1c2VcIj48L3NwYW4+XHJcbiAgICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgICAgPGJ1dHRvblxyXG4gICAgICAgICAgICAgICAgKm5nSWY9XCJhdXRvdXBsb2FkICYmIGVuYWJsZXBhdXNlICYmIElzUGF1c2VkKCkgPT09IHRydWVcIlxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJidG5cIlxyXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cInVwbG9hZEFsbCgpXCJcclxuICAgICAgICAgICAgICAgIFtjbGFzcy5idG4tc2Vjb25kYXJ5XT1cIiEoaW52YWxpZCAmJiAoZGlydHkgfHwgdG91Y2hlZCkpXCJcclxuICAgICAgICAgICAgICAgIFtjbGFzcy5idG4tZGFuZ2VyXT1cImludmFsaWQgJiYgKGRpcnR5IHx8IHRvdWNoZWQpXCJcclxuICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICA8c3BhbiBbY2xhc3NdPVwiSWNvbkNvbnRpbnVlXCI+PC9zcGFuPlxyXG4gICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgIDxidXR0b25cclxuICAgICAgICAgICAgICAgICpuZ0lmPVwiYXV0b3VwbG9hZCA9PT0gZmFsc2VcIlxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJidG4gdGV4dC1ub3dyYXBcIlxyXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cInVwbG9hZEFsbCgpXCJcclxuICAgICAgICAgICAgICAgIFthdHRyLmRpc2FibGVkXT1cIklzU3RhdGVUb1VwbG9hZCgpID09PSBmYWxzZSA/ICAnZGlzYWJsZWQnIDogbnVsbFwiXHJcbiAgICAgICAgICAgICAgICBbY2xhc3MuYnRuLXNlY29uZGFyeV09XCIhKGludmFsaWQgJiYgKGRpcnR5IHx8IHRvdWNoZWQpKVwiXHJcbiAgICAgICAgICAgICAgICBbY2xhc3MuYnRuLWRhbmdlcl09XCJpbnZhbGlkICYmIChkaXJ0eSB8fCB0b3VjaGVkKVwiXHJcbiAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgPHNwYW4gW2NsYXNzXT1cIkljb25VcGxvYWRcIiBjbGFzcz1cInByLTJcIj48L3NwYW4+IHt7XHJcbiAgICAgICAgICAgICAgICBsbmdSZXNvdXJjZVNlcnZpY2UuR2V0U3RyaW5nKCdVUExPQURfQlVUVE9OX1VQTE9BRCcpIHwgYXN5bmMgfX1cclxuICAgICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgKm5nSWY9XCJpc2lubGluZWVycm9yZW5hYmxlZCAmJiBpbnZhbGlkICYmIChkaXJ0eSB8fCB0b3VjaGVkKVwiXHJcbiAgICAgICAgICAgIGNsYXNzPVwiaW52YWxpZC1mZWVkYmFja1wiXHJcbiAgICAgICAgICA+XHJcbiAgICAgICAgICAgIHt7IEdldEVycm9yTWVzc2FnZSgpIHwgYXN5bmMgfX1cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuXHJcbiAgICAgIDxkaXYgKm5nRm9yPVwibGV0IGZpbGUgb2YgdXBsb2Fkc1wiIHN0eWxlPVwibWFyZ2luLXRvcDogNXB4XCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImlucHV0LWdyb3VwIHVwbG9hZC1jb21wb25lbnQgdXBsb2FkLW11bHRpcGxlXCI+XHJcbiAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sIHVwbG9hZC1wcm9ncmVzc1wiXHJcbiAgICAgICAgICAgIFtjbGFzcy5pcy1pbnZhbGlkXT1cImludmFsaWQgJiYgKGRpcnR5IHx8IHRvdWNoZWQpXCJcclxuICAgICAgICAgID5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInByb2dyZXNzXCI+XHJcbiAgICAgICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJwcm9ncmVzcy1iYXJcIlxyXG4gICAgICAgICAgICAgICAgW2NsYXNzLnByb2dyZXNzLWJhci1zdWNjZXNzXT1cImZpbGUucHJvZ3Jlc3M9PT0xMDBcIlxyXG4gICAgICAgICAgICAgICAgcm9sZT1cInByb2dyZXNzYmFyXCJcclxuICAgICAgICAgICAgICAgIFthdHRyLmFyaWEtdmFsdWVub3ddPVwiZmlsZS5wcm9ncmVzc1wiXHJcbiAgICAgICAgICAgICAgICBhcmlhLXZhbHVlbWluPVwiMFwiXHJcbiAgICAgICAgICAgICAgICBhcmlhLXZhbHVlbWF4PVwiMTAwXCJcclxuICAgICAgICAgICAgICAgIFtzdHlsZS53aWR0aC4lXT1cImZpbGUucHJvZ3Jlc3NcIlxyXG4gICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwicHJvZ3Jlc3MtdGV4dCB0ZXh0LWRhcmtcIj57eyBmaWxlLm5hbWUgfX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiaW5wdXQtZ3JvdXAtYXBwZW5kXCI+XHJcbiAgICAgICAgICAgIDwhLS0gaW1hZ2UtcHJldmlldy1jbGVhciBidXR0b24gLS0+XHJcbiAgICAgICAgICAgIDxidXR0b25cclxuICAgICAgICAgICAgICBjbGFzcz1cImJ0blwiXHJcbiAgICAgICAgICAgICAgKGNsaWNrKT1cImNhbmNlbChmaWxlLnVwbG9hZElkKVwiXHJcbiAgICAgICAgICAgICAgW2NsYXNzLmJ0bi1zZWNvbmRhcnldPVwiIShpbnZhbGlkICYmIChkaXJ0eSB8fCB0b3VjaGVkKSlcIlxyXG4gICAgICAgICAgICAgIFtjbGFzcy5idG4tZGFuZ2VyXT1cImludmFsaWQgJiYgKGRpcnR5IHx8IHRvdWNoZWQpXCJcclxuICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgIDxzcGFuIFtjbGFzc109XCJJY29uRGVsZXRlXCI+PC9zcGFuPlxyXG4gICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgICAgPGJ1dHRvblxyXG4gICAgICAgICAgICAgICpuZ0lmPVwiKGF1dG91cGxvYWQgPT09IGZhbHNlICYmIGVuYWJsZXBhdXNlKSB8fCAoYXV0b3VwbG9hZCAmJiBlbmFibGVwYXVzZSAmJiBmaWxlLnN0YXR1cyAhPT0gJ3BhdXNlZCcpXCJcclxuICAgICAgICAgICAgICBjbGFzcz1cImJ0blwiXHJcbiAgICAgICAgICAgICAgKGNsaWNrKT1cInBhdXNlKGZpbGUudXBsb2FkSWQpXCJcclxuICAgICAgICAgICAgICBbYXR0ci5kaXNhYmxlZF09XCJmaWxlLnN0YXR1cyAhPT0gJ3VwbG9hZGluZycgPyAnZGlzYWJsZWQnIDogbnVsbFwiXHJcbiAgICAgICAgICAgICAgW2NsYXNzLmJ0bi1zZWNvbmRhcnldPVwiIShpbnZhbGlkICYmIChkaXJ0eSB8fCB0b3VjaGVkKSlcIlxyXG4gICAgICAgICAgICAgIFtjbGFzcy5idG4tZGFuZ2VyXT1cImludmFsaWQgJiYgKGRpcnR5IHx8IHRvdWNoZWQpXCJcclxuICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgIDxzcGFuIFtjbGFzc109XCJJY29uUGF1c2VcIj48L3NwYW4+XHJcbiAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICA8YnV0dG9uXHJcbiAgICAgICAgICAgICAgKm5nSWY9XCJhdXRvdXBsb2FkICYmIGVuYWJsZXBhdXNlICYmIGZpbGUuc3RhdHVzID09PSAncGF1c2VkJ1wiXHJcbiAgICAgICAgICAgICAgY2xhc3M9XCJidG5cIlxyXG4gICAgICAgICAgICAgIChjbGljayk9XCJ1cGxvYWQoZmlsZS51cGxvYWRJZClcIlxyXG4gICAgICAgICAgICAgIFtjbGFzcy5idG4tc2Vjb25kYXJ5XT1cIiEoaW52YWxpZCAmJiAoZGlydHkgfHwgdG91Y2hlZCkpXCJcclxuICAgICAgICAgICAgICBbY2xhc3MuYnRuLWRhbmdlcl09XCJpbnZhbGlkICYmIChkaXJ0eSB8fCB0b3VjaGVkKVwiXHJcbiAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICA8c3BhbiBbY2xhc3NdPVwiSWNvbkNvbnRpbnVlXCI+PC9zcGFuPlxyXG4gICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgICAgPGJ1dHRvblxyXG4gICAgICAgICAgICAgICpuZ0lmPVwiYXV0b3VwbG9hZCA9PT0gZmFsc2VcIlxyXG4gICAgICAgICAgICAgIGNsYXNzPVwiYnRuIHRleHQtbm93cmFwXCJcclxuICAgICAgICAgICAgICAoY2xpY2spPVwidXBsb2FkKGZpbGUudXBsb2FkSWQpXCJcclxuICAgICAgICAgICAgICBbYXR0ci5kaXNhYmxlZF09XCJmaWxlLnN0YXR1cyAhPT0gJ2FkZGVkJyAmJiBmaWxlLnN0YXR1cyAhPT0gJ3BhdXNlZCcgPyAgJ2Rpc2FibGVkJyA6IG51bGxcIlxyXG4gICAgICAgICAgICAgIFtjbGFzcy5idG4tc2Vjb25kYXJ5XT1cIiEoaW52YWxpZCAmJiAoZGlydHkgfHwgdG91Y2hlZCkpXCJcclxuICAgICAgICAgICAgICBbY2xhc3MuYnRuLWRhbmdlcl09XCJpbnZhbGlkICYmIChkaXJ0eSB8fCB0b3VjaGVkKVwiXHJcbiAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICA8c3BhbiBbY2xhc3NdPVwiSWNvblVwbG9hZFwiIGNsYXNzPVwicHItMlwiPjwvc3Bhbj57e1xyXG4gICAgICAgICAgICAgIGxuZ1Jlc291cmNlU2VydmljZS5HZXRTdHJpbmcoJ1VQTE9BRF9CVVRUT05fVVBMT0FEJykgfCBhc3luYyB9fVxyXG4gICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gIDwvZGl2PlxyXG48L2Rpdj5cclxuIl19
58
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBsb2FkbXVsdGlwbGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zYWMtYm9vdHN0cmFwNC9zcmMvY29udHJvbHMvdXBsb2FkL3VwbG9hZG11bHRpcGxlLnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2FjLWJvb3RzdHJhcDQvc3JjL2NvbnRyb2xzL3VwbG9hZC91cGxvYWRtdWx0aXBsZS5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsVUFBVSxFQUNWLElBQUksRUFHSixRQUFRLEdBRVQsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGFBQWEsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLG1DQUFtQyxDQUFDOzs7Ozs7QUFHNUU7OztHQUdHO0FBa0JILE1BQU0sT0FBTywwQkFBMkIsU0FBUSx1QkFBdUI7SUFDckUsdUJBQXVCO0lBRXZCOzs7Ozs7T0FNRztJQUNILFlBQ3NCLFVBQWtDLEVBQ3RELFFBQWtCLEVBQ2xCLFFBQW1CLEVBQ25CLE1BQWM7UUFFZCxLQUFLLENBQUMsVUFBVSxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDaEQsQ0FBQzs7dUhBakJVLDBCQUEwQjsyR0FBMUIsMEJBQTBCLDZDQWIxQjtRQUNUO1lBQ0UsT0FBTyxFQUFFLGlCQUFpQjtZQUMxQixLQUFLLEVBQUUsSUFBSTtZQUNYLFdBQVcsRUFBRSwwQkFBMEI7U0FDeEM7UUFDRDtZQUNFLE9BQU8sRUFBRSxhQUFhO1lBQ3RCLEtBQUssRUFBRSxJQUFJO1lBQ1gsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQywwQkFBMEIsQ0FBQztTQUMxRDtLQUNGLGlEQ2hDSCxnM05BNkpBOzJGRDNIYSwwQkFBMEI7a0JBakJ0QyxTQUFTOytCQUNFLG9CQUFvQixhQUduQjt3QkFDVDs0QkFDRSxPQUFPLEVBQUUsaUJBQWlCOzRCQUMxQixLQUFLLEVBQUUsSUFBSTs0QkFDWCxXQUFXLDRCQUE0Qjt5QkFDeEM7d0JBQ0Q7NEJBQ0UsT0FBTyxFQUFFLGFBQWE7NEJBQ3RCLEtBQUssRUFBRSxJQUFJOzRCQUNYLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLDJCQUEyQixDQUFDO3lCQUMxRDtxQkFDRjs7MEJBYUUsSUFBSTs7MEJBQUksUUFBUSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQ29tcG9uZW50LFxyXG4gIGZvcndhcmRSZWYsXHJcbiAgSG9zdCxcclxuICBJbmplY3RvcixcclxuICBOZ1pvbmUsXHJcbiAgT3B0aW9uYWwsXHJcbiAgUmVuZGVyZXIyLFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBOR19WQUxJREFUT1JTLCBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgU2FjVXBsb2FkTXVsdGlwbGVDb21tb24gfSBmcm9tICdAc2ltcGxlYW5ndWxhcmNvbnRyb2xzL3NhYy1jb21tb24nO1xyXG5pbXBvcnQgeyBTYWNGb3JtTGF5b3V0RGlyZWN0aXZlIH0gZnJvbSAnLi4vbGF5b3V0L2Zvcm1sYXlvdXQuZGlyZWN0aXZlJztcclxuXHJcbi8qKlxyXG4gKiBVcGxvYWQgS29tcG9uZW50ZSBmw7xyIGRlbiBVcGxvYWQgbWVocmVyIEZpbGVzXHJcbiAqIEBzZWUgaHR0cHM6Ly9naXRodWIuY29tL2t1a2hhcmlldi9uZ3gtdXBsb2FkeC9cclxuICovXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnc2FjLXVwbG9hZG11bHRpcGxlJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vdXBsb2FkbXVsdGlwbGUuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vdXBsb2FkLnNjc3MnXSxcclxuICBwcm92aWRlcnM6IFtcclxuICAgIHtcclxuICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXHJcbiAgICAgIG11bHRpOiB0cnVlLFxyXG4gICAgICB1c2VFeGlzdGluZzogU2FjVXBsb2FkTXVsdGlwbGVDb21wb25lbnQsXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICBwcm92aWRlOiBOR19WQUxJREFUT1JTLFxyXG4gICAgICBtdWx0aTogdHJ1ZSxcclxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gU2FjVXBsb2FkTXVsdGlwbGVDb21wb25lbnQpLFxyXG4gICAgfSxcclxuICBdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgU2FjVXBsb2FkTXVsdGlwbGVDb21wb25lbnQgZXh0ZW5kcyBTYWNVcGxvYWRNdWx0aXBsZUNvbW1vbiB7XHJcbiAgLy8gI3JlZ2lvbiBDb25zdHJ1Y3RvcnNcclxuXHJcbiAgLyoqXHJcbiAgICogQ29uc3RydWN0b3JcclxuICAgKiBAcGFyYW0gZm9ybUxheW91dCBTYWNGb3JtTGF5b3V0IHRvIGRlZmluZSBzY29wZWQgbGF5b3V0IHNldHRpbmdzXHJcbiAgICogQHBhcmFtIGluamVjdG9yIEluamVjdG9yIGZvciBpbmplY3Rpbmcgc2VydmljZXNcclxuICAgKiBAcGFyYW0gcmVuZGVyZXIgQW5ndWxhciByZW5kZXJpbmcgZW5naW5lXHJcbiAgICogQHBhcmFtIG5nWm9uZSBuZ1pvbmUgdG8gbWFuYWdlIGV4dGVybmFsIGphdmFzY3JpcHRzXHJcbiAgICovXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBASG9zdCgpIEBPcHRpb25hbCgpIGZvcm1MYXlvdXQ6IFNhY0Zvcm1MYXlvdXREaXJlY3RpdmUsXHJcbiAgICBpbmplY3RvcjogSW5qZWN0b3IsXHJcbiAgICByZW5kZXJlcjogUmVuZGVyZXIyLFxyXG4gICAgbmdab25lOiBOZ1pvbmVcclxuICApIHtcclxuICAgIHN1cGVyKGZvcm1MYXlvdXQsIGluamVjdG9yLCByZW5kZXJlciwgbmdab25lKTtcclxuICB9XHJcblxyXG4gIC8vICNlbmRyZWdpb24gQ29uc3RydWN0b3JzXHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cInJvdyBmb3JtLWdyb3VwXCIgW2NsYXNzLm5vLWd1dHRlcnNdPVwiZGlzYWJsZWxhYmVsXCI+XHJcbiAgPGxhYmVsXHJcbiAgICAqbmdJZj1cImRpc2FibGVsYWJlbCA9PT0gZmFsc2UgJiYgIWlzQWRhcHRpdmVMYWJlbFwiXHJcbiAgICBpZD1cInt7bmFtZX19X2xhYmVsXCJcclxuICAgIGZvcj1cInt7bmFtZX19XCJcclxuICAgIGNsYXNzPVwiY29sLTEyIGNvbC1mb3JtLWxhYmVsXCJcclxuICAgIFtuZ0NsYXNzXT1cIltkaXNhYmxlbGFiZWwgPT09IGZhbHNlID8gKHRoaXMubGFiZWxTaXplcyB8IHRvTGFiZWxXaWR0aENzcykgOiAnc3Itb25seScgXVwiXHJcbiAgICA+e3tsYWJlbH19PC9sYWJlbFxyXG4gID5cclxuICA8ZGl2XHJcbiAgICBjbGFzcz1cImNvbC0xMlwiXHJcbiAgICBbbmdDbGFzc109XCJbZGlzYWJsZWxhYmVsID09PSBmYWxzZSA/ICAodGhpcy5sYWJlbFNpemVzIHwgdG9Db250cm9sV2lkdGhDc3MpIDogJyddXCJcclxuICA+XHJcbiAgICA8ZGl2IGNsYXNzPVwidXBsb2FkLWNvbXBvbmVudFwiPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwicm93XCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImNvbC0xMlwiPlxyXG4gICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICBjbGFzcz1cImJ0bi1ncm91cFwiXHJcbiAgICAgICAgICAgIFtjbGFzcy5pcy1pbnZhbGlkXT1cImlzaW5saW5lZXJyb3JlbmFibGVkICYmIGludmFsaWQgJiYgKGRpcnR5IHx8IHRvdWNoZWQpXCJcclxuICAgICAgICAgID5cclxuICAgICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICAgIGNsYXNzPVwiYnRuIHVwbG9hZC1pbnB1dCBjdXN0b20tZmlsZVwiXHJcbiAgICAgICAgICAgICAgW2NsYXNzLmRpc2FibGVkXT1cIm1heGZpbGVzID4gMCAmJiAgdXBsb2Fkcy5sZW5ndGggPj0gbWF4ZmlsZXNcIlxyXG4gICAgICAgICAgICAgIFtjbGFzcy5idG4tc2Vjb25kYXJ5XT1cIiEoaW52YWxpZCAmJiAoZGlydHkgfHwgdG91Y2hlZCkpXCJcclxuICAgICAgICAgICAgICBbY2xhc3MuYnRuLWRhbmdlcl09XCJpbnZhbGlkICYmIChkaXJ0eSB8fCB0b3VjaGVkKVwiXHJcbiAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICA8aSBbY2xhc3NdPVwiSWNvbkJyb3dzZVwiIGNsYXNzPVwicHItMlwiPjwvaT5cclxuICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInVwbG9hZC1icm93c2VcIj5Ccm93c2U8L3NwYW4+XHJcbiAgICAgICAgICAgICAgPGlucHV0XHJcbiAgICAgICAgICAgICAgICB0eXBlPVwiZmlsZVwiXHJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImN1c3RvbS1maWxlLWlucHV0XCJcclxuICAgICAgICAgICAgICAgICNmaWxlc1xyXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cImZpbGVzLnZhbHVlID0gJydcIlxyXG4gICAgICAgICAgICAgICAgKHVwbG9hZHhTdGF0ZSk9XCJvblVwbG9hZCgkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAgIG11bHRpcGxlXHJcbiAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwibWF4ZmlsZXMgPiAwICYmICB1cGxvYWRzLmxlbmd0aCA+PSBtYXhmaWxlc1wiXHJcbiAgICAgICAgICAgICAgLz5cclxuICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYnRuLWdyb3VwXCI+XHJcbiAgICAgICAgICAgICAgPCEtLSBpbWFnZS1wcmV2aWV3LWNsZWFyIGJ1dHRvbiAtLT5cclxuICAgICAgICAgICAgICA8YnV0dG9uXHJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImJ0blwiXHJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwiY2FuY2VsQWxsKClcIlxyXG4gICAgICAgICAgICAgICAgW2F0dHIuZGlzYWJsZWRdPVwiSGFzUXVldWVJdGVtKCkgPT09IGZhbHNlID8gJ2Rpc2FibGVkJyA6IG51bGxcIlxyXG4gICAgICAgICAgICAgICAgW2NsYXNzLmJ0bi1zZWNvbmRhcnldPVwiIShpbnZhbGlkICYmIChkaXJ0eSB8fCB0b3VjaGVkKSlcIlxyXG4gICAgICAgICAgICAgICAgW2NsYXNzLmJ0bi1kYW5nZXJdPVwiaW52YWxpZCAmJiAoZGlydHkgfHwgdG91Y2hlZClcIlxyXG4gICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgIDxzcGFuIFtjbGFzc109XCJJY29uRGVsZXRlXCI+PC9zcGFuPlxyXG4gICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgIDxidXR0b25cclxuICAgICAgICAgICAgICAgICpuZ0lmPVwiKGF1dG91cGxvYWQgPT09IGZhbHNlICYmIGVuYWJsZXBhdXNlKSB8fCAoYXV0b3VwbG9hZCAmJiBlbmFibGVwYXVzZSAmJiBJc1BhdXNlZCgpID09PSBmYWxzZSlcIlxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJidG5cIlxyXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cInBhdXNlQWxsKClcIlxyXG4gICAgICAgICAgICAgICAgW2F0dHIuZGlzYWJsZWRdPVwiSXNVcGxvYWRpbmcoKSA9PT0gZmFsc2UgPyAnZGlzYWJsZWQnIDogbnVsbFwiXHJcbiAgICAgICAgICAgICAgICBbY2xhc3MuYnRuLXNlY29uZGFyeV09XCIhKGludmFsaWQgJiYgKGRpcnR5IHx8IHRvdWNoZWQpKVwiXHJcbiAgICAgICAgICAgICAgICBbY2xhc3MuYnRuLWRhbmdlcl09XCJpbnZhbGlkICYmIChkaXJ0eSB8fCB0b3VjaGVkKVwiXHJcbiAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgPHNwYW4gW2NsYXNzXT1cIkljb25QYXVzZVwiPjwvc3Bhbj5cclxuICAgICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgICAgICA8YnV0dG9uXHJcbiAgICAgICAgICAgICAgICAqbmdJZj1cImF1dG91cGxvYWQgJiYgZW5hYmxlcGF1c2UgJiYgSXNQYXVzZWQoKSA9PT0gdHJ1ZVwiXHJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImJ0blwiXHJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwidXBsb2FkQWxsKClcIlxyXG4gICAgICAgICAgICAgICAgW2NsYXNzLmJ0bi1zZWNvbmRhcnldPVwiIShpbnZhbGlkICYmIChkaXJ0eSB8fCB0b3VjaGVkKSlcIlxyXG4gICAgICAgICAgICAgICAgW2NsYXNzLmJ0bi1kYW5nZXJdPVwiaW52YWxpZCAmJiAoZGlydHkgfHwgdG91Y2hlZClcIlxyXG4gICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgIDxzcGFuIFtjbGFzc109XCJJY29uQ29udGludWVcIj48L3NwYW4+XHJcbiAgICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgICAgPGJ1dHRvblxyXG4gICAgICAgICAgICAgICAgKm5nSWY9XCJhdXRvdXBsb2FkID09PSBmYWxzZVwiXHJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImJ0biB0ZXh0LW5vd3JhcFwiXHJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwidXBsb2FkQWxsKClcIlxyXG4gICAgICAgICAgICAgICAgW2F0dHIuZGlzYWJsZWRdPVwiSXNTdGF0ZVRvVXBsb2FkKCkgPT09IGZhbHNlID8gICdkaXNhYmxlZCcgOiBudWxsXCJcclxuICAgICAgICAgICAgICAgIFtjbGFzcy5idG4tc2Vjb25kYXJ5XT1cIiEoaW52YWxpZCAmJiAoZGlydHkgfHwgdG91Y2hlZCkpXCJcclxuICAgICAgICAgICAgICAgIFtjbGFzcy5idG4tZGFuZ2VyXT1cImludmFsaWQgJiYgKGRpcnR5IHx8IHRvdWNoZWQpXCJcclxuICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICA8c3BhbiBbY2xhc3NdPVwiSWNvblVwbG9hZFwiIGNsYXNzPVwicHItMlwiPjwvc3Bhbj4ge3tcclxuICAgICAgICAgICAgICAgIGxuZ1Jlc291cmNlU2VydmljZS5HZXRTdHJpbmcoJ1VQTE9BRF9CVVRUT05fVVBMT0FEJykgfCBhc3luYyB9fVxyXG4gICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICAqbmdJZj1cImlzaW5saW5lZXJyb3JlbmFibGVkICYmIGludmFsaWQgJiYgKGRpcnR5IHx8IHRvdWNoZWQpXCJcclxuICAgICAgICAgICAgY2xhc3M9XCJpbnZhbGlkLWZlZWRiYWNrXCJcclxuICAgICAgICAgID5cclxuICAgICAgICAgICAge3sgR2V0RXJyb3JNZXNzYWdlKCkgfCBhc3luYyB9fVxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgPGRpdiAqbmdGb3I9XCJsZXQgZmlsZSBvZiB1cGxvYWRzXCIgc3R5bGU9XCJtYXJnaW4tdG9wOiA1cHhcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiaW5wdXQtZ3JvdXAgdXBsb2FkLWNvbXBvbmVudCB1cGxvYWQtbXVsdGlwbGVcIj5cclxuICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2wgdXBsb2FkLXByb2dyZXNzXCJcclxuICAgICAgICAgICAgW2NsYXNzLmlzLWludmFsaWRdPVwiaW52YWxpZCAmJiAoZGlydHkgfHwgdG91Y2hlZClcIlxyXG4gICAgICAgICAgPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwicHJvZ3Jlc3NcIj5cclxuICAgICAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgICAgICBjbGFzcz1cInByb2dyZXNzLWJhclwiXHJcbiAgICAgICAgICAgICAgICBbY2xhc3MucHJvZ3Jlc3MtYmFyLXN1Y2Nlc3NdPVwiZmlsZS5wcm9ncmVzcz09PTEwMFwiXHJcbiAgICAgICAgICAgICAgICByb2xlPVwicHJvZ3Jlc3NiYXJcIlxyXG4gICAgICAgICAgICAgICAgW2F0dHIuYXJpYS12YWx1ZW5vd109XCJmaWxlLnByb2dyZXNzXCJcclxuICAgICAgICAgICAgICAgIGFyaWEtdmFsdWVtaW49XCIwXCJcclxuICAgICAgICAgICAgICAgIGFyaWEtdmFsdWVtYXg9XCIxMDBcIlxyXG4gICAgICAgICAgICAgICAgW3N0eWxlLndpZHRoLiVdPVwiZmlsZS5wcm9ncmVzc1wiXHJcbiAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJwcm9ncmVzcy10ZXh0IHRleHQtZGFya1wiPnt7IGZpbGUubmFtZSB9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJpbnB1dC1ncm91cC1hcHBlbmRcIj5cclxuICAgICAgICAgICAgPCEtLSBpbWFnZS1wcmV2aWV3LWNsZWFyIGJ1dHRvbiAtLT5cclxuICAgICAgICAgICAgPGJ1dHRvblxyXG4gICAgICAgICAgICAgIGNsYXNzPVwiYnRuXCJcclxuICAgICAgICAgICAgICAoY2xpY2spPVwiY2FuY2VsKGZpbGUudXBsb2FkSWQpXCJcclxuICAgICAgICAgICAgICBbY2xhc3MuYnRuLXNlY29uZGFyeV09XCIhKGludmFsaWQgJiYgKGRpcnR5IHx8IHRvdWNoZWQpKVwiXHJcbiAgICAgICAgICAgICAgW2NsYXNzLmJ0bi1kYW5nZXJdPVwiaW52YWxpZCAmJiAoZGlydHkgfHwgdG91Y2hlZClcIlxyXG4gICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgPHNwYW4gW2NsYXNzXT1cIkljb25EZWxldGVcIj48L3NwYW4+XHJcbiAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICA8YnV0dG9uXHJcbiAgICAgICAgICAgICAgKm5nSWY9XCIoYXV0b3VwbG9hZCA9PT0gZmFsc2UgJiYgZW5hYmxlcGF1c2UpIHx8IChhdXRvdXBsb2FkICYmIGVuYWJsZXBhdXNlICYmIGZpbGUuc3RhdHVzICE9PSAncGF1c2VkJylcIlxyXG4gICAgICAgICAgICAgIGNsYXNzPVwiYnRuXCJcclxuICAgICAgICAgICAgICAoY2xpY2spPVwicGF1c2UoZmlsZS51cGxvYWRJZClcIlxyXG4gICAgICAgICAgICAgIFthdHRyLmRpc2FibGVkXT1cImZpbGUuc3RhdHVzICE9PSAndXBsb2FkaW5nJyA/ICdkaXNhYmxlZCcgOiBudWxsXCJcclxuICAgICAgICAgICAgICBbY2xhc3MuYnRuLXNlY29uZGFyeV09XCIhKGludmFsaWQgJiYgKGRpcnR5IHx8IHRvdWNoZWQpKVwiXHJcbiAgICAgICAgICAgICAgW2NsYXNzLmJ0bi1kYW5nZXJdPVwiaW52YWxpZCAmJiAoZGlydHkgfHwgdG91Y2hlZClcIlxyXG4gICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgPHNwYW4gW2NsYXNzXT1cIkljb25QYXVzZVwiPjwvc3Bhbj5cclxuICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgIDxidXR0b25cclxuICAgICAgICAgICAgICAqbmdJZj1cImF1dG91cGxvYWQgJiYgZW5hYmxlcGF1c2UgJiYgZmlsZS5zdGF0dXMgPT09ICdwYXVzZWQnXCJcclxuICAgICAgICAgICAgICBjbGFzcz1cImJ0blwiXHJcbiAgICAgICAgICAgICAgKGNsaWNrKT1cInVwbG9hZChmaWxlLnVwbG9hZElkKVwiXHJcbiAgICAgICAgICAgICAgW2NsYXNzLmJ0bi1zZWNvbmRhcnldPVwiIShpbnZhbGlkICYmIChkaXJ0eSB8fCB0b3VjaGVkKSlcIlxyXG4gICAgICAgICAgICAgIFtjbGFzcy5idG4tZGFuZ2VyXT1cImludmFsaWQgJiYgKGRpcnR5IHx8IHRvdWNoZWQpXCJcclxuICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgIDxzcGFuIFtjbGFzc109XCJJY29uQ29udGludWVcIj48L3NwYW4+XHJcbiAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICA8YnV0dG9uXHJcbiAgICAgICAgICAgICAgKm5nSWY9XCJhdXRvdXBsb2FkID09PSBmYWxzZVwiXHJcbiAgICAgICAgICAgICAgY2xhc3M9XCJidG4gdGV4dC1ub3dyYXBcIlxyXG4gICAgICAgICAgICAgIChjbGljayk9XCJ1cGxvYWQoZmlsZS51cGxvYWRJZClcIlxyXG4gICAgICAgICAgICAgIFthdHRyLmRpc2FibGVkXT1cImZpbGUuc3RhdHVzICE9PSAnYWRkZWQnICYmIGZpbGUuc3RhdHVzICE9PSAncGF1c2VkJyA/ICAnZGlzYWJsZWQnIDogbnVsbFwiXHJcbiAgICAgICAgICAgICAgW2NsYXNzLmJ0bi1zZWNvbmRhcnldPVwiIShpbnZhbGlkICYmIChkaXJ0eSB8fCB0b3VjaGVkKSlcIlxyXG4gICAgICAgICAgICAgIFtjbGFzcy5idG4tZGFuZ2VyXT1cImludmFsaWQgJiYgKGRpcnR5IHx8IHRvdWNoZWQpXCJcclxuICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgIDxzcGFuIFtjbGFzc109XCJJY29uVXBsb2FkXCIgY2xhc3M9XCJwci0yXCI+PC9zcGFuPnt7XHJcbiAgICAgICAgICAgICAgbG5nUmVzb3VyY2VTZXJ2aWNlLkdldFN0cmluZygnVVBMT0FEX0JVVFRPTl9VUExPQUQnKSB8IGFzeW5jIH19XHJcbiAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgPC9kaXY+XHJcbjwvZGl2PlxyXG4iXX0=
@@ -1,7 +1,6 @@
1
1
  import { Component, Host, Optional } from '@angular/core';
2
- import { ControlContainer, NG_VALUE_ACCESSOR } from '@angular/forms';
2
+ import { NG_VALUE_ACCESSOR } from '@angular/forms';
3
3
  import { SacValidationSummaryCommon } from '@simpleangularcontrols/sac-common';
4
- import { SacFormDirective } from '../form/form';
5
4
  import * as i0 from "@angular/core";
6
5
  import * as i1 from "../form/form";
7
6
  import * as i2 from "@angular/common";
@@ -9,13 +8,14 @@ import * as i2 from "@angular/common";
9
8
  * Validation Summary Kompontente
10
9
  */
11
10
  export class SacValidationSummaryComponent extends SacValidationSummaryCommon {
11
+ // #region Constructors
12
12
  /**
13
- * Konstruktor
14
- * @param parent Formular
15
- * @param injector Angular Dependency Injection Service
13
+ * Constructor
14
+ * @param formControl Instance of Form Component to receive invalid form controls
15
+ * @param injector Injector for injecting services
16
16
  */
17
- constructor(parent, injector) {
18
- super(parent, injector);
17
+ constructor(parentForm, injector) {
18
+ super(parentForm, injector);
19
19
  }
20
20
  }
21
21
  SacValidationSummaryComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SacValidationSummaryComponent, deps: [{ token: i1.SacFormDirective, host: true, optional: true }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component });
@@ -25,9 +25,7 @@ SacValidationSummaryComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "1
25
25
  multi: true,
26
26
  useExisting: SacValidationSummaryComponent,
27
27
  },
28
- ], usesInheritance: true, ngImport: i0, template: "<div class=\"alert alert-danger\" role=\"alert\" *ngIf=\"hasErrors\">\r\n <ul class=\"mb-0\">\r\n <li *ngFor=\"let error of formErrors\">{{error | async}}</li>\r\n </ul>\r\n</div>\r\n", directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], pipes: { "async": i2.AsyncPipe }, viewProviders: [
29
- { provide: ControlContainer, useExisting: SacFormDirective },
30
- ] });
28
+ ], usesInheritance: true, ngImport: i0, template: "<div class=\"alert alert-danger\" role=\"alert\" *ngIf=\"hasErrors\">\r\n <ul class=\"mb-0\">\r\n <li *ngFor=\"let error of formErrors\">{{error | async}}</li>\r\n </ul>\r\n</div>\r\n", directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], pipes: { "async": i2.AsyncPipe } });
31
29
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SacValidationSummaryComponent, decorators: [{
32
30
  type: Component,
33
31
  args: [{ selector: 'sac-validationsummary', providers: [
@@ -36,12 +34,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImpor
36
34
  multi: true,
37
35
  useExisting: SacValidationSummaryComponent,
38
36
  },
39
- ], viewProviders: [
40
- { provide: ControlContainer, useExisting: SacFormDirective },
41
37
  ], template: "<div class=\"alert alert-danger\" role=\"alert\" *ngIf=\"hasErrors\">\r\n <ul class=\"mb-0\">\r\n <li *ngFor=\"let error of formErrors\">{{error | async}}</li>\r\n </ul>\r\n</div>\r\n" }]
42
38
  }], ctorParameters: function () { return [{ type: i1.SacFormDirective, decorators: [{
43
39
  type: Host
44
40
  }, {
45
41
  type: Optional
46
42
  }] }, { type: i0.Injector }]; } });
47
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdGlvbnN1bW1hcnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zYWMtYm9vdHN0cmFwNC9zcmMvY29udHJvbHMvdmFsaWRhdGlvbi92YWxpZGF0aW9uc3VtbWFyeS50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NhYy1ib290c3RyYXA0L3NyYy9jb250cm9scy92YWxpZGF0aW9uL3ZhbGlkYXRpb25zdW1tYXJ5Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQVksUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3BFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3JFLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQy9FLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGNBQWMsQ0FBQzs7OztBQUVoRDs7R0FFRztBQWlCSCxNQUFNLE9BQU8sNkJBQThCLFNBQVEsMEJBQTBCO0lBQzNFOzs7O09BSUc7SUFDSCxZQUFnQyxNQUF3QixFQUFFLFFBQWtCO1FBQzFFLEtBQUssQ0FBQyxNQUFNLEVBQUUsUUFBUSxDQUFDLENBQUM7SUFDMUIsQ0FBQzs7MEhBUlUsNkJBQTZCOzhHQUE3Qiw2QkFBNkIsZ0RBWjdCO1FBQ1Q7WUFDRSxPQUFPLEVBQUUsaUJBQWlCO1lBQzFCLEtBQUssRUFBRSxJQUFJO1lBQ1gsV0FBVyxFQUFFLDZCQUE2QjtTQUMzQztLQUNGLGlEQ2xCSCw4TEFLQSw0UERlaUI7UUFDYixFQUFFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxXQUFXLEVBQUUsZ0JBQWdCLEVBQUU7S0FDN0Q7MkZBRVUsNkJBQTZCO2tCQWhCekMsU0FBUzsrQkFDRSx1QkFBdUIsYUFHdEI7d0JBQ1Q7NEJBQ0UsT0FBTyxFQUFFLGlCQUFpQjs0QkFDMUIsS0FBSyxFQUFFLElBQUk7NEJBQ1gsV0FBVywrQkFBK0I7eUJBQzNDO3FCQUNGLGlCQUVjO3dCQUNiLEVBQUUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLFdBQVcsRUFBRSxnQkFBZ0IsRUFBRTtxQkFDN0Q7OzBCQVFZLElBQUk7OzBCQUFJLFFBQVEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEhvc3QsIEluamVjdG9yLCBPcHRpb25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDb250cm9sQ29udGFpbmVyLCBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgU2FjVmFsaWRhdGlvblN1bW1hcnlDb21tb24gfSBmcm9tICdAc2ltcGxlYW5ndWxhcmNvbnRyb2xzL3NhYy1jb21tb24nO1xyXG5pbXBvcnQgeyBTYWNGb3JtRGlyZWN0aXZlIH0gZnJvbSAnLi4vZm9ybS9mb3JtJztcclxuXHJcbi8qKlxyXG4gKiBWYWxpZGF0aW9uIFN1bW1hcnkgS29tcG9udGVudGVcclxuICovXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnc2FjLXZhbGlkYXRpb25zdW1tYXJ5JyxcclxuICB0ZW1wbGF0ZVVybDogJy4vdmFsaWRhdGlvbnN1bW1hcnkuaHRtbCcsXHJcbiAgLy8gVmFsdWUgQWNjZXNzIFByb3ZpZGVyIHJlZ2lzdHJpZXJlbiwgZGFtaXQgV2VydCB2aWEgTW9kZWwgZ2VzY2hyaWViZW4gdW5kIGdlbGVzZW4gd2VyZGVuIGthbm5cclxuICBwcm92aWRlcnM6IFtcclxuICAgIHtcclxuICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXHJcbiAgICAgIG11bHRpOiB0cnVlLFxyXG4gICAgICB1c2VFeGlzdGluZzogU2FjVmFsaWRhdGlvblN1bW1hcnlDb21wb25lbnQsXHJcbiAgICB9LFxyXG4gIF0sXHJcbiAgLy8gVmlldyBQcm92aWRlciwgZGFtaXQgZGFzIEZvcm11bGFyIGFuIGRhcyBDb250cm9sIGdlYnVuZGVuIHdlcmRlbiBrYW5uXHJcbiAgdmlld1Byb3ZpZGVyczogW1xyXG4gICAgeyBwcm92aWRlOiBDb250cm9sQ29udGFpbmVyLCB1c2VFeGlzdGluZzogU2FjRm9ybURpcmVjdGl2ZSB9LFxyXG4gIF0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTYWNWYWxpZGF0aW9uU3VtbWFyeUNvbXBvbmVudCBleHRlbmRzIFNhY1ZhbGlkYXRpb25TdW1tYXJ5Q29tbW9uIHtcclxuICAvKipcclxuICAgKiBLb25zdHJ1a3RvclxyXG4gICAqIEBwYXJhbSBwYXJlbnQgRm9ybXVsYXJcclxuICAgKiBAcGFyYW0gaW5qZWN0b3IgQW5ndWxhciBEZXBlbmRlbmN5IEluamVjdGlvbiBTZXJ2aWNlXHJcbiAgICovXHJcbiAgY29uc3RydWN0b3IoQEhvc3QoKSBAT3B0aW9uYWwoKSBwYXJlbnQ6IFNhY0Zvcm1EaXJlY3RpdmUsIGluamVjdG9yOiBJbmplY3Rvcikge1xyXG4gICAgc3VwZXIocGFyZW50LCBpbmplY3Rvcik7XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJhbGVydCBhbGVydC1kYW5nZXJcIiByb2xlPVwiYWxlcnRcIiAqbmdJZj1cImhhc0Vycm9yc1wiPlxyXG4gIDx1bCBjbGFzcz1cIm1iLTBcIj5cclxuICAgIDxsaSAqbmdGb3I9XCJsZXQgZXJyb3Igb2YgZm9ybUVycm9yc1wiPnt7ZXJyb3IgfCBhc3luY319PC9saT5cclxuICA8L3VsPlxyXG48L2Rpdj5cclxuIl19
43
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdGlvbnN1bW1hcnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zYWMtYm9vdHN0cmFwNC9zcmMvY29udHJvbHMvdmFsaWRhdGlvbi92YWxpZGF0aW9uc3VtbWFyeS50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NhYy1ib290c3RyYXA0L3NyYy9jb250cm9scy92YWxpZGF0aW9uL3ZhbGlkYXRpb25zdW1tYXJ5Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQVksUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3BFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ25ELE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLG1DQUFtQyxDQUFDOzs7O0FBRy9FOztHQUVHO0FBYUgsTUFBTSxPQUFPLDZCQUE4QixTQUFRLDBCQUEwQjtJQUMzRSx1QkFBdUI7SUFFdkI7Ozs7T0FJRztJQUNILFlBQ3NCLFVBQTRCLEVBQ2hELFFBQWtCO1FBRWxCLEtBQUssQ0FBQyxVQUFVLEVBQUUsUUFBUSxDQUFDLENBQUM7SUFDOUIsQ0FBQzs7MEhBYlUsNkJBQTZCOzhHQUE3Qiw2QkFBNkIsZ0RBUjdCO1FBQ1Q7WUFDRSxPQUFPLEVBQUUsaUJBQWlCO1lBQzFCLEtBQUssRUFBRSxJQUFJO1lBQ1gsV0FBVyxFQUFFLDZCQUE2QjtTQUMzQztLQUNGLGlEQ2xCSCw4TEFLQTsyRkRlYSw2QkFBNkI7a0JBWnpDLFNBQVM7K0JBQ0UsdUJBQXVCLGFBR3RCO3dCQUNUOzRCQUNFLE9BQU8sRUFBRSxpQkFBaUI7NEJBQzFCLEtBQUssRUFBRSxJQUFJOzRCQUNYLFdBQVcsK0JBQStCO3lCQUMzQztxQkFDRjs7MEJBV0UsSUFBSTs7MEJBQUksUUFBUSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSG9zdCwgSW5qZWN0b3IsIE9wdGlvbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBTYWNWYWxpZGF0aW9uU3VtbWFyeUNvbW1vbiB9IGZyb20gJ0BzaW1wbGVhbmd1bGFyY29udHJvbHMvc2FjLWNvbW1vbic7XHJcbmltcG9ydCB7IFNhY0Zvcm1EaXJlY3RpdmUgfSBmcm9tICcuLi9mb3JtL2Zvcm0nO1xyXG5cclxuLyoqXHJcbiAqIFZhbGlkYXRpb24gU3VtbWFyeSBLb21wb250ZW50ZVxyXG4gKi9cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdzYWMtdmFsaWRhdGlvbnN1bW1hcnknLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi92YWxpZGF0aW9uc3VtbWFyeS5odG1sJyxcclxuICAvLyBWYWx1ZSBBY2Nlc3MgUHJvdmlkZXIgcmVnaXN0cmllcmVuLCBkYW1pdCBXZXJ0IHZpYSBNb2RlbCBnZXNjaHJpZWJlbiB1bmQgZ2VsZXNlbiB3ZXJkZW4ga2FublxyXG4gIHByb3ZpZGVyczogW1xyXG4gICAge1xyXG4gICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcclxuICAgICAgbXVsdGk6IHRydWUsXHJcbiAgICAgIHVzZUV4aXN0aW5nOiBTYWNWYWxpZGF0aW9uU3VtbWFyeUNvbXBvbmVudCxcclxuICAgIH0sXHJcbiAgXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIFNhY1ZhbGlkYXRpb25TdW1tYXJ5Q29tcG9uZW50IGV4dGVuZHMgU2FjVmFsaWRhdGlvblN1bW1hcnlDb21tb24ge1xyXG4gIC8vICNyZWdpb24gQ29uc3RydWN0b3JzXHJcblxyXG4gIC8qKlxyXG4gICAqIENvbnN0cnVjdG9yXHJcbiAgICogQHBhcmFtIGZvcm1Db250cm9sIEluc3RhbmNlIG9mIEZvcm0gQ29tcG9uZW50IHRvIHJlY2VpdmUgaW52YWxpZCBmb3JtIGNvbnRyb2xzXHJcbiAgICogQHBhcmFtIGluamVjdG9yIEluamVjdG9yIGZvciBpbmplY3Rpbmcgc2VydmljZXNcclxuICAgKi9cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIEBIb3N0KCkgQE9wdGlvbmFsKCkgcGFyZW50Rm9ybTogU2FjRm9ybURpcmVjdGl2ZSxcclxuICAgIGluamVjdG9yOiBJbmplY3RvclxyXG4gICkge1xyXG4gICAgc3VwZXIocGFyZW50Rm9ybSwgaW5qZWN0b3IpO1xyXG4gIH1cclxuXHJcbiAgLy8gI2VuZHJlZ2lvbiBDb25zdHJ1Y3RvcnNcclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwiYWxlcnQgYWxlcnQtZGFuZ2VyXCIgcm9sZT1cImFsZXJ0XCIgKm5nSWY9XCJoYXNFcnJvcnNcIj5cclxuICA8dWwgY2xhc3M9XCJtYi0wXCI+XHJcbiAgICA8bGkgKm5nRm9yPVwibGV0IGVycm9yIG9mIGZvcm1FcnJvcnNcIj57e2Vycm9yIHwgYXN5bmN9fTwvbGk+XHJcbiAgPC91bD5cclxuPC9kaXY+XHJcbiJdfQ==