@simpleangularcontrols/sac-bootstrap4 16.0.0-rc.2 → 16.0.0-rc.3

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 (130) hide show
  1. package/components/browser/browser.d.ts +6 -6
  2. package/components/browser/browser.d.ts.map +1 -1
  3. package/controls/buttons/index.d.ts +2 -0
  4. package/controls/buttons/index.d.ts.map +1 -0
  5. package/controls/checkbox/checkbox.d.ts +5 -5
  6. package/controls/checkbox/checkbox.d.ts.map +1 -1
  7. package/controls/checkbox/radiobuttons.d.ts +5 -5
  8. package/controls/checkbox/radiobuttons.d.ts.map +1 -1
  9. package/controls/contextmenu/contextmenu.d.ts +6 -6
  10. package/controls/contextmenu/contextmenu.d.ts.map +1 -1
  11. package/controls/contextmenu/contextmenuanchor.d.ts +2 -2
  12. package/controls/contextmenu/contextmenuanchor.d.ts.map +1 -1
  13. package/controls/contextmenu/contextmenucontainer.d.ts +2 -2
  14. package/controls/contextmenu/contextmenucontainer.d.ts.map +1 -1
  15. package/controls/datetime/date.d.ts +6 -6
  16. package/controls/datetime/date.d.ts.map +1 -1
  17. package/controls/datetime/datetime.d.ts +6 -6
  18. package/controls/datetime/datetime.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/dialog/index.d.ts +2 -0
  22. package/controls/dialog/index.d.ts.map +1 -0
  23. package/controls/form/form.d.ts +3 -11
  24. package/controls/form/form.d.ts.map +1 -1
  25. package/controls/grid/grid.d.ts.map +1 -1
  26. package/controls/input/input.d.ts +5 -5
  27. package/controls/input/input.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/layout.module.d.ts +11 -0
  45. package/controls/layout/layout.module.d.ts.map +1 -0
  46. package/controls/layout/tocontrolwidthcss.pipe.d.ts +20 -0
  47. package/controls/layout/tocontrolwidthcss.pipe.d.ts.map +1 -0
  48. package/controls/layout/tolabelwidthcss.pipe.d.ts +14 -0
  49. package/controls/layout/tolabelwidthcss.pipe.d.ts.map +1 -0
  50. package/controls/list/dropdown.d.ts +10 -10
  51. package/controls/list/dropdown.d.ts.map +1 -1
  52. package/controls/list/listbox.d.ts +8 -8
  53. package/controls/list/listbox.d.ts.map +1 -1
  54. package/controls/multilanguage/multilanguageinput.d.ts +5 -5
  55. package/controls/multilanguage/multilanguageinput.d.ts.map +1 -1
  56. package/controls/multilanguage/multilanguageinputarea.d.ts +5 -5
  57. package/controls/multilanguage/multilanguageinputarea.d.ts.map +1 -1
  58. package/controls/multilanguage/multilanguagemenu.d.ts +6 -6
  59. package/controls/multilanguage/multilanguagemenu.d.ts.map +1 -1
  60. package/controls/multilanguage/multilanguagemenuanchor.d.ts +2 -2
  61. package/controls/multilanguage/multilanguagemenuanchor.d.ts.map +1 -1
  62. package/controls/multilanguage/multilanguagemenucontainer.d.ts +2 -2
  63. package/controls/multilanguage/multilanguagemenucontainer.d.ts.map +1 -1
  64. package/controls/multilanguage/multilanguagemenuitembutton.d.ts.map +1 -1
  65. package/controls/static/formcontainer.d.ts +5 -5
  66. package/controls/static/formcontainer.d.ts.map +1 -1
  67. package/controls/static/staticlabel.d.ts +5 -5
  68. package/controls/static/staticlabel.d.ts.map +1 -1
  69. package/controls/tinymce/tinymce.d.ts +6 -6
  70. package/controls/tinymce/tinymce.d.ts.map +1 -1
  71. package/controls/upload/dropzonemultiple.d.ts +7 -7
  72. package/controls/upload/dropzonemultiple.d.ts.map +1 -1
  73. package/controls/upload/dropzonesingle.d.ts +7 -7
  74. package/controls/upload/dropzonesingle.d.ts.map +1 -1
  75. package/controls/upload/upload.d.ts +7 -7
  76. package/controls/upload/upload.d.ts.map +1 -1
  77. package/controls/upload/uploadmultiple.d.ts +7 -7
  78. package/controls/upload/uploadmultiple.d.ts.map +1 -1
  79. package/controls/validation/validationsummary.d.ts +4 -4
  80. package/controls/validation/validationsummary.d.ts.map +1 -1
  81. package/esm2022/components/browser/browser.mjs +13 -9
  82. package/esm2022/controls/buttons/index.mjs +2 -0
  83. package/esm2022/controls/checkbox/checkbox.mjs +16 -18
  84. package/esm2022/controls/checkbox/radiobuttons.mjs +17 -19
  85. package/esm2022/controls/contextmenu/contextmenu.mjs +10 -9
  86. package/esm2022/controls/contextmenu/contextmenuanchor.mjs +5 -4
  87. package/esm2022/controls/contextmenu/contextmenucontainer.mjs +5 -4
  88. package/esm2022/controls/datetime/date.mjs +24 -14
  89. package/esm2022/controls/datetime/datetime.mjs +25 -15
  90. package/esm2022/controls/datetime/time.mjs +24 -14
  91. package/esm2022/controls/dialog/index.mjs +2 -0
  92. package/esm2022/controls/form/form.mjs +6 -17
  93. package/esm2022/controls/grid/grid.mjs +6 -9
  94. package/esm2022/controls/input/input.mjs +23 -15
  95. package/esm2022/controls/input/inputarea.mjs +23 -15
  96. package/esm2022/controls/input/inputcurrency.mjs +23 -15
  97. package/esm2022/controls/input/inputdecimal.mjs +23 -15
  98. package/esm2022/controls/input/inputemail.mjs +23 -15
  99. package/esm2022/controls/input/inputinteger.mjs +23 -15
  100. package/esm2022/controls/input/inputpassword.mjs +23 -15
  101. package/esm2022/controls/input/inputsearch.mjs +16 -13
  102. package/esm2022/controls/layout/formlayout.directive.mjs +16 -0
  103. package/esm2022/controls/layout/layout.module.mjs +34 -0
  104. package/esm2022/controls/layout/tocontrolwidthcss.pipe.mjs +56 -0
  105. package/esm2022/controls/layout/tolabelwidthcss.pipe.mjs +40 -0
  106. package/esm2022/controls/list/dropdown.mjs +25 -21
  107. package/esm2022/controls/list/listbox.mjs +25 -22
  108. package/esm2022/controls/multilanguage/multilanguageinput.mjs +20 -14
  109. package/esm2022/controls/multilanguage/multilanguageinputarea.mjs +21 -15
  110. package/esm2022/controls/multilanguage/multilanguagemenu.mjs +10 -9
  111. package/esm2022/controls/multilanguage/multilanguagemenuanchor.mjs +5 -4
  112. package/esm2022/controls/multilanguage/multilanguagemenucontainer.mjs +5 -4
  113. package/esm2022/controls/multilanguage/multilanguagemenuitembutton.mjs +3 -2
  114. package/esm2022/controls/static/formcontainer.mjs +19 -14
  115. package/esm2022/controls/static/staticlabel.mjs +16 -13
  116. package/esm2022/controls/tinymce/tinymce.mjs +24 -20
  117. package/esm2022/controls/upload/dropzonemultiple.mjs +25 -13
  118. package/esm2022/controls/upload/dropzonesingle.mjs +26 -14
  119. package/esm2022/controls/upload/upload.mjs +23 -14
  120. package/esm2022/controls/upload/uploadmultiple.mjs +23 -13
  121. package/esm2022/controls/validation/validationsummary.mjs +11 -19
  122. package/esm2022/controls/wizard/wizard.mjs +3 -3
  123. package/esm2022/public_api.mjs +30 -26
  124. package/fesm2022/simpleangularcontrols-sac-bootstrap4.mjs +670 -422
  125. package/fesm2022/simpleangularcontrols-sac-bootstrap4.mjs.map +1 -1
  126. package/package.json +2 -2
  127. package/public_api.d.ts +29 -25
  128. package/public_api.d.ts.map +1 -1
  129. package/simpleangularcontrols-sac-bootstrap4-16.0.0-rc.3.tgz +0 -0
  130. package/simpleangularcontrols-sac-bootstrap4-16.0.0-rc.2.tgz +0 -0
@@ -5,12 +5,13 @@ import * as i0 from "@angular/core";
5
5
  * Marker Komponente für Context Menü
6
6
  */
7
7
  class SacMultilanguagemenuContainerDirective extends SacContextMenuContrainerCommon {
8
+ // #region Constructors
8
9
  /**
9
10
  * Konstruktor
10
- * @param _elementRef Referenz auf DOM Element
11
+ * @param elementRef Referenz auf DOM Element
11
12
  */
12
- constructor(_elementRef) {
13
- super(_elementRef);
13
+ constructor(elementRef) {
14
+ super(elementRef);
14
15
  }
15
16
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SacMultilanguagemenuContainerDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }
16
17
  static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: SacMultilanguagemenuContainerDirective, isStandalone: true, selector: "[sacMultilanguageMenuContainer]", providers: [
@@ -34,4 +35,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
34
35
  standalone: true,
35
36
  }]
36
37
  }], ctorParameters: function () { return [{ type: i0.ElementRef }]; } });
37
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibXVsdGlsYW5ndWFnZW1lbnVjb250YWluZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zYWMtYm9vdHN0cmFwNC9zcmMvY29udHJvbHMvbXVsdGlsYW5ndWFnZS9tdWx0aWxhbmd1YWdlbWVudWNvbnRhaW5lci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFjLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNsRSxPQUFPLEVBQUUsOEJBQThCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQzs7QUFFbkY7O0dBRUc7QUFDSCxNQVVhLHNDQUF1QyxTQUFRLDhCQUE4QjtJQUN4Rjs7O09BR0c7SUFDSCxZQUFZLFdBQW9DO1FBQzlDLEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUNyQixDQUFDOytHQVBVLHNDQUFzQzttR0FBdEMsc0NBQXNDLDhFQVJwQztZQUNQO2dCQUNJLE9BQU8sRUFBRSw4QkFBOEI7Z0JBQ3ZDLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsc0NBQXNDLENBQUM7YUFDeEU7U0FDSjs7U0FHUSxzQ0FBc0M7NEZBQXRDLHNDQUFzQztrQkFWbEQsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsaUNBQWlDO29CQUMzQyxTQUFTLEVBQUU7d0JBQ1A7NEJBQ0ksT0FBTyxFQUFFLDhCQUE4Qjs0QkFDdkMsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsdUNBQXVDLENBQUM7eUJBQ3hFO3FCQUNKO29CQUNELFVBQVUsRUFBRSxJQUFJO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgZm9yd2FyZFJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBTYWNDb250ZXh0TWVudUNvbnRyYWluZXJDb21tb24gfSBmcm9tICdAc2ltcGxlYW5ndWxhcmNvbnRyb2xzL3NhYy1jb21tb24nO1xyXG5cclxuLyoqXHJcbiAqIE1hcmtlciBLb21wb25lbnRlIGbDvHIgQ29udGV4dCBNZW7DvFxyXG4gKi9cclxuQERpcmVjdGl2ZSh7XHJcbiAgICBzZWxlY3RvcjogJ1tzYWNNdWx0aWxhbmd1YWdlTWVudUNvbnRhaW5lcl0nLFxyXG4gICAgcHJvdmlkZXJzOiBbXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgICBwcm92aWRlOiBTYWNDb250ZXh0TWVudUNvbnRyYWluZXJDb21tb24sXHJcbiAgICAgICAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFNhY011bHRpbGFuZ3VhZ2VtZW51Q29udGFpbmVyRGlyZWN0aXZlKSxcclxuICAgICAgICB9LFxyXG4gICAgXSxcclxuICAgIHN0YW5kYWxvbmU6IHRydWUsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTYWNNdWx0aWxhbmd1YWdlbWVudUNvbnRhaW5lckRpcmVjdGl2ZSBleHRlbmRzIFNhY0NvbnRleHRNZW51Q29udHJhaW5lckNvbW1vbiB7XHJcbiAgLyoqXHJcbiAgICogS29uc3RydWt0b3JcclxuICAgKiBAcGFyYW0gX2VsZW1lbnRSZWYgUmVmZXJlbnogYXVmIERPTSBFbGVtZW50XHJcbiAgICovXHJcbiAgY29uc3RydWN0b3IoX2VsZW1lbnRSZWY6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+KSB7XHJcbiAgICBzdXBlcihfZWxlbWVudFJlZik7XHJcbiAgfVxyXG59XHJcbiJdfQ==
38
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibXVsdGlsYW5ndWFnZW1lbnVjb250YWluZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zYWMtYm9vdHN0cmFwNC9zcmMvY29udHJvbHMvbXVsdGlsYW5ndWFnZS9tdWx0aWxhbmd1YWdlbWVudWNvbnRhaW5lci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFjLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNsRSxPQUFPLEVBQUUsOEJBQThCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQzs7QUFFbkY7O0dBRUc7QUFDSCxNQVVhLHNDQUF1QyxTQUFRLDhCQUE4QjtJQUN4Rix1QkFBdUI7SUFFdkI7OztPQUdHO0lBQ0gsWUFBWSxVQUFtQztRQUM3QyxLQUFLLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDcEIsQ0FBQzsrR0FUVSxzQ0FBc0M7bUdBQXRDLHNDQUFzQyw4RUFSdEM7WUFDVDtnQkFDRSxPQUFPLEVBQUUsOEJBQThCO2dCQUN2QyxXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLHNDQUFzQyxDQUFDO2FBQ3RFO1NBQ0Y7O1NBR1Usc0NBQXNDOzRGQUF0QyxzQ0FBc0M7a0JBVmxELFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGlDQUFpQztvQkFDM0MsU0FBUyxFQUFFO3dCQUNUOzRCQUNFLE9BQU8sRUFBRSw4QkFBOEI7NEJBQ3ZDLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLHVDQUF1QyxDQUFDO3lCQUN0RTtxQkFDRjtvQkFDRCxVQUFVLEVBQUUsSUFBSTtpQkFDakIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIGZvcndhcmRSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgU2FjQ29udGV4dE1lbnVDb250cmFpbmVyQ29tbW9uIH0gZnJvbSAnQHNpbXBsZWFuZ3VsYXJjb250cm9scy9zYWMtY29tbW9uJztcclxuXHJcbi8qKlxyXG4gKiBNYXJrZXIgS29tcG9uZW50ZSBmw7xyIENvbnRleHQgTWVuw7xcclxuICovXHJcbkBEaXJlY3RpdmUoe1xyXG4gIHNlbGVjdG9yOiAnW3NhY011bHRpbGFuZ3VhZ2VNZW51Q29udGFpbmVyXScsXHJcbiAgcHJvdmlkZXJzOiBbXHJcbiAgICB7XHJcbiAgICAgIHByb3ZpZGU6IFNhY0NvbnRleHRNZW51Q29udHJhaW5lckNvbW1vbixcclxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gU2FjTXVsdGlsYW5ndWFnZW1lbnVDb250YWluZXJEaXJlY3RpdmUpLFxyXG4gICAgfSxcclxuICBdLFxyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTYWNNdWx0aWxhbmd1YWdlbWVudUNvbnRhaW5lckRpcmVjdGl2ZSBleHRlbmRzIFNhY0NvbnRleHRNZW51Q29udHJhaW5lckNvbW1vbiB7XHJcbiAgLy8gI3JlZ2lvbiBDb25zdHJ1Y3RvcnNcclxuXHJcbiAgLyoqXHJcbiAgICogS29uc3RydWt0b3JcclxuICAgKiBAcGFyYW0gZWxlbWVudFJlZiBSZWZlcmVueiBhdWYgRE9NIEVsZW1lbnRcclxuICAgKi9cclxuICBjb25zdHJ1Y3RvcihlbGVtZW50UmVmOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50Pikge1xyXG4gICAgc3VwZXIoZWxlbWVudFJlZik7XHJcbiAgfVxyXG5cclxuICAvLyAjZW5kcmVnaW9uIENvbnN0cnVjdG9yc1xyXG59XHJcbiJdfQ==
@@ -1,12 +1,13 @@
1
+ import { NgIf } from '@angular/common';
1
2
  import { Component } from '@angular/core';
2
3
  import { SacContextmenuItemButtonCommon, } from '@simpleangularcontrols/sac-common';
3
- import { NgIf } from '@angular/common';
4
4
  import * as i0 from "@angular/core";
5
5
  import * as i1 from "@simpleangularcontrols/sac-common";
6
6
  /**
7
7
  * Component für Menü Eintrag in Context Menü
8
8
  */
9
9
  class SacMultilanguagemenuItemButtonComponent extends SacContextmenuItemButtonCommon {
10
+ // #region Constructors
10
11
  /**
11
12
  * Constructor
12
13
  * @param contextmenu Instance von Context Menü
@@ -22,4 +23,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
22
23
  type: Component,
23
24
  args: [{ selector: 'sac-multilanguagemenubutton', standalone: true, imports: [NgIf], template: "<button\r\n type=\"button\"\r\n class=\"dropdown-item\"\r\n (click)=\"callaction($event)\"\r\n [class.disabled]=\"isdisabled\"\r\n [class]=\"cssclass\"\r\n [attr.disabled]=\"isdisabled ? 'disabled' : null\"\r\n>\r\n <div class=\"d-flex\">\r\n <div *ngIf=\"!isicondisabled\" style=\"min-width: 1.5rem\">\r\n <img *ngIf=\"image\" [src]=\"image\" class=\"align-baseline\" />\r\n <i *ngIf=\"icon\" [class]=\"iconstyle + ' ' + icon\"></i>\r\n </div>\r\n <div class=\"flex-grow-1\">{{ text }}</div>\r\n </div>\r\n</button>\r\n" }]
24
25
  }], ctorParameters: function () { return [{ type: i1.SacContextmenuCommon }]; } });
25
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibXVsdGlsYW5ndWFnZW1lbnVpdGVtYnV0dG9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2FjLWJvb3RzdHJhcDQvc3JjL2NvbnRyb2xzL211bHRpbGFuZ3VhZ2UvbXVsdGlsYW5ndWFnZW1lbnVpdGVtYnV0dG9uLnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2FjLWJvb3RzdHJhcDQvc3JjL2NvbnRyb2xzL211bHRpbGFuZ3VhZ2UvbXVsdGlsYW5ndWFnZW1lbnVpdGVtYnV0dG9uLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxQyxPQUFPLEVBRUwsOEJBQThCLEdBQy9CLE1BQU0sbUNBQW1DLENBQUM7QUFDM0MsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLGlCQUFpQixDQUFDOzs7QUFFdkM7O0dBRUc7QUFDSCxNQU1hLHVDQUF3QyxTQUFRLDhCQUE4QjtJQUN6Rjs7O09BR0c7SUFDSCxZQUFZLFdBQWlDO1FBQzNDLEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUNyQixDQUFDOytHQVBVLHVDQUF1QzttR0FBdkMsdUNBQXVDLDhHQ2hCcEQscWlCQWdCQSw0Q0RGYyxJQUFJOztTQUVMLHVDQUF1Qzs0RkFBdkMsdUNBQXVDO2tCQU5uRCxTQUFTOytCQUNJLDZCQUE2QixjQUUzQixJQUFJLFdBQ1AsQ0FBQyxJQUFJLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtcclxuICBTYWNDb250ZXh0bWVudUNvbW1vbixcclxuICBTYWNDb250ZXh0bWVudUl0ZW1CdXR0b25Db21tb24sXHJcbn0gZnJvbSAnQHNpbXBsZWFuZ3VsYXJjb250cm9scy9zYWMtY29tbW9uJztcclxuaW1wb3J0IHsgTmdJZiB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcblxyXG4vKipcclxuICogQ29tcG9uZW50IGbDvHIgTWVuw7wgRWludHJhZyBpbiBDb250ZXh0IE1lbsO8XHJcbiAqL1xyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAnc2FjLW11bHRpbGFuZ3VhZ2VtZW51YnV0dG9uJyxcclxuICAgIHRlbXBsYXRlVXJsOiAnLi9tdWx0aWxhbmd1YWdlbWVudWl0ZW1idXR0b24uaHRtbCcsXHJcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gICAgaW1wb3J0czogW05nSWZdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgU2FjTXVsdGlsYW5ndWFnZW1lbnVJdGVtQnV0dG9uQ29tcG9uZW50IGV4dGVuZHMgU2FjQ29udGV4dG1lbnVJdGVtQnV0dG9uQ29tbW9uIHtcclxuICAvKipcclxuICAgKiBDb25zdHJ1Y3RvclxyXG4gICAqIEBwYXJhbSBjb250ZXh0bWVudSBJbnN0YW5jZSB2b24gQ29udGV4dCBNZW7DvFxyXG4gICAqL1xyXG4gIGNvbnN0cnVjdG9yKGNvbnRleHRtZW51OiBTYWNDb250ZXh0bWVudUNvbW1vbikge1xyXG4gICAgc3VwZXIoY29udGV4dG1lbnUpO1xyXG4gIH1cclxufVxyXG4iLCI8YnV0dG9uXHJcbiAgdHlwZT1cImJ1dHRvblwiXHJcbiAgY2xhc3M9XCJkcm9wZG93bi1pdGVtXCJcclxuICAoY2xpY2spPVwiY2FsbGFjdGlvbigkZXZlbnQpXCJcclxuICBbY2xhc3MuZGlzYWJsZWRdPVwiaXNkaXNhYmxlZFwiXHJcbiAgW2NsYXNzXT1cImNzc2NsYXNzXCJcclxuICBbYXR0ci5kaXNhYmxlZF09XCJpc2Rpc2FibGVkID8gJ2Rpc2FibGVkJyA6IG51bGxcIlxyXG4+XHJcbiAgPGRpdiBjbGFzcz1cImQtZmxleFwiPlxyXG4gICAgPGRpdiAqbmdJZj1cIiFpc2ljb25kaXNhYmxlZFwiIHN0eWxlPVwibWluLXdpZHRoOiAxLjVyZW1cIj5cclxuICAgICAgPGltZyAqbmdJZj1cImltYWdlXCIgW3NyY109XCJpbWFnZVwiIGNsYXNzPVwiYWxpZ24tYmFzZWxpbmVcIiAvPlxyXG4gICAgICA8aSAqbmdJZj1cImljb25cIiBbY2xhc3NdPVwiaWNvbnN0eWxlICsgJyAnICsgaWNvblwiPjwvaT5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cImZsZXgtZ3Jvdy0xXCI+e3sgdGV4dCB9fTwvZGl2PlxyXG4gIDwvZGl2PlxyXG48L2J1dHRvbj5cclxuIl19
26
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibXVsdGlsYW5ndWFnZW1lbnVpdGVtYnV0dG9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2FjLWJvb3RzdHJhcDQvc3JjL2NvbnRyb2xzL211bHRpbGFuZ3VhZ2UvbXVsdGlsYW5ndWFnZW1lbnVpdGVtYnV0dG9uLnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2FjLWJvb3RzdHJhcDQvc3JjL2NvbnRyb2xzL211bHRpbGFuZ3VhZ2UvbXVsdGlsYW5ndWFnZW1lbnVpdGVtYnV0dG9uLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3ZDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUMsT0FBTyxFQUVMLDhCQUE4QixHQUMvQixNQUFNLG1DQUFtQyxDQUFDOzs7QUFFM0M7O0dBRUc7QUFDSCxNQU1hLHVDQUF3QyxTQUFRLDhCQUE4QjtJQUN6Rix1QkFBdUI7SUFFdkI7OztPQUdHO0lBQ0gsWUFBWSxXQUFpQztRQUMzQyxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDckIsQ0FBQzsrR0FUVSx1Q0FBdUM7bUdBQXZDLHVDQUF1Qyw4R0NoQnBELHFpQkFnQkEsNENERlksSUFBSTs7U0FFSCx1Q0FBdUM7NEZBQXZDLHVDQUF1QztrQkFObkQsU0FBUzsrQkFDRSw2QkFBNkIsY0FFM0IsSUFBSSxXQUNQLENBQUMsSUFBSSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdJZiB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge1xyXG4gIFNhY0NvbnRleHRtZW51Q29tbW9uLFxyXG4gIFNhY0NvbnRleHRtZW51SXRlbUJ1dHRvbkNvbW1vbixcclxufSBmcm9tICdAc2ltcGxlYW5ndWxhcmNvbnRyb2xzL3NhYy1jb21tb24nO1xyXG5cclxuLyoqXHJcbiAqIENvbXBvbmVudCBmw7xyIE1lbsO8IEVpbnRyYWcgaW4gQ29udGV4dCBNZW7DvFxyXG4gKi9cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdzYWMtbXVsdGlsYW5ndWFnZW1lbnVidXR0b24nLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9tdWx0aWxhbmd1YWdlbWVudWl0ZW1idXR0b24uaHRtbCcsXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICBpbXBvcnRzOiBbTmdJZl0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTYWNNdWx0aWxhbmd1YWdlbWVudUl0ZW1CdXR0b25Db21wb25lbnQgZXh0ZW5kcyBTYWNDb250ZXh0bWVudUl0ZW1CdXR0b25Db21tb24ge1xyXG4gIC8vICNyZWdpb24gQ29uc3RydWN0b3JzXHJcblxyXG4gIC8qKlxyXG4gICAqIENvbnN0cnVjdG9yXHJcbiAgICogQHBhcmFtIGNvbnRleHRtZW51IEluc3RhbmNlIHZvbiBDb250ZXh0IE1lbsO8XHJcbiAgICovXHJcbiAgY29uc3RydWN0b3IoY29udGV4dG1lbnU6IFNhY0NvbnRleHRtZW51Q29tbW9uKSB7XHJcbiAgICBzdXBlcihjb250ZXh0bWVudSk7XHJcbiAgfVxyXG5cclxuICAvLyAjZW5kcmVnaW9uIENvbnN0cnVjdG9yc1xyXG59XHJcbiIsIjxidXR0b25cclxuICB0eXBlPVwiYnV0dG9uXCJcclxuICBjbGFzcz1cImRyb3Bkb3duLWl0ZW1cIlxyXG4gIChjbGljayk9XCJjYWxsYWN0aW9uKCRldmVudClcIlxyXG4gIFtjbGFzcy5kaXNhYmxlZF09XCJpc2Rpc2FibGVkXCJcclxuICBbY2xhc3NdPVwiY3NzY2xhc3NcIlxyXG4gIFthdHRyLmRpc2FibGVkXT1cImlzZGlzYWJsZWQgPyAnZGlzYWJsZWQnIDogbnVsbFwiXHJcbj5cclxuICA8ZGl2IGNsYXNzPVwiZC1mbGV4XCI+XHJcbiAgICA8ZGl2ICpuZ0lmPVwiIWlzaWNvbmRpc2FibGVkXCIgc3R5bGU9XCJtaW4td2lkdGg6IDEuNXJlbVwiPlxyXG4gICAgICA8aW1nICpuZ0lmPVwiaW1hZ2VcIiBbc3JjXT1cImltYWdlXCIgY2xhc3M9XCJhbGlnbi1iYXNlbGluZVwiIC8+XHJcbiAgICAgIDxpICpuZ0lmPVwiaWNvblwiIFtjbGFzc109XCJpY29uc3R5bGUgKyAnICcgKyBpY29uXCI+PC9pPlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwiZmxleC1ncm93LTFcIj57eyB0ZXh0IH19PC9kaXY+XHJcbiAgPC9kaXY+XHJcbjwvYnV0dG9uPlxyXG4iXX0=
@@ -1,9 +1,11 @@
1
- import { Component, Host, forwardRef, Optional } from '@angular/core';
2
- import { NG_VALUE_ACCESSOR, NG_VALIDATORS, } from '@angular/forms';
1
+ import { AsyncPipe, NgClass, NgIf } from '@angular/common';
2
+ import { Component, Host, Optional, forwardRef } from '@angular/core';
3
+ import { NG_VALIDATORS, NG_VALUE_ACCESSOR } from '@angular/forms';
3
4
  import { SacStaticFormContainerCommon } from '@simpleangularcontrols/sac-common';
4
- import { NgIf, NgClass, AsyncPipe } from '@angular/common';
5
+ import { SacToControlWidthCssPipe } from '../layout/tocontrolwidthcss.pipe';
6
+ import { SacToLabelWidthCssPipe } from '../layout/tolabelwidthcss.pipe';
5
7
  import * as i0 from "@angular/core";
6
- import * as i1 from "../form/form";
8
+ import * as i1 from "../layout/formlayout.directive";
7
9
  /**
8
10
  * Component für einbindung eines beliebigen Controls in die Form Struktur
9
11
  *
@@ -19,15 +21,16 @@ import * as i1 from "../form/form";
19
21
  *
20
22
  **/
21
23
  class SacStaticFormContainerComponent extends SacStaticFormContainerCommon {
24
+ // #region Constructors
22
25
  /**
23
- * Konsturktor
24
- * @param parent Parent SacFormular Instanz
25
- * @param injector Injector Instanz
26
+ *
27
+ * @param formLayout SacFormLayout to define scoped layout settings
28
+ * @param injector Injector for injecting services
26
29
  */
27
- constructor(parent, injector) {
28
- super(parent, injector);
30
+ constructor(formLayout, injector) {
31
+ super(formLayout, injector);
29
32
  }
30
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SacStaticFormContainerComponent, deps: [{ token: i1.SacFormDirective, host: true, optional: true }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component }); }
33
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SacStaticFormContainerComponent, deps: [{ token: i1.SacFormLayoutDirective, host: true, optional: true }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component }); }
31
34
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: SacStaticFormContainerComponent, isStandalone: true, selector: "sac-staticformcontainer", providers: [
32
35
  {
33
36
  provide: NG_VALUE_ACCESSOR,
@@ -39,7 +42,7 @@ class SacStaticFormContainerComponent extends SacStaticFormContainerCommon {
39
42
  multi: true,
40
43
  useExisting: forwardRef(() => SacStaticFormContainerComponent),
41
44
  },
42
- ], usesInheritance: true, ngImport: i0, template: "<div class=\"row form-group\" [class.no-gutters]=\"disablelabel\">\r\n <label *ngIf=\"disablelabel === false && !isadaptivelabel\" id=\"{{name}}_label\" for=\"{{name}}\" class=\"col-form-label\" [ngClass]=\"[labelsize !== 12 ? 'col-sm-' + labelsize : 'sr-only']\" [class.required]=\"isrequired\">{{label}}</label>\r\n <div [ngClass]=\"[disablelabel === false ? 'col-sm-' + _inputsize : 'col-sm-12']\">\r\n <ng-content></ng-content>\r\n <label for=\"{{name}}\" class=\"form-label-adaptive form-label-fixed\" [ngClass]=\"{ 'required': isrequired }\" *ngIf=\"isadaptivelabel && !disablelabel\">{{label}}</label>\r\n <div class=\"invalid-feedback\" *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\">{{ GetErrorMessage() | async }}</div>\r\n </div>\r\n</div>\r\n", dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "pipe", type: AsyncPipe, name: "async" }] }); }
45
+ ], 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 [class.required]=\"isrequired\"\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 <ng-content></ng-content>\r\n <label\r\n for=\"{{name}}\"\r\n class=\"form-label-adaptive form-label-fixed\"\r\n [ngClass]=\"{ 'required': isrequired }\"\r\n *ngIf=\"isAdaptiveLabel && !disablelabel\"\r\n >{{label}}</label\r\n >\r\n <div\r\n class=\"invalid-feedback\"\r\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\"\r\n >\r\n {{ GetErrorMessage() | async }}\r\n </div>\r\n </div>\r\n</div>\r\n", dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "pipe", type: SacToLabelWidthCssPipe, name: "toLabelWidthCss" }, { kind: "pipe", type: SacToControlWidthCssPipe, name: "toControlWidthCss" }] }); }
43
46
  }
44
47
  export { SacStaticFormContainerComponent };
45
48
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SacStaticFormContainerComponent, decorators: [{
@@ -59,10 +62,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
59
62
  NgIf,
60
63
  NgClass,
61
64
  AsyncPipe,
62
- ], template: "<div class=\"row form-group\" [class.no-gutters]=\"disablelabel\">\r\n <label *ngIf=\"disablelabel === false && !isadaptivelabel\" id=\"{{name}}_label\" for=\"{{name}}\" class=\"col-form-label\" [ngClass]=\"[labelsize !== 12 ? 'col-sm-' + labelsize : 'sr-only']\" [class.required]=\"isrequired\">{{label}}</label>\r\n <div [ngClass]=\"[disablelabel === false ? 'col-sm-' + _inputsize : 'col-sm-12']\">\r\n <ng-content></ng-content>\r\n <label for=\"{{name}}\" class=\"form-label-adaptive form-label-fixed\" [ngClass]=\"{ 'required': isrequired }\" *ngIf=\"isadaptivelabel && !disablelabel\">{{label}}</label>\r\n <div class=\"invalid-feedback\" *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\">{{ GetErrorMessage() | async }}</div>\r\n </div>\r\n</div>\r\n" }]
63
- }], ctorParameters: function () { return [{ type: i1.SacFormDirective, decorators: [{
65
+ SacToLabelWidthCssPipe,
66
+ SacToControlWidthCssPipe,
67
+ ], 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 [class.required]=\"isrequired\"\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 <ng-content></ng-content>\r\n <label\r\n for=\"{{name}}\"\r\n class=\"form-label-adaptive form-label-fixed\"\r\n [ngClass]=\"{ 'required': isrequired }\"\r\n *ngIf=\"isAdaptiveLabel && !disablelabel\"\r\n >{{label}}</label\r\n >\r\n <div\r\n class=\"invalid-feedback\"\r\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\"\r\n >\r\n {{ GetErrorMessage() | async }}\r\n </div>\r\n </div>\r\n</div>\r\n" }]
68
+ }], ctorParameters: function () { return [{ type: i1.SacFormLayoutDirective, decorators: [{
64
69
  type: Host
65
70
  }, {
66
71
  type: Optional
67
72
  }] }, { type: i0.Injector }]; } });
68
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybWNvbnRhaW5lci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NhYy1ib290c3RyYXA0L3NyYy9jb250cm9scy9zdGF0aWMvZm9ybWNvbnRhaW5lci50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NhYy1ib290c3RyYXA0L3NyYy9jb250cm9scy9zdGF0aWMvZm9ybWNvbnRhaW5lci5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBWSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDaEYsT0FBTyxFQUNMLGlCQUFpQixFQUVqQixhQUFhLEdBQ2QsTUFBTSxnQkFBZ0IsQ0FBQztBQUV4QixPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUNqRixPQUFPLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7O0FBRTNEOzs7Ozs7Ozs7Ozs7O0lBYUk7QUFDSixNQXVCYSwrQkFBZ0MsU0FBUSw0QkFBNEI7SUFDL0U7Ozs7T0FJRztJQUNILFlBQWdDLE1BQXdCLEVBQUUsUUFBa0I7UUFDMUUsS0FBSyxDQUFDLE1BQU0sRUFBRSxRQUFRLENBQUMsQ0FBQztJQUMxQixDQUFDOytHQVJVLCtCQUErQjttR0FBL0IsK0JBQStCLHNFQW5CN0I7WUFDUDtnQkFDSSxPQUFPLEVBQUUsaUJBQWlCO2dCQUMxQixLQUFLLEVBQUUsSUFBSTtnQkFDWCxXQUFXLEVBQUUsK0JBQStCO2FBQy9DO1lBQ0Q7Z0JBQ0ksT0FBTyxFQUFFLGFBQWE7Z0JBQ3RCLEtBQUssRUFBRSxJQUFJO2dCQUNYLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsK0JBQStCLENBQUM7YUFDakU7U0FDSixpREN2Q0wsa3hCQVFBLDRDRGtDUSxJQUFJLDZGQUNKLE9BQU8sK0VBQ1AsU0FBUzs7U0FHSiwrQkFBK0I7NEZBQS9CLCtCQUErQjtrQkF2QjNDLFNBQVM7K0JBQ0kseUJBQXlCLGFBR3hCO3dCQUNQOzRCQUNJLE9BQU8sRUFBRSxpQkFBaUI7NEJBQzFCLEtBQUssRUFBRSxJQUFJOzRCQUNYLFdBQVcsaUNBQWlDO3lCQUMvQzt3QkFDRDs0QkFDSSxPQUFPLEVBQUUsYUFBYTs0QkFDdEIsS0FBSyxFQUFFLElBQUk7NEJBQ1gsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsZ0NBQWdDLENBQUM7eUJBQ2pFO3FCQUNKLGNBQ1csSUFBSSxXQUNQO3dCQUNMLElBQUk7d0JBQ0osT0FBTzt3QkFDUCxTQUFTO3FCQUNaOzswQkFRVSxJQUFJOzswQkFBSSxRQUFRIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBIb3N0LCBmb3J3YXJkUmVmLCBJbmplY3RvciwgT3B0aW9uYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtcclxuICBOR19WQUxVRV9BQ0NFU1NPUixcclxuICBDb250cm9sQ29udGFpbmVyLFxyXG4gIE5HX1ZBTElEQVRPUlMsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBTYWNGb3JtRGlyZWN0aXZlIH0gZnJvbSAnLi4vZm9ybS9mb3JtJztcclxuaW1wb3J0IHsgU2FjU3RhdGljRm9ybUNvbnRhaW5lckNvbW1vbiB9IGZyb20gJ0BzaW1wbGVhbmd1bGFyY29udHJvbHMvc2FjLWNvbW1vbic7XHJcbmltcG9ydCB7IE5nSWYsIE5nQ2xhc3MsIEFzeW5jUGlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcblxyXG4vKipcclxuICogQ29tcG9uZW50IGbDvHIgZWluYmluZHVuZyBlaW5lcyBiZWxpZWJpZ2VuIENvbnRyb2xzIGluIGRpZSBGb3JtIFN0cnVrdHVyXHJcbiAqXHJcbiAqIEBleGFtcGxlXHJcbiAqICA8bmdTdGF0aWNGb3JtQ29udGFpbmVyIG5hbWU9J215Zm9ybWNvbnRhaW5lcicgbGFiZWw9XCJNeSBDdXN0b20gRm9ybSBDb250cm9sXCIgW2lzcmVxdWlyZWRdPSdmYWxzZSc+XHJcbiAqICAgICAgPGlucHV0IHR5cGU9XCJyYW5nZVwiIGNsYXNzPVwiZm9ybS1jb250cm9sIGZvcm0tY29udHJvbC1zbVwiIC8+XHJcbiAqICA8L25nU3RhdGljRm9ybUNvbnRhaW5lcj5cclxuICpcclxuICogQGV4YW1wbGVcclxuICogPG5nU3RhdGljRm9ybUNvbnRhaW5lciBuYW1lPSdteWZvcm1jaW50YWluZXInIGxhYmVsPVwiTXkgQ3VzdG9tIEZvcm0gQ29udHJvbFwiIFtpc3JlcXVpcmVkXT0nZmFsc2UnIHRvb2x0aXB0ZXh0PVwiRGllcyBpc3QgZWluIFRvb2x0aXAgVGV4dFwiPlxyXG4gKiAgICAgPGlucHV0IHR5cGU9XCJyYW5nZVwiIGNsYXNzPVwiZm9ybS1jb250cm9sIGZvcm0tY29udHJvbC1zbVwiIC8+XHJcbiAqIDwvbmdTdGF0aWNGb3JtQ29udGFpbmVyPlxyXG4gKlxyXG4gKiovXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICdzYWMtc3RhdGljZm9ybWNvbnRhaW5lcicsXHJcbiAgICB0ZW1wbGF0ZVVybDogJy4vZm9ybWNvbnRhaW5lci5odG1sJyxcclxuICAgIC8vIFZhbHVlIEFjY2VzcyBQcm92aWRlciByZWdpc3RyaWVyZW4sIGRhbWl0IFdlcnQgdmlhIE1vZGVsIGdlc2NocmllYmVuIHVuZCBnZWxlc2VuIHdlcmRlbiBrYW5uXHJcbiAgICBwcm92aWRlcnM6IFtcclxuICAgICAgICB7XHJcbiAgICAgICAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxyXG4gICAgICAgICAgICBtdWx0aTogdHJ1ZSxcclxuICAgICAgICAgICAgdXNlRXhpc3Rpbmc6IFNhY1N0YXRpY0Zvcm1Db250YWluZXJDb21wb25lbnQsXHJcbiAgICAgICAgfSxcclxuICAgICAgICB7XHJcbiAgICAgICAgICAgIHByb3ZpZGU6IE5HX1ZBTElEQVRPUlMsXHJcbiAgICAgICAgICAgIG11bHRpOiB0cnVlLFxyXG4gICAgICAgICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBTYWNTdGF0aWNGb3JtQ29udGFpbmVyQ29tcG9uZW50KSxcclxuICAgICAgICB9LFxyXG4gICAgXSxcclxuICAgIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgICBpbXBvcnRzOiBbXHJcbiAgICAgICAgTmdJZixcclxuICAgICAgICBOZ0NsYXNzLFxyXG4gICAgICAgIEFzeW5jUGlwZSxcclxuICAgIF0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTYWNTdGF0aWNGb3JtQ29udGFpbmVyQ29tcG9uZW50IGV4dGVuZHMgU2FjU3RhdGljRm9ybUNvbnRhaW5lckNvbW1vbiB7XHJcbiAgLyoqXHJcbiAgICogS29uc3R1cmt0b3JcclxuICAgKiBAcGFyYW0gcGFyZW50IFBhcmVudCBTYWNGb3JtdWxhciBJbnN0YW56XHJcbiAgICogQHBhcmFtIGluamVjdG9yIEluamVjdG9yIEluc3RhbnpcclxuICAgKi9cclxuICBjb25zdHJ1Y3RvcihASG9zdCgpIEBPcHRpb25hbCgpIHBhcmVudDogU2FjRm9ybURpcmVjdGl2ZSwgaW5qZWN0b3I6IEluamVjdG9yKSB7XHJcbiAgICBzdXBlcihwYXJlbnQsIGluamVjdG9yKTtcclxuICB9XHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cInJvdyBmb3JtLWdyb3VwXCIgW2NsYXNzLm5vLWd1dHRlcnNdPVwiZGlzYWJsZWxhYmVsXCI+XHJcbiAgPGxhYmVsICpuZ0lmPVwiZGlzYWJsZWxhYmVsID09PSBmYWxzZSAmJiAhaXNhZGFwdGl2ZWxhYmVsXCIgaWQ9XCJ7e25hbWV9fV9sYWJlbFwiIGZvcj1cInt7bmFtZX19XCIgY2xhc3M9XCJjb2wtZm9ybS1sYWJlbFwiIFtuZ0NsYXNzXT1cIltsYWJlbHNpemUgIT09IDEyID8gICdjb2wtc20tJyArIGxhYmVsc2l6ZSA6ICdzci1vbmx5J11cIiBbY2xhc3MucmVxdWlyZWRdPVwiaXNyZXF1aXJlZFwiPnt7bGFiZWx9fTwvbGFiZWw+XHJcbiAgPGRpdiBbbmdDbGFzc109XCJbZGlzYWJsZWxhYmVsID09PSBmYWxzZSA/ICdjb2wtc20tJyArIF9pbnB1dHNpemUgOiAnY29sLXNtLTEyJ11cIj5cclxuICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cclxuICAgIDxsYWJlbCBmb3I9XCJ7e25hbWV9fVwiIGNsYXNzPVwiZm9ybS1sYWJlbC1hZGFwdGl2ZSBmb3JtLWxhYmVsLWZpeGVkXCIgW25nQ2xhc3NdPVwieyAncmVxdWlyZWQnOiBpc3JlcXVpcmVkIH1cIiAqbmdJZj1cImlzYWRhcHRpdmVsYWJlbCAmJiAhZGlzYWJsZWxhYmVsXCI+e3tsYWJlbH19PC9sYWJlbD5cclxuICAgIDxkaXYgY2xhc3M9XCJpbnZhbGlkLWZlZWRiYWNrXCIgKm5nSWY9XCJpc2lubGluZWVycm9yZW5hYmxlZCAmJiBpbnZhbGlkICYmIChkaXJ0eSB8fCB0b3VjaGVkKVwiPnt7IEdldEVycm9yTWVzc2FnZSgpIHwgYXN5bmMgfX08L2Rpdj5cclxuICA8L2Rpdj5cclxuPC9kaXY+XHJcbiJdfQ==
73
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybWNvbnRhaW5lci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NhYy1ib290c3RyYXA0L3NyYy9jb250cm9scy9zdGF0aWMvZm9ybWNvbnRhaW5lci50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NhYy1ib290c3RyYXA0L3NyYy9jb250cm9scy9zdGF0aWMvZm9ybWNvbnRhaW5lci5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzNELE9BQU8sRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFZLFFBQVEsRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDaEYsT0FBTyxFQUFFLGFBQWEsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBRWpGLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQzVFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLGdDQUFnQyxDQUFDOzs7QUFFeEU7Ozs7Ozs7Ozs7Ozs7SUFhSTtBQUNKLE1BeUJhLCtCQUFnQyxTQUFRLDRCQUE0QjtJQUMvRSx1QkFBdUI7SUFFdkI7Ozs7T0FJRztJQUNILFlBQ3NCLFVBQWtDLEVBQ3RELFFBQWtCO1FBRWxCLEtBQUssQ0FBQyxVQUFVLEVBQUUsUUFBUSxDQUFDLENBQUM7SUFDOUIsQ0FBQzsrR0FiVSwrQkFBK0I7bUdBQS9CLCtCQUErQixzRUFyQi9CO1lBQ1Q7Z0JBQ0UsT0FBTyxFQUFFLGlCQUFpQjtnQkFDMUIsS0FBSyxFQUFFLElBQUk7Z0JBQ1gsV0FBVyxFQUFFLCtCQUErQjthQUM3QztZQUNEO2dCQUNFLE9BQU8sRUFBRSxhQUFhO2dCQUN0QixLQUFLLEVBQUUsSUFBSTtnQkFDWCxXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLCtCQUErQixDQUFDO2FBQy9EO1NBQ0YsaURDckNILG0vQkE4QkEsNENEVUksSUFBSSw2RkFDSixPQUFPLCtFQUNQLFNBQVMseUNBQ1Qsc0JBQXNCLG1EQUN0Qix3QkFBd0I7O1NBR2YsK0JBQStCOzRGQUEvQiwrQkFBK0I7a0JBekIzQyxTQUFTOytCQUNFLHlCQUF5QixhQUd4Qjt3QkFDVDs0QkFDRSxPQUFPLEVBQUUsaUJBQWlCOzRCQUMxQixLQUFLLEVBQUUsSUFBSTs0QkFDWCxXQUFXLGlDQUFpQzt5QkFDN0M7d0JBQ0Q7NEJBQ0UsT0FBTyxFQUFFLGFBQWE7NEJBQ3RCLEtBQUssRUFBRSxJQUFJOzRCQUNYLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLGdDQUFnQyxDQUFDO3lCQUMvRDtxQkFDRixjQUNXLElBQUksV0FDUDt3QkFDUCxJQUFJO3dCQUNKLE9BQU87d0JBQ1AsU0FBUzt3QkFDVCxzQkFBc0I7d0JBQ3RCLHdCQUF3QjtxQkFDekI7OzBCQVdFLElBQUk7OzBCQUFJLFFBQVEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBc3luY1BpcGUsIE5nQ2xhc3MsIE5nSWYgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBDb21wb25lbnQsIEhvc3QsIEluamVjdG9yLCBPcHRpb25hbCwgZm9yd2FyZFJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBOR19WQUxJREFUT1JTLCBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgU2FjU3RhdGljRm9ybUNvbnRhaW5lckNvbW1vbiB9IGZyb20gJ0BzaW1wbGVhbmd1bGFyY29udHJvbHMvc2FjLWNvbW1vbic7XHJcbmltcG9ydCB7IFNhY0Zvcm1MYXlvdXREaXJlY3RpdmUgfSBmcm9tICcuLi9sYXlvdXQvZm9ybWxheW91dC5kaXJlY3RpdmUnO1xyXG5pbXBvcnQgeyBTYWNUb0NvbnRyb2xXaWR0aENzc1BpcGUgfSBmcm9tICcuLi9sYXlvdXQvdG9jb250cm9sd2lkdGhjc3MucGlwZSc7XHJcbmltcG9ydCB7IFNhY1RvTGFiZWxXaWR0aENzc1BpcGUgfSBmcm9tICcuLi9sYXlvdXQvdG9sYWJlbHdpZHRoY3NzLnBpcGUnO1xyXG5cclxuLyoqXHJcbiAqIENvbXBvbmVudCBmw7xyIGVpbmJpbmR1bmcgZWluZXMgYmVsaWViaWdlbiBDb250cm9scyBpbiBkaWUgRm9ybSBTdHJ1a3R1clxyXG4gKlxyXG4gKiBAZXhhbXBsZVxyXG4gKiAgPG5nU3RhdGljRm9ybUNvbnRhaW5lciBuYW1lPSdteWZvcm1jb250YWluZXInIGxhYmVsPVwiTXkgQ3VzdG9tIEZvcm0gQ29udHJvbFwiIFtpc3JlcXVpcmVkXT0nZmFsc2UnPlxyXG4gKiAgICAgIDxpbnB1dCB0eXBlPVwicmFuZ2VcIiBjbGFzcz1cImZvcm0tY29udHJvbCBmb3JtLWNvbnRyb2wtc21cIiAvPlxyXG4gKiAgPC9uZ1N0YXRpY0Zvcm1Db250YWluZXI+XHJcbiAqXHJcbiAqIEBleGFtcGxlXHJcbiAqIDxuZ1N0YXRpY0Zvcm1Db250YWluZXIgbmFtZT0nbXlmb3JtY2ludGFpbmVyJyBsYWJlbD1cIk15IEN1c3RvbSBGb3JtIENvbnRyb2xcIiBbaXNyZXF1aXJlZF09J2ZhbHNlJyB0b29sdGlwdGV4dD1cIkRpZXMgaXN0IGVpbiBUb29sdGlwIFRleHRcIj5cclxuICogICAgIDxpbnB1dCB0eXBlPVwicmFuZ2VcIiBjbGFzcz1cImZvcm0tY29udHJvbCBmb3JtLWNvbnRyb2wtc21cIiAvPlxyXG4gKiA8L25nU3RhdGljRm9ybUNvbnRhaW5lcj5cclxuICpcclxuICoqL1xyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ3NhYy1zdGF0aWNmb3JtY29udGFpbmVyJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vZm9ybWNvbnRhaW5lci5odG1sJyxcclxuICAvLyBWYWx1ZSBBY2Nlc3MgUHJvdmlkZXIgcmVnaXN0cmllcmVuLCBkYW1pdCBXZXJ0IHZpYSBNb2RlbCBnZXNjaHJpZWJlbiB1bmQgZ2VsZXNlbiB3ZXJkZW4ga2FublxyXG4gIHByb3ZpZGVyczogW1xyXG4gICAge1xyXG4gICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcclxuICAgICAgbXVsdGk6IHRydWUsXHJcbiAgICAgIHVzZUV4aXN0aW5nOiBTYWNTdGF0aWNGb3JtQ29udGFpbmVyQ29tcG9uZW50LFxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgcHJvdmlkZTogTkdfVkFMSURBVE9SUyxcclxuICAgICAgbXVsdGk6IHRydWUsXHJcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFNhY1N0YXRpY0Zvcm1Db250YWluZXJDb21wb25lbnQpLFxyXG4gICAgfSxcclxuICBdLFxyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgaW1wb3J0czogW1xyXG4gICAgTmdJZixcclxuICAgIE5nQ2xhc3MsXHJcbiAgICBBc3luY1BpcGUsXHJcbiAgICBTYWNUb0xhYmVsV2lkdGhDc3NQaXBlLFxyXG4gICAgU2FjVG9Db250cm9sV2lkdGhDc3NQaXBlLFxyXG4gIF0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTYWNTdGF0aWNGb3JtQ29udGFpbmVyQ29tcG9uZW50IGV4dGVuZHMgU2FjU3RhdGljRm9ybUNvbnRhaW5lckNvbW1vbiB7XHJcbiAgLy8gI3JlZ2lvbiBDb25zdHJ1Y3RvcnNcclxuXHJcbiAgLyoqXHJcbiAgICpcclxuICAgKiBAcGFyYW0gZm9ybUxheW91dCBTYWNGb3JtTGF5b3V0IHRvIGRlZmluZSBzY29wZWQgbGF5b3V0IHNldHRpbmdzXHJcbiAgICogQHBhcmFtIGluamVjdG9yIEluamVjdG9yIGZvciBpbmplY3Rpbmcgc2VydmljZXNcclxuICAgKi9cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIEBIb3N0KCkgQE9wdGlvbmFsKCkgZm9ybUxheW91dDogU2FjRm9ybUxheW91dERpcmVjdGl2ZSxcclxuICAgIGluamVjdG9yOiBJbmplY3RvclxyXG4gICkge1xyXG4gICAgc3VwZXIoZm9ybUxheW91dCwgaW5qZWN0b3IpO1xyXG4gIH1cclxuXHJcbiAgLy8gI2VuZHJlZ2lvbiBDb25zdHJ1Y3RvcnNcclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwicm93IGZvcm0tZ3JvdXBcIiBbY2xhc3Mubm8tZ3V0dGVyc109XCJkaXNhYmxlbGFiZWxcIj5cclxuICA8bGFiZWxcclxuICAgICpuZ0lmPVwiZGlzYWJsZWxhYmVsID09PSBmYWxzZSAmJiAhaXNBZGFwdGl2ZUxhYmVsXCJcclxuICAgIGlkPVwie3tuYW1lfX1fbGFiZWxcIlxyXG4gICAgZm9yPVwie3tuYW1lfX1cIlxyXG4gICAgY2xhc3M9XCJjb2wtMTIgY29sLWZvcm0tbGFiZWxcIlxyXG4gICAgW25nQ2xhc3NdPVwiW2Rpc2FibGVsYWJlbCA9PT0gZmFsc2UgPyAodGhpcy5sYWJlbFNpemVzIHwgdG9MYWJlbFdpZHRoQ3NzKSA6ICdzci1vbmx5JyBdXCJcclxuICAgIFtjbGFzcy5yZXF1aXJlZF09XCJpc3JlcXVpcmVkXCJcclxuICAgID57e2xhYmVsfX08L2xhYmVsXHJcbiAgPlxyXG4gIDxkaXZcclxuICAgIGNsYXNzPVwiY29sLTEyXCJcclxuICAgIFtuZ0NsYXNzXT1cIltkaXNhYmxlbGFiZWwgPT09IGZhbHNlID8gICh0aGlzLmxhYmVsU2l6ZXMgfCB0b0NvbnRyb2xXaWR0aENzcykgOiAnJ11cIlxyXG4gID5cclxuICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cclxuICAgIDxsYWJlbFxyXG4gICAgICBmb3I9XCJ7e25hbWV9fVwiXHJcbiAgICAgIGNsYXNzPVwiZm9ybS1sYWJlbC1hZGFwdGl2ZSBmb3JtLWxhYmVsLWZpeGVkXCJcclxuICAgICAgW25nQ2xhc3NdPVwieyAncmVxdWlyZWQnOiBpc3JlcXVpcmVkIH1cIlxyXG4gICAgICAqbmdJZj1cImlzQWRhcHRpdmVMYWJlbCAmJiAhZGlzYWJsZWxhYmVsXCJcclxuICAgICAgPnt7bGFiZWx9fTwvbGFiZWxcclxuICAgID5cclxuICAgIDxkaXZcclxuICAgICAgY2xhc3M9XCJpbnZhbGlkLWZlZWRiYWNrXCJcclxuICAgICAgKm5nSWY9XCJpc2lubGluZWVycm9yZW5hYmxlZCAmJiBpbnZhbGlkICYmIChkaXJ0eSB8fCB0b3VjaGVkKVwiXHJcbiAgICA+XHJcbiAgICAgIHt7IEdldEVycm9yTWVzc2FnZSgpIHwgYXN5bmMgfX1cclxuICAgIDwvZGl2PlxyXG4gIDwvZGl2PlxyXG48L2Rpdj5cclxuIl19
@@ -1,22 +1,25 @@
1
- import { Component, forwardRef, Host, Optional } from '@angular/core';
1
+ import { NgClass, NgIf } from '@angular/common';
2
+ import { Component, Host, Optional, forwardRef } from '@angular/core';
2
3
  import { NG_VALIDATORS, NG_VALUE_ACCESSOR } from '@angular/forms';
3
4
  import { SacStaticLabelCommon } from '@simpleangularcontrols/sac-common';
4
- import { NgIf, NgClass } from '@angular/common';
5
+ import { SacToControlWidthCssPipe } from '../layout/tocontrolwidthcss.pipe';
6
+ import { SacToLabelWidthCssPipe } from '../layout/tolabelwidthcss.pipe';
5
7
  import * as i0 from "@angular/core";
6
- import * as i1 from "../form/form";
8
+ import * as i1 from "../layout/formlayout.directive";
7
9
  /**
8
10
  * Komponente für statischen Text in einem Formular
9
11
  */
10
12
  class SacStaticLabelComponent extends SacStaticLabelCommon {
13
+ // #region Constructors
11
14
  /**
12
- * Konstruktor
13
- * @param parent Formular
14
- * @param injector Angular Dependency Injection Service
15
+ *
16
+ * @param formLayout SacFormLayout to define scoped layout settings
17
+ * @param injector Injector for injecting services
15
18
  */
16
- constructor(parent, injector) {
17
- super(parent, injector);
19
+ constructor(formLayout, injector) {
20
+ super(formLayout, injector);
18
21
  }
19
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SacStaticLabelComponent, deps: [{ token: i1.SacFormDirective, host: true, optional: true }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component }); }
22
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SacStaticLabelComponent, deps: [{ token: i1.SacFormLayoutDirective, host: true, optional: true }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component }); }
20
23
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: SacStaticLabelComponent, isStandalone: true, selector: "sac-staticlabel", providers: [
21
24
  {
22
25
  provide: NG_VALUE_ACCESSOR,
@@ -28,7 +31,7 @@ class SacStaticLabelComponent extends SacStaticLabelCommon {
28
31
  multi: true,
29
32
  useExisting: forwardRef(() => SacStaticLabelComponent),
30
33
  },
31
- ], usesInheritance: true, ngImport: i0, template: "<div class=\"row form-group\" [class.no-gutters]=\"disablelabel\">\r\n <label *ngIf=\"disablelabel === false && !isadaptivelabel\" id=\"{{name}}_label\" for=\"{{name}}\" class=\"col-12 col-form-label\" [ngClass]=\"[labelsize !== 12 ? 'col-sm-' + labelsize : 'sr-only']\">{{label}}</label>\r\n <div [ngClass]=\"[disablelabel === false ? 'col-sm-' + _inputsize : 'col-sm-12']\">\r\n <div class=\"form-control-plaintext\" [innerHTML]=\"value\">\r\n </div>\r\n <label for=\"{{name}}\" class=\"col-left control-label\" *ngIf=\"isadaptivelabel && !disablelabel\">{{label}}</label>\r\n </div>\r\n</div>\r\n", dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] }); }
34
+ ], 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=\"form-control-plaintext\" [innerHTML]=\"value\"></div>\r\n <label\r\n for=\"{{name}}\"\r\n class=\"col-left control-label\"\r\n *ngIf=\"isAdaptiveLabel && !disablelabel\"\r\n >{{label}}</label\r\n >\r\n </div>\r\n</div>\r\n", dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "pipe", type: SacToLabelWidthCssPipe, name: "toLabelWidthCss" }, { kind: "pipe", type: SacToControlWidthCssPipe, name: "toControlWidthCss" }] }); }
32
35
  }
33
36
  export { SacStaticLabelComponent };
34
37
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SacStaticLabelComponent, decorators: [{
@@ -44,10 +47,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
44
47
  multi: true,
45
48
  useExisting: forwardRef(() => SacStaticLabelComponent),
46
49
  },
47
- ], standalone: true, imports: [NgIf, NgClass], template: "<div class=\"row form-group\" [class.no-gutters]=\"disablelabel\">\r\n <label *ngIf=\"disablelabel === false && !isadaptivelabel\" id=\"{{name}}_label\" for=\"{{name}}\" class=\"col-12 col-form-label\" [ngClass]=\"[labelsize !== 12 ? 'col-sm-' + labelsize : 'sr-only']\">{{label}}</label>\r\n <div [ngClass]=\"[disablelabel === false ? 'col-sm-' + _inputsize : 'col-sm-12']\">\r\n <div class=\"form-control-plaintext\" [innerHTML]=\"value\">\r\n </div>\r\n <label for=\"{{name}}\" class=\"col-left control-label\" *ngIf=\"isadaptivelabel && !disablelabel\">{{label}}</label>\r\n </div>\r\n</div>\r\n" }]
48
- }], ctorParameters: function () { return [{ type: i1.SacFormDirective, decorators: [{
50
+ ], standalone: true, imports: [NgIf, NgClass, SacToLabelWidthCssPipe, SacToControlWidthCssPipe], 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=\"form-control-plaintext\" [innerHTML]=\"value\"></div>\r\n <label\r\n for=\"{{name}}\"\r\n class=\"col-left control-label\"\r\n *ngIf=\"isAdaptiveLabel && !disablelabel\"\r\n >{{label}}</label\r\n >\r\n </div>\r\n</div>\r\n" }]
51
+ }], ctorParameters: function () { return [{ type: i1.SacFormLayoutDirective, decorators: [{
49
52
  type: Host
50
53
  }, {
51
54
  type: Optional
52
55
  }] }, { type: i0.Injector }]; } });
53
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhdGljbGFiZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zYWMtYm9vdHN0cmFwNC9zcmMvY29udHJvbHMvc3RhdGljL3N0YXRpY2xhYmVsLnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2FjLWJvb3RzdHJhcDQvc3JjL2NvbnRyb2xzL3N0YXRpYy9zdGF0aWNsYWJlbC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLElBQUksRUFBWSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDaEYsT0FBTyxFQUFFLGFBQWEsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBRXpFLE9BQU8sRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLE1BQU0saUJBQWlCLENBQUM7OztBQUVoRDs7R0FFRztBQUNILE1BbUJhLHVCQUF3QixTQUFRLG9CQUFvQjtJQUMvRDs7OztPQUlHO0lBQ0gsWUFBZ0MsTUFBd0IsRUFBRSxRQUFrQjtRQUMxRSxLQUFLLENBQUMsTUFBTSxFQUFFLFFBQVEsQ0FBQyxDQUFDO0lBQzFCLENBQUM7K0dBUlUsdUJBQXVCO21HQUF2Qix1QkFBdUIsOERBZnJCO1lBQ1A7Z0JBQ0ksT0FBTyxFQUFFLGlCQUFpQjtnQkFDMUIsS0FBSyxFQUFFLElBQUk7Z0JBQ1gsV0FBVyxFQUFFLHVCQUF1QjthQUN2QztZQUNEO2dCQUNJLE9BQU8sRUFBRSxhQUFhO2dCQUN0QixLQUFLLEVBQUUsSUFBSTtnQkFDWCxXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLHVCQUF1QixDQUFDO2FBQ3pEO1NBQ0osaURDeEJMLHNtQkFRQSw0Q0RrQmMsSUFBSSw2RkFBRSxPQUFPOztTQUVkLHVCQUF1Qjs0RkFBdkIsdUJBQXVCO2tCQW5CbkMsU0FBUzsrQkFDSSxpQkFBaUIsYUFHaEI7d0JBQ1A7NEJBQ0ksT0FBTyxFQUFFLGlCQUFpQjs0QkFDMUIsS0FBSyxFQUFFLElBQUk7NEJBQ1gsV0FBVyx5QkFBeUI7eUJBQ3ZDO3dCQUNEOzRCQUNJLE9BQU8sRUFBRSxhQUFhOzRCQUN0QixLQUFLLEVBQUUsSUFBSTs0QkFDWCxXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSx3QkFBd0IsQ0FBQzt5QkFDekQ7cUJBQ0osY0FDVyxJQUFJLFdBQ1AsQ0FBQyxJQUFJLEVBQUUsT0FBTyxDQUFDOzswQkFRYixJQUFJOzswQkFBSSxRQUFRIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBmb3J3YXJkUmVmLCBIb3N0LCBJbmplY3RvciwgT3B0aW9uYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTkdfVkFMSURBVE9SUywgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IFNhY1N0YXRpY0xhYmVsQ29tbW9uIH0gZnJvbSAnQHNpbXBsZWFuZ3VsYXJjb250cm9scy9zYWMtY29tbW9uJztcclxuaW1wb3J0IHsgU2FjRm9ybURpcmVjdGl2ZSB9IGZyb20gJy4uL2Zvcm0vZm9ybSc7XHJcbmltcG9ydCB7IE5nSWYsIE5nQ2xhc3MgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5cclxuLyoqXHJcbiAqIEtvbXBvbmVudGUgZsO8ciBzdGF0aXNjaGVuIFRleHQgaW4gZWluZW0gRm9ybXVsYXJcclxuICovXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICdzYWMtc3RhdGljbGFiZWwnLFxyXG4gICAgdGVtcGxhdGVVcmw6ICcuL3N0YXRpY2xhYmVsLmh0bWwnLFxyXG4gICAgLy8gVmFsdWUgQWNjZXNzIFByb3ZpZGVyIHJlZ2lzdHJpZXJlbiwgZGFtaXQgV2VydCB2aWEgTW9kZWwgZ2VzY2hyaWViZW4gdW5kIGdlbGVzZW4gd2VyZGVuIGthbm5cclxuICAgIHByb3ZpZGVyczogW1xyXG4gICAgICAgIHtcclxuICAgICAgICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXHJcbiAgICAgICAgICAgIG11bHRpOiB0cnVlLFxyXG4gICAgICAgICAgICB1c2VFeGlzdGluZzogU2FjU3RhdGljTGFiZWxDb21wb25lbnQsXHJcbiAgICAgICAgfSxcclxuICAgICAgICB7XHJcbiAgICAgICAgICAgIHByb3ZpZGU6IE5HX1ZBTElEQVRPUlMsXHJcbiAgICAgICAgICAgIG11bHRpOiB0cnVlLFxyXG4gICAgICAgICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBTYWNTdGF0aWNMYWJlbENvbXBvbmVudCksXHJcbiAgICAgICAgfSxcclxuICAgIF0sXHJcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gICAgaW1wb3J0czogW05nSWYsIE5nQ2xhc3NdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgU2FjU3RhdGljTGFiZWxDb21wb25lbnQgZXh0ZW5kcyBTYWNTdGF0aWNMYWJlbENvbW1vbiB7XHJcbiAgLyoqXHJcbiAgICogS29uc3RydWt0b3JcclxuICAgKiBAcGFyYW0gcGFyZW50IEZvcm11bGFyXHJcbiAgICogQHBhcmFtIGluamVjdG9yIEFuZ3VsYXIgRGVwZW5kZW5jeSBJbmplY3Rpb24gU2VydmljZVxyXG4gICAqL1xyXG4gIGNvbnN0cnVjdG9yKEBIb3N0KCkgQE9wdGlvbmFsKCkgcGFyZW50OiBTYWNGb3JtRGlyZWN0aXZlLCBpbmplY3RvcjogSW5qZWN0b3IpIHtcclxuICAgIHN1cGVyKHBhcmVudCwgaW5qZWN0b3IpO1xyXG4gIH1cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwicm93IGZvcm0tZ3JvdXBcIiBbY2xhc3Mubm8tZ3V0dGVyc109XCJkaXNhYmxlbGFiZWxcIj5cclxuICA8bGFiZWwgKm5nSWY9XCJkaXNhYmxlbGFiZWwgPT09IGZhbHNlICYmICFpc2FkYXB0aXZlbGFiZWxcIiBpZD1cInt7bmFtZX19X2xhYmVsXCIgZm9yPVwie3tuYW1lfX1cIiBjbGFzcz1cImNvbC0xMiBjb2wtZm9ybS1sYWJlbFwiIFtuZ0NsYXNzXT1cIltsYWJlbHNpemUgIT09IDEyID8gICdjb2wtc20tJyArIGxhYmVsc2l6ZSA6ICdzci1vbmx5J11cIj57e2xhYmVsfX08L2xhYmVsPlxyXG4gIDxkaXYgW25nQ2xhc3NdPVwiW2Rpc2FibGVsYWJlbCA9PT0gZmFsc2UgPyAnY29sLXNtLScgKyBfaW5wdXRzaXplIDogJ2NvbC1zbS0xMiddXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwiZm9ybS1jb250cm9sLXBsYWludGV4dFwiIFtpbm5lckhUTUxdPVwidmFsdWVcIj5cclxuICAgIDwvZGl2PlxyXG4gICAgPGxhYmVsIGZvcj1cInt7bmFtZX19XCIgY2xhc3M9XCJjb2wtbGVmdCBjb250cm9sLWxhYmVsXCIgKm5nSWY9XCJpc2FkYXB0aXZlbGFiZWwgJiYgIWRpc2FibGVsYWJlbFwiPnt7bGFiZWx9fTwvbGFiZWw+XHJcbiAgPC9kaXY+XHJcbjwvZGl2PlxyXG4iXX0=
56
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhdGljbGFiZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zYWMtYm9vdHN0cmFwNC9zcmMvY29udHJvbHMvc3RhdGljL3N0YXRpY2xhYmVsLnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2FjLWJvb3RzdHJhcDQvc3JjL2NvbnRyb2xzL3N0YXRpYy9zdGF0aWNsYWJlbC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDaEQsT0FBTyxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQVksUUFBUSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNoRixPQUFPLEVBQUUsYUFBYSxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFFekUsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDNUUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7OztBQUV4RTs7R0FFRztBQUNILE1BbUJhLHVCQUF3QixTQUFRLG9CQUFvQjtJQUMvRCx1QkFBdUI7SUFFdkI7Ozs7T0FJRztJQUNILFlBQ3NCLFVBQWtDLEVBQ3RELFFBQWtCO1FBRWxCLEtBQUssQ0FBQyxVQUFVLEVBQUUsUUFBUSxDQUFDLENBQUM7SUFDOUIsQ0FBQzsrR0FiVSx1QkFBdUI7bUdBQXZCLHVCQUF1Qiw4REFmdkI7WUFDVDtnQkFDRSxPQUFPLEVBQUUsaUJBQWlCO2dCQUMxQixLQUFLLEVBQUUsSUFBSTtnQkFDWCxXQUFXLEVBQUUsdUJBQXVCO2FBQ3JDO1lBQ0Q7Z0JBQ0UsT0FBTyxFQUFFLGFBQWE7Z0JBQ3RCLEtBQUssRUFBRSxJQUFJO2dCQUNYLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsdUJBQXVCLENBQUM7YUFDdkQ7U0FDRixpREMxQkgsNHZCQXNCQSw0Q0RNWSxJQUFJLDZGQUFFLE9BQU8sK0VBQUUsc0JBQXNCLG1EQUFFLHdCQUF3Qjs7U0FFOUQsdUJBQXVCOzRGQUF2Qix1QkFBdUI7a0JBbkJuQyxTQUFTOytCQUNFLGlCQUFpQixhQUdoQjt3QkFDVDs0QkFDRSxPQUFPLEVBQUUsaUJBQWlCOzRCQUMxQixLQUFLLEVBQUUsSUFBSTs0QkFDWCxXQUFXLHlCQUF5Qjt5QkFDckM7d0JBQ0Q7NEJBQ0UsT0FBTyxFQUFFLGFBQWE7NEJBQ3RCLEtBQUssRUFBRSxJQUFJOzRCQUNYLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLHdCQUF3QixDQUFDO3lCQUN2RDtxQkFDRixjQUNXLElBQUksV0FDUCxDQUFDLElBQUksRUFBRSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsd0JBQXdCLENBQUM7OzBCQVd2RSxJQUFJOzswQkFBSSxRQUFRIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdDbGFzcywgTmdJZiB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IENvbXBvbmVudCwgSG9zdCwgSW5qZWN0b3IsIE9wdGlvbmFsLCBmb3J3YXJkUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE5HX1ZBTElEQVRPUlMsIE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBTYWNTdGF0aWNMYWJlbENvbW1vbiB9IGZyb20gJ0BzaW1wbGVhbmd1bGFyY29udHJvbHMvc2FjLWNvbW1vbic7XHJcbmltcG9ydCB7IFNhY0Zvcm1MYXlvdXREaXJlY3RpdmUgfSBmcm9tICcuLi9sYXlvdXQvZm9ybWxheW91dC5kaXJlY3RpdmUnO1xyXG5pbXBvcnQgeyBTYWNUb0NvbnRyb2xXaWR0aENzc1BpcGUgfSBmcm9tICcuLi9sYXlvdXQvdG9jb250cm9sd2lkdGhjc3MucGlwZSc7XHJcbmltcG9ydCB7IFNhY1RvTGFiZWxXaWR0aENzc1BpcGUgfSBmcm9tICcuLi9sYXlvdXQvdG9sYWJlbHdpZHRoY3NzLnBpcGUnO1xyXG5cclxuLyoqXHJcbiAqIEtvbXBvbmVudGUgZsO8ciBzdGF0aXNjaGVuIFRleHQgaW4gZWluZW0gRm9ybXVsYXJcclxuICovXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnc2FjLXN0YXRpY2xhYmVsJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vc3RhdGljbGFiZWwuaHRtbCcsXHJcbiAgLy8gVmFsdWUgQWNjZXNzIFByb3ZpZGVyIHJlZ2lzdHJpZXJlbiwgZGFtaXQgV2VydCB2aWEgTW9kZWwgZ2VzY2hyaWViZW4gdW5kIGdlbGVzZW4gd2VyZGVuIGthbm5cclxuICBwcm92aWRlcnM6IFtcclxuICAgIHtcclxuICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXHJcbiAgICAgIG11bHRpOiB0cnVlLFxyXG4gICAgICB1c2VFeGlzdGluZzogU2FjU3RhdGljTGFiZWxDb21wb25lbnQsXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICBwcm92aWRlOiBOR19WQUxJREFUT1JTLFxyXG4gICAgICBtdWx0aTogdHJ1ZSxcclxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gU2FjU3RhdGljTGFiZWxDb21wb25lbnQpLFxyXG4gICAgfSxcclxuICBdLFxyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgaW1wb3J0czogW05nSWYsIE5nQ2xhc3MsIFNhY1RvTGFiZWxXaWR0aENzc1BpcGUsIFNhY1RvQ29udHJvbFdpZHRoQ3NzUGlwZV0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTYWNTdGF0aWNMYWJlbENvbXBvbmVudCBleHRlbmRzIFNhY1N0YXRpY0xhYmVsQ29tbW9uIHtcclxuICAvLyAjcmVnaW9uIENvbnN0cnVjdG9yc1xyXG5cclxuICAvKipcclxuICAgKlxyXG4gICAqIEBwYXJhbSBmb3JtTGF5b3V0IFNhY0Zvcm1MYXlvdXQgdG8gZGVmaW5lIHNjb3BlZCBsYXlvdXQgc2V0dGluZ3NcclxuICAgKiBAcGFyYW0gaW5qZWN0b3IgSW5qZWN0b3IgZm9yIGluamVjdGluZyBzZXJ2aWNlc1xyXG4gICAqL1xyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgQEhvc3QoKSBAT3B0aW9uYWwoKSBmb3JtTGF5b3V0OiBTYWNGb3JtTGF5b3V0RGlyZWN0aXZlLFxyXG4gICAgaW5qZWN0b3I6IEluamVjdG9yXHJcbiAgKSB7XHJcbiAgICBzdXBlcihmb3JtTGF5b3V0LCBpbmplY3Rvcik7XHJcbiAgfVxyXG5cclxuICAvLyAjZW5kcmVnaW9uIENvbnN0cnVjdG9yc1xyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJyb3cgZm9ybS1ncm91cFwiIFtjbGFzcy5uby1ndXR0ZXJzXT1cImRpc2FibGVsYWJlbFwiPlxyXG4gIDxsYWJlbFxyXG4gICAgKm5nSWY9XCJkaXNhYmxlbGFiZWwgPT09IGZhbHNlICYmICFpc0FkYXB0aXZlTGFiZWxcIlxyXG4gICAgaWQ9XCJ7e25hbWV9fV9sYWJlbFwiXHJcbiAgICBmb3I9XCJ7e25hbWV9fVwiXHJcbiAgICBjbGFzcz1cImNvbC0xMiBjb2wtZm9ybS1sYWJlbFwiXHJcbiAgICBbbmdDbGFzc109XCJbZGlzYWJsZWxhYmVsID09PSBmYWxzZSA/ICh0aGlzLmxhYmVsU2l6ZXMgfCB0b0xhYmVsV2lkdGhDc3MpIDogJ3NyLW9ubHknIF1cIlxyXG4gICAgPnt7bGFiZWx9fTwvbGFiZWxcclxuICA+XHJcbiAgPGRpdlxyXG4gICAgY2xhc3M9XCJjb2wtMTJcIlxyXG4gICAgW25nQ2xhc3NdPVwiW2Rpc2FibGVsYWJlbCA9PT0gZmFsc2UgPyAgKHRoaXMubGFiZWxTaXplcyB8IHRvQ29udHJvbFdpZHRoQ3NzKSA6ICcnXVwiXHJcbiAgPlxyXG4gICAgPGRpdiBjbGFzcz1cImZvcm0tY29udHJvbC1wbGFpbnRleHRcIiBbaW5uZXJIVE1MXT1cInZhbHVlXCI+PC9kaXY+XHJcbiAgICA8bGFiZWxcclxuICAgICAgZm9yPVwie3tuYW1lfX1cIlxyXG4gICAgICBjbGFzcz1cImNvbC1sZWZ0IGNvbnRyb2wtbGFiZWxcIlxyXG4gICAgICAqbmdJZj1cImlzQWRhcHRpdmVMYWJlbCAmJiAhZGlzYWJsZWxhYmVsXCJcclxuICAgICAgPnt7bGFiZWx9fTwvbGFiZWxcclxuICAgID5cclxuICA8L2Rpdj5cclxuPC9kaXY+XHJcbiJdfQ==
@@ -1,28 +1,30 @@
1
- import { Component, forwardRef, Host, Optional, } from '@angular/core';
2
- import { ControlContainer, FormsModule, NG_VALIDATORS, NG_VALUE_ACCESSOR, } from '@angular/forms';
3
- import { SacTinyMceCommon } from '@simpleangularcontrols/sac-common';
4
- import { SacButtonComponent } from '../buttons/button';
5
- import { SacFormDirective } from '../form/form';
6
1
  import { AsyncPipe, NgClass, NgIf } from '@angular/common';
2
+ import { Component, Host, Optional, forwardRef, } from '@angular/core';
3
+ import { FormsModule, NG_VALIDATORS, NG_VALUE_ACCESSOR } from '@angular/forms';
4
+ import { SacTinyMceCommon } from '@simpleangularcontrols/sac-common';
7
5
  import { EditorComponent } from '@tinymce/tinymce-angular';
8
- import { SacBrowserComponent } from '../../components/browser/browser';
9
- import { SacDialogComponent } from '../dialog/dialog';
6
+ import { SacBrowserComponent, SacToControlWidthCssPipe, SacToLabelWidthCssPipe, } from '../../public_api';
7
+ import { SacButtonComponent } from '../buttons';
8
+ import { SacDialogComponent } from '../dialog';
10
9
  import * as i0 from "@angular/core";
11
- import * as i1 from "../form/form";
10
+ import * as i1 from "../layout/formlayout.directive";
12
11
  import * as i2 from "@angular/forms";
13
12
  /**
14
13
  * TinyMCE Komponente
15
14
  */
16
15
  class SacTinyMceComponent extends SacTinyMceCommon {
16
+ // #region Constructors
17
17
  /**
18
- * Konstruktor
19
- * @param parent Formular
20
- * @param injector Angular Dependency Injection Service
21
- * @param ngZone ngZone
18
+ * Constructor
19
+ * @param formLayout SacFormLayout to define scoped layout settings
20
+ * @param injector Injector for injecting services
21
+ * @param ngZone ngZone to manage external javascripts
22
22
  */
23
- constructor(parent, injector, ngZone) {
24
- super(parent, injector, ngZone);
23
+ constructor(formLayout, injector, ngZone) {
24
+ super(formLayout, injector, ngZone);
25
25
  }
26
+ // #endregion Constructors
27
+ // #region Public Methods
26
28
  /**
27
29
  * overwrite tinymce defaults
28
30
  * @returns boostrap4 has no overwrites
@@ -30,7 +32,7 @@ class SacTinyMceComponent extends SacTinyMceCommon {
30
32
  overwriteDefaultSettings() {
31
33
  return {};
32
34
  }
33
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SacTinyMceComponent, deps: [{ token: i1.SacFormDirective, host: true, optional: true }, { token: i0.Injector }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }
35
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SacTinyMceComponent, deps: [{ token: i1.SacFormLayoutDirective, host: true, optional: true }, { token: i0.Injector }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }
34
36
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: SacTinyMceComponent, isStandalone: true, selector: "sac-tinymce", providers: [
35
37
  {
36
38
  provide: NG_VALUE_ACCESSOR,
@@ -42,7 +44,7 @@ class SacTinyMceComponent extends SacTinyMceCommon {
42
44
  useExisting: forwardRef(() => SacTinyMceComponent),
43
45
  multi: true,
44
46
  },
45
- ], usesInheritance: true, ngImport: i0, template: "<div class=\"form-row form-group\">\r\n <div\r\n class=\"col\"\r\n [ngClass]=\"[disablelabel === false ? 'col-md-' + labelsize : 'sr-only' ]\"\r\n >\r\n <label for=\"{{name}}\" class=\"form-control-label\">{{label}}</label>\r\n </div>\r\n <div\r\n class=\"col-12\"\r\n [ngClass]=\"[disablelabel === false ? 'col-md-' + _inputsize : 'col-md-12']\"\r\n >\r\n <editor\r\n [id]=\"name + '_tinymce'\"\r\n [init]=\"_config\"\r\n [initialValue]=\"value\"\r\n ngModel\r\n [ngModelOptions]=\"{standalone: true}\"\r\n (ngModelChange)=\"setValue($event)\"\r\n (onSaveContent)=\"save($event.event.content)\"\r\n [disabled]=\"disabled\"\r\n [class.is-invalid]=\"isinlineerrorenabled && invalid && (dirty || touched)\"\r\n ></editor>\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<sac-dialog\r\n *ngIf=\"selectdialogvisible\"\r\n [allowesc]=\"false\"\r\n [backdrop]=\"true\"\r\n [(isvisible)]=\"selectdialogvisible\"\r\n title=\"{{ lngResourceService.GetString('TINYMCE_FILESELECT_DIALOGTITLE') | async }}\"\r\n size=\"large\"\r\n height=\"500px\"\r\n>\r\n <ng-container dialogbody>\r\n <sac-filebrowser\r\n [apiurl]=\"filebrowserapiurl\"\r\n (file)=\"selectDialogSettings.value = $event\"\r\n [allowfoldercreate]=\"allowfoldercreate\"\r\n [allowfolderrename]=\"allowfolderrename\"\r\n [allowfolderdelete]=\"allowfolderdelete\"\r\n [allowfileupload]=\"allowfileupload\"\r\n [allowfilerename]=\"allowfilerename\"\r\n [allowfiledelete]=\"allowfiledelete\"\r\n [selectedfile]=\"selectDialogSettings.value\"\r\n [allowedtypes]=\"selectDialogSettings.allowedtypes\"\r\n ></sac-filebrowser>\r\n </ng-container>\r\n <ng-container dialogfooter>\r\n <sac-button\r\n role=\"primary\"\r\n [name]=\"name + '_modalOk'\"\r\n text=\"{{ lngResourceService.GetString('TINYMCE_FILESELECT_OK') | async }}\"\r\n (clicked)=\"setSelectDialogResult()\"\r\n ></sac-button>\r\n <sac-button\r\n [name]=\"name + '_modalClose'\"\r\n text=\"{{ lngResourceService.GetString('TINYMCE_FILESELECT_CANCEL') | async }}\"\r\n (clicked)=\"closeSelectDialog()\"\r\n ></sac-button>\r\n </ng-container>\r\n</sac-dialog>\r\n", styles: [".is-invalid{border:1px solid var(--red)}\n"], dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: EditorComponent, selector: "editor", inputs: ["cloudChannel", "apiKey", "init", "id", "initialValue", "outputFormat", "inline", "tagName", "plugins", "toolbar", "modelEvents", "allowedEvents", "ignoreEvents", "disabled"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: SacDialogComponent, selector: "sac-dialog" }, { kind: "component", type: SacBrowserComponent, selector: "sac-filebrowser" }, { kind: "component", type: SacButtonComponent, selector: "sac-button" }, { kind: "pipe", type: AsyncPipe, name: "async" }], viewProviders: [{ provide: ControlContainer, useExisting: SacFormDirective }] }); }
47
+ ], usesInheritance: true, ngImport: i0, template: "<div class=\"form-row form-group\">\r\n <div\r\n class=\"col\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'sr-only' ]\"\r\n >\r\n <label for=\"{{name}}\" class=\"form-control-label\">{{label}}</label>\r\n </div>\r\n <div\r\n class=\"col-12\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\r\n >\r\n <editor\r\n [id]=\"name + '_tinymce'\"\r\n [init]=\"_config\"\r\n [initialValue]=\"value\"\r\n ngModel\r\n [ngModelOptions]=\"{standalone: true}\"\r\n (ngModelChange)=\"setValue($event)\"\r\n (onSaveContent)=\"save($event.event.content)\"\r\n [disabled]=\"disabled\"\r\n [class.is-invalid]=\"isinlineerrorenabled && invalid && (dirty || touched)\"\r\n ></editor>\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<sac-dialog\r\n *ngIf=\"selectdialogvisible\"\r\n [allowesc]=\"false\"\r\n [backdrop]=\"true\"\r\n [(isvisible)]=\"selectdialogvisible\"\r\n title=\"{{ lngResourceService.GetString('TINYMCE_FILESELECT_DIALOGTITLE') | async }}\"\r\n size=\"large\"\r\n height=\"500px\"\r\n>\r\n <ng-container dialogbody>\r\n <sac-filebrowser\r\n [apiurl]=\"filebrowserapiurl\"\r\n (file)=\"selectDialogSettings.value = $event\"\r\n [allowfoldercreate]=\"allowfoldercreate\"\r\n [allowfolderrename]=\"allowfolderrename\"\r\n [allowfolderdelete]=\"allowfolderdelete\"\r\n [allowfileupload]=\"allowfileupload\"\r\n [allowfilerename]=\"allowfilerename\"\r\n [allowfiledelete]=\"allowfiledelete\"\r\n [selectedfile]=\"selectDialogSettings.value\"\r\n [allowedtypes]=\"selectDialogSettings.allowedtypes\"\r\n ></sac-filebrowser>\r\n </ng-container>\r\n <ng-container dialogfooter>\r\n <sac-button\r\n role=\"primary\"\r\n [name]=\"name + '_modalOk'\"\r\n text=\"{{ lngResourceService.GetString('TINYMCE_FILESELECT_OK') | async }}\"\r\n (clicked)=\"setSelectDialogResult()\"\r\n ></sac-button>\r\n <sac-button\r\n [name]=\"name + '_modalClose'\"\r\n text=\"{{ lngResourceService.GetString('TINYMCE_FILESELECT_CANCEL') | async }}\"\r\n (clicked)=\"closeSelectDialog()\"\r\n ></sac-button>\r\n </ng-container>\r\n</sac-dialog>\r\n", styles: [".is-invalid{border:1px solid var(--red)}\n"], dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: EditorComponent, selector: "editor", inputs: ["cloudChannel", "apiKey", "init", "id", "initialValue", "outputFormat", "inline", "tagName", "plugins", "toolbar", "modelEvents", "allowedEvents", "ignoreEvents", "disabled"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: SacDialogComponent, selector: "sac-dialog" }, { kind: "component", type: SacBrowserComponent, selector: "sac-filebrowser" }, { kind: "component", type: SacButtonComponent, selector: "sac-button" }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "pipe", type: SacToLabelWidthCssPipe, name: "toLabelWidthCss" }, { kind: "pipe", type: SacToControlWidthCssPipe, name: "toControlWidthCss" }] }); }
46
48
  }
47
49
  export { SacTinyMceComponent };
48
50
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SacTinyMceComponent, decorators: [{
@@ -58,7 +60,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
58
60
  useExisting: forwardRef(() => SacTinyMceComponent),
59
61
  multi: true,
60
62
  },
61
- ], viewProviders: [{ provide: ControlContainer, useExisting: SacFormDirective }], standalone: true, imports: [
63
+ ], standalone: true, imports: [
62
64
  NgClass,
63
65
  EditorComponent,
64
66
  FormsModule,
@@ -67,10 +69,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
67
69
  SacBrowserComponent,
68
70
  SacButtonComponent,
69
71
  AsyncPipe,
70
- ], template: "<div class=\"form-row form-group\">\r\n <div\r\n class=\"col\"\r\n [ngClass]=\"[disablelabel === false ? 'col-md-' + labelsize : 'sr-only' ]\"\r\n >\r\n <label for=\"{{name}}\" class=\"form-control-label\">{{label}}</label>\r\n </div>\r\n <div\r\n class=\"col-12\"\r\n [ngClass]=\"[disablelabel === false ? 'col-md-' + _inputsize : 'col-md-12']\"\r\n >\r\n <editor\r\n [id]=\"name + '_tinymce'\"\r\n [init]=\"_config\"\r\n [initialValue]=\"value\"\r\n ngModel\r\n [ngModelOptions]=\"{standalone: true}\"\r\n (ngModelChange)=\"setValue($event)\"\r\n (onSaveContent)=\"save($event.event.content)\"\r\n [disabled]=\"disabled\"\r\n [class.is-invalid]=\"isinlineerrorenabled && invalid && (dirty || touched)\"\r\n ></editor>\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<sac-dialog\r\n *ngIf=\"selectdialogvisible\"\r\n [allowesc]=\"false\"\r\n [backdrop]=\"true\"\r\n [(isvisible)]=\"selectdialogvisible\"\r\n title=\"{{ lngResourceService.GetString('TINYMCE_FILESELECT_DIALOGTITLE') | async }}\"\r\n size=\"large\"\r\n height=\"500px\"\r\n>\r\n <ng-container dialogbody>\r\n <sac-filebrowser\r\n [apiurl]=\"filebrowserapiurl\"\r\n (file)=\"selectDialogSettings.value = $event\"\r\n [allowfoldercreate]=\"allowfoldercreate\"\r\n [allowfolderrename]=\"allowfolderrename\"\r\n [allowfolderdelete]=\"allowfolderdelete\"\r\n [allowfileupload]=\"allowfileupload\"\r\n [allowfilerename]=\"allowfilerename\"\r\n [allowfiledelete]=\"allowfiledelete\"\r\n [selectedfile]=\"selectDialogSettings.value\"\r\n [allowedtypes]=\"selectDialogSettings.allowedtypes\"\r\n ></sac-filebrowser>\r\n </ng-container>\r\n <ng-container dialogfooter>\r\n <sac-button\r\n role=\"primary\"\r\n [name]=\"name + '_modalOk'\"\r\n text=\"{{ lngResourceService.GetString('TINYMCE_FILESELECT_OK') | async }}\"\r\n (clicked)=\"setSelectDialogResult()\"\r\n ></sac-button>\r\n <sac-button\r\n [name]=\"name + '_modalClose'\"\r\n text=\"{{ lngResourceService.GetString('TINYMCE_FILESELECT_CANCEL') | async }}\"\r\n (clicked)=\"closeSelectDialog()\"\r\n ></sac-button>\r\n </ng-container>\r\n</sac-dialog>\r\n", styles: [".is-invalid{border:1px solid var(--red)}\n"] }]
71
- }], ctorParameters: function () { return [{ type: i1.SacFormDirective, decorators: [{
72
+ SacToLabelWidthCssPipe,
73
+ SacToControlWidthCssPipe,
74
+ ], template: "<div class=\"form-row form-group\">\r\n <div\r\n class=\"col\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'sr-only' ]\"\r\n >\r\n <label for=\"{{name}}\" class=\"form-control-label\">{{label}}</label>\r\n </div>\r\n <div\r\n class=\"col-12\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\r\n >\r\n <editor\r\n [id]=\"name + '_tinymce'\"\r\n [init]=\"_config\"\r\n [initialValue]=\"value\"\r\n ngModel\r\n [ngModelOptions]=\"{standalone: true}\"\r\n (ngModelChange)=\"setValue($event)\"\r\n (onSaveContent)=\"save($event.event.content)\"\r\n [disabled]=\"disabled\"\r\n [class.is-invalid]=\"isinlineerrorenabled && invalid && (dirty || touched)\"\r\n ></editor>\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<sac-dialog\r\n *ngIf=\"selectdialogvisible\"\r\n [allowesc]=\"false\"\r\n [backdrop]=\"true\"\r\n [(isvisible)]=\"selectdialogvisible\"\r\n title=\"{{ lngResourceService.GetString('TINYMCE_FILESELECT_DIALOGTITLE') | async }}\"\r\n size=\"large\"\r\n height=\"500px\"\r\n>\r\n <ng-container dialogbody>\r\n <sac-filebrowser\r\n [apiurl]=\"filebrowserapiurl\"\r\n (file)=\"selectDialogSettings.value = $event\"\r\n [allowfoldercreate]=\"allowfoldercreate\"\r\n [allowfolderrename]=\"allowfolderrename\"\r\n [allowfolderdelete]=\"allowfolderdelete\"\r\n [allowfileupload]=\"allowfileupload\"\r\n [allowfilerename]=\"allowfilerename\"\r\n [allowfiledelete]=\"allowfiledelete\"\r\n [selectedfile]=\"selectDialogSettings.value\"\r\n [allowedtypes]=\"selectDialogSettings.allowedtypes\"\r\n ></sac-filebrowser>\r\n </ng-container>\r\n <ng-container dialogfooter>\r\n <sac-button\r\n role=\"primary\"\r\n [name]=\"name + '_modalOk'\"\r\n text=\"{{ lngResourceService.GetString('TINYMCE_FILESELECT_OK') | async }}\"\r\n (clicked)=\"setSelectDialogResult()\"\r\n ></sac-button>\r\n <sac-button\r\n [name]=\"name + '_modalClose'\"\r\n text=\"{{ lngResourceService.GetString('TINYMCE_FILESELECT_CANCEL') | async }}\"\r\n (clicked)=\"closeSelectDialog()\"\r\n ></sac-button>\r\n </ng-container>\r\n</sac-dialog>\r\n", styles: [".is-invalid{border:1px solid var(--red)}\n"] }]
75
+ }], ctorParameters: function () { return [{ type: i1.SacFormLayoutDirective, decorators: [{
72
76
  type: Host
73
77
  }, {
74
78
  type: Optional
75
79
  }] }, { type: i0.Injector }, { type: i0.NgZone }]; } });
76
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGlueW1jZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NhYy1ib290c3RyYXA0L3NyYy9jb250cm9scy90aW55bWNlL3RpbnltY2UudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zYWMtYm9vdHN0cmFwNC9zcmMvY29udHJvbHMvdGlueW1jZS90aW55bWNlLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxVQUFVLEVBQ1YsSUFBSSxFQUdKLFFBQVEsR0FDVCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQ0wsZ0JBQWdCLEVBQ2hCLFdBQVcsRUFDWCxhQUFhLEVBQ2IsaUJBQWlCLEdBQ2xCLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEIsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDckUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDdkQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sY0FBYyxDQUFDO0FBRWhELE9BQU8sRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzNELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUN2RSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQzs7OztBQUV0RDs7R0FFRztBQUNILE1BK0JhLG1CQUFvQixTQUFRLGdCQUFnQjtJQUN2RDs7Ozs7T0FLRztJQUNILFlBQ3NCLE1BQXdCLEVBQzVDLFFBQWtCLEVBQ2xCLE1BQWM7UUFFZCxLQUFLLENBQUMsTUFBTSxFQUFFLFFBQVEsRUFBRSxNQUFNLENBQUMsQ0FBQztJQUNsQyxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsd0JBQXdCO1FBQ3RCLE9BQU8sRUFBRSxDQUFDO0lBQ1osQ0FBQzsrR0FyQlUsbUJBQW1CO21HQUFuQixtQkFBbUIsMERBMUJuQjtZQUNUO2dCQUNFLE9BQU8sRUFBRSxpQkFBaUI7Z0JBQzFCLEtBQUssRUFBRSxJQUFJO2dCQUNYLFdBQVcsRUFBRSxtQkFBbUI7YUFDakM7WUFDRDtnQkFDRSxPQUFPLEVBQUUsYUFBYTtnQkFDdEIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxtQkFBbUIsQ0FBQztnQkFDbEQsS0FBSyxFQUFFLElBQUk7YUFDWjtTQUNGLGlEQzFDSCx5M0VBb0VBLG9HRHJCSSxPQUFPLG9GQUNQLGVBQWUsMk9BQ2YsV0FBVywrVkFDWCxJQUFJLDZGQUNKLGtCQUFrQix1REFDbEIsbUJBQW1CLDREQUNuQixrQkFBa0Isa0RBQ2xCLFNBQVMsbUNBVkksQ0FBQyxFQUFFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxXQUFXLEVBQUUsZ0JBQWdCLEVBQUUsQ0FBQzs7U0FhbEUsbUJBQW1COzRGQUFuQixtQkFBbUI7a0JBL0IvQixTQUFTOytCQUNFLGFBQWEsYUFJWjt3QkFDVDs0QkFDRSxPQUFPLEVBQUUsaUJBQWlCOzRCQUMxQixLQUFLLEVBQUUsSUFBSTs0QkFDWCxXQUFXLHFCQUFxQjt5QkFDakM7d0JBQ0Q7NEJBQ0UsT0FBTyxFQUFFLGFBQWE7NEJBQ3RCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLG9CQUFvQixDQUFDOzRCQUNsRCxLQUFLLEVBQUUsSUFBSTt5QkFDWjtxQkFDRixpQkFFYyxDQUFDLEVBQUUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLFdBQVcsRUFBRSxnQkFBZ0IsRUFBRSxDQUFDLGNBQ2pFLElBQUksV0FDUDt3QkFDUCxPQUFPO3dCQUNQLGVBQWU7d0JBQ2YsV0FBVzt3QkFDWCxJQUFJO3dCQUNKLGtCQUFrQjt3QkFDbEIsbUJBQW1CO3dCQUNuQixrQkFBa0I7d0JBQ2xCLFNBQVM7cUJBQ1Y7OzBCQVVFLElBQUk7OzBCQUFJLFFBQVEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIENvbXBvbmVudCxcclxuICBmb3J3YXJkUmVmLFxyXG4gIEhvc3QsXHJcbiAgSW5qZWN0b3IsXHJcbiAgTmdab25lLFxyXG4gIE9wdGlvbmFsLFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge1xyXG4gIENvbnRyb2xDb250YWluZXIsXHJcbiAgRm9ybXNNb2R1bGUsXHJcbiAgTkdfVkFMSURBVE9SUyxcclxuICBOR19WQUxVRV9BQ0NFU1NPUixcclxufSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IFNhY1RpbnlNY2VDb21tb24gfSBmcm9tICdAc2ltcGxlYW5ndWxhcmNvbnRyb2xzL3NhYy1jb21tb24nO1xyXG5pbXBvcnQgeyBTYWNCdXR0b25Db21wb25lbnQgfSBmcm9tICcuLi9idXR0b25zL2J1dHRvbic7XHJcbmltcG9ydCB7IFNhY0Zvcm1EaXJlY3RpdmUgfSBmcm9tICcuLi9mb3JtL2Zvcm0nO1xyXG5cclxuaW1wb3J0IHsgQXN5bmNQaXBlLCBOZ0NsYXNzLCBOZ0lmIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgRWRpdG9yQ29tcG9uZW50IH0gZnJvbSAnQHRpbnltY2UvdGlueW1jZS1hbmd1bGFyJztcclxuaW1wb3J0IHsgU2FjQnJvd3NlckNvbXBvbmVudCB9IGZyb20gJy4uLy4uL2NvbXBvbmVudHMvYnJvd3Nlci9icm93c2VyJztcclxuaW1wb3J0IHsgU2FjRGlhbG9nQ29tcG9uZW50IH0gZnJvbSAnLi4vZGlhbG9nL2RpYWxvZyc7XHJcblxyXG4vKipcclxuICogVGlueU1DRSBLb21wb25lbnRlXHJcbiAqL1xyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ3NhYy10aW55bWNlJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vdGlueW1jZS5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi90aW55bWNlLnNjc3MnXSxcclxuICAvLyBWYWx1ZSBBY2Nlc3MgUHJvdmlkZXIgcmVnaXN0cmllcmVuLCBkYW1pdCBXZXJ0IHZpYSBNb2RlbCBnZXNjaHJpZWJlbiB1bmQgZ2VsZXNlbiB3ZXJkZW4ga2FublxyXG4gIHByb3ZpZGVyczogW1xyXG4gICAge1xyXG4gICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcclxuICAgICAgbXVsdGk6IHRydWUsXHJcbiAgICAgIHVzZUV4aXN0aW5nOiBTYWNUaW55TWNlQ29tcG9uZW50LFxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgcHJvdmlkZTogTkdfVkFMSURBVE9SUyxcclxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gU2FjVGlueU1jZUNvbXBvbmVudCksXHJcbiAgICAgIG11bHRpOiB0cnVlLFxyXG4gICAgfSxcclxuICBdLFxyXG4gIC8vIFZpZXcgUHJvdmlkZXIsIGRhbWl0IGRhcyBGb3JtdWxhciBhbiBkYXMgQ29udHJvbCBnZWJ1bmRlbiB3ZXJkZW4ga2FublxyXG4gIHZpZXdQcm92aWRlcnM6IFt7IHByb3ZpZGU6IENvbnRyb2xDb250YWluZXIsIHVzZUV4aXN0aW5nOiBTYWNGb3JtRGlyZWN0aXZlIH1dLFxyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgaW1wb3J0czogW1xyXG4gICAgTmdDbGFzcyxcclxuICAgIEVkaXRvckNvbXBvbmVudCxcclxuICAgIEZvcm1zTW9kdWxlLFxyXG4gICAgTmdJZixcclxuICAgIFNhY0RpYWxvZ0NvbXBvbmVudCxcclxuICAgIFNhY0Jyb3dzZXJDb21wb25lbnQsXHJcbiAgICBTYWNCdXR0b25Db21wb25lbnQsXHJcbiAgICBBc3luY1BpcGUsXHJcbiAgXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIFNhY1RpbnlNY2VDb21wb25lbnQgZXh0ZW5kcyBTYWNUaW55TWNlQ29tbW9uIHtcclxuICAvKipcclxuICAgKiBLb25zdHJ1a3RvclxyXG4gICAqIEBwYXJhbSBwYXJlbnQgRm9ybXVsYXJcclxuICAgKiBAcGFyYW0gaW5qZWN0b3IgQW5ndWxhciBEZXBlbmRlbmN5IEluamVjdGlvbiBTZXJ2aWNlXHJcbiAgICogQHBhcmFtIG5nWm9uZSBuZ1pvbmVcclxuICAgKi9cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIEBIb3N0KCkgQE9wdGlvbmFsKCkgcGFyZW50OiBTYWNGb3JtRGlyZWN0aXZlLFxyXG4gICAgaW5qZWN0b3I6IEluamVjdG9yLFxyXG4gICAgbmdab25lOiBOZ1pvbmVcclxuICApIHtcclxuICAgIHN1cGVyKHBhcmVudCwgaW5qZWN0b3IsIG5nWm9uZSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBvdmVyd3JpdGUgdGlueW1jZSBkZWZhdWx0c1xyXG4gICAqIEByZXR1cm5zIGJvb3N0cmFwNCBoYXMgbm8gb3ZlcndyaXRlc1xyXG4gICAqL1xyXG4gIG92ZXJ3cml0ZURlZmF1bHRTZXR0aW5ncygpIHtcclxuICAgIHJldHVybiB7fTtcclxuICB9XHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cImZvcm0tcm93IGZvcm0tZ3JvdXBcIj5cclxuICA8ZGl2XHJcbiAgICBjbGFzcz1cImNvbFwiXHJcbiAgICBbbmdDbGFzc109XCJbZGlzYWJsZWxhYmVsID09PSBmYWxzZSA/ICAnY29sLW1kLScgKyBsYWJlbHNpemUgOiAnc3Itb25seScgXVwiXHJcbiAgPlxyXG4gICAgPGxhYmVsIGZvcj1cInt7bmFtZX19XCIgY2xhc3M9XCJmb3JtLWNvbnRyb2wtbGFiZWxcIj57e2xhYmVsfX08L2xhYmVsPlxyXG4gIDwvZGl2PlxyXG4gIDxkaXZcclxuICAgIGNsYXNzPVwiY29sLTEyXCJcclxuICAgIFtuZ0NsYXNzXT1cIltkaXNhYmxlbGFiZWwgPT09IGZhbHNlID8gJ2NvbC1tZC0nICsgX2lucHV0c2l6ZSA6ICdjb2wtbWQtMTInXVwiXHJcbiAgPlxyXG4gICAgPGVkaXRvclxyXG4gICAgICBbaWRdPVwibmFtZSArICdfdGlueW1jZSdcIlxyXG4gICAgICBbaW5pdF09XCJfY29uZmlnXCJcclxuICAgICAgW2luaXRpYWxWYWx1ZV09XCJ2YWx1ZVwiXHJcbiAgICAgIG5nTW9kZWxcclxuICAgICAgW25nTW9kZWxPcHRpb25zXT1cIntzdGFuZGFsb25lOiB0cnVlfVwiXHJcbiAgICAgIChuZ01vZGVsQ2hhbmdlKT1cInNldFZhbHVlKCRldmVudClcIlxyXG4gICAgICAob25TYXZlQ29udGVudCk9XCJzYXZlKCRldmVudC5ldmVudC5jb250ZW50KVwiXHJcbiAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXHJcbiAgICAgIFtjbGFzcy5pcy1pbnZhbGlkXT1cImlzaW5saW5lZXJyb3JlbmFibGVkICYmIGludmFsaWQgJiYgKGRpcnR5IHx8IHRvdWNoZWQpXCJcclxuICAgID48L2VkaXRvcj5cclxuICAgIDxkaXZcclxuICAgICAgKm5nSWY9XCJpc2lubGluZWVycm9yZW5hYmxlZCAmJiBpbnZhbGlkICYmIChkaXJ0eSB8fCB0b3VjaGVkKVwiXHJcbiAgICAgIGNsYXNzPVwiaW52YWxpZC1mZWVkYmFja1wiXHJcbiAgICA+XHJcbiAgICAgIHt7IEdldEVycm9yTWVzc2FnZSgpIHwgYXN5bmMgfX1cclxuICAgIDwvZGl2PlxyXG4gIDwvZGl2PlxyXG48L2Rpdj5cclxuXHJcbjxzYWMtZGlhbG9nXHJcbiAgKm5nSWY9XCJzZWxlY3RkaWFsb2d2aXNpYmxlXCJcclxuICBbYWxsb3dlc2NdPVwiZmFsc2VcIlxyXG4gIFtiYWNrZHJvcF09XCJ0cnVlXCJcclxuICBbKGlzdmlzaWJsZSldPVwic2VsZWN0ZGlhbG9ndmlzaWJsZVwiXHJcbiAgdGl0bGU9XCJ7eyBsbmdSZXNvdXJjZVNlcnZpY2UuR2V0U3RyaW5nKCdUSU5ZTUNFX0ZJTEVTRUxFQ1RfRElBTE9HVElUTEUnKSB8IGFzeW5jIH19XCJcclxuICBzaXplPVwibGFyZ2VcIlxyXG4gIGhlaWdodD1cIjUwMHB4XCJcclxuPlxyXG4gIDxuZy1jb250YWluZXIgZGlhbG9nYm9keT5cclxuICAgIDxzYWMtZmlsZWJyb3dzZXJcclxuICAgICAgW2FwaXVybF09XCJmaWxlYnJvd3NlcmFwaXVybFwiXHJcbiAgICAgIChmaWxlKT1cInNlbGVjdERpYWxvZ1NldHRpbmdzLnZhbHVlID0gJGV2ZW50XCJcclxuICAgICAgW2FsbG93Zm9sZGVyY3JlYXRlXT1cImFsbG93Zm9sZGVyY3JlYXRlXCJcclxuICAgICAgW2FsbG93Zm9sZGVycmVuYW1lXT1cImFsbG93Zm9sZGVycmVuYW1lXCJcclxuICAgICAgW2FsbG93Zm9sZGVyZGVsZXRlXT1cImFsbG93Zm9sZGVyZGVsZXRlXCJcclxuICAgICAgW2FsbG93ZmlsZXVwbG9hZF09XCJhbGxvd2ZpbGV1cGxvYWRcIlxyXG4gICAgICBbYWxsb3dmaWxlcmVuYW1lXT1cImFsbG93ZmlsZXJlbmFtZVwiXHJcbiAgICAgIFthbGxvd2ZpbGVkZWxldGVdPVwiYWxsb3dmaWxlZGVsZXRlXCJcclxuICAgICAgW3NlbGVjdGVkZmlsZV09XCJzZWxlY3REaWFsb2dTZXR0aW5ncy52YWx1ZVwiXHJcbiAgICAgIFthbGxvd2VkdHlwZXNdPVwic2VsZWN0RGlhbG9nU2V0dGluZ3MuYWxsb3dlZHR5cGVzXCJcclxuICAgID48L3NhYy1maWxlYnJvd3Nlcj5cclxuICA8L25nLWNvbnRhaW5lcj5cclxuICA8bmctY29udGFpbmVyIGRpYWxvZ2Zvb3Rlcj5cclxuICAgIDxzYWMtYnV0dG9uXHJcbiAgICAgIHJvbGU9XCJwcmltYXJ5XCJcclxuICAgICAgW25hbWVdPVwibmFtZSArICdfbW9kYWxPaydcIlxyXG4gICAgICB0ZXh0PVwie3sgbG5nUmVzb3VyY2VTZXJ2aWNlLkdldFN0cmluZygnVElOWU1DRV9GSUxFU0VMRUNUX09LJykgfCBhc3luYyB9fVwiXHJcbiAgICAgIChjbGlja2VkKT1cInNldFNlbGVjdERpYWxvZ1Jlc3VsdCgpXCJcclxuICAgID48L3NhYy1idXR0b24+XHJcbiAgICA8c2FjLWJ1dHRvblxyXG4gICAgICBbbmFtZV09XCJuYW1lICsgJ19tb2RhbENsb3NlJ1wiXHJcbiAgICAgIHRleHQ9XCJ7eyBsbmdSZXNvdXJjZVNlcnZpY2UuR2V0U3RyaW5nKCdUSU5ZTUNFX0ZJTEVTRUxFQ1RfQ0FOQ0VMJykgfCBhc3luYyB9fVwiXHJcbiAgICAgIChjbGlja2VkKT1cImNsb3NlU2VsZWN0RGlhbG9nKClcIlxyXG4gICAgPjwvc2FjLWJ1dHRvbj5cclxuICA8L25nLWNvbnRhaW5lcj5cclxuPC9zYWMtZGlhbG9nPlxyXG4iXX0=
80
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGlueW1jZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NhYy1ib290c3RyYXA0L3NyYy9jb250cm9scy90aW55bWNlL3RpbnltY2UudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zYWMtYm9vdHN0cmFwNC9zcmMvY29udHJvbHMvdGlueW1jZS90aW55bWNlLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDM0QsT0FBTyxFQUNMLFNBQVMsRUFDVCxJQUFJLEVBR0osUUFBUSxFQUNSLFVBQVUsR0FDWCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsV0FBVyxFQUFFLGFBQWEsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQy9FLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ3JFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQ0wsbUJBQW1CLEVBQ25CLHdCQUF3QixFQUN4QixzQkFBc0IsR0FDdkIsTUFBTSxrQkFBa0IsQ0FBQztBQUMxQixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDaEQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sV0FBVyxDQUFDOzs7O0FBRy9DOztHQUVHO0FBQ0gsTUErQmEsbUJBQW9CLFNBQVEsZ0JBQWdCO0lBQ3ZELHVCQUF1QjtJQUV2Qjs7Ozs7T0FLRztJQUNILFlBQ3NCLFVBQWtDLEVBQ3RELFFBQWtCLEVBQ2xCLE1BQWM7UUFFZCxLQUFLLENBQUMsVUFBVSxFQUFFLFFBQVEsRUFBRSxNQUFNLENBQUMsQ0FBQztJQUN0QyxDQUFDO0lBRUQsMEJBQTBCO0lBRTFCLHlCQUF5QjtJQUV6Qjs7O09BR0c7SUFDSSx3QkFBd0I7UUFDN0IsT0FBTyxFQUFFLENBQUM7SUFDWixDQUFDOytHQTNCVSxtQkFBbUI7bUdBQW5CLG1CQUFtQiwwREExQm5CO1lBQ1Q7Z0JBQ0UsT0FBTyxFQUFFLGlCQUFpQjtnQkFDMUIsS0FBSyxFQUFFLElBQUk7Z0JBQ1gsV0FBVyxFQUFFLG1CQUFtQjthQUNqQztZQUNEO2dCQUNFLE9BQU8sRUFBRSxhQUFhO2dCQUN0QixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLG1CQUFtQixDQUFDO2dCQUNsRCxLQUFLLEVBQUUsSUFBSTthQUNaO1NBQ0YsaURDeENILDY0RUFvRUEsb0dEekJJLE9BQU8sb0ZBQ1AsZUFBZSwyT0FDZixXQUFXLCtWQUNYLElBQUksNkZBQ0osa0JBQWtCLHVEQUNsQixtQkFBbUIsNERBQ25CLGtCQUFrQixrREFDbEIsU0FBUyx5Q0FDVCxzQkFBc0IsbURBQ3RCLHdCQUF3Qjs7U0FHZixtQkFBbUI7NEZBQW5CLG1CQUFtQjtrQkEvQi9CLFNBQVM7K0JBQ0UsYUFBYSxhQUlaO3dCQUNUOzRCQUNFLE9BQU8sRUFBRSxpQkFBaUI7NEJBQzFCLEtBQUssRUFBRSxJQUFJOzRCQUNYLFdBQVcscUJBQXFCO3lCQUNqQzt3QkFDRDs0QkFDRSxPQUFPLEVBQUUsYUFBYTs0QkFDdEIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsb0JBQW9CLENBQUM7NEJBQ2xELEtBQUssRUFBRSxJQUFJO3lCQUNaO3FCQUNGLGNBQ1csSUFBSSxXQUNQO3dCQUNQLE9BQU87d0JBQ1AsZUFBZTt3QkFDZixXQUFXO3dCQUNYLElBQUk7d0JBQ0osa0JBQWtCO3dCQUNsQixtQkFBbUI7d0JBQ25CLGtCQUFrQjt3QkFDbEIsU0FBUzt3QkFDVCxzQkFBc0I7d0JBQ3RCLHdCQUF3QjtxQkFDekI7OzBCQVlFLElBQUk7OzBCQUFJLFFBQVEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBc3luY1BpcGUsIE5nQ2xhc3MsIE5nSWYgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQge1xyXG4gIENvbXBvbmVudCxcclxuICBIb3N0LFxyXG4gIEluamVjdG9yLFxyXG4gIE5nWm9uZSxcclxuICBPcHRpb25hbCxcclxuICBmb3J3YXJkUmVmLFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBGb3Jtc01vZHVsZSwgTkdfVkFMSURBVE9SUywgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IFNhY1RpbnlNY2VDb21tb24gfSBmcm9tICdAc2ltcGxlYW5ndWxhcmNvbnRyb2xzL3NhYy1jb21tb24nO1xyXG5pbXBvcnQgeyBFZGl0b3JDb21wb25lbnQgfSBmcm9tICdAdGlueW1jZS90aW55bWNlLWFuZ3VsYXInO1xyXG5pbXBvcnQge1xyXG4gIFNhY0Jyb3dzZXJDb21wb25lbnQsXHJcbiAgU2FjVG9Db250cm9sV2lkdGhDc3NQaXBlLFxyXG4gIFNhY1RvTGFiZWxXaWR0aENzc1BpcGUsXHJcbn0gZnJvbSAnLi4vLi4vcHVibGljX2FwaSc7XHJcbmltcG9ydCB7IFNhY0J1dHRvbkNvbXBvbmVudCB9IGZyb20gJy4uL2J1dHRvbnMnO1xyXG5pbXBvcnQgeyBTYWNEaWFsb2dDb21wb25lbnQgfSBmcm9tICcuLi9kaWFsb2cnO1xyXG5pbXBvcnQgeyBTYWNGb3JtTGF5b3V0RGlyZWN0aXZlIH0gZnJvbSAnLi4vbGF5b3V0L2Zvcm1sYXlvdXQuZGlyZWN0aXZlJztcclxuXHJcbi8qKlxyXG4gKiBUaW55TUNFIEtvbXBvbmVudGVcclxuICovXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnc2FjLXRpbnltY2UnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi90aW55bWNlLmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3RpbnltY2Uuc2NzcyddLFxyXG4gIC8vIFZhbHVlIEFjY2VzcyBQcm92aWRlciByZWdpc3RyaWVyZW4sIGRhbWl0IFdlcnQgdmlhIE1vZGVsIGdlc2NocmllYmVuIHVuZCBnZWxlc2VuIHdlcmRlbiBrYW5uXHJcbiAgcHJvdmlkZXJzOiBbXHJcbiAgICB7XHJcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxyXG4gICAgICBtdWx0aTogdHJ1ZSxcclxuICAgICAgdXNlRXhpc3Rpbmc6IFNhY1RpbnlNY2VDb21wb25lbnQsXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICBwcm92aWRlOiBOR19WQUxJREFUT1JTLFxyXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBTYWNUaW55TWNlQ29tcG9uZW50KSxcclxuICAgICAgbXVsdGk6IHRydWUsXHJcbiAgICB9LFxyXG4gIF0sXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICBpbXBvcnRzOiBbXHJcbiAgICBOZ0NsYXNzLFxyXG4gICAgRWRpdG9yQ29tcG9uZW50LFxyXG4gICAgRm9ybXNNb2R1bGUsXHJcbiAgICBOZ0lmLFxyXG4gICAgU2FjRGlhbG9nQ29tcG9uZW50LFxyXG4gICAgU2FjQnJvd3NlckNvbXBvbmVudCxcclxuICAgIFNhY0J1dHRvbkNvbXBvbmVudCxcclxuICAgIEFzeW5jUGlwZSxcclxuICAgIFNhY1RvTGFiZWxXaWR0aENzc1BpcGUsXHJcbiAgICBTYWNUb0NvbnRyb2xXaWR0aENzc1BpcGUsXHJcbiAgXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIFNhY1RpbnlNY2VDb21wb25lbnQgZXh0ZW5kcyBTYWNUaW55TWNlQ29tbW9uIHtcclxuICAvLyAjcmVnaW9uIENvbnN0cnVjdG9yc1xyXG5cclxuICAvKipcclxuICAgKiBDb25zdHJ1Y3RvclxyXG4gICAqIEBwYXJhbSBmb3JtTGF5b3V0IFNhY0Zvcm1MYXlvdXQgdG8gZGVmaW5lIHNjb3BlZCBsYXlvdXQgc2V0dGluZ3NcclxuICAgKiBAcGFyYW0gaW5qZWN0b3IgSW5qZWN0b3IgZm9yIGluamVjdGluZyBzZXJ2aWNlc1xyXG4gICAqIEBwYXJhbSBuZ1pvbmUgbmdab25lIHRvIG1hbmFnZSBleHRlcm5hbCBqYXZhc2NyaXB0c1xyXG4gICAqL1xyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgQEhvc3QoKSBAT3B0aW9uYWwoKSBmb3JtTGF5b3V0OiBTYWNGb3JtTGF5b3V0RGlyZWN0aXZlLFxyXG4gICAgaW5qZWN0b3I6IEluamVjdG9yLFxyXG4gICAgbmdab25lOiBOZ1pvbmVcclxuICApIHtcclxuICAgIHN1cGVyKGZvcm1MYXlvdXQsIGluamVjdG9yLCBuZ1pvbmUpO1xyXG4gIH1cclxuXHJcbiAgLy8gI2VuZHJlZ2lvbiBDb25zdHJ1Y3RvcnNcclxuXHJcbiAgLy8gI3JlZ2lvbiBQdWJsaWMgTWV0aG9kc1xyXG5cclxuICAvKipcclxuICAgKiBvdmVyd3JpdGUgdGlueW1jZSBkZWZhdWx0c1xyXG4gICAqIEByZXR1cm5zIGJvb3N0cmFwNCBoYXMgbm8gb3ZlcndyaXRlc1xyXG4gICAqL1xyXG4gIHB1YmxpYyBvdmVyd3JpdGVEZWZhdWx0U2V0dGluZ3MoKSB7XHJcbiAgICByZXR1cm4ge307XHJcbiAgfVxyXG5cclxuICAvLyAjZW5kcmVnaW9uIFB1YmxpYyBNZXRob2RzXHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cImZvcm0tcm93IGZvcm0tZ3JvdXBcIj5cclxuICA8ZGl2XHJcbiAgICBjbGFzcz1cImNvbFwiXHJcbiAgICBbbmdDbGFzc109XCJbZGlzYWJsZWxhYmVsID09PSBmYWxzZSA/ICh0aGlzLmxhYmVsU2l6ZXMgfCB0b0xhYmVsV2lkdGhDc3MpIDogJ3NyLW9ubHknIF1cIlxyXG4gID5cclxuICAgIDxsYWJlbCBmb3I9XCJ7e25hbWV9fVwiIGNsYXNzPVwiZm9ybS1jb250cm9sLWxhYmVsXCI+e3tsYWJlbH19PC9sYWJlbD5cclxuICA8L2Rpdj5cclxuICA8ZGl2XHJcbiAgICBjbGFzcz1cImNvbC0xMlwiXHJcbiAgICBbbmdDbGFzc109XCJbZGlzYWJsZWxhYmVsID09PSBmYWxzZSA/ICAodGhpcy5sYWJlbFNpemVzIHwgdG9Db250cm9sV2lkdGhDc3MpIDogJyddXCJcclxuICA+XHJcbiAgICA8ZWRpdG9yXHJcbiAgICAgIFtpZF09XCJuYW1lICsgJ190aW55bWNlJ1wiXHJcbiAgICAgIFtpbml0XT1cIl9jb25maWdcIlxyXG4gICAgICBbaW5pdGlhbFZhbHVlXT1cInZhbHVlXCJcclxuICAgICAgbmdNb2RlbFxyXG4gICAgICBbbmdNb2RlbE9wdGlvbnNdPVwie3N0YW5kYWxvbmU6IHRydWV9XCJcclxuICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwic2V0VmFsdWUoJGV2ZW50KVwiXHJcbiAgICAgIChvblNhdmVDb250ZW50KT1cInNhdmUoJGV2ZW50LmV2ZW50LmNvbnRlbnQpXCJcclxuICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcclxuICAgICAgW2NsYXNzLmlzLWludmFsaWRdPVwiaXNpbmxpbmVlcnJvcmVuYWJsZWQgJiYgaW52YWxpZCAmJiAoZGlydHkgfHwgdG91Y2hlZClcIlxyXG4gICAgPjwvZWRpdG9yPlxyXG4gICAgPGRpdlxyXG4gICAgICAqbmdJZj1cImlzaW5saW5lZXJyb3JlbmFibGVkICYmIGludmFsaWQgJiYgKGRpcnR5IHx8IHRvdWNoZWQpXCJcclxuICAgICAgY2xhc3M9XCJpbnZhbGlkLWZlZWRiYWNrXCJcclxuICAgID5cclxuICAgICAge3sgR2V0RXJyb3JNZXNzYWdlKCkgfCBhc3luYyB9fVxyXG4gICAgPC9kaXY+XHJcbiAgPC9kaXY+XHJcbjwvZGl2PlxyXG5cclxuPHNhYy1kaWFsb2dcclxuICAqbmdJZj1cInNlbGVjdGRpYWxvZ3Zpc2libGVcIlxyXG4gIFthbGxvd2VzY109XCJmYWxzZVwiXHJcbiAgW2JhY2tkcm9wXT1cInRydWVcIlxyXG4gIFsoaXN2aXNpYmxlKV09XCJzZWxlY3RkaWFsb2d2aXNpYmxlXCJcclxuICB0aXRsZT1cInt7IGxuZ1Jlc291cmNlU2VydmljZS5HZXRTdHJpbmcoJ1RJTllNQ0VfRklMRVNFTEVDVF9ESUFMT0dUSVRMRScpIHwgYXN5bmMgfX1cIlxyXG4gIHNpemU9XCJsYXJnZVwiXHJcbiAgaGVpZ2h0PVwiNTAwcHhcIlxyXG4+XHJcbiAgPG5nLWNvbnRhaW5lciBkaWFsb2dib2R5PlxyXG4gICAgPHNhYy1maWxlYnJvd3NlclxyXG4gICAgICBbYXBpdXJsXT1cImZpbGVicm93c2VyYXBpdXJsXCJcclxuICAgICAgKGZpbGUpPVwic2VsZWN0RGlhbG9nU2V0dGluZ3MudmFsdWUgPSAkZXZlbnRcIlxyXG4gICAgICBbYWxsb3dmb2xkZXJjcmVhdGVdPVwiYWxsb3dmb2xkZXJjcmVhdGVcIlxyXG4gICAgICBbYWxsb3dmb2xkZXJyZW5hbWVdPVwiYWxsb3dmb2xkZXJyZW5hbWVcIlxyXG4gICAgICBbYWxsb3dmb2xkZXJkZWxldGVdPVwiYWxsb3dmb2xkZXJkZWxldGVcIlxyXG4gICAgICBbYWxsb3dmaWxldXBsb2FkXT1cImFsbG93ZmlsZXVwbG9hZFwiXHJcbiAgICAgIFthbGxvd2ZpbGVyZW5hbWVdPVwiYWxsb3dmaWxlcmVuYW1lXCJcclxuICAgICAgW2FsbG93ZmlsZWRlbGV0ZV09XCJhbGxvd2ZpbGVkZWxldGVcIlxyXG4gICAgICBbc2VsZWN0ZWRmaWxlXT1cInNlbGVjdERpYWxvZ1NldHRpbmdzLnZhbHVlXCJcclxuICAgICAgW2FsbG93ZWR0eXBlc109XCJzZWxlY3REaWFsb2dTZXR0aW5ncy5hbGxvd2VkdHlwZXNcIlxyXG4gICAgPjwvc2FjLWZpbGVicm93c2VyPlxyXG4gIDwvbmctY29udGFpbmVyPlxyXG4gIDxuZy1jb250YWluZXIgZGlhbG9nZm9vdGVyPlxyXG4gICAgPHNhYy1idXR0b25cclxuICAgICAgcm9sZT1cInByaW1hcnlcIlxyXG4gICAgICBbbmFtZV09XCJuYW1lICsgJ19tb2RhbE9rJ1wiXHJcbiAgICAgIHRleHQ9XCJ7eyBsbmdSZXNvdXJjZVNlcnZpY2UuR2V0U3RyaW5nKCdUSU5ZTUNFX0ZJTEVTRUxFQ1RfT0snKSB8IGFzeW5jIH19XCJcclxuICAgICAgKGNsaWNrZWQpPVwic2V0U2VsZWN0RGlhbG9nUmVzdWx0KClcIlxyXG4gICAgPjwvc2FjLWJ1dHRvbj5cclxuICAgIDxzYWMtYnV0dG9uXHJcbiAgICAgIFtuYW1lXT1cIm5hbWUgKyAnX21vZGFsQ2xvc2UnXCJcclxuICAgICAgdGV4dD1cInt7IGxuZ1Jlc291cmNlU2VydmljZS5HZXRTdHJpbmcoJ1RJTllNQ0VfRklMRVNFTEVDVF9DQU5DRUwnKSB8IGFzeW5jIH19XCJcclxuICAgICAgKGNsaWNrZWQpPVwiY2xvc2VTZWxlY3REaWFsb2coKVwiXHJcbiAgICA+PC9zYWMtYnV0dG9uPlxyXG4gIDwvbmctY29udGFpbmVyPlxyXG48L3NhYy1kaWFsb2c+XHJcbiJdfQ==
@@ -2,30 +2,35 @@ import { AsyncPipe, NgClass, NgFor, NgIf } from '@angular/common';
2
2
  import { Component, Host, Optional, forwardRef, } from '@angular/core';
3
3
  import { NG_VALIDATORS, NG_VALUE_ACCESSOR } from '@angular/forms';
4
4
  import { SacDropzoneMultipleCommon } from '@simpleangularcontrols/sac-common';
5
+ import { SacToControlWidthCssPipe } from '../layout/tocontrolwidthcss.pipe';
6
+ import { SacToLabelWidthCssPipe } from '../layout/tolabelwidthcss.pipe';
5
7
  import * as i0 from "@angular/core";
6
- import * as i1 from "../form/form";
8
+ import * as i1 from "../layout/formlayout.directive";
7
9
  /**
8
10
  * Dropzone Komponente für mehrere Uploads
9
11
  * @see https://github.com/kukhariev/ngx-uploadx/
10
12
  */
11
13
  class SacDropzoneMultipleComponent extends SacDropzoneMultipleCommon {
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
  }
25
+ // #endregion Constructors
26
+ // #region Public Methods
22
27
  /**
23
28
  * Initialisiert das Control
24
29
  */
25
30
  ngOnInit() {
26
31
  super.ngOnInit();
27
32
  }
28
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SacDropzoneMultipleComponent, deps: [{ token: i1.SacFormDirective, host: true, optional: true }, { token: i0.Injector }, { token: i0.Renderer2 }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }
33
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SacDropzoneMultipleComponent, deps: [{ token: i1.SacFormLayoutDirective, host: true, optional: true }, { token: i0.Injector }, { token: i0.Renderer2 }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }
29
34
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: SacDropzoneMultipleComponent, isStandalone: true, selector: "sac-dropzonemultiple", providers: [
30
35
  {
31
36
  provide: NG_VALUE_ACCESSOR,
@@ -37,7 +42,7 @@ class SacDropzoneMultipleComponent extends SacDropzoneMultipleCommon {
37
42
  multi: true,
38
43
  useExisting: forwardRef(() => SacDropzoneMultipleComponent),
39
44
  },
40
- ], 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=\"dropzone d-flex justify-content-center position-relative\"\r\n (drop)=\"dropHandler($event)\"\r\n (dragover)=\"onDragOver($event)\"\r\n (dragleave)=\"onDragLeave($event)\"\r\n [class.active]=\"active\"\r\n [style.min-height]=\"uploadheight\"\r\n [class.is-invalid]=\"invalid && (dirty || touched)\"\r\n >\r\n <div\r\n class=\"content d-flex justify-content-center\"\r\n *ngIf=\"uploads.length === 0\"\r\n >\r\n <div class=\"align-self-center text-center\">\r\n <div\r\n [class.is-invalid]=\"isinlineerrorenabled && invalid && (dirty || touched)\"\r\n >\r\n <ng-content></ng-content>\r\n </div>\r\n </div>\r\n </div>\r\n <div\r\n class=\"content d-flex justify-content-center\"\r\n *ngIf=\"uploads.length > 0\"\r\n >\r\n <div class=\"align-self-center progress-container\">\r\n <div\r\n class=\"dropzone-uploadstates\"\r\n [class.mt-1]=\"i > 0\"\r\n *ngFor=\"let file of uploads; let i = index\"\r\n >\r\n <div class=\"input-group upload-component upload-component-multiple\">\r\n <div class=\"form-control upload-progress border-secondary\">\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 <a\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 </a>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <input\r\n #files\r\n multiple\r\n id=\"{{ name }}_uploadinput\"\r\n type=\"file\"\r\n class=\"custom-file-input\"\r\n (click)=\"files.value = ''\"\r\n (uploadxState)=\"onUpload($event)\"\r\n [disabled]=\"HasQueueItem()\"\r\n />\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: [".dropzone{min-height:9.75rem;border:.125rem dashed lightgray;border-radius:.5rem;background:transparent}.dropzone.is-invalid{border-color:var(--red)}.dropzone .content{position:absolute;inset:0}.dropzone .content .is-invalid{color:var(--red)}.dropzone .content .progress-container{min-width:50%;z-index:100}.dropzone .content .dropzone-uploadstates .upload-progress{padding:0}.dropzone .content .dropzone-uploadstates .upload-progress .progress{height:100%;border-top-right-radius:0;border-bottom-right-radius:0}.dropzone .content .dropzone-uploadstates .upload-progress .progress .progress-text{left:0;right:0;position:absolute}.dropzone .custom-file-input{min-height:100%;height:unset}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "pipe", type: AsyncPipe, name: "async" }] }); }
45
+ ], 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=\"dropzone d-flex justify-content-center position-relative\"\r\n (drop)=\"dropHandler($event)\"\r\n (dragover)=\"onDragOver($event)\"\r\n (dragleave)=\"onDragLeave($event)\"\r\n [class.active]=\"active\"\r\n [style.min-height]=\"uploadheight\"\r\n [class.is-invalid]=\"invalid && (dirty || touched)\"\r\n >\r\n <div\r\n class=\"content d-flex justify-content-center\"\r\n *ngIf=\"uploads.length === 0\"\r\n >\r\n <div class=\"align-self-center text-center\">\r\n <div\r\n [class.is-invalid]=\"isinlineerrorenabled && invalid && (dirty || touched)\"\r\n >\r\n <ng-content></ng-content>\r\n </div>\r\n </div>\r\n </div>\r\n <div\r\n class=\"content d-flex justify-content-center\"\r\n *ngIf=\"uploads.length > 0\"\r\n >\r\n <div class=\"align-self-center progress-container\">\r\n <div\r\n class=\"dropzone-uploadstates\"\r\n [class.mt-1]=\"i > 0\"\r\n *ngFor=\"let file of uploads; let i = index\"\r\n >\r\n <div class=\"input-group upload-component upload-component-multiple\">\r\n <div class=\"form-control upload-progress border-secondary\">\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 <a\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 </a>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <input\r\n #files\r\n multiple\r\n id=\"{{ name }}_uploadinput\"\r\n type=\"file\"\r\n class=\"custom-file-input\"\r\n (click)=\"files.value = ''\"\r\n (uploadxState)=\"onUpload($event)\"\r\n [disabled]=\"HasQueueItem()\"\r\n />\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: [".dropzone{min-height:9.75rem;border:.125rem dashed lightgray;border-radius:.5rem;background:transparent}.dropzone.is-invalid{border-color:var(--red)}.dropzone .content{position:absolute;inset:0}.dropzone .content .is-invalid{color:var(--red)}.dropzone .content .progress-container{min-width:50%;z-index:100}.dropzone .content .dropzone-uploadstates .upload-progress{padding:0}.dropzone .content .dropzone-uploadstates .upload-progress .progress{height:100%;border-top-right-radius:0;border-bottom-right-radius:0}.dropzone .content .dropzone-uploadstates .upload-progress .progress .progress-text{left:0;right:0;position:absolute}.dropzone .custom-file-input{min-height:100%;height:unset}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "pipe", type: SacToLabelWidthCssPipe, name: "toLabelWidthCss" }, { kind: "pipe", type: SacToControlWidthCssPipe, name: "toControlWidthCss" }] }); }
41
46
  }
42
47
  export { SacDropzoneMultipleComponent };
43
48
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SacDropzoneMultipleComponent, decorators: [{
@@ -53,10 +58,17 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
53
58
  multi: true,
54
59
  useExisting: forwardRef(() => SacDropzoneMultipleComponent),
55
60
  },
56
- ], standalone: true, imports: [NgIf, NgClass, NgFor, AsyncPipe], 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=\"dropzone d-flex justify-content-center position-relative\"\r\n (drop)=\"dropHandler($event)\"\r\n (dragover)=\"onDragOver($event)\"\r\n (dragleave)=\"onDragLeave($event)\"\r\n [class.active]=\"active\"\r\n [style.min-height]=\"uploadheight\"\r\n [class.is-invalid]=\"invalid && (dirty || touched)\"\r\n >\r\n <div\r\n class=\"content d-flex justify-content-center\"\r\n *ngIf=\"uploads.length === 0\"\r\n >\r\n <div class=\"align-self-center text-center\">\r\n <div\r\n [class.is-invalid]=\"isinlineerrorenabled && invalid && (dirty || touched)\"\r\n >\r\n <ng-content></ng-content>\r\n </div>\r\n </div>\r\n </div>\r\n <div\r\n class=\"content d-flex justify-content-center\"\r\n *ngIf=\"uploads.length > 0\"\r\n >\r\n <div class=\"align-self-center progress-container\">\r\n <div\r\n class=\"dropzone-uploadstates\"\r\n [class.mt-1]=\"i > 0\"\r\n *ngFor=\"let file of uploads; let i = index\"\r\n >\r\n <div class=\"input-group upload-component upload-component-multiple\">\r\n <div class=\"form-control upload-progress border-secondary\">\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 <a\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 </a>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <input\r\n #files\r\n multiple\r\n id=\"{{ name }}_uploadinput\"\r\n type=\"file\"\r\n class=\"custom-file-input\"\r\n (click)=\"files.value = ''\"\r\n (uploadxState)=\"onUpload($event)\"\r\n [disabled]=\"HasQueueItem()\"\r\n />\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: [".dropzone{min-height:9.75rem;border:.125rem dashed lightgray;border-radius:.5rem;background:transparent}.dropzone.is-invalid{border-color:var(--red)}.dropzone .content{position:absolute;inset:0}.dropzone .content .is-invalid{color:var(--red)}.dropzone .content .progress-container{min-width:50%;z-index:100}.dropzone .content .dropzone-uploadstates .upload-progress{padding:0}.dropzone .content .dropzone-uploadstates .upload-progress .progress{height:100%;border-top-right-radius:0;border-bottom-right-radius:0}.dropzone .content .dropzone-uploadstates .upload-progress .progress .progress-text{left:0;right:0;position:absolute}.dropzone .custom-file-input{min-height:100%;height:unset}\n"] }]
57
- }], ctorParameters: function () { return [{ type: i1.SacFormDirective, decorators: [{
61
+ ], standalone: true, imports: [
62
+ NgIf,
63
+ NgClass,
64
+ NgFor,
65
+ AsyncPipe,
66
+ SacToLabelWidthCssPipe,
67
+ SacToControlWidthCssPipe,
68
+ ], 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=\"dropzone d-flex justify-content-center position-relative\"\r\n (drop)=\"dropHandler($event)\"\r\n (dragover)=\"onDragOver($event)\"\r\n (dragleave)=\"onDragLeave($event)\"\r\n [class.active]=\"active\"\r\n [style.min-height]=\"uploadheight\"\r\n [class.is-invalid]=\"invalid && (dirty || touched)\"\r\n >\r\n <div\r\n class=\"content d-flex justify-content-center\"\r\n *ngIf=\"uploads.length === 0\"\r\n >\r\n <div class=\"align-self-center text-center\">\r\n <div\r\n [class.is-invalid]=\"isinlineerrorenabled && invalid && (dirty || touched)\"\r\n >\r\n <ng-content></ng-content>\r\n </div>\r\n </div>\r\n </div>\r\n <div\r\n class=\"content d-flex justify-content-center\"\r\n *ngIf=\"uploads.length > 0\"\r\n >\r\n <div class=\"align-self-center progress-container\">\r\n <div\r\n class=\"dropzone-uploadstates\"\r\n [class.mt-1]=\"i > 0\"\r\n *ngFor=\"let file of uploads; let i = index\"\r\n >\r\n <div class=\"input-group upload-component upload-component-multiple\">\r\n <div class=\"form-control upload-progress border-secondary\">\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 <a\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 </a>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <input\r\n #files\r\n multiple\r\n id=\"{{ name }}_uploadinput\"\r\n type=\"file\"\r\n class=\"custom-file-input\"\r\n (click)=\"files.value = ''\"\r\n (uploadxState)=\"onUpload($event)\"\r\n [disabled]=\"HasQueueItem()\"\r\n />\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: [".dropzone{min-height:9.75rem;border:.125rem dashed lightgray;border-radius:.5rem;background:transparent}.dropzone.is-invalid{border-color:var(--red)}.dropzone .content{position:absolute;inset:0}.dropzone .content .is-invalid{color:var(--red)}.dropzone .content .progress-container{min-width:50%;z-index:100}.dropzone .content .dropzone-uploadstates .upload-progress{padding:0}.dropzone .content .dropzone-uploadstates .upload-progress .progress{height:100%;border-top-right-radius:0;border-bottom-right-radius:0}.dropzone .content .dropzone-uploadstates .upload-progress .progress .progress-text{left:0;right:0;position:absolute}.dropzone .custom-file-input{min-height:100%;height:unset}\n"] }]
69
+ }], ctorParameters: function () { return [{ type: i1.SacFormLayoutDirective, decorators: [{
58
70
  type: Host
59
71
  }, {
60
72
  type: Optional
61
73
  }] }, { type: i0.Injector }, { type: i0.Renderer2 }, { type: i0.NgZone }]; } });
62
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcHpvbmVtdWx0aXBsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NhYy1ib290c3RyYXA0L3NyYy9jb250cm9scy91cGxvYWQvZHJvcHpvbmVtdWx0aXBsZS50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NhYy1ib290c3RyYXA0L3NyYy9jb250cm9scy91cGxvYWQvZHJvcHpvbmVtdWx0aXBsZS5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNsRSxPQUFPLEVBQ0wsU0FBUyxFQUNULElBQUksRUFJSixRQUFRLEVBRVIsVUFBVSxHQUNYLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxhQUFhLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQzs7O0FBRzlFOzs7R0FHRztBQUNILE1BbUJhLDRCQUNYLFNBQVEseUJBQXlCO0lBR2pDOzs7Ozs7T0FNRztJQUNILFlBQ3NCLE1BQXdCLEVBQzVDLFFBQWtCLEVBQ2xCLFFBQW1CLEVBQ25CLE1BQWM7UUFFZCxLQUFLLENBQUMsTUFBTSxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDNUMsQ0FBQztJQUVEOztPQUVHO0lBQ0gsUUFBUTtRQUNOLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUNuQixDQUFDOytHQXpCVSw0QkFBNEI7bUdBQTVCLDRCQUE0QixtRUFmNUI7WUFDVDtnQkFDRSxPQUFPLEVBQUUsaUJBQWlCO2dCQUMxQixLQUFLLEVBQUUsSUFBSTtnQkFDWCxXQUFXLEVBQUUsNEJBQTRCO2FBQzFDO1lBQ0Q7Z0JBQ0UsT0FBTyxFQUFFLGFBQWE7Z0JBQ3RCLEtBQUssRUFBRSxJQUFJO2dCQUNYLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsNEJBQTRCLENBQUM7YUFDNUQ7U0FDRixpRENsQ0gsMjZHQThGQSwydUJEMURZLElBQUksNkZBQUUsT0FBTyxvRkFBRSxLQUFLLDhHQUFFLFNBQVM7O1NBRTlCLDRCQUE0Qjs0RkFBNUIsNEJBQTRCO2tCQW5CeEMsU0FBUzsrQkFDRSxzQkFBc0IsYUFHckI7d0JBQ1Q7NEJBQ0UsT0FBTyxFQUFFLGlCQUFpQjs0QkFDMUIsS0FBSyxFQUFFLElBQUk7NEJBQ1gsV0FBVyw4QkFBOEI7eUJBQzFDO3dCQUNEOzRCQUNFLE9BQU8sRUFBRSxhQUFhOzRCQUN0QixLQUFLLEVBQUUsSUFBSTs0QkFDWCxXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSw2QkFBNkIsQ0FBQzt5QkFDNUQ7cUJBQ0YsY0FDVyxJQUFJLFdBQ1AsQ0FBQyxJQUFJLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxTQUFTLENBQUM7OzBCQWN2QyxJQUFJOzswQkFBSSxRQUFRIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQXN5bmNQaXBlLCBOZ0NsYXNzLCBOZ0ZvciwgTmdJZiB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7XHJcbiAgQ29tcG9uZW50LFxyXG4gIEhvc3QsXHJcbiAgSW5qZWN0b3IsXHJcbiAgTmdab25lLFxyXG4gIE9uSW5pdCxcclxuICBPcHRpb25hbCxcclxuICBSZW5kZXJlcjIsXHJcbiAgZm9yd2FyZFJlZixcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTkdfVkFMSURBVE9SUywgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IFNhY0Ryb3B6b25lTXVsdGlwbGVDb21tb24gfSBmcm9tICdAc2ltcGxlYW5ndWxhcmNvbnRyb2xzL3NhYy1jb21tb24nO1xyXG5pbXBvcnQgeyBTYWNGb3JtRGlyZWN0aXZlIH0gZnJvbSAnLi4vZm9ybS9mb3JtJztcclxuXHJcbi8qKlxyXG4gKiBEcm9wem9uZSBLb21wb25lbnRlIGbDvHIgbWVocmVyZSBVcGxvYWRzXHJcbiAqIEBzZWUgaHR0cHM6Ly9naXRodWIuY29tL2t1a2hhcmlldi9uZ3gtdXBsb2FkeC9cclxuICovXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnc2FjLWRyb3B6b25lbXVsdGlwbGUnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9kcm9wem9uZW11bHRpcGxlLmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2Ryb3B6b25lLnNjc3MnXSxcclxuICBwcm92aWRlcnM6IFtcclxuICAgIHtcclxuICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXHJcbiAgICAgIG11bHRpOiB0cnVlLFxyXG4gICAgICB1c2VFeGlzdGluZzogU2FjRHJvcHpvbmVNdWx0aXBsZUNvbXBvbmVudCxcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTElEQVRPUlMsXHJcbiAgICAgIG11bHRpOiB0cnVlLFxyXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBTYWNEcm9wem9uZU11bHRpcGxlQ29tcG9uZW50KSxcclxuICAgIH0sXHJcbiAgXSxcclxuICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gIGltcG9ydHM6IFtOZ0lmLCBOZ0NsYXNzLCBOZ0ZvciwgQXN5bmNQaXBlXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIFNhY0Ryb3B6b25lTXVsdGlwbGVDb21wb25lbnRcclxuICBleHRlbmRzIFNhY0Ryb3B6b25lTXVsdGlwbGVDb21tb25cclxuICBpbXBsZW1lbnRzIE9uSW5pdFxyXG57XHJcbiAgLyoqXHJcbiAgICogS29uc3RydWt0b3JcclxuICAgKiBAcGFyYW0gcGFyZW50IEZvcm11bGFyXHJcbiAgICogQHBhcmFtIGluamVjdG9yIEFuZ3VsYXIgRGVwZW5kZW5jeSBJbmplY3Rpb24gU2VydmljZVxyXG4gICAqIEBwYXJhbSByZW5kZXJlciBBbmd1bGFyIFJlbmRlcmluZyBFbmdpbmVcclxuICAgKiBAcGFyYW0gbmdab25lIG5nWm9uZVxyXG4gICAqL1xyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgQEhvc3QoKSBAT3B0aW9uYWwoKSBwYXJlbnQ6IFNhY0Zvcm1EaXJlY3RpdmUsXHJcbiAgICBpbmplY3RvcjogSW5qZWN0b3IsXHJcbiAgICByZW5kZXJlcjogUmVuZGVyZXIyLFxyXG4gICAgbmdab25lOiBOZ1pvbmVcclxuICApIHtcclxuICAgIHN1cGVyKHBhcmVudCwgaW5qZWN0b3IsIHJlbmRlcmVyLCBuZ1pvbmUpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogSW5pdGlhbGlzaWVydCBkYXMgQ29udHJvbFxyXG4gICAqL1xyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgc3VwZXIubmdPbkluaXQoKTtcclxuICB9XHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cInJvdyBmb3JtLWdyb3VwXCIgW2NsYXNzLm5vLWd1dHRlcnNdPVwiZGlzYWJsZWxhYmVsXCI+XHJcbiAgPGxhYmVsXHJcbiAgICAqbmdJZj1cImRpc2FibGVsYWJlbCA9PT0gZmFsc2UgJiYgIWlzYWRhcHRpdmVsYWJlbFwiXHJcbiAgICBpZD1cInt7bmFtZX19X2xhYmVsXCJcclxuICAgIGZvcj1cInt7bmFtZX19XCJcclxuICAgIGNsYXNzPVwiY29sLTEyIGNvbC1mb3JtLWxhYmVsXCJcclxuICAgIFtuZ0NsYXNzXT1cIltsYWJlbHNpemUgIT09IDEyID8gICdjb2wtbWQtJyArIGxhYmVsc2l6ZSA6ICdzci1vbmx5J11cIlxyXG4gICAgPnt7bGFiZWx9fTwvbGFiZWxcclxuICA+XHJcbiAgPGRpdlxyXG4gICAgY2xhc3M9XCJjb2wtMTJcIlxyXG4gICAgW25nQ2xhc3NdPVwiW2Rpc2FibGVsYWJlbCA9PT0gZmFsc2UgPyAnY29sLW1kLScgKyBfaW5wdXRzaXplIDogJ2NvbC1tZC0xMiddXCJcclxuICA+XHJcbiAgICA8ZGl2XHJcbiAgICAgIGNsYXNzPVwiZHJvcHpvbmUgZC1mbGV4IGp1c3RpZnktY29udGVudC1jZW50ZXIgcG9zaXRpb24tcmVsYXRpdmVcIlxyXG4gICAgICAoZHJvcCk9XCJkcm9wSGFuZGxlcigkZXZlbnQpXCJcclxuICAgICAgKGRyYWdvdmVyKT1cIm9uRHJhZ092ZXIoJGV2ZW50KVwiXHJcbiAgICAgIChkcmFnbGVhdmUpPVwib25EcmFnTGVhdmUoJGV2ZW50KVwiXHJcbiAgICAgIFtjbGFzcy5hY3RpdmVdPVwiYWN0aXZlXCJcclxuICAgICAgW3N0eWxlLm1pbi1oZWlnaHRdPVwidXBsb2FkaGVpZ2h0XCJcclxuICAgICAgW2NsYXNzLmlzLWludmFsaWRdPVwiaW52YWxpZCAmJiAoZGlydHkgfHwgdG91Y2hlZClcIlxyXG4gICAgPlxyXG4gICAgICA8ZGl2XHJcbiAgICAgICAgY2xhc3M9XCJjb250ZW50IGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyXCJcclxuICAgICAgICAqbmdJZj1cInVwbG9hZHMubGVuZ3RoID09PSAwXCJcclxuICAgICAgPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJhbGlnbi1zZWxmLWNlbnRlciB0ZXh0LWNlbnRlclwiPlxyXG4gICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICBbY2xhc3MuaXMtaW52YWxpZF09XCJpc2lubGluZWVycm9yZW5hYmxlZCAmJiBpbnZhbGlkICYmIChkaXJ0eSB8fCB0b3VjaGVkKVwiXHJcbiAgICAgICAgICA+XHJcbiAgICAgICAgICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgPGRpdlxyXG4gICAgICAgIGNsYXNzPVwiY29udGVudCBkLWZsZXgganVzdGlmeS1jb250ZW50LWNlbnRlclwiXHJcbiAgICAgICAgKm5nSWY9XCJ1cGxvYWRzLmxlbmd0aCA+IDBcIlxyXG4gICAgICA+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImFsaWduLXNlbGYtY2VudGVyIHByb2dyZXNzLWNvbnRhaW5lclwiPlxyXG4gICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICBjbGFzcz1cImRyb3B6b25lLXVwbG9hZHN0YXRlc1wiXHJcbiAgICAgICAgICAgIFtjbGFzcy5tdC0xXT1cImkgPiAwXCJcclxuICAgICAgICAgICAgKm5nRm9yPVwibGV0IGZpbGUgb2YgdXBsb2FkczsgbGV0IGkgPSBpbmRleFwiXHJcbiAgICAgICAgICA+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJpbnB1dC1ncm91cCB1cGxvYWQtY29tcG9uZW50IHVwbG9hZC1jb21wb25lbnQtbXVsdGlwbGVcIj5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZm9ybS1jb250cm9sIHVwbG9hZC1wcm9ncmVzcyBib3JkZXItc2Vjb25kYXJ5XCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicHJvZ3Jlc3NcIj5cclxuICAgICAgICAgICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwicHJvZ3Jlc3MtYmFyXCJcclxuICAgICAgICAgICAgICAgICAgICBbY2xhc3MucHJvZ3Jlc3MtYmFyLXN1Y2Nlc3NdPVwiZmlsZS5wcm9ncmVzcz09PTEwMFwiXHJcbiAgICAgICAgICAgICAgICAgICAgcm9sZT1cInByb2dyZXNzYmFyXCJcclxuICAgICAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLXZhbHVlbm93XT1cImZpbGUucHJvZ3Jlc3NcIlxyXG4gICAgICAgICAgICAgICAgICAgIGFyaWEtdmFsdWVtaW49XCIwXCJcclxuICAgICAgICAgICAgICAgICAgICBhcmlhLXZhbHVlbWF4PVwiMTAwXCJcclxuICAgICAgICAgICAgICAgICAgICBbc3R5bGUud2lkdGguJV09XCJmaWxlLnByb2dyZXNzXCJcclxuICAgICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwicHJvZ3Jlc3MtdGV4dCB0ZXh0LWRhcmtcIj57eyBmaWxlLm5hbWUgfX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImlucHV0LWdyb3VwLWFwcGVuZFwiPlxyXG4gICAgICAgICAgICAgICAgPCEtLSBpbWFnZS1wcmV2aWV3LWNsZWFyIGJ1dHRvbiAtLT5cclxuICAgICAgICAgICAgICAgIDxhXHJcbiAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYnRuXCJcclxuICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImNhbmNlbChmaWxlLnVwbG9hZElkKVwiXHJcbiAgICAgICAgICAgICAgICAgIFtjbGFzcy5idG4tc2Vjb25kYXJ5XT1cIiEoaW52YWxpZCAmJiAoZGlydHkgfHwgdG91Y2hlZCkpXCJcclxuICAgICAgICAgICAgICAgICAgW2NsYXNzLmJ0bi1kYW5nZXJdPVwiaW52YWxpZCAmJiAoZGlydHkgfHwgdG91Y2hlZClcIlxyXG4gICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICA8c3BhbiBbY2xhc3NdPVwiSWNvbkRlbGV0ZVwiPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgIDwvYT5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIDxpbnB1dFxyXG4gICAgICAgICNmaWxlc1xyXG4gICAgICAgIG11bHRpcGxlXHJcbiAgICAgICAgaWQ9XCJ7eyBuYW1lIH19X3VwbG9hZGlucHV0XCJcclxuICAgICAgICB0eXBlPVwiZmlsZVwiXHJcbiAgICAgICAgY2xhc3M9XCJjdXN0b20tZmlsZS1pbnB1dFwiXHJcbiAgICAgICAgKGNsaWNrKT1cImZpbGVzLnZhbHVlID0gJydcIlxyXG4gICAgICAgICh1cGxvYWR4U3RhdGUpPVwib25VcGxvYWQoJGV2ZW50KVwiXHJcbiAgICAgICAgW2Rpc2FibGVkXT1cIkhhc1F1ZXVlSXRlbSgpXCJcclxuICAgICAgLz5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdlxyXG4gICAgICAqbmdJZj1cImlzaW5saW5lZXJyb3JlbmFibGVkICYmIGludmFsaWQgJiYgKGRpcnR5IHx8IHRvdWNoZWQpXCJcclxuICAgICAgY2xhc3M9XCJpbnZhbGlkLWZlZWRiYWNrXCJcclxuICAgID5cclxuICAgICAge3sgR2V0RXJyb3JNZXNzYWdlKCkgfCBhc3luYyB9fVxyXG4gICAgPC9kaXY+XHJcbiAgPC9kaXY+XHJcbjwvZGl2PlxyXG4iXX0=
74
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcHpvbmVtdWx0aXBsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NhYy1ib290c3RyYXA0L3NyYy9jb250cm9scy91cGxvYWQvZHJvcHpvbmVtdWx0aXBsZS50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NhYy1ib290c3RyYXA0L3NyYy9jb250cm9scy91cGxvYWQvZHJvcHpvbmVtdWx0aXBsZS5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNsRSxPQUFPLEVBQ0wsU0FBUyxFQUNULElBQUksRUFJSixRQUFRLEVBRVIsVUFBVSxHQUNYLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxhQUFhLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUU5RSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUM1RSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQzs7O0FBRXhFOzs7R0FHRztBQUNILE1BMEJhLDRCQUNYLFNBQVEseUJBQXlCO0lBR2pDLHVCQUF1QjtJQUV2Qjs7Ozs7O09BTUc7SUFDSCxZQUNzQixVQUFrQyxFQUN0RCxRQUFrQixFQUNsQixRQUFtQixFQUNuQixNQUFjO1FBRWQsS0FBSyxDQUFDLFVBQVUsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQ2hELENBQUM7SUFFRCwwQkFBMEI7SUFFMUIseUJBQXlCO0lBRXpCOztPQUVHO0lBQ0ksUUFBUTtRQUNiLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUNuQixDQUFDOytHQS9CVSw0QkFBNEI7bUdBQTVCLDRCQUE0QixtRUF0QjVCO1lBQ1Q7Z0JBQ0UsT0FBTyxFQUFFLGlCQUFpQjtnQkFDMUIsS0FBSyxFQUFFLElBQUk7Z0JBQ1gsV0FBVyxFQUFFLDRCQUE0QjthQUMxQztZQUNEO2dCQUNFLE9BQU8sRUFBRSxhQUFhO2dCQUN0QixLQUFLLEVBQUUsSUFBSTtnQkFDWCxXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLDRCQUE0QixDQUFDO2FBQzVEO1NBQ0YsaURDcENILHM4R0E4RkEsMnVCRHZESSxJQUFJLDZGQUNKLE9BQU8sb0ZBQ1AsS0FBSyw4R0FDTCxTQUFTLHlDQUNULHNCQUFzQixtREFDdEIsd0JBQXdCOztTQUdmLDRCQUE0Qjs0RkFBNUIsNEJBQTRCO2tCQTFCeEMsU0FBUzsrQkFDRSxzQkFBc0IsYUFHckI7d0JBQ1Q7NEJBQ0UsT0FBTyxFQUFFLGlCQUFpQjs0QkFDMUIsS0FBSyxFQUFFLElBQUk7NEJBQ1gsV0FBVyw4QkFBOEI7eUJBQzFDO3dCQUNEOzRCQUNFLE9BQU8sRUFBRSxhQUFhOzRCQUN0QixLQUFLLEVBQUUsSUFBSTs0QkFDWCxXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSw2QkFBNkIsQ0FBQzt5QkFDNUQ7cUJBQ0YsY0FDVyxJQUFJLFdBQ1A7d0JBQ1AsSUFBSTt3QkFDSixPQUFPO3dCQUNQLEtBQUs7d0JBQ0wsU0FBUzt3QkFDVCxzQkFBc0I7d0JBQ3RCLHdCQUF3QjtxQkFDekI7OzBCQWdCRSxJQUFJOzswQkFBSSxRQUFRIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQXN5bmNQaXBlLCBOZ0NsYXNzLCBOZ0ZvciwgTmdJZiB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7XHJcbiAgQ29tcG9uZW50LFxyXG4gIEhvc3QsXHJcbiAgSW5qZWN0b3IsXHJcbiAgTmdab25lLFxyXG4gIE9uSW5pdCxcclxuICBPcHRpb25hbCxcclxuICBSZW5kZXJlcjIsXHJcbiAgZm9yd2FyZFJlZixcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTkdfVkFMSURBVE9SUywgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IFNhY0Ryb3B6b25lTXVsdGlwbGVDb21tb24gfSBmcm9tICdAc2ltcGxlYW5ndWxhcmNvbnRyb2xzL3NhYy1jb21tb24nO1xyXG5pbXBvcnQgeyBTYWNGb3JtTGF5b3V0RGlyZWN0aXZlIH0gZnJvbSAnLi4vbGF5b3V0L2Zvcm1sYXlvdXQuZGlyZWN0aXZlJztcclxuaW1wb3J0IHsgU2FjVG9Db250cm9sV2lkdGhDc3NQaXBlIH0gZnJvbSAnLi4vbGF5b3V0L3RvY29udHJvbHdpZHRoY3NzLnBpcGUnO1xyXG5pbXBvcnQgeyBTYWNUb0xhYmVsV2lkdGhDc3NQaXBlIH0gZnJvbSAnLi4vbGF5b3V0L3RvbGFiZWx3aWR0aGNzcy5waXBlJztcclxuXHJcbi8qKlxyXG4gKiBEcm9wem9uZSBLb21wb25lbnRlIGbDvHIgbWVocmVyZSBVcGxvYWRzXHJcbiAqIEBzZWUgaHR0cHM6Ly9naXRodWIuY29tL2t1a2hhcmlldi9uZ3gtdXBsb2FkeC9cclxuICovXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnc2FjLWRyb3B6b25lbXVsdGlwbGUnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9kcm9wem9uZW11bHRpcGxlLmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2Ryb3B6b25lLnNjc3MnXSxcclxuICBwcm92aWRlcnM6IFtcclxuICAgIHtcclxuICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXHJcbiAgICAgIG11bHRpOiB0cnVlLFxyXG4gICAgICB1c2VFeGlzdGluZzogU2FjRHJvcHpvbmVNdWx0aXBsZUNvbXBvbmVudCxcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTElEQVRPUlMsXHJcbiAgICAgIG11bHRpOiB0cnVlLFxyXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBTYWNEcm9wem9uZU11bHRpcGxlQ29tcG9uZW50KSxcclxuICAgIH0sXHJcbiAgXSxcclxuICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gIGltcG9ydHM6IFtcclxuICAgIE5nSWYsXHJcbiAgICBOZ0NsYXNzLFxyXG4gICAgTmdGb3IsXHJcbiAgICBBc3luY1BpcGUsXHJcbiAgICBTYWNUb0xhYmVsV2lkdGhDc3NQaXBlLFxyXG4gICAgU2FjVG9Db250cm9sV2lkdGhDc3NQaXBlLFxyXG4gIF0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTYWNEcm9wem9uZU11bHRpcGxlQ29tcG9uZW50XHJcbiAgZXh0ZW5kcyBTYWNEcm9wem9uZU11bHRpcGxlQ29tbW9uXHJcbiAgaW1wbGVtZW50cyBPbkluaXRcclxue1xyXG4gIC8vICNyZWdpb24gQ29uc3RydWN0b3JzXHJcblxyXG4gIC8qKlxyXG4gICAqIENvbnN0cnVjdG9yXHJcbiAgICogQHBhcmFtIGZvcm1MYXlvdXQgU2FjRm9ybUxheW91dCB0byBkZWZpbmUgc2NvcGVkIGxheW91dCBzZXR0aW5nc1xyXG4gICAqIEBwYXJhbSBpbmplY3RvciBJbmplY3RvciBmb3IgaW5qZWN0aW5nIHNlcnZpY2VzXHJcbiAgICogQHBhcmFtIHJlbmRlcmVyIEFuZ3VsYXIgcmVuZGVyaW5nIGVuZ2luZVxyXG4gICAqIEBwYXJhbSBuZ1pvbmUgbmdab25lIHRvIG1hbmFnZSBleHRlcm5hbCBqYXZhc2NyaXB0c1xyXG4gICAqL1xyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgQEhvc3QoKSBAT3B0aW9uYWwoKSBmb3JtTGF5b3V0OiBTYWNGb3JtTGF5b3V0RGlyZWN0aXZlLFxyXG4gICAgaW5qZWN0b3I6IEluamVjdG9yLFxyXG4gICAgcmVuZGVyZXI6IFJlbmRlcmVyMixcclxuICAgIG5nWm9uZTogTmdab25lXHJcbiAgKSB7XHJcbiAgICBzdXBlcihmb3JtTGF5b3V0LCBpbmplY3RvciwgcmVuZGVyZXIsIG5nWm9uZSk7XHJcbiAgfVxyXG5cclxuICAvLyAjZW5kcmVnaW9uIENvbnN0cnVjdG9yc1xyXG5cclxuICAvLyAjcmVnaW9uIFB1YmxpYyBNZXRob2RzXHJcblxyXG4gIC8qKlxyXG4gICAqIEluaXRpYWxpc2llcnQgZGFzIENvbnRyb2xcclxuICAgKi9cclxuICBwdWJsaWMgbmdPbkluaXQoKSB7XHJcbiAgICBzdXBlci5uZ09uSW5pdCgpO1xyXG4gIH1cclxuXHJcbiAgLy8gI2VuZHJlZ2lvbiBQdWJsaWMgTWV0aG9kc1xyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJyb3cgZm9ybS1ncm91cFwiIFtjbGFzcy5uby1ndXR0ZXJzXT1cImRpc2FibGVsYWJlbFwiPlxyXG4gIDxsYWJlbFxyXG4gICAgKm5nSWY9XCJkaXNhYmxlbGFiZWwgPT09IGZhbHNlICYmICFpc0FkYXB0aXZlTGFiZWxcIlxyXG4gICAgaWQ9XCJ7e25hbWV9fV9sYWJlbFwiXHJcbiAgICBmb3I9XCJ7e25hbWV9fVwiXHJcbiAgICBjbGFzcz1cImNvbC0xMiBjb2wtZm9ybS1sYWJlbFwiXHJcbiAgICBbbmdDbGFzc109XCJbZGlzYWJsZWxhYmVsID09PSBmYWxzZSA/ICh0aGlzLmxhYmVsU2l6ZXMgfCB0b0xhYmVsV2lkdGhDc3MpIDogJ3NyLW9ubHknIF1cIlxyXG4gICAgPnt7bGFiZWx9fTwvbGFiZWxcclxuICA+XHJcbiAgPGRpdlxyXG4gICAgY2xhc3M9XCJjb2wtMTJcIlxyXG4gICAgW25nQ2xhc3NdPVwiW2Rpc2FibGVsYWJlbCA9PT0gZmFsc2UgPyAgKHRoaXMubGFiZWxTaXplcyB8IHRvQ29udHJvbFdpZHRoQ3NzKSA6ICcnXVwiXHJcbiAgPlxyXG4gICAgPGRpdlxyXG4gICAgICBjbGFzcz1cImRyb3B6b25lIGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIHBvc2l0aW9uLXJlbGF0aXZlXCJcclxuICAgICAgKGRyb3ApPVwiZHJvcEhhbmRsZXIoJGV2ZW50KVwiXHJcbiAgICAgIChkcmFnb3Zlcik9XCJvbkRyYWdPdmVyKCRldmVudClcIlxyXG4gICAgICAoZHJhZ2xlYXZlKT1cIm9uRHJhZ0xlYXZlKCRldmVudClcIlxyXG4gICAgICBbY2xhc3MuYWN0aXZlXT1cImFjdGl2ZVwiXHJcbiAgICAgIFtzdHlsZS5taW4taGVpZ2h0XT1cInVwbG9hZGhlaWdodFwiXHJcbiAgICAgIFtjbGFzcy5pcy1pbnZhbGlkXT1cImludmFsaWQgJiYgKGRpcnR5IHx8IHRvdWNoZWQpXCJcclxuICAgID5cclxuICAgICAgPGRpdlxyXG4gICAgICAgIGNsYXNzPVwiY29udGVudCBkLWZsZXgganVzdGlmeS1jb250ZW50LWNlbnRlclwiXHJcbiAgICAgICAgKm5nSWY9XCJ1cGxvYWRzLmxlbmd0aCA9PT0gMFwiXHJcbiAgICAgID5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiYWxpZ24tc2VsZi1jZW50ZXIgdGV4dC1jZW50ZXJcIj5cclxuICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgW2NsYXNzLmlzLWludmFsaWRdPVwiaXNpbmxpbmVlcnJvcmVuYWJsZWQgJiYgaW52YWxpZCAmJiAoZGlydHkgfHwgdG91Y2hlZClcIlxyXG4gICAgICAgICAgPlxyXG4gICAgICAgICAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIDxkaXZcclxuICAgICAgICBjbGFzcz1cImNvbnRlbnQgZC1mbGV4IGp1c3RpZnktY29udGVudC1jZW50ZXJcIlxyXG4gICAgICAgICpuZ0lmPVwidXBsb2Fkcy5sZW5ndGggPiAwXCJcclxuICAgICAgPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJhbGlnbi1zZWxmLWNlbnRlciBwcm9ncmVzcy1jb250YWluZXJcIj5cclxuICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgY2xhc3M9XCJkcm9wem9uZS11cGxvYWRzdGF0ZXNcIlxyXG4gICAgICAgICAgICBbY2xhc3MubXQtMV09XCJpID4gMFwiXHJcbiAgICAgICAgICAgICpuZ0Zvcj1cImxldCBmaWxlIG9mIHVwbG9hZHM7IGxldCBpID0gaW5kZXhcIlxyXG4gICAgICAgICAgPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaW5wdXQtZ3JvdXAgdXBsb2FkLWNvbXBvbmVudCB1cGxvYWQtY29tcG9uZW50LW11bHRpcGxlXCI+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZvcm0tY29udHJvbCB1cGxvYWQtcHJvZ3Jlc3MgYm9yZGVyLXNlY29uZGFyeVwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInByb2dyZXNzXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInByb2dyZXNzLWJhclwiXHJcbiAgICAgICAgICAgICAgICAgICAgW2NsYXNzLnByb2dyZXNzLWJhci1zdWNjZXNzXT1cImZpbGUucHJvZ3Jlc3M9PT0xMDBcIlxyXG4gICAgICAgICAgICAgICAgICAgIHJvbGU9XCJwcm9ncmVzc2JhclwiXHJcbiAgICAgICAgICAgICAgICAgICAgW2F0dHIuYXJpYS12YWx1ZW5vd109XCJmaWxlLnByb2dyZXNzXCJcclxuICAgICAgICAgICAgICAgICAgICBhcmlhLXZhbHVlbWluPVwiMFwiXHJcbiAgICAgICAgICAgICAgICAgICAgYXJpYS12YWx1ZW1heD1cIjEwMFwiXHJcbiAgICAgICAgICAgICAgICAgICAgW3N0eWxlLndpZHRoLiVdPVwiZmlsZS5wcm9ncmVzc1wiXHJcbiAgICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInByb2dyZXNzLXRleHQgdGV4dC1kYXJrXCI+e3sgZmlsZS5uYW1lIH19PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJpbnB1dC1ncm91cC1hcHBlbmRcIj5cclxuICAgICAgICAgICAgICAgIDwhLS0gaW1hZ2UtcHJldmlldy1jbGVhciBidXR0b24gLS0+XHJcbiAgICAgICAgICAgICAgICA8YVxyXG4gICAgICAgICAgICAgICAgICBjbGFzcz1cImJ0blwiXHJcbiAgICAgICAgICAgICAgICAgIChjbGljayk9XCJjYW5jZWwoZmlsZS51cGxvYWRJZClcIlxyXG4gICAgICAgICAgICAgICAgICBbY2xhc3MuYnRuLXNlY29uZGFyeV09XCIhKGludmFsaWQgJiYgKGRpcnR5IHx8IHRvdWNoZWQpKVwiXHJcbiAgICAgICAgICAgICAgICAgIFtjbGFzcy5idG4tZGFuZ2VyXT1cImludmFsaWQgJiYgKGRpcnR5IHx8IHRvdWNoZWQpXCJcclxuICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAgPHNwYW4gW2NsYXNzXT1cIkljb25EZWxldGVcIj48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICA8L2E+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8aW5wdXRcclxuICAgICAgICAjZmlsZXNcclxuICAgICAgICBtdWx0aXBsZVxyXG4gICAgICAgIGlkPVwie3sgbmFtZSB9fV91cGxvYWRpbnB1dFwiXHJcbiAgICAgICAgdHlwZT1cImZpbGVcIlxyXG4gICAgICAgIGNsYXNzPVwiY3VzdG9tLWZpbGUtaW5wdXRcIlxyXG4gICAgICAgIChjbGljayk9XCJmaWxlcy52YWx1ZSA9ICcnXCJcclxuICAgICAgICAodXBsb2FkeFN0YXRlKT1cIm9uVXBsb2FkKCRldmVudClcIlxyXG4gICAgICAgIFtkaXNhYmxlZF09XCJIYXNRdWV1ZUl0ZW0oKVwiXHJcbiAgICAgIC8+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXZcclxuICAgICAgKm5nSWY9XCJpc2lubGluZWVycm9yZW5hYmxlZCAmJiBpbnZhbGlkICYmIChkaXJ0eSB8fCB0b3VjaGVkKVwiXHJcbiAgICAgIGNsYXNzPVwiaW52YWxpZC1mZWVkYmFja1wiXHJcbiAgICA+XHJcbiAgICAgIHt7IEdldEVycm9yTWVzc2FnZSgpIHwgYXN5bmMgfX1cclxuICAgIDwvZGl2PlxyXG4gIDwvZGl2PlxyXG48L2Rpdj5cclxuIl19