@simpleangularcontrols/sac-bootstrap5 16.0.0-rc.2 → 16.0.0-rc.20

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 (145) hide show
  1. package/README.md +17 -17
  2. package/components/browser/browser.d.ts +6 -6
  3. package/controls/buttons/index.d.ts +1 -0
  4. package/controls/checkbox/checkbox.d.ts +5 -5
  5. package/controls/checkbox/radiobutton.d.ts +7 -3
  6. package/controls/checkbox/radiobuttons.d.ts +5 -5
  7. package/controls/confirm/confirm.service.d.ts +8 -8
  8. package/controls/contextmenu/contextmenu.d.ts +6 -6
  9. package/controls/contextmenu/contextmenuanchor.d.ts +2 -2
  10. package/controls/contextmenu/contextmenucontainer.d.ts +2 -2
  11. package/controls/contextmenu/contextmenuitembutton.d.ts +3 -4
  12. package/controls/datetime/date.d.ts +9 -8
  13. package/controls/datetime/datetime.d.ts +9 -8
  14. package/controls/datetime/time.d.ts +9 -8
  15. package/controls/dialog/index.d.ts +1 -0
  16. package/controls/form/form.d.ts +3 -11
  17. package/controls/form/inheritform.directive.d.ts +16 -39
  18. package/controls/grid/grid.d.ts +2 -2
  19. package/controls/grid/gridbutton.d.ts +1 -10
  20. package/controls/input/input.d.ts +5 -5
  21. package/controls/input/inputarea.d.ts +5 -5
  22. package/controls/input/inputcurrency.d.ts +5 -5
  23. package/controls/input/inputdecimal.d.ts +5 -5
  24. package/controls/input/inputemail.d.ts +5 -5
  25. package/controls/input/inputinteger.d.ts +5 -5
  26. package/controls/input/inputpassword.d.ts +5 -5
  27. package/controls/input/inputsearch.d.ts +5 -5
  28. package/controls/layout/formlayout.directive.d.ts +6 -0
  29. package/controls/layout/layout.module.d.ts +12 -0
  30. package/controls/layout/tocontrolheight.pipe.d.ts +12 -0
  31. package/controls/layout/tocontrolwidthcss.pipe.d.ts +19 -0
  32. package/controls/layout/tolabelheight.pipe.d.ts +12 -0
  33. package/controls/layout/tolabelwidthcss.pipe.d.ts +13 -0
  34. package/controls/list/dropdown.d.ts +10 -10
  35. package/controls/list/listbox.d.ts +8 -8
  36. package/controls/multilanguage/multilanguageinput.d.ts +5 -5
  37. package/controls/multilanguage/multilanguageinputarea.d.ts +5 -5
  38. package/controls/multilanguage/multilanguagemenu.d.ts +9 -9
  39. package/controls/multilanguage/multilanguagemenuanchor.d.ts +2 -2
  40. package/controls/multilanguage/multilanguagemenucontainer.d.ts +2 -2
  41. package/controls/multilanguage/multilanguagemenuitembutton.d.ts +3 -4
  42. package/controls/static/formcontainer.d.ts +7 -7
  43. package/controls/static/staticlabel.d.ts +5 -5
  44. package/controls/tinymce/tinymce.d.ts +7 -7
  45. package/controls/tooltip/tooltip.d.ts +37 -0
  46. package/controls/tooltip/tooltip.module.d.ts +8 -0
  47. package/controls/treeview/treeview.d.ts +17 -0
  48. package/controls/treeview/treeview.module.d.ts +8 -0
  49. package/controls/upload/dropzonemultiple.d.ts +7 -7
  50. package/controls/upload/dropzonesingle.d.ts +7 -7
  51. package/controls/upload/upload.d.ts +7 -7
  52. package/controls/upload/uploadmultiple.d.ts +7 -7
  53. package/controls/validation/validationsummary.d.ts +4 -4
  54. package/esm2022/components/browser/browser.mjs +19 -15
  55. package/esm2022/components/browser/browser.module.mjs +1 -1
  56. package/esm2022/controls/buttons/button.mjs +3 -3
  57. package/esm2022/controls/buttons/button.module.mjs +1 -1
  58. package/esm2022/controls/buttons/index.mjs +2 -0
  59. package/esm2022/controls/checkbox/checkbox.mjs +25 -18
  60. package/esm2022/controls/checkbox/checkbox.module.mjs +1 -1
  61. package/esm2022/controls/checkbox/radiobutton.mjs +18 -9
  62. package/esm2022/controls/checkbox/radiobuttons.mjs +26 -19
  63. package/esm2022/controls/confirm/confirm.mjs +3 -3
  64. package/esm2022/controls/confirm/confirm.module.mjs +1 -1
  65. package/esm2022/controls/confirm/confirm.service.mjs +30 -15
  66. package/esm2022/controls/contextmenu/contextmenu.mjs +14 -28
  67. package/esm2022/controls/contextmenu/contextmenu.module.mjs +12 -8
  68. package/esm2022/controls/contextmenu/contextmenuanchor.mjs +5 -4
  69. package/esm2022/controls/contextmenu/contextmenucontainer.mjs +5 -4
  70. package/esm2022/controls/contextmenu/contextmenuitembutton.mjs +22 -13
  71. package/esm2022/controls/contextmenu/contextmenuitemsplitter.mjs +14 -4
  72. package/esm2022/controls/contextmenu/index.mjs +1 -1
  73. package/esm2022/controls/datetime/date.mjs +42 -22
  74. package/esm2022/controls/datetime/dateselector.mjs +4 -9
  75. package/esm2022/controls/datetime/datetime.mjs +34 -17
  76. package/esm2022/controls/datetime/datetime.module.mjs +1 -1
  77. package/esm2022/controls/datetime/time.mjs +35 -18
  78. package/esm2022/controls/dialog/dialog.mjs +3 -3
  79. package/esm2022/controls/dialog/dialog.module.mjs +1 -1
  80. package/esm2022/controls/dialog/index.mjs +2 -0
  81. package/esm2022/controls/form/form.mjs +6 -17
  82. package/esm2022/controls/form/form.module.mjs +1 -1
  83. package/esm2022/controls/form/inheritform.directive.mjs +46 -63
  84. package/esm2022/controls/grid/grid.mjs +9 -7
  85. package/esm2022/controls/grid/grid.module.mjs +1 -1
  86. package/esm2022/controls/grid/gridbutton.mjs +5 -13
  87. package/esm2022/controls/grid/gridcolumn.mjs +3 -3
  88. package/esm2022/controls/grid/gridcolumnaction.mjs +3 -3
  89. package/esm2022/controls/grid/gridimage.mjs +3 -3
  90. package/esm2022/controls/grid/paging.mjs +14 -11
  91. package/esm2022/controls/input/input.mjs +27 -13
  92. package/esm2022/controls/input/input.module.mjs +1 -1
  93. package/esm2022/controls/input/inputarea.mjs +28 -14
  94. package/esm2022/controls/input/inputcurrency.mjs +27 -13
  95. package/esm2022/controls/input/inputdecimal.mjs +28 -14
  96. package/esm2022/controls/input/inputemail.mjs +27 -13
  97. package/esm2022/controls/input/inputinteger.mjs +27 -13
  98. package/esm2022/controls/input/inputpassword.mjs +27 -13
  99. package/esm2022/controls/input/inputsearch.mjs +27 -13
  100. package/esm2022/controls/layout/formlayout.directive.mjs +16 -0
  101. package/esm2022/controls/layout/layout.module.mjs +44 -0
  102. package/esm2022/controls/layout/tocontrolheight.pipe.mjs +35 -0
  103. package/esm2022/controls/layout/tocontrolwidthcss.pipe.mjs +59 -0
  104. package/esm2022/controls/layout/tolabelheight.pipe.mjs +35 -0
  105. package/esm2022/controls/layout/tolabelwidthcss.pipe.mjs +43 -0
  106. package/esm2022/controls/list/dropdown.mjs +34 -24
  107. package/esm2022/controls/list/dropdown.module.mjs +1 -1
  108. package/esm2022/controls/list/list.module.mjs +1 -1
  109. package/esm2022/controls/list/listbox.mjs +33 -24
  110. package/esm2022/controls/multilanguage/multilanguage.module.mjs +1 -1
  111. package/esm2022/controls/multilanguage/multilanguageinput.mjs +27 -15
  112. package/esm2022/controls/multilanguage/multilanguageinputarea.mjs +26 -14
  113. package/esm2022/controls/multilanguage/multilanguagemenu.mjs +13 -11
  114. package/esm2022/controls/multilanguage/multilanguagemenuanchor.mjs +5 -4
  115. package/esm2022/controls/multilanguage/multilanguagemenucontainer.mjs +5 -4
  116. package/esm2022/controls/multilanguage/multilanguagemenuitembutton.mjs +21 -12
  117. package/esm2022/controls/static/formcontainer.mjs +27 -17
  118. package/esm2022/controls/static/staticlabel.mjs +27 -13
  119. package/esm2022/controls/static/staticlabel.module.mjs +1 -1
  120. package/esm2022/controls/tabs/tab.mjs +3 -3
  121. package/esm2022/controls/tabs/tabitem.mjs +3 -3
  122. package/esm2022/controls/tabs/tabs.module.mjs +1 -1
  123. package/esm2022/controls/tinymce/tinymce.mjs +32 -20
  124. package/esm2022/controls/tinymce/tinymce.module.mjs +1 -1
  125. package/esm2022/controls/tooltip/tooltip.mjs +51 -0
  126. package/esm2022/controls/tooltip/tooltip.module.mjs +18 -0
  127. package/esm2022/controls/treeview/treeview.mjs +77 -0
  128. package/esm2022/controls/treeview/treeview.module.mjs +18 -0
  129. package/esm2022/controls/upload/dropzonemultiple.mjs +32 -14
  130. package/esm2022/controls/upload/dropzonesingle.mjs +32 -14
  131. package/esm2022/controls/upload/upload.mjs +29 -14
  132. package/esm2022/controls/upload/upload.module.mjs +1 -1
  133. package/esm2022/controls/upload/uploadmultiple.mjs +30 -14
  134. package/esm2022/controls/validation/validationsummary.mjs +10 -17
  135. package/esm2022/controls/validation/validationsummary.module.mjs +1 -1
  136. package/esm2022/controls/wizard/wizard.mjs +3 -3
  137. package/esm2022/controls/wizard/wizard.module.mjs +1 -1
  138. package/esm2022/controls/wizard/wizarditem.mjs +1 -1
  139. package/esm2022/public-api.mjs +38 -26
  140. package/fesm2022/simpleangularcontrols-sac-bootstrap5.mjs +1163 -592
  141. package/fesm2022/simpleangularcontrols-sac-bootstrap5.mjs.map +1 -1
  142. package/package.json +37 -36
  143. package/public-api.d.ts +37 -25
  144. package/simpleangularcontrols-sac-bootstrap5-16.0.0-rc.20.tgz +0 -0
  145. package/simpleangularcontrols-sac-bootstrap5-16.0.0-rc.2.tgz +0 -0
@@ -1,23 +1,28 @@
1
1
  import { AsyncPipe, NgClass, NgIf } from '@angular/common';
2
2
  import { Component, Host, Optional, forwardRef } from '@angular/core';
3
- import { ControlContainer, NG_VALIDATORS, NG_VALUE_ACCESSOR, } from '@angular/forms';
3
+ import { NG_VALIDATORS, NG_VALUE_ACCESSOR } from '@angular/forms';
4
4
  import { SacInputPasswordCommon } from '@simpleangularcontrols/sac-common';
5
- import { SacFormDirective } from '../form/form';
5
+ import { SacToControlHeightPipe } from '../layout/tocontrolheight.pipe';
6
+ import { SacToControlWidthCssPipe } from '../layout/tocontrolwidthcss.pipe';
7
+ import { SacToLabelHeightPipe } from '../layout/tolabelheight.pipe';
8
+ import { SacToLabelWidthCssPipe } from '../layout/tolabelwidthcss.pipe';
9
+ import { SacTooltipComponent } from '../tooltip/tooltip';
6
10
  import * as i0 from "@angular/core";
7
- import * as i1 from "../form/form";
11
+ import * as i1 from "../layout/formlayout.directive";
8
12
  /**
9
13
  * Input Box für Passwörter
10
14
  */
11
15
  class SacInputPasswordComponent extends SacInputPasswordCommon {
16
+ // #region Constructors
12
17
  /**
13
- * Konstruktor
14
- * @param parent Formular
15
- * @param injector Angular Dependency Injection Service
18
+ * Constructor
19
+ * @param formLayout SacFormLayout to define scoped layout settings
20
+ * @param injector Injector for injecting services
16
21
  */
17
- constructor(parent, injector) {
18
- super(parent, injector);
22
+ constructor(formLayout, injector) {
23
+ super(formLayout, injector);
19
24
  }
20
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SacInputPasswordComponent, deps: [{ token: i1.SacFormDirective, host: true, optional: true }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component }); }
25
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SacInputPasswordComponent, deps: [{ token: i1.SacFormLayoutDirective, host: true, optional: true }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component }); }
21
26
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: SacInputPasswordComponent, isStandalone: true, selector: "sac-inputpassword", providers: [
22
27
  {
23
28
  provide: NG_VALUE_ACCESSOR,
@@ -29,7 +34,7 @@ class SacInputPasswordComponent extends SacInputPasswordCommon {
29
34
  multi: true,
30
35
  useExisting: forwardRef(() => SacInputPasswordComponent),
31
36
  },
32
- ], usesInheritance: true, ngImport: i0, template: "<div class=\"row mb-3\" [class.g-0]=\"disablelabel\">\r\n <label\r\n for=\"{{name}}\"\r\n class=\"col-12 col-form-label col-form-label-sm\"\r\n [ngClass]=\"[disablelabel === false ? 'col-sm-' + labelsize : 'sr-only' ]\"\r\n >{{label}}</label\r\n >\r\n <div\r\n class=\"col-12\"\r\n [ngClass]=\"[disablelabel === false ? 'col-sm-' + _inputsize : 'col-sm-12']\"\r\n >\r\n <input\r\n id=\"{{name}}\"\r\n name=\"{{name}}\"\r\n type=\"password\"\r\n class=\"form-control form-control-sm\"\r\n [attr.placeholder]=\"placeholder\"\r\n [value]=\"value\"\r\n (blur)=\"onTouch()\"\r\n (input)=\"setValue($event.target.value)\"\r\n [attr.maxlength]=\"maxlength\"\r\n autocomplete=\"new-password\"\r\n [ngClass]=\"{'is-invalid': invalid && (dirty || touched) }\"\r\n [disabled]=\"isdisabled\"\r\n [readonly]=\"readonly\"\r\n />\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", dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: AsyncPipe, name: "async" }], viewProviders: [{ provide: ControlContainer, useExisting: SacFormDirective }] }); }
37
+ ], usesInheritance: true, ngImport: i0, template: "<div\n class=\"row mb-3\"\n [class.g-0]=\"disablelabel\">\n <label\n for=\"{{ name }}\"\n class=\"col-12 col-form-label d-flex\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'visually-hidden', componentHeight | toLabelHeight]\"\n [class.required]=\"isrequired\">\n <div\n class=\"text flex-grow-0\"\n [class.flex-sm-grow-1]=\"splitlabelandhelptext\">\n {{ label }}\n </div>\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [ngClass]=\"HelptextTooltipIcon\"\n class=\"ms-1\">\n </span>\n </sac-tooltip>\n </label>\n <div\n class=\"col-12\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\n [class.d-flex]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\n <div [class.flex-grow-1]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\n <div\n [class.input-group]=\"passwordeye\"\n [class.has-validation]=\"passwordeye && isinlineerrorenabled && invalid && (dirty || touched)\">\n <input\n id=\"{{ name }}\"\n name=\"{{ name }}\"\n [type]=\"passwordeyevisible ? 'text' : 'password'\"\n class=\"form-control\"\n [attr.placeholder]=\"placeholder\"\n [value]=\"value\"\n (blur)=\"onTouch()\"\n (input)=\"setValue($event.target.value)\"\n [attr.maxlength]=\"maxtextlength\"\n autocomplete=\"new-password\"\n [class.is-invalid]=\"invalid && (dirty || touched)\"\n [ngClass]=\"[componentHeight | toControlHeight]\"\n [disabled]=\"isdisabled\"\n [readonly]=\"readonly\" />\n <a\n *ngIf=\"passwordeye\"\n class=\"btn btn-outline-secondary\"\n (click)=\"onTogglePasswordEye()\"\n ><span [ngClass]=\"passwordeyevisible ? PasswordEyeVisibleIcon : PasswordEyeHiddenIcon\"></span>\n </a>\n <div\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\"\n class=\"invalid-feedback\">\n {{ GetErrorMessage() | async }}\n </div>\n </div>\n <div\n *ngIf=\"helptextmode === 'text' && helptext\"\n class=\"form-text\">\n {{ helptext }}\n </div>\n </div>\n\n <div\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\n class=\"form-control-plaintext align-self-top ms-2 me-1 w-auto\"\n [ngClass]=\"[componentHeight | toControlHeight]\">\n <sac-tooltip\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [ngClass]=\"HelptextTooltipIcon\"\n class=\"ml-1\">\n </span>\n </sac-tooltip>\n </div>\n </div>\n</div>\n", dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "pipe", type: SacToControlWidthCssPipe, name: "toControlWidthCss" }, { kind: "pipe", type: SacToLabelWidthCssPipe, name: "toLabelWidthCss" }, { kind: "pipe", type: SacToLabelHeightPipe, name: "toLabelHeight" }, { kind: "pipe", type: SacToControlHeightPipe, name: "toControlHeight" }, { kind: "component", type: SacTooltipComponent, selector: "sac-tooltip" }] }); }
33
38
  }
34
39
  export { SacInputPasswordComponent };
35
40
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SacInputPasswordComponent, decorators: [{
@@ -45,10 +50,19 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
45
50
  multi: true,
46
51
  useExisting: forwardRef(() => SacInputPasswordComponent),
47
52
  },
48
- ], viewProviders: [{ provide: ControlContainer, useExisting: SacFormDirective }], standalone: true, imports: [NgClass, NgIf, AsyncPipe], template: "<div class=\"row mb-3\" [class.g-0]=\"disablelabel\">\r\n <label\r\n for=\"{{name}}\"\r\n class=\"col-12 col-form-label col-form-label-sm\"\r\n [ngClass]=\"[disablelabel === false ? 'col-sm-' + labelsize : 'sr-only' ]\"\r\n >{{label}}</label\r\n >\r\n <div\r\n class=\"col-12\"\r\n [ngClass]=\"[disablelabel === false ? 'col-sm-' + _inputsize : 'col-sm-12']\"\r\n >\r\n <input\r\n id=\"{{name}}\"\r\n name=\"{{name}}\"\r\n type=\"password\"\r\n class=\"form-control form-control-sm\"\r\n [attr.placeholder]=\"placeholder\"\r\n [value]=\"value\"\r\n (blur)=\"onTouch()\"\r\n (input)=\"setValue($event.target.value)\"\r\n [attr.maxlength]=\"maxlength\"\r\n autocomplete=\"new-password\"\r\n [ngClass]=\"{'is-invalid': invalid && (dirty || touched) }\"\r\n [disabled]=\"isdisabled\"\r\n [readonly]=\"readonly\"\r\n />\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" }]
49
- }], ctorParameters: function () { return [{ type: i1.SacFormDirective, decorators: [{
53
+ ], standalone: true, imports: [
54
+ NgClass,
55
+ NgIf,
56
+ AsyncPipe,
57
+ SacToControlWidthCssPipe,
58
+ SacToLabelWidthCssPipe,
59
+ SacToLabelHeightPipe,
60
+ SacToControlHeightPipe,
61
+ SacTooltipComponent,
62
+ ], template: "<div\n class=\"row mb-3\"\n [class.g-0]=\"disablelabel\">\n <label\n for=\"{{ name }}\"\n class=\"col-12 col-form-label d-flex\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'visually-hidden', componentHeight | toLabelHeight]\"\n [class.required]=\"isrequired\">\n <div\n class=\"text flex-grow-0\"\n [class.flex-sm-grow-1]=\"splitlabelandhelptext\">\n {{ label }}\n </div>\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [ngClass]=\"HelptextTooltipIcon\"\n class=\"ms-1\">\n </span>\n </sac-tooltip>\n </label>\n <div\n class=\"col-12\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\n [class.d-flex]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\n <div [class.flex-grow-1]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\n <div\n [class.input-group]=\"passwordeye\"\n [class.has-validation]=\"passwordeye && isinlineerrorenabled && invalid && (dirty || touched)\">\n <input\n id=\"{{ name }}\"\n name=\"{{ name }}\"\n [type]=\"passwordeyevisible ? 'text' : 'password'\"\n class=\"form-control\"\n [attr.placeholder]=\"placeholder\"\n [value]=\"value\"\n (blur)=\"onTouch()\"\n (input)=\"setValue($event.target.value)\"\n [attr.maxlength]=\"maxtextlength\"\n autocomplete=\"new-password\"\n [class.is-invalid]=\"invalid && (dirty || touched)\"\n [ngClass]=\"[componentHeight | toControlHeight]\"\n [disabled]=\"isdisabled\"\n [readonly]=\"readonly\" />\n <a\n *ngIf=\"passwordeye\"\n class=\"btn btn-outline-secondary\"\n (click)=\"onTogglePasswordEye()\"\n ><span [ngClass]=\"passwordeyevisible ? PasswordEyeVisibleIcon : PasswordEyeHiddenIcon\"></span>\n </a>\n <div\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\"\n class=\"invalid-feedback\">\n {{ GetErrorMessage() | async }}\n </div>\n </div>\n <div\n *ngIf=\"helptextmode === 'text' && helptext\"\n class=\"form-text\">\n {{ helptext }}\n </div>\n </div>\n\n <div\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\n class=\"form-control-plaintext align-self-top ms-2 me-1 w-auto\"\n [ngClass]=\"[componentHeight | toControlHeight]\">\n <sac-tooltip\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [ngClass]=\"HelptextTooltipIcon\"\n class=\"ml-1\">\n </span>\n </sac-tooltip>\n </div>\n </div>\n</div>\n" }]
63
+ }], ctorParameters: function () { return [{ type: i1.SacFormLayoutDirective, decorators: [{
50
64
  type: Host
51
65
  }, {
52
66
  type: Optional
53
67
  }] }, { type: i0.Injector }]; } });
54
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXRwYXNzd29yZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NhYy1ib290c3RyYXA1L3NyYy9jb250cm9scy9pbnB1dC9pbnB1dHBhc3N3b3JkLnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2FjLWJvb3RzdHJhcDUvc3JjL2NvbnRyb2xzL2lucHV0L2lucHV0cGFzc3dvcmQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBWSxRQUFRLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2hGLE9BQU8sRUFDTCxnQkFBZ0IsRUFDaEIsYUFBYSxFQUNiLGlCQUFpQixHQUNsQixNQUFNLGdCQUFnQixDQUFDO0FBQ3hCLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQzNFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGNBQWMsQ0FBQzs7O0FBRWhEOztHQUVHO0FBQ0gsTUFxQmEseUJBQTBCLFNBQVEsc0JBQXNCO0lBQ25FOzs7O09BSUc7SUFDSCxZQUNzQixNQUF3QixFQUM1QyxRQUFrQjtRQUVsQixLQUFLLENBQUMsTUFBTSxFQUFFLFFBQVEsQ0FBQyxDQUFDO0lBQzFCLENBQUM7K0dBWFUseUJBQXlCO21HQUF6Qix5QkFBeUIsZ0VBakJ6QjtZQUNUO2dCQUNFLE9BQU8sRUFBRSxpQkFBaUI7Z0JBQzFCLEtBQUssRUFBRSxJQUFJO2dCQUNYLFdBQVcsRUFBRSx5QkFBeUI7YUFDdkM7WUFDRDtnQkFDRSxPQUFPLEVBQUUsYUFBYTtnQkFDdEIsS0FBSyxFQUFFLElBQUk7Z0JBQ1gsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyx5QkFBeUIsQ0FBQzthQUN6RDtTQUNGLGlEQzVCSCxpbUNBa0NBLDRDREZZLE9BQU8sb0ZBQUUsSUFBSSx3RkFBRSxTQUFTLG1DQUZuQixDQUFDLEVBQUUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLFdBQVcsRUFBRSxnQkFBZ0IsRUFBRSxDQUFDOztTQUlsRSx5QkFBeUI7NEZBQXpCLHlCQUF5QjtrQkFyQnJDLFNBQVM7K0JBQ0UsbUJBQW1CLGFBR2xCO3dCQUNUOzRCQUNFLE9BQU8sRUFBRSxpQkFBaUI7NEJBQzFCLEtBQUssRUFBRSxJQUFJOzRCQUNYLFdBQVcsMkJBQTJCO3lCQUN2Qzt3QkFDRDs0QkFDRSxPQUFPLEVBQUUsYUFBYTs0QkFDdEIsS0FBSyxFQUFFLElBQUk7NEJBQ1gsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsMEJBQTBCLENBQUM7eUJBQ3pEO3FCQUNGLGlCQUVjLENBQUMsRUFBRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsV0FBVyxFQUFFLGdCQUFnQixFQUFFLENBQUMsY0FDakUsSUFBSSxXQUNQLENBQUMsT0FBTyxFQUFFLElBQUksRUFBRSxTQUFTLENBQUM7OzBCQVNoQyxJQUFJOzswQkFBSSxRQUFRIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQXN5bmNQaXBlLCBOZ0NsYXNzLCBOZ0lmIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgQ29tcG9uZW50LCBIb3N0LCBJbmplY3RvciwgT3B0aW9uYWwsIGZvcndhcmRSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtcclxuICBDb250cm9sQ29udGFpbmVyLFxyXG4gIE5HX1ZBTElEQVRPUlMsXHJcbiAgTkdfVkFMVUVfQUNDRVNTT1IsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBTYWNJbnB1dFBhc3N3b3JkQ29tbW9uIH0gZnJvbSAnQHNpbXBsZWFuZ3VsYXJjb250cm9scy9zYWMtY29tbW9uJztcclxuaW1wb3J0IHsgU2FjRm9ybURpcmVjdGl2ZSB9IGZyb20gJy4uL2Zvcm0vZm9ybSc7XHJcblxyXG4vKipcclxuICogSW5wdXQgQm94IGbDvHIgUGFzc3fDtnJ0ZXJcclxuICovXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnc2FjLWlucHV0cGFzc3dvcmQnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9pbnB1dHBhc3N3b3JkLmh0bWwnLFxyXG4gIC8vIFZhbHVlIEFjY2VzcyBQcm92aWRlciByZWdpc3RyaWVyZW4sIGRhbWl0IFdlcnQgdmlhIE1vZGVsIGdlc2NocmllYmVuIHVuZCBnZWxlc2VuIHdlcmRlbiBrYW5uXHJcbiAgcHJvdmlkZXJzOiBbXHJcbiAgICB7XHJcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxyXG4gICAgICBtdWx0aTogdHJ1ZSxcclxuICAgICAgdXNlRXhpc3Rpbmc6IFNhY0lucHV0UGFzc3dvcmRDb21wb25lbnQsXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICBwcm92aWRlOiBOR19WQUxJREFUT1JTLFxyXG4gICAgICBtdWx0aTogdHJ1ZSxcclxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gU2FjSW5wdXRQYXNzd29yZENvbXBvbmVudCksXHJcbiAgICB9LFxyXG4gIF0sXHJcbiAgLy8gVmlldyBQcm92aWRlciwgZGFtaXQgZGFzIEZvcm11bGFyIGFuIGRhcyBDb250cm9sIGdlYnVuZGVuIHdlcmRlbiBrYW5uXHJcbiAgdmlld1Byb3ZpZGVyczogW3sgcHJvdmlkZTogQ29udHJvbENvbnRhaW5lciwgdXNlRXhpc3Rpbmc6IFNhY0Zvcm1EaXJlY3RpdmUgfV0sXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICBpbXBvcnRzOiBbTmdDbGFzcywgTmdJZiwgQXN5bmNQaXBlXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIFNhY0lucHV0UGFzc3dvcmRDb21wb25lbnQgZXh0ZW5kcyBTYWNJbnB1dFBhc3N3b3JkQ29tbW9uIHtcclxuICAvKipcclxuICAgKiBLb25zdHJ1a3RvclxyXG4gICAqIEBwYXJhbSBwYXJlbnQgRm9ybXVsYXJcclxuICAgKiBAcGFyYW0gaW5qZWN0b3IgQW5ndWxhciBEZXBlbmRlbmN5IEluamVjdGlvbiBTZXJ2aWNlXHJcbiAgICovXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBASG9zdCgpIEBPcHRpb25hbCgpIHBhcmVudDogU2FjRm9ybURpcmVjdGl2ZSxcclxuICAgIGluamVjdG9yOiBJbmplY3RvclxyXG4gICkge1xyXG4gICAgc3VwZXIocGFyZW50LCBpbmplY3Rvcik7XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJyb3cgbWItM1wiIFtjbGFzcy5nLTBdPVwiZGlzYWJsZWxhYmVsXCI+XHJcbiAgPGxhYmVsXHJcbiAgICBmb3I9XCJ7e25hbWV9fVwiXHJcbiAgICBjbGFzcz1cImNvbC0xMiBjb2wtZm9ybS1sYWJlbCBjb2wtZm9ybS1sYWJlbC1zbVwiXHJcbiAgICBbbmdDbGFzc109XCJbZGlzYWJsZWxhYmVsID09PSBmYWxzZSA/ICAnY29sLXNtLScgKyBsYWJlbHNpemUgOiAnc3Itb25seScgXVwiXHJcbiAgICA+e3tsYWJlbH19PC9sYWJlbFxyXG4gID5cclxuICA8ZGl2XHJcbiAgICBjbGFzcz1cImNvbC0xMlwiXHJcbiAgICBbbmdDbGFzc109XCJbZGlzYWJsZWxhYmVsID09PSBmYWxzZSA/ICdjb2wtc20tJyArIF9pbnB1dHNpemUgOiAnY29sLXNtLTEyJ11cIlxyXG4gID5cclxuICAgIDxpbnB1dFxyXG4gICAgICBpZD1cInt7bmFtZX19XCJcclxuICAgICAgbmFtZT1cInt7bmFtZX19XCJcclxuICAgICAgdHlwZT1cInBhc3N3b3JkXCJcclxuICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2wgZm9ybS1jb250cm9sLXNtXCJcclxuICAgICAgW2F0dHIucGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXJcIlxyXG4gICAgICBbdmFsdWVdPVwidmFsdWVcIlxyXG4gICAgICAoYmx1cik9XCJvblRvdWNoKClcIlxyXG4gICAgICAoaW5wdXQpPVwic2V0VmFsdWUoJGV2ZW50LnRhcmdldC52YWx1ZSlcIlxyXG4gICAgICBbYXR0ci5tYXhsZW5ndGhdPVwibWF4bGVuZ3RoXCJcclxuICAgICAgYXV0b2NvbXBsZXRlPVwibmV3LXBhc3N3b3JkXCJcclxuICAgICAgW25nQ2xhc3NdPVwieydpcy1pbnZhbGlkJzogaW52YWxpZCAmJiAoZGlydHkgfHwgdG91Y2hlZCkgfVwiXHJcbiAgICAgIFtkaXNhYmxlZF09XCJpc2Rpc2FibGVkXCJcclxuICAgICAgW3JlYWRvbmx5XT1cInJlYWRvbmx5XCJcclxuICAgIC8+XHJcbiAgICA8ZGl2XHJcbiAgICAgICpuZ0lmPVwiaXNpbmxpbmVlcnJvcmVuYWJsZWQgJiYgaW52YWxpZCAmJiAoZGlydHkgfHwgdG91Y2hlZClcIlxyXG4gICAgICBjbGFzcz1cImludmFsaWQtZmVlZGJhY2tcIlxyXG4gICAgPlxyXG4gICAgICB7eyBHZXRFcnJvck1lc3NhZ2UoKSB8IGFzeW5jIH19XHJcbiAgICA8L2Rpdj5cclxuICA8L2Rpdj5cclxuPC9kaXY+XHJcbiJdfQ==
68
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXRwYXNzd29yZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NhYy1ib290c3RyYXA1L3NyYy9jb250cm9scy9pbnB1dC9pbnB1dHBhc3N3b3JkLnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2FjLWJvb3RzdHJhcDUvc3JjL2NvbnRyb2xzL2lucHV0L2lucHV0cGFzc3dvcmQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBWSxRQUFRLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2hGLE9BQU8sRUFBRSxhQUFhLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUUzRSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN4RSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUM1RSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNwRSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN4RSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQzs7O0FBRXpEOztHQUVHO0FBQ0gsTUE0QmEseUJBQTBCLFNBQVEsc0JBQXNCO0lBQ25FLHVCQUF1QjtJQUV2Qjs7OztPQUlHO0lBQ0gsWUFDc0IsVUFBa0MsRUFDdEQsUUFBa0I7UUFFbEIsS0FBSyxDQUFDLFVBQVUsRUFBRSxRQUFRLENBQUMsQ0FBQztJQUM5QixDQUFDOytHQWJVLHlCQUF5QjttR0FBekIseUJBQXlCLGdFQXhCekI7WUFDVDtnQkFDRSxPQUFPLEVBQUUsaUJBQWlCO2dCQUMxQixLQUFLLEVBQUUsSUFBSTtnQkFDWCxXQUFXLEVBQUUseUJBQXlCO2FBQ3ZDO1lBQ0Q7Z0JBQ0UsT0FBTyxFQUFFLGFBQWE7Z0JBQ3RCLEtBQUssRUFBRSxJQUFJO2dCQUNYLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMseUJBQXlCLENBQUM7YUFDekQ7U0FDRixpREM3QkgscXpHQWdGQSw0Q0RoREksT0FBTyxvRkFDUCxJQUFJLHdGQUNKLFNBQVMseUNBQ1Qsd0JBQXdCLHFEQUN4QixzQkFBc0IsbURBQ3RCLG9CQUFvQixpREFDcEIsc0JBQXNCLHdEQUN0QixtQkFBbUI7O1NBR1YseUJBQXlCOzRGQUF6Qix5QkFBeUI7a0JBNUJyQyxTQUFTOytCQUNFLG1CQUFtQixhQUdsQjt3QkFDVDs0QkFDRSxPQUFPLEVBQUUsaUJBQWlCOzRCQUMxQixLQUFLLEVBQUUsSUFBSTs0QkFDWCxXQUFXLDJCQUEyQjt5QkFDdkM7d0JBQ0Q7NEJBQ0UsT0FBTyxFQUFFLGFBQWE7NEJBQ3RCLEtBQUssRUFBRSxJQUFJOzRCQUNYLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLDBCQUEwQixDQUFDO3lCQUN6RDtxQkFDRixjQUNXLElBQUksV0FDUDt3QkFDUCxPQUFPO3dCQUNQLElBQUk7d0JBQ0osU0FBUzt3QkFDVCx3QkFBd0I7d0JBQ3hCLHNCQUFzQjt3QkFDdEIsb0JBQW9CO3dCQUNwQixzQkFBc0I7d0JBQ3RCLG1CQUFtQjtxQkFDcEI7OzBCQVdFLElBQUk7OzBCQUFJLFFBQVEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBc3luY1BpcGUsIE5nQ2xhc3MsIE5nSWYgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBIb3N0LCBJbmplY3RvciwgT3B0aW9uYWwsIGZvcndhcmRSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5HX1ZBTElEQVRPUlMsIE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgU2FjSW5wdXRQYXNzd29yZENvbW1vbiB9IGZyb20gJ0BzaW1wbGVhbmd1bGFyY29udHJvbHMvc2FjLWNvbW1vbic7XG5pbXBvcnQgeyBTYWNGb3JtTGF5b3V0RGlyZWN0aXZlIH0gZnJvbSAnLi4vbGF5b3V0L2Zvcm1sYXlvdXQuZGlyZWN0aXZlJztcbmltcG9ydCB7IFNhY1RvQ29udHJvbEhlaWdodFBpcGUgfSBmcm9tICcuLi9sYXlvdXQvdG9jb250cm9saGVpZ2h0LnBpcGUnO1xuaW1wb3J0IHsgU2FjVG9Db250cm9sV2lkdGhDc3NQaXBlIH0gZnJvbSAnLi4vbGF5b3V0L3RvY29udHJvbHdpZHRoY3NzLnBpcGUnO1xuaW1wb3J0IHsgU2FjVG9MYWJlbEhlaWdodFBpcGUgfSBmcm9tICcuLi9sYXlvdXQvdG9sYWJlbGhlaWdodC5waXBlJztcbmltcG9ydCB7IFNhY1RvTGFiZWxXaWR0aENzc1BpcGUgfSBmcm9tICcuLi9sYXlvdXQvdG9sYWJlbHdpZHRoY3NzLnBpcGUnO1xuaW1wb3J0IHsgU2FjVG9vbHRpcENvbXBvbmVudCB9IGZyb20gJy4uL3Rvb2x0aXAvdG9vbHRpcCc7XG5cbi8qKlxuICogSW5wdXQgQm94IGbDvHIgUGFzc3fDtnJ0ZXJcbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc2FjLWlucHV0cGFzc3dvcmQnLFxuICB0ZW1wbGF0ZVVybDogJy4vaW5wdXRwYXNzd29yZC5odG1sJyxcbiAgLy8gVmFsdWUgQWNjZXNzIFByb3ZpZGVyIHJlZ2lzdHJpZXJlbiwgZGFtaXQgV2VydCB2aWEgTW9kZWwgZ2VzY2hyaWViZW4gdW5kIGdlbGVzZW4gd2VyZGVuIGthbm5cbiAgcHJvdmlkZXJzOiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgICBtdWx0aTogdHJ1ZSxcbiAgICAgIHVzZUV4aXN0aW5nOiBTYWNJbnB1dFBhc3N3b3JkQ29tcG9uZW50LFxuICAgIH0sXG4gICAge1xuICAgICAgcHJvdmlkZTogTkdfVkFMSURBVE9SUyxcbiAgICAgIG11bHRpOiB0cnVlLFxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gU2FjSW5wdXRQYXNzd29yZENvbXBvbmVudCksXG4gICAgfSxcbiAgXSxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1xuICAgIE5nQ2xhc3MsXG4gICAgTmdJZixcbiAgICBBc3luY1BpcGUsXG4gICAgU2FjVG9Db250cm9sV2lkdGhDc3NQaXBlLFxuICAgIFNhY1RvTGFiZWxXaWR0aENzc1BpcGUsXG4gICAgU2FjVG9MYWJlbEhlaWdodFBpcGUsXG4gICAgU2FjVG9Db250cm9sSGVpZ2h0UGlwZSxcbiAgICBTYWNUb29sdGlwQ29tcG9uZW50LFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBTYWNJbnB1dFBhc3N3b3JkQ29tcG9uZW50IGV4dGVuZHMgU2FjSW5wdXRQYXNzd29yZENvbW1vbiB7XG4gIC8vICNyZWdpb24gQ29uc3RydWN0b3JzXG5cbiAgLyoqXG4gICAqIENvbnN0cnVjdG9yXG4gICAqIEBwYXJhbSBmb3JtTGF5b3V0IFNhY0Zvcm1MYXlvdXQgdG8gZGVmaW5lIHNjb3BlZCBsYXlvdXQgc2V0dGluZ3NcbiAgICogQHBhcmFtIGluamVjdG9yIEluamVjdG9yIGZvciBpbmplY3Rpbmcgc2VydmljZXNcbiAgICovXG4gIGNvbnN0cnVjdG9yKFxuICAgIEBIb3N0KCkgQE9wdGlvbmFsKCkgZm9ybUxheW91dDogU2FjRm9ybUxheW91dERpcmVjdGl2ZSxcbiAgICBpbmplY3RvcjogSW5qZWN0b3JcbiAgKSB7XG4gICAgc3VwZXIoZm9ybUxheW91dCwgaW5qZWN0b3IpO1xuICB9XG5cbiAgLy8gI2VuZHJlZ2lvbiBDb25zdHJ1Y3RvcnNcbn1cbiIsIjxkaXZcbiAgICBjbGFzcz1cInJvdyBtYi0zXCJcbiAgICBbY2xhc3MuZy0wXT1cImRpc2FibGVsYWJlbFwiPlxuICAgIDxsYWJlbFxuICAgICAgICBmb3I9XCJ7eyBuYW1lIH19XCJcbiAgICAgICAgY2xhc3M9XCJjb2wtMTIgY29sLWZvcm0tbGFiZWwgZC1mbGV4XCJcbiAgICAgICAgW25nQ2xhc3NdPVwiW2Rpc2FibGVsYWJlbCA9PT0gZmFsc2UgPyAodGhpcy5sYWJlbFNpemVzIHwgdG9MYWJlbFdpZHRoQ3NzKSA6ICd2aXN1YWxseS1oaWRkZW4nLCBjb21wb25lbnRIZWlnaHQgfCB0b0xhYmVsSGVpZ2h0XVwiXG4gICAgICAgIFtjbGFzcy5yZXF1aXJlZF09XCJpc3JlcXVpcmVkXCI+XG4gICAgICAgIDxkaXZcbiAgICAgICAgICAgIGNsYXNzPVwidGV4dCBmbGV4LWdyb3ctMFwiXG4gICAgICAgICAgICBbY2xhc3MuZmxleC1zbS1ncm93LTFdPVwic3BsaXRsYWJlbGFuZGhlbHB0ZXh0XCI+XG4gICAgICAgICAgICB7eyBsYWJlbCB9fVxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPHNhYy10b29sdGlwXG4gICAgICAgICAgICAqbmdJZj1cImhlbHB0ZXh0bW9kZSA9PT0gJ3Rvb2x0aXAnICYmIGhlbHB0ZXh0XCJcbiAgICAgICAgICAgIFt0b29sdGlwdGV4dF09XCJoZWxwdGV4dFwiXG4gICAgICAgICAgICBbaW5saW5lbW9kZV09XCJ0cnVlXCI+XG4gICAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cIkhlbHB0ZXh0VG9vbHRpcEljb25cIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwibXMtMVwiPlxuICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICA8L3NhYy10b29sdGlwPlxuICAgIDwvbGFiZWw+XG4gICAgPGRpdlxuICAgICAgICBjbGFzcz1cImNvbC0xMlwiXG4gICAgICAgIFtuZ0NsYXNzXT1cIltkaXNhYmxlbGFiZWwgPT09IGZhbHNlID8gKHRoaXMubGFiZWxTaXplcyB8IHRvQ29udHJvbFdpZHRoQ3NzKSA6ICcnXVwiXG4gICAgICAgIFtjbGFzcy5kLWZsZXhdPVwiaGVscHRleHRtb2RlID09PSAndG9vbHRpcCcgJiYgaGVscHRleHQgJiYgZGlzYWJsZWxhYmVsXCI+XG4gICAgICAgIDxkaXYgW2NsYXNzLmZsZXgtZ3Jvdy0xXT1cImhlbHB0ZXh0bW9kZSA9PT0gJ3Rvb2x0aXAnICYmIGhlbHB0ZXh0ICYmIGRpc2FibGVsYWJlbFwiPlxuICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgIFtjbGFzcy5pbnB1dC1ncm91cF09XCJwYXNzd29yZGV5ZVwiXG4gICAgICAgICAgICAgICAgW2NsYXNzLmhhcy12YWxpZGF0aW9uXT1cInBhc3N3b3JkZXllICYmIGlzaW5saW5lZXJyb3JlbmFibGVkICYmIGludmFsaWQgJiYgKGRpcnR5IHx8IHRvdWNoZWQpXCI+XG4gICAgICAgICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICAgICAgICAgIGlkPVwie3sgbmFtZSB9fVwiXG4gICAgICAgICAgICAgICAgICAgIG5hbWU9XCJ7eyBuYW1lIH19XCJcbiAgICAgICAgICAgICAgICAgICAgW3R5cGVdPVwicGFzc3dvcmRleWV2aXNpYmxlID8gJ3RleHQnIDogJ3Bhc3N3b3JkJ1wiXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sXCJcbiAgICAgICAgICAgICAgICAgICAgW2F0dHIucGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXJcIlxuICAgICAgICAgICAgICAgICAgICBbdmFsdWVdPVwidmFsdWVcIlxuICAgICAgICAgICAgICAgICAgICAoYmx1cik9XCJvblRvdWNoKClcIlxuICAgICAgICAgICAgICAgICAgICAoaW5wdXQpPVwic2V0VmFsdWUoJGV2ZW50LnRhcmdldC52YWx1ZSlcIlxuICAgICAgICAgICAgICAgICAgICBbYXR0ci5tYXhsZW5ndGhdPVwibWF4dGV4dGxlbmd0aFwiXG4gICAgICAgICAgICAgICAgICAgIGF1dG9jb21wbGV0ZT1cIm5ldy1wYXNzd29yZFwiXG4gICAgICAgICAgICAgICAgICAgIFtjbGFzcy5pcy1pbnZhbGlkXT1cImludmFsaWQgJiYgKGRpcnR5IHx8IHRvdWNoZWQpXCJcbiAgICAgICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwiW2NvbXBvbmVudEhlaWdodCB8IHRvQ29udHJvbEhlaWdodF1cIlxuICAgICAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiaXNkaXNhYmxlZFwiXG4gICAgICAgICAgICAgICAgICAgIFtyZWFkb25seV09XCJyZWFkb25seVwiIC8+XG4gICAgICAgICAgICAgICAgPGFcbiAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJwYXNzd29yZGV5ZVwiXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYnRuIGJ0bi1vdXRsaW5lLXNlY29uZGFyeVwiXG4gICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJvblRvZ2dsZVBhc3N3b3JkRXllKClcIlxuICAgICAgICAgICAgICAgICAgICA+PHNwYW4gW25nQ2xhc3NdPVwicGFzc3dvcmRleWV2aXNpYmxlID8gUGFzc3dvcmRFeWVWaXNpYmxlSWNvbiA6IFBhc3N3b3JkRXllSGlkZGVuSWNvblwiPjwvc3Bhbj5cbiAgICAgICAgICAgICAgICA8L2E+XG4gICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgICAqbmdJZj1cImlzaW5saW5lZXJyb3JlbmFibGVkICYmIGludmFsaWQgJiYgKGRpcnR5IHx8IHRvdWNoZWQpXCJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJpbnZhbGlkLWZlZWRiYWNrXCI+XG4gICAgICAgICAgICAgICAgICAgIHt7IEdldEVycm9yTWVzc2FnZSgpIHwgYXN5bmMgfX1cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICpuZ0lmPVwiaGVscHRleHRtb2RlID09PSAndGV4dCcgJiYgaGVscHRleHRcIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwiZm9ybS10ZXh0XCI+XG4gICAgICAgICAgICAgICAge3sgaGVscHRleHQgfX1cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cblxuICAgICAgICA8ZGl2XG4gICAgICAgICAgICAqbmdJZj1cImhlbHB0ZXh0bW9kZSA9PT0gJ3Rvb2x0aXAnICYmIGhlbHB0ZXh0ICYmIGRpc2FibGVsYWJlbFwiXG4gICAgICAgICAgICBjbGFzcz1cImZvcm0tY29udHJvbC1wbGFpbnRleHQgYWxpZ24tc2VsZi10b3AgbXMtMiBtZS0xIHctYXV0b1wiXG4gICAgICAgICAgICBbbmdDbGFzc109XCJbY29tcG9uZW50SGVpZ2h0IHwgdG9Db250cm9sSGVpZ2h0XVwiPlxuICAgICAgICAgICAgPHNhYy10b29sdGlwXG4gICAgICAgICAgICAgICAgW3Rvb2x0aXB0ZXh0XT1cImhlbHB0ZXh0XCJcbiAgICAgICAgICAgICAgICBbaW5saW5lbW9kZV09XCJ0cnVlXCI+XG4gICAgICAgICAgICAgICAgPHNwYW5cbiAgICAgICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwiSGVscHRleHRUb29sdGlwSWNvblwiXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwibWwtMVwiPlxuICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgIDwvc2FjLXRvb2x0aXA+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuPC9kaXY+XG4iXX0=
@@ -1,22 +1,28 @@
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 { SacInputSearchCommon } from '@simpleangularcontrols/sac-common';
4
- import { NgIf, NgClass } from '@angular/common';
5
+ import { SacToControlHeightPipe } from '../layout/tocontrolheight.pipe';
6
+ import { SacToControlWidthCssPipe } from '../layout/tocontrolwidthcss.pipe';
7
+ import { SacToLabelHeightPipe } from '../layout/tolabelheight.pipe';
8
+ import { SacToLabelWidthCssPipe } from '../layout/tolabelwidthcss.pipe';
9
+ import { SacTooltipComponent } from '../tooltip/tooltip';
5
10
  import * as i0 from "@angular/core";
6
- import * as i1 from "../form/form";
11
+ import * as i1 from "../layout/formlayout.directive";
7
12
  /**
8
13
  * Input Box für Suche
9
14
  */
10
15
  class SacInputSearchComponent extends SacInputSearchCommon {
16
+ // #region Constructors
11
17
  /**
12
- * Konstruktor
13
- * @param parent Formular
14
- * @param injector Angular Dependency Injection Service
18
+ * Constructor
19
+ * @param formLayout SacFormLayout to define scoped layout settings
20
+ * @param injector Injector for injecting services
15
21
  */
16
- constructor(parent, injector) {
17
- super(parent, injector);
22
+ constructor(formLayout, injector) {
23
+ super(formLayout, injector);
18
24
  }
19
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SacInputSearchComponent, deps: [{ token: i1.SacFormDirective, host: true, optional: true }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component }); }
25
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SacInputSearchComponent, deps: [{ token: i1.SacFormLayoutDirective, host: true, optional: true }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component }); }
20
26
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: SacInputSearchComponent, isStandalone: true, selector: "sac-inputsearch", providers: [
21
27
  {
22
28
  provide: NG_VALUE_ACCESSOR,
@@ -28,7 +34,7 @@ class SacInputSearchComponent extends SacInputSearchCommon {
28
34
  multi: true,
29
35
  useExisting: forwardRef(() => SacInputSearchComponent),
30
36
  },
31
- ], usesInheritance: true, ngImport: i0, template: "<div class=\"row mb-3\" [class.g-0]=\"disablelabel\">\r\n <label\r\n *ngIf=\"disablelabel === false && !isadaptivelabel\"\r\n id=\"{{name}}_label\"\r\n for=\"{{name}}\"\r\n class=\"col-form-label col-form-label-sm\"\r\n [ngClass]=\"[labelsize !== 12 ? 'col-sm-' + labelsize : 'sr-only']\"\r\n [class.required]=\"isrequired\"\r\n >{{label}}</label\r\n >\r\n <div\r\n [ngClass]=\"[disablelabel === false ? 'col-sm-' + _inputsize : 'col-sm-12']\"\r\n >\r\n <div class=\"input-group input-group-sm\">\r\n <input\r\n id=\"{{name}}\"\r\n name=\"{{name}}\"\r\n type=\"text\"\r\n class=\"form-control\"\r\n [value]=\"value\"\r\n [attr.placeholder]=\"placeholder\"\r\n (blur)=\"onTouch()\"\r\n (input)=\"setValue($event.target.value)\"\r\n [attr.maxlength]=\"maxlength\"\r\n [ngClass]=\"{'language-specific': islanguagespecific,'is-invalid': invalid && (dirty || touched) }\"\r\n [disabled]=\"isdisabled\"\r\n [readonly]=\"readonly\"\r\n />\r\n <input\r\n type=\"submit\"\r\n class=\"btn btn-secondary\"\r\n id=\"{{name}}_search\"\r\n (click)=\"searchClick()\"\r\n [value]=\"buttontext\"\r\n />\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"] }] }); }
37
+ ], usesInheritance: true, ngImport: i0, template: "<div\n class=\"row mb-3\"\n [class.g-0]=\"disablelabel\">\n <label\n id=\"{{ name }}_label\"\n for=\"{{ name }}\"\n class=\"col-12 col-form-label d-flex\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'visually-hidden', componentHeight | toLabelHeight]\"\n [class.required]=\"isrequired\">\n <div\n class=\"text flex-grow-0\"\n [class.flex-sm-grow-1]=\"splitlabelandhelptext\">\n {{ label }}\n </div>\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [ngClass]=\"HelptextTooltipIcon\"\n class=\"ms-1\">\n </span>\n </sac-tooltip>\n </label>\n <div\n class=\"col-12\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\n [class.d-flex]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\n <div [class.flex-grow-1]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\n <div\n class=\"input-group\"\n [class.input-group-sm]=\"componentHeight === ControlHeight.Small\"\n [class.input-group-lg]=\"componentHeight === ControlHeight.Large\">\n <input\n id=\"{{ name }}\"\n name=\"{{ name }}\"\n type=\"text\"\n inputmode=\"search\"\n class=\"form-control\"\n [value]=\"value\"\n [attr.placeholder]=\"placeholder\"\n (blur)=\"onTouch()\"\n (input)=\"setValue($event.target.value)\"\n [attr.maxlength]=\"maxtextlength\"\n [class.is-invalid]=\"invalid && (dirty || touched)\"\n [ngClass]=\"[componentHeight | toControlHeight]\"\n [disabled]=\"isdisabled\"\n [readonly]=\"readonly\" />\n <button\n type=\"button\"\n class=\"btn btn-secondary\"\n id=\"{{ name }}_search\"\n (click)=\"searchClick()\">\n <i\n *ngIf=\"buttonmode === 'icon' || buttonmode === 'mixed'\"\n [class]=\"iconname\"\n [class.me-2]=\"buttonmode === 'mixed'\"></i>\n <ng-container *ngIf=\"buttonmode === 'text' || buttonmode === 'mixed'\">{{ buttontext }}</ng-container>\n </button>\n </div>\n <div\n *ngIf=\"helptextmode === 'text' && helptext\"\n class=\"form-text\">\n {{ helptext }}\n </div>\n </div>\n\n <div\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\n class=\"form-control-plaintext align-self-top ms-2 me-1 w-auto\"\n [ngClass]=\"[componentHeight | toControlHeight]\">\n <sac-tooltip\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [ngClass]=\"HelptextTooltipIcon\"\n class=\"ml-1\">\n </span>\n </sac-tooltip>\n </div>\n </div>\n</div>\n", dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: SacToControlWidthCssPipe, name: "toControlWidthCss" }, { kind: "pipe", type: SacToLabelWidthCssPipe, name: "toLabelWidthCss" }, { kind: "pipe", type: SacToLabelHeightPipe, name: "toLabelHeight" }, { kind: "pipe", type: SacToControlHeightPipe, name: "toControlHeight" }, { kind: "component", type: SacTooltipComponent, selector: "sac-tooltip" }] }); }
32
38
  }
33
39
  export { SacInputSearchComponent };
34
40
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SacInputSearchComponent, decorators: [{
@@ -44,10 +50,18 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
44
50
  multi: true,
45
51
  useExisting: forwardRef(() => SacInputSearchComponent),
46
52
  },
47
- ], standalone: true, imports: [NgIf, NgClass], template: "<div class=\"row mb-3\" [class.g-0]=\"disablelabel\">\r\n <label\r\n *ngIf=\"disablelabel === false && !isadaptivelabel\"\r\n id=\"{{name}}_label\"\r\n for=\"{{name}}\"\r\n class=\"col-form-label col-form-label-sm\"\r\n [ngClass]=\"[labelsize !== 12 ? 'col-sm-' + labelsize : 'sr-only']\"\r\n [class.required]=\"isrequired\"\r\n >{{label}}</label\r\n >\r\n <div\r\n [ngClass]=\"[disablelabel === false ? 'col-sm-' + _inputsize : 'col-sm-12']\"\r\n >\r\n <div class=\"input-group input-group-sm\">\r\n <input\r\n id=\"{{name}}\"\r\n name=\"{{name}}\"\r\n type=\"text\"\r\n class=\"form-control\"\r\n [value]=\"value\"\r\n [attr.placeholder]=\"placeholder\"\r\n (blur)=\"onTouch()\"\r\n (input)=\"setValue($event.target.value)\"\r\n [attr.maxlength]=\"maxlength\"\r\n [ngClass]=\"{'language-specific': islanguagespecific,'is-invalid': invalid && (dirty || touched) }\"\r\n [disabled]=\"isdisabled\"\r\n [readonly]=\"readonly\"\r\n />\r\n <input\r\n type=\"submit\"\r\n class=\"btn btn-secondary\"\r\n id=\"{{name}}_search\"\r\n (click)=\"searchClick()\"\r\n [value]=\"buttontext\"\r\n />\r\n </div>\r\n </div>\r\n</div>\r\n" }]
48
- }], ctorParameters: function () { return [{ type: i1.SacFormDirective, decorators: [{
53
+ ], standalone: true, imports: [
54
+ NgClass,
55
+ NgIf,
56
+ SacToControlWidthCssPipe,
57
+ SacToLabelWidthCssPipe,
58
+ SacToLabelHeightPipe,
59
+ SacToControlHeightPipe,
60
+ SacTooltipComponent,
61
+ ], template: "<div\n class=\"row mb-3\"\n [class.g-0]=\"disablelabel\">\n <label\n id=\"{{ name }}_label\"\n for=\"{{ name }}\"\n class=\"col-12 col-form-label d-flex\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'visually-hidden', componentHeight | toLabelHeight]\"\n [class.required]=\"isrequired\">\n <div\n class=\"text flex-grow-0\"\n [class.flex-sm-grow-1]=\"splitlabelandhelptext\">\n {{ label }}\n </div>\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [ngClass]=\"HelptextTooltipIcon\"\n class=\"ms-1\">\n </span>\n </sac-tooltip>\n </label>\n <div\n class=\"col-12\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\n [class.d-flex]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\n <div [class.flex-grow-1]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\n <div\n class=\"input-group\"\n [class.input-group-sm]=\"componentHeight === ControlHeight.Small\"\n [class.input-group-lg]=\"componentHeight === ControlHeight.Large\">\n <input\n id=\"{{ name }}\"\n name=\"{{ name }}\"\n type=\"text\"\n inputmode=\"search\"\n class=\"form-control\"\n [value]=\"value\"\n [attr.placeholder]=\"placeholder\"\n (blur)=\"onTouch()\"\n (input)=\"setValue($event.target.value)\"\n [attr.maxlength]=\"maxtextlength\"\n [class.is-invalid]=\"invalid && (dirty || touched)\"\n [ngClass]=\"[componentHeight | toControlHeight]\"\n [disabled]=\"isdisabled\"\n [readonly]=\"readonly\" />\n <button\n type=\"button\"\n class=\"btn btn-secondary\"\n id=\"{{ name }}_search\"\n (click)=\"searchClick()\">\n <i\n *ngIf=\"buttonmode === 'icon' || buttonmode === 'mixed'\"\n [class]=\"iconname\"\n [class.me-2]=\"buttonmode === 'mixed'\"></i>\n <ng-container *ngIf=\"buttonmode === 'text' || buttonmode === 'mixed'\">{{ buttontext }}</ng-container>\n </button>\n </div>\n <div\n *ngIf=\"helptextmode === 'text' && helptext\"\n class=\"form-text\">\n {{ helptext }}\n </div>\n </div>\n\n <div\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\n class=\"form-control-plaintext align-self-top ms-2 me-1 w-auto\"\n [ngClass]=\"[componentHeight | toControlHeight]\">\n <sac-tooltip\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [ngClass]=\"HelptextTooltipIcon\"\n class=\"ml-1\">\n </span>\n </sac-tooltip>\n </div>\n </div>\n</div>\n" }]
62
+ }], ctorParameters: function () { return [{ type: i1.SacFormLayoutDirective, decorators: [{
49
63
  type: Host
50
64
  }, {
51
65
  type: Optional
52
66
  }] }, { type: i0.Injector }]; } });
53
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXRzZWFyY2guanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zYWMtYm9vdHN0cmFwNS9zcmMvY29udHJvbHMvaW5wdXQvaW5wdXRzZWFyY2gudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zYWMtYm9vdHN0cmFwNS9zcmMvY29udHJvbHMvaW5wdXQvaW5wdXRzZWFyY2guaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxJQUFJLEVBQVksUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2hGLE9BQU8sRUFBRSxhQUFhLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUV6RSxPQUFPLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxNQUFNLGlCQUFpQixDQUFDOzs7QUFFaEQ7O0dBRUc7QUFDSCxNQW1CYSx1QkFBd0IsU0FBUSxvQkFBb0I7SUFDL0Q7Ozs7T0FJRztJQUNILFlBQWdDLE1BQXdCLEVBQUUsUUFBa0I7UUFDMUUsS0FBSyxDQUFDLE1BQU0sRUFBRSxRQUFRLENBQUMsQ0FBQztJQUMxQixDQUFDOytHQVJVLHVCQUF1QjttR0FBdkIsdUJBQXVCLDhEQWZyQjtZQUNQO2dCQUNJLE9BQU8sRUFBRSxpQkFBaUI7Z0JBQzFCLEtBQUssRUFBRSxJQUFJO2dCQUNYLFdBQVcsRUFBRSx1QkFBdUI7YUFDdkM7WUFDRDtnQkFDSSxPQUFPLEVBQUUsYUFBYTtnQkFDdEIsS0FBSyxFQUFFLElBQUk7Z0JBQ1gsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyx1QkFBdUIsQ0FBQzthQUN6RDtTQUNKLGlEQ3hCTCxreENBc0NBLDRDRFpjLElBQUksNkZBQUUsT0FBTzs7U0FFZCx1QkFBdUI7NEZBQXZCLHVCQUF1QjtrQkFuQm5DLFNBQVM7K0JBQ0ksaUJBQWlCLGFBR2hCO3dCQUNQOzRCQUNJLE9BQU8sRUFBRSxpQkFBaUI7NEJBQzFCLEtBQUssRUFBRSxJQUFJOzRCQUNYLFdBQVcseUJBQXlCO3lCQUN2Qzt3QkFDRDs0QkFDSSxPQUFPLEVBQUUsYUFBYTs0QkFDdEIsS0FBSyxFQUFFLElBQUk7NEJBQ1gsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsd0JBQXdCLENBQUM7eUJBQ3pEO3FCQUNKLGNBQ1csSUFBSSxXQUNQLENBQUMsSUFBSSxFQUFFLE9BQU8sQ0FBQzs7MEJBUWIsSUFBSTs7MEJBQUksUUFBUSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgZm9yd2FyZFJlZiwgSG9zdCwgSW5qZWN0b3IsIE9wdGlvbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE5HX1ZBTElEQVRPUlMsIE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBTYWNJbnB1dFNlYXJjaENvbW1vbiB9IGZyb20gJ0BzaW1wbGVhbmd1bGFyY29udHJvbHMvc2FjLWNvbW1vbic7XHJcbmltcG9ydCB7IFNhY0Zvcm1EaXJlY3RpdmUgfSBmcm9tICcuLi9mb3JtL2Zvcm0nO1xyXG5pbXBvcnQgeyBOZ0lmLCBOZ0NsYXNzIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuXHJcbi8qKlxyXG4gKiBJbnB1dCBCb3ggZsO8ciBTdWNoZVxyXG4gKi9cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ3NhYy1pbnB1dHNlYXJjaCcsXHJcbiAgICB0ZW1wbGF0ZVVybDogJy4vaW5wdXRzZWFyY2guaHRtbCcsXHJcbiAgICAvLyBWYWx1ZSBBY2Nlc3MgUHJvdmlkZXIgcmVnaXN0cmllcmVuLCBkYW1pdCBXZXJ0IHZpYSBNb2RlbCBnZXNjaHJpZWJlbiB1bmQgZ2VsZXNlbiB3ZXJkZW4ga2FublxyXG4gICAgcHJvdmlkZXJzOiBbXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcclxuICAgICAgICAgICAgbXVsdGk6IHRydWUsXHJcbiAgICAgICAgICAgIHVzZUV4aXN0aW5nOiBTYWNJbnB1dFNlYXJjaENvbXBvbmVudCxcclxuICAgICAgICB9LFxyXG4gICAgICAgIHtcclxuICAgICAgICAgICAgcHJvdmlkZTogTkdfVkFMSURBVE9SUyxcclxuICAgICAgICAgICAgbXVsdGk6IHRydWUsXHJcbiAgICAgICAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFNhY0lucHV0U2VhcmNoQ29tcG9uZW50KSxcclxuICAgICAgICB9LFxyXG4gICAgXSxcclxuICAgIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgICBpbXBvcnRzOiBbTmdJZiwgTmdDbGFzc10sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTYWNJbnB1dFNlYXJjaENvbXBvbmVudCBleHRlbmRzIFNhY0lucHV0U2VhcmNoQ29tbW9uIHtcclxuICAvKipcclxuICAgKiBLb25zdHJ1a3RvclxyXG4gICAqIEBwYXJhbSBwYXJlbnQgRm9ybXVsYXJcclxuICAgKiBAcGFyYW0gaW5qZWN0b3IgQW5ndWxhciBEZXBlbmRlbmN5IEluamVjdGlvbiBTZXJ2aWNlXHJcbiAgICovXHJcbiAgY29uc3RydWN0b3IoQEhvc3QoKSBAT3B0aW9uYWwoKSBwYXJlbnQ6IFNhY0Zvcm1EaXJlY3RpdmUsIGluamVjdG9yOiBJbmplY3Rvcikge1xyXG4gICAgc3VwZXIocGFyZW50LCBpbmplY3Rvcik7XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJyb3cgbWItM1wiIFtjbGFzcy5nLTBdPVwiZGlzYWJsZWxhYmVsXCI+XHJcbiAgPGxhYmVsXHJcbiAgICAqbmdJZj1cImRpc2FibGVsYWJlbCA9PT0gZmFsc2UgJiYgIWlzYWRhcHRpdmVsYWJlbFwiXHJcbiAgICBpZD1cInt7bmFtZX19X2xhYmVsXCJcclxuICAgIGZvcj1cInt7bmFtZX19XCJcclxuICAgIGNsYXNzPVwiY29sLWZvcm0tbGFiZWwgY29sLWZvcm0tbGFiZWwtc21cIlxyXG4gICAgW25nQ2xhc3NdPVwiW2xhYmVsc2l6ZSAhPT0gMTIgPyAgJ2NvbC1zbS0nICsgbGFiZWxzaXplIDogJ3NyLW9ubHknXVwiXHJcbiAgICBbY2xhc3MucmVxdWlyZWRdPVwiaXNyZXF1aXJlZFwiXHJcbiAgICA+e3tsYWJlbH19PC9sYWJlbFxyXG4gID5cclxuICA8ZGl2XHJcbiAgICBbbmdDbGFzc109XCJbZGlzYWJsZWxhYmVsID09PSBmYWxzZSA/ICdjb2wtc20tJyArIF9pbnB1dHNpemUgOiAnY29sLXNtLTEyJ11cIlxyXG4gID5cclxuICAgIDxkaXYgY2xhc3M9XCJpbnB1dC1ncm91cCBpbnB1dC1ncm91cC1zbVwiPlxyXG4gICAgICA8aW5wdXRcclxuICAgICAgICBpZD1cInt7bmFtZX19XCJcclxuICAgICAgICBuYW1lPVwie3tuYW1lfX1cIlxyXG4gICAgICAgIHR5cGU9XCJ0ZXh0XCJcclxuICAgICAgICBjbGFzcz1cImZvcm0tY29udHJvbFwiXHJcbiAgICAgICAgW3ZhbHVlXT1cInZhbHVlXCJcclxuICAgICAgICBbYXR0ci5wbGFjZWhvbGRlcl09XCJwbGFjZWhvbGRlclwiXHJcbiAgICAgICAgKGJsdXIpPVwib25Ub3VjaCgpXCJcclxuICAgICAgICAoaW5wdXQpPVwic2V0VmFsdWUoJGV2ZW50LnRhcmdldC52YWx1ZSlcIlxyXG4gICAgICAgIFthdHRyLm1heGxlbmd0aF09XCJtYXhsZW5ndGhcIlxyXG4gICAgICAgIFtuZ0NsYXNzXT1cInsnbGFuZ3VhZ2Utc3BlY2lmaWMnOiBpc2xhbmd1YWdlc3BlY2lmaWMsJ2lzLWludmFsaWQnOiBpbnZhbGlkICYmIChkaXJ0eSB8fCB0b3VjaGVkKSB9XCJcclxuICAgICAgICBbZGlzYWJsZWRdPVwiaXNkaXNhYmxlZFwiXHJcbiAgICAgICAgW3JlYWRvbmx5XT1cInJlYWRvbmx5XCJcclxuICAgICAgLz5cclxuICAgICAgPGlucHV0XHJcbiAgICAgICAgdHlwZT1cInN1Ym1pdFwiXHJcbiAgICAgICAgY2xhc3M9XCJidG4gYnRuLXNlY29uZGFyeVwiXHJcbiAgICAgICAgaWQ9XCJ7e25hbWV9fV9zZWFyY2hcIlxyXG4gICAgICAgIChjbGljayk9XCJzZWFyY2hDbGljaygpXCJcclxuICAgICAgICBbdmFsdWVdPVwiYnV0dG9udGV4dFwiXHJcbiAgICAgIC8+XHJcbiAgICA8L2Rpdj5cclxuICA8L2Rpdj5cclxuPC9kaXY+XHJcbiJdfQ==
67
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXRzZWFyY2guanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zYWMtYm9vdHN0cmFwNS9zcmMvY29udHJvbHMvaW5wdXQvaW5wdXRzZWFyY2gudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zYWMtYm9vdHN0cmFwNS9zcmMvY29udHJvbHMvaW5wdXQvaW5wdXRzZWFyY2guaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ2hELE9BQU8sRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFZLFFBQVEsRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDaEYsT0FBTyxFQUFFLGFBQWEsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBRXpFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3hFLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQzVFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ3BFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3hFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLG9CQUFvQixDQUFDOzs7QUFFekQ7O0dBRUc7QUFDSCxNQTJCYSx1QkFBd0IsU0FBUSxvQkFBb0I7SUFDL0QsdUJBQXVCO0lBRXZCOzs7O09BSUc7SUFDSCxZQUNzQixVQUFrQyxFQUN0RCxRQUFrQjtRQUVsQixLQUFLLENBQUMsVUFBVSxFQUFFLFFBQVEsQ0FBQyxDQUFDO0lBQzlCLENBQUM7K0dBYlUsdUJBQXVCO21HQUF2Qix1QkFBdUIsOERBdkJ2QjtZQUNUO2dCQUNFLE9BQU8sRUFBRSxpQkFBaUI7Z0JBQzFCLEtBQUssRUFBRSxJQUFJO2dCQUNYLFdBQVcsRUFBRSx1QkFBdUI7YUFDckM7WUFDRDtnQkFDRSxPQUFPLEVBQUUsYUFBYTtnQkFDdEIsS0FBSyxFQUFFLElBQUk7Z0JBQ1gsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyx1QkFBdUIsQ0FBQzthQUN2RDtTQUNGLGlEQzdCSCxnM0dBa0ZBLDRDRGxESSxPQUFPLG9GQUNQLElBQUksd0ZBQ0osd0JBQXdCLHFEQUN4QixzQkFBc0IsbURBQ3RCLG9CQUFvQixpREFDcEIsc0JBQXNCLHdEQUN0QixtQkFBbUI7O1NBR1YsdUJBQXVCOzRGQUF2Qix1QkFBdUI7a0JBM0JuQyxTQUFTOytCQUNFLGlCQUFpQixhQUdoQjt3QkFDVDs0QkFDRSxPQUFPLEVBQUUsaUJBQWlCOzRCQUMxQixLQUFLLEVBQUUsSUFBSTs0QkFDWCxXQUFXLHlCQUF5Qjt5QkFDckM7d0JBQ0Q7NEJBQ0UsT0FBTyxFQUFFLGFBQWE7NEJBQ3RCLEtBQUssRUFBRSxJQUFJOzRCQUNYLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLHdCQUF3QixDQUFDO3lCQUN2RDtxQkFDRixjQUNXLElBQUksV0FDUDt3QkFDUCxPQUFPO3dCQUNQLElBQUk7d0JBQ0osd0JBQXdCO3dCQUN4QixzQkFBc0I7d0JBQ3RCLG9CQUFvQjt3QkFDcEIsc0JBQXNCO3dCQUN0QixtQkFBbUI7cUJBQ3BCOzswQkFXRSxJQUFJOzswQkFBSSxRQUFRIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdDbGFzcywgTmdJZiB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDb21wb25lbnQsIEhvc3QsIEluamVjdG9yLCBPcHRpb25hbCwgZm9yd2FyZFJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTkdfVkFMSURBVE9SUywgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBTYWNJbnB1dFNlYXJjaENvbW1vbiB9IGZyb20gJ0BzaW1wbGVhbmd1bGFyY29udHJvbHMvc2FjLWNvbW1vbic7XG5pbXBvcnQgeyBTYWNGb3JtTGF5b3V0RGlyZWN0aXZlIH0gZnJvbSAnLi4vbGF5b3V0L2Zvcm1sYXlvdXQuZGlyZWN0aXZlJztcbmltcG9ydCB7IFNhY1RvQ29udHJvbEhlaWdodFBpcGUgfSBmcm9tICcuLi9sYXlvdXQvdG9jb250cm9saGVpZ2h0LnBpcGUnO1xuaW1wb3J0IHsgU2FjVG9Db250cm9sV2lkdGhDc3NQaXBlIH0gZnJvbSAnLi4vbGF5b3V0L3RvY29udHJvbHdpZHRoY3NzLnBpcGUnO1xuaW1wb3J0IHsgU2FjVG9MYWJlbEhlaWdodFBpcGUgfSBmcm9tICcuLi9sYXlvdXQvdG9sYWJlbGhlaWdodC5waXBlJztcbmltcG9ydCB7IFNhY1RvTGFiZWxXaWR0aENzc1BpcGUgfSBmcm9tICcuLi9sYXlvdXQvdG9sYWJlbHdpZHRoY3NzLnBpcGUnO1xuaW1wb3J0IHsgU2FjVG9vbHRpcENvbXBvbmVudCB9IGZyb20gJy4uL3Rvb2x0aXAvdG9vbHRpcCc7XG5cbi8qKlxuICogSW5wdXQgQm94IGbDvHIgU3VjaGVcbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc2FjLWlucHV0c2VhcmNoJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2lucHV0c2VhcmNoLmh0bWwnLFxuICAvLyBWYWx1ZSBBY2Nlc3MgUHJvdmlkZXIgcmVnaXN0cmllcmVuLCBkYW1pdCBXZXJ0IHZpYSBNb2RlbCBnZXNjaHJpZWJlbiB1bmQgZ2VsZXNlbiB3ZXJkZW4ga2FublxuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICAgIG11bHRpOiB0cnVlLFxuICAgICAgdXNlRXhpc3Rpbmc6IFNhY0lucHV0U2VhcmNoQ29tcG9uZW50LFxuICAgIH0sXG4gICAge1xuICAgICAgcHJvdmlkZTogTkdfVkFMSURBVE9SUyxcbiAgICAgIG11bHRpOiB0cnVlLFxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gU2FjSW5wdXRTZWFyY2hDb21wb25lbnQpLFxuICAgIH0sXG4gIF0sXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtcbiAgICBOZ0NsYXNzLFxuICAgIE5nSWYsXG4gICAgU2FjVG9Db250cm9sV2lkdGhDc3NQaXBlLFxuICAgIFNhY1RvTGFiZWxXaWR0aENzc1BpcGUsXG4gICAgU2FjVG9MYWJlbEhlaWdodFBpcGUsXG4gICAgU2FjVG9Db250cm9sSGVpZ2h0UGlwZSxcbiAgICBTYWNUb29sdGlwQ29tcG9uZW50LFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBTYWNJbnB1dFNlYXJjaENvbXBvbmVudCBleHRlbmRzIFNhY0lucHV0U2VhcmNoQ29tbW9uIHtcbiAgLy8gI3JlZ2lvbiBDb25zdHJ1Y3RvcnNcblxuICAvKipcbiAgICogQ29uc3RydWN0b3JcbiAgICogQHBhcmFtIGZvcm1MYXlvdXQgU2FjRm9ybUxheW91dCB0byBkZWZpbmUgc2NvcGVkIGxheW91dCBzZXR0aW5nc1xuICAgKiBAcGFyYW0gaW5qZWN0b3IgSW5qZWN0b3IgZm9yIGluamVjdGluZyBzZXJ2aWNlc1xuICAgKi9cbiAgY29uc3RydWN0b3IoXG4gICAgQEhvc3QoKSBAT3B0aW9uYWwoKSBmb3JtTGF5b3V0OiBTYWNGb3JtTGF5b3V0RGlyZWN0aXZlLFxuICAgIGluamVjdG9yOiBJbmplY3RvclxuICApIHtcbiAgICBzdXBlcihmb3JtTGF5b3V0LCBpbmplY3Rvcik7XG4gIH1cblxuICAvLyAjZW5kcmVnaW9uIENvbnN0cnVjdG9yc1xufVxuIiwiPGRpdlxuICAgIGNsYXNzPVwicm93IG1iLTNcIlxuICAgIFtjbGFzcy5nLTBdPVwiZGlzYWJsZWxhYmVsXCI+XG4gICAgPGxhYmVsXG4gICAgICAgIGlkPVwie3sgbmFtZSB9fV9sYWJlbFwiXG4gICAgICAgIGZvcj1cInt7IG5hbWUgfX1cIlxuICAgICAgICBjbGFzcz1cImNvbC0xMiBjb2wtZm9ybS1sYWJlbCBkLWZsZXhcIlxuICAgICAgICBbbmdDbGFzc109XCJbZGlzYWJsZWxhYmVsID09PSBmYWxzZSA/ICh0aGlzLmxhYmVsU2l6ZXMgfCB0b0xhYmVsV2lkdGhDc3MpIDogJ3Zpc3VhbGx5LWhpZGRlbicsIGNvbXBvbmVudEhlaWdodCB8IHRvTGFiZWxIZWlnaHRdXCJcbiAgICAgICAgW2NsYXNzLnJlcXVpcmVkXT1cImlzcmVxdWlyZWRcIj5cbiAgICAgICAgPGRpdlxuICAgICAgICAgICAgY2xhc3M9XCJ0ZXh0IGZsZXgtZ3Jvdy0wXCJcbiAgICAgICAgICAgIFtjbGFzcy5mbGV4LXNtLWdyb3ctMV09XCJzcGxpdGxhYmVsYW5kaGVscHRleHRcIj5cbiAgICAgICAgICAgIHt7IGxhYmVsIH19XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8c2FjLXRvb2x0aXBcbiAgICAgICAgICAgICpuZ0lmPVwiaGVscHRleHRtb2RlID09PSAndG9vbHRpcCcgJiYgaGVscHRleHRcIlxuICAgICAgICAgICAgW3Rvb2x0aXB0ZXh0XT1cImhlbHB0ZXh0XCJcbiAgICAgICAgICAgIFtpbmxpbmVtb2RlXT1cInRydWVcIj5cbiAgICAgICAgICAgIDxzcGFuXG4gICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwiSGVscHRleHRUb29sdGlwSWNvblwiXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJtcy0xXCI+XG4gICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgIDwvc2FjLXRvb2x0aXA+XG4gICAgPC9sYWJlbD5cbiAgICA8ZGl2XG4gICAgICAgIGNsYXNzPVwiY29sLTEyXCJcbiAgICAgICAgW25nQ2xhc3NdPVwiW2Rpc2FibGVsYWJlbCA9PT0gZmFsc2UgPyAodGhpcy5sYWJlbFNpemVzIHwgdG9Db250cm9sV2lkdGhDc3MpIDogJyddXCJcbiAgICAgICAgW2NsYXNzLmQtZmxleF09XCJoZWxwdGV4dG1vZGUgPT09ICd0b29sdGlwJyAmJiBoZWxwdGV4dCAmJiBkaXNhYmxlbGFiZWxcIj5cbiAgICAgICAgPGRpdiBbY2xhc3MuZmxleC1ncm93LTFdPVwiaGVscHRleHRtb2RlID09PSAndG9vbHRpcCcgJiYgaGVscHRleHQgJiYgZGlzYWJsZWxhYmVsXCI+XG4gICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgY2xhc3M9XCJpbnB1dC1ncm91cFwiXG4gICAgICAgICAgICAgICAgW2NsYXNzLmlucHV0LWdyb3VwLXNtXT1cImNvbXBvbmVudEhlaWdodCA9PT0gQ29udHJvbEhlaWdodC5TbWFsbFwiXG4gICAgICAgICAgICAgICAgW2NsYXNzLmlucHV0LWdyb3VwLWxnXT1cImNvbXBvbmVudEhlaWdodCA9PT0gQ29udHJvbEhlaWdodC5MYXJnZVwiPlxuICAgICAgICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgICAgICAgICBpZD1cInt7IG5hbWUgfX1cIlxuICAgICAgICAgICAgICAgICAgICBuYW1lPVwie3sgbmFtZSB9fVwiXG4gICAgICAgICAgICAgICAgICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICAgICAgICAgICAgICAgICAgaW5wdXRtb2RlPVwic2VhcmNoXCJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIlxuICAgICAgICAgICAgICAgICAgICBbdmFsdWVdPVwidmFsdWVcIlxuICAgICAgICAgICAgICAgICAgICBbYXR0ci5wbGFjZWhvbGRlcl09XCJwbGFjZWhvbGRlclwiXG4gICAgICAgICAgICAgICAgICAgIChibHVyKT1cIm9uVG91Y2goKVwiXG4gICAgICAgICAgICAgICAgICAgIChpbnB1dCk9XCJzZXRWYWx1ZSgkZXZlbnQudGFyZ2V0LnZhbHVlKVwiXG4gICAgICAgICAgICAgICAgICAgIFthdHRyLm1heGxlbmd0aF09XCJtYXh0ZXh0bGVuZ3RoXCJcbiAgICAgICAgICAgICAgICAgICAgW2NsYXNzLmlzLWludmFsaWRdPVwiaW52YWxpZCAmJiAoZGlydHkgfHwgdG91Y2hlZClcIlxuICAgICAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJbY29tcG9uZW50SGVpZ2h0IHwgdG9Db250cm9sSGVpZ2h0XVwiXG4gICAgICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJpc2Rpc2FibGVkXCJcbiAgICAgICAgICAgICAgICAgICAgW3JlYWRvbmx5XT1cInJlYWRvbmx5XCIgLz5cbiAgICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImJ0biBidG4tc2Vjb25kYXJ5XCJcbiAgICAgICAgICAgICAgICAgICAgaWQ9XCJ7eyBuYW1lIH19X3NlYXJjaFwiXG4gICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJzZWFyY2hDbGljaygpXCI+XG4gICAgICAgICAgICAgICAgICAgIDxpXG4gICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cImJ1dHRvbm1vZGUgPT09ICdpY29uJyB8fCBidXR0b25tb2RlID09PSAnbWl4ZWQnXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtjbGFzc109XCJpY29ubmFtZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbY2xhc3MubWUtMl09XCJidXR0b25tb2RlID09PSAnbWl4ZWQnXCI+PC9pPlxuICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiYnV0dG9ubW9kZSA9PT0gJ3RleHQnIHx8IGJ1dHRvbm1vZGUgPT09ICdtaXhlZCdcIj57eyBidXR0b250ZXh0IH19PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAqbmdJZj1cImhlbHB0ZXh0bW9kZSA9PT0gJ3RleHQnICYmIGhlbHB0ZXh0XCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImZvcm0tdGV4dFwiPlxuICAgICAgICAgICAgICAgIHt7IGhlbHB0ZXh0IH19XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgPGRpdlxuICAgICAgICAgICAgKm5nSWY9XCJoZWxwdGV4dG1vZGUgPT09ICd0b29sdGlwJyAmJiBoZWxwdGV4dCAmJiBkaXNhYmxlbGFiZWxcIlxuICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2wtcGxhaW50ZXh0IGFsaWduLXNlbGYtdG9wIG1zLTIgbWUtMSB3LWF1dG9cIlxuICAgICAgICAgICAgW25nQ2xhc3NdPVwiW2NvbXBvbmVudEhlaWdodCB8IHRvQ29udHJvbEhlaWdodF1cIj5cbiAgICAgICAgICAgIDxzYWMtdG9vbHRpcFxuICAgICAgICAgICAgICAgIFt0b29sdGlwdGV4dF09XCJoZWxwdGV4dFwiXG4gICAgICAgICAgICAgICAgW2lubGluZW1vZGVdPVwidHJ1ZVwiPlxuICAgICAgICAgICAgICAgIDxzcGFuXG4gICAgICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cIkhlbHB0ZXh0VG9vbHRpcEljb25cIlxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cIm1sLTFcIj5cbiAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICA8L3NhYy10b29sdGlwPlxuICAgICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbjwvZGl2PlxuIl19
@@ -0,0 +1,16 @@
1
+ import { Directive } from '@angular/core';
2
+ import { SacFormLayoutCommon } from '@simpleangularcontrols/sac-common';
3
+ import * as i0 from "@angular/core";
4
+ class SacFormLayoutDirective extends SacFormLayoutCommon {
5
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SacFormLayoutDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
6
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: SacFormLayoutDirective, isStandalone: true, selector: "[sacFormLayout]", usesInheritance: true, ngImport: i0 }); }
7
+ }
8
+ export { SacFormLayoutDirective };
9
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SacFormLayoutDirective, decorators: [{
10
+ type: Directive,
11
+ args: [{
12
+ selector: '[sacFormLayout]',
13
+ standalone: true,
14
+ }]
15
+ }] });
16
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybWxheW91dC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zYWMtYm9vdHN0cmFwNS9zcmMvY29udHJvbHMvbGF5b3V0L2Zvcm1sYXlvdXQuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUMsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7O0FBRXhFLE1BSWEsc0JBQXVCLFNBQVEsbUJBQW1COytHQUFsRCxzQkFBc0I7bUdBQXRCLHNCQUFzQjs7U0FBdEIsc0JBQXNCOzRGQUF0QixzQkFBc0I7a0JBSmxDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGlCQUFpQjtvQkFDM0IsVUFBVSxFQUFFLElBQUk7aUJBQ2pCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTYWNGb3JtTGF5b3V0Q29tbW9uIH0gZnJvbSAnQHNpbXBsZWFuZ3VsYXJjb250cm9scy9zYWMtY29tbW9uJztcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW3NhY0Zvcm1MYXlvdXRdJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbn0pXG5leHBvcnQgY2xhc3MgU2FjRm9ybUxheW91dERpcmVjdGl2ZSBleHRlbmRzIFNhY0Zvcm1MYXlvdXRDb21tb24ge31cbiJdfQ==
@@ -0,0 +1,44 @@
1
+ import { CommonModule } from '@angular/common';
2
+ import { NgModule } from '@angular/core';
3
+ import { SacFormLayoutDirective } from './formlayout.directive';
4
+ import { SacToControlHeightPipe } from './tocontrolheight.pipe';
5
+ import { SacToControlWidthCssPipe } from './tocontrolwidthcss.pipe';
6
+ import { SacToLabelHeightPipe } from './tolabelheight.pipe';
7
+ import { SacToLabelWidthCssPipe } from './tolabelwidthcss.pipe';
8
+ import * as i0 from "@angular/core";
9
+ class SACBootstrap5LayoutModule {
10
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SACBootstrap5LayoutModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
11
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: SACBootstrap5LayoutModule, imports: [CommonModule,
12
+ SacFormLayoutDirective,
13
+ SacToControlHeightPipe,
14
+ SacToControlWidthCssPipe,
15
+ SacToLabelHeightPipe,
16
+ SacToLabelWidthCssPipe], exports: [SacFormLayoutDirective,
17
+ SacToControlHeightPipe,
18
+ SacToControlWidthCssPipe,
19
+ SacToLabelHeightPipe,
20
+ SacToLabelWidthCssPipe] }); }
21
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SACBootstrap5LayoutModule, imports: [CommonModule] }); }
22
+ }
23
+ export { SACBootstrap5LayoutModule };
24
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SACBootstrap5LayoutModule, decorators: [{
25
+ type: NgModule,
26
+ args: [{
27
+ imports: [
28
+ CommonModule,
29
+ SacFormLayoutDirective,
30
+ SacToControlHeightPipe,
31
+ SacToControlWidthCssPipe,
32
+ SacToLabelHeightPipe,
33
+ SacToLabelWidthCssPipe,
34
+ ],
35
+ exports: [
36
+ SacFormLayoutDirective,
37
+ SacToControlHeightPipe,
38
+ SacToControlWidthCssPipe,
39
+ SacToLabelHeightPipe,
40
+ SacToLabelWidthCssPipe,
41
+ ],
42
+ }]
43
+ }] });
44
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF5b3V0Lm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NhYy1ib290c3RyYXA1L3NyYy9jb250cm9scy9sYXlvdXQvbGF5b3V0Lm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNoRSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNoRSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNwRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUM1RCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQzs7QUFFaEUsTUFpQmEseUJBQXlCOytHQUF6Qix5QkFBeUI7Z0hBQXpCLHlCQUF5QixZQWZsQyxZQUFZO1lBQ1osc0JBQXNCO1lBQ3RCLHNCQUFzQjtZQUN0Qix3QkFBd0I7WUFDeEIsb0JBQW9CO1lBQ3BCLHNCQUFzQixhQUd0QixzQkFBc0I7WUFDdEIsc0JBQXNCO1lBQ3RCLHdCQUF3QjtZQUN4QixvQkFBb0I7WUFDcEIsc0JBQXNCO2dIQUdiLHlCQUF5QixZQWZsQyxZQUFZOztTQWVILHlCQUF5Qjs0RkFBekIseUJBQXlCO2tCQWpCckMsUUFBUTttQkFBQztvQkFDUixPQUFPLEVBQUU7d0JBQ1AsWUFBWTt3QkFDWixzQkFBc0I7d0JBQ3RCLHNCQUFzQjt3QkFDdEIsd0JBQXdCO3dCQUN4QixvQkFBb0I7d0JBQ3BCLHNCQUFzQjtxQkFDdkI7b0JBQ0QsT0FBTyxFQUFFO3dCQUNQLHNCQUFzQjt3QkFDdEIsc0JBQXNCO3dCQUN0Qix3QkFBd0I7d0JBQ3hCLG9CQUFvQjt3QkFDcEIsc0JBQXNCO3FCQUN2QjtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU2FjRm9ybUxheW91dERpcmVjdGl2ZSB9IGZyb20gJy4vZm9ybWxheW91dC5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgU2FjVG9Db250cm9sSGVpZ2h0UGlwZSB9IGZyb20gJy4vdG9jb250cm9saGVpZ2h0LnBpcGUnO1xuaW1wb3J0IHsgU2FjVG9Db250cm9sV2lkdGhDc3NQaXBlIH0gZnJvbSAnLi90b2NvbnRyb2x3aWR0aGNzcy5waXBlJztcbmltcG9ydCB7IFNhY1RvTGFiZWxIZWlnaHRQaXBlIH0gZnJvbSAnLi90b2xhYmVsaGVpZ2h0LnBpcGUnO1xuaW1wb3J0IHsgU2FjVG9MYWJlbFdpZHRoQ3NzUGlwZSB9IGZyb20gJy4vdG9sYWJlbHdpZHRoY3NzLnBpcGUnO1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIFNhY0Zvcm1MYXlvdXREaXJlY3RpdmUsXG4gICAgU2FjVG9Db250cm9sSGVpZ2h0UGlwZSxcbiAgICBTYWNUb0NvbnRyb2xXaWR0aENzc1BpcGUsXG4gICAgU2FjVG9MYWJlbEhlaWdodFBpcGUsXG4gICAgU2FjVG9MYWJlbFdpZHRoQ3NzUGlwZSxcbiAgXSxcbiAgZXhwb3J0czogW1xuICAgIFNhY0Zvcm1MYXlvdXREaXJlY3RpdmUsXG4gICAgU2FjVG9Db250cm9sSGVpZ2h0UGlwZSxcbiAgICBTYWNUb0NvbnRyb2xXaWR0aENzc1BpcGUsXG4gICAgU2FjVG9MYWJlbEhlaWdodFBpcGUsXG4gICAgU2FjVG9MYWJlbFdpZHRoQ3NzUGlwZSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgU0FDQm9vdHN0cmFwNUxheW91dE1vZHVsZSB7fVxuIl19
@@ -0,0 +1,35 @@
1
+ import { Pipe } from '@angular/core';
2
+ import { ControlHeight } from '@simpleangularcontrols/sac-common';
3
+ import * as i0 from "@angular/core";
4
+ class SacToControlHeightPipe {
5
+ // #region Public Methods
6
+ /**
7
+ * Returns the CSS class that defines the height for the control
8
+ * @param value ControlHeight value or null
9
+ */
10
+ transform(value) {
11
+ // Return default value
12
+ if (!value) {
13
+ return '';
14
+ }
15
+ switch (value) {
16
+ case ControlHeight.Small:
17
+ return 'form-control-sm';
18
+ case ControlHeight.Large:
19
+ return 'form-control-lg';
20
+ default:
21
+ return '';
22
+ }
23
+ }
24
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SacToControlHeightPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
25
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: SacToControlHeightPipe, isStandalone: true, name: "toControlHeight" }); }
26
+ }
27
+ export { SacToControlHeightPipe };
28
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SacToControlHeightPipe, decorators: [{
29
+ type: Pipe,
30
+ args: [{
31
+ name: 'toControlHeight',
32
+ standalone: true,
33
+ }]
34
+ }] });
35
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9jb250cm9saGVpZ2h0LnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zYWMtYm9vdHN0cmFwNS9zcmMvY29udHJvbHMvbGF5b3V0L3RvY29udHJvbGhlaWdodC5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQWlCLE1BQU0sZUFBZSxDQUFDO0FBQ3BELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQzs7QUFFbEUsTUFJYSxzQkFBc0I7SUFDakMseUJBQXlCO0lBRXpCOzs7T0FHRztJQUNJLFNBQVMsQ0FBQyxLQUEyQjtRQUMxQyx1QkFBdUI7UUFDdkIsSUFBSSxDQUFDLEtBQUssRUFBRTtZQUNWLE9BQU8sRUFBRSxDQUFDO1NBQ1g7UUFFRCxRQUFRLEtBQUssRUFBRTtZQUNiLEtBQUssYUFBYSxDQUFDLEtBQUs7Z0JBQ3RCLE9BQU8saUJBQWlCLENBQUM7WUFDM0IsS0FBSyxhQUFhLENBQUMsS0FBSztnQkFDdEIsT0FBTyxpQkFBaUIsQ0FBQztZQUMzQjtnQkFDRSxPQUFPLEVBQUUsQ0FBQztTQUNiO0lBQ0gsQ0FBQzsrR0FyQlUsc0JBQXNCOzZHQUF0QixzQkFBc0I7O1NBQXRCLHNCQUFzQjs0RkFBdEIsc0JBQXNCO2tCQUpsQyxJQUFJO21CQUFDO29CQUNKLElBQUksRUFBRSxpQkFBaUI7b0JBQ3ZCLFVBQVUsRUFBRSxJQUFJO2lCQUNqQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBpcGUsIFBpcGVUcmFuc2Zvcm0gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbnRyb2xIZWlnaHQgfSBmcm9tICdAc2ltcGxlYW5ndWxhcmNvbnRyb2xzL3NhYy1jb21tb24nO1xuXG5AUGlwZSh7XG4gIG5hbWU6ICd0b0NvbnRyb2xIZWlnaHQnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxufSlcbmV4cG9ydCBjbGFzcyBTYWNUb0NvbnRyb2xIZWlnaHRQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG4gIC8vICNyZWdpb24gUHVibGljIE1ldGhvZHNcblxuICAvKipcbiAgICogUmV0dXJucyB0aGUgQ1NTIGNsYXNzIHRoYXQgZGVmaW5lcyB0aGUgaGVpZ2h0IGZvciB0aGUgY29udHJvbFxuICAgKiBAcGFyYW0gdmFsdWUgQ29udHJvbEhlaWdodCB2YWx1ZSBvciBudWxsXG4gICAqL1xuICBwdWJsaWMgdHJhbnNmb3JtKHZhbHVlOiBDb250cm9sSGVpZ2h0IHwgbnVsbCk6IHN0cmluZyB7XG4gICAgLy8gUmV0dXJuIGRlZmF1bHQgdmFsdWVcbiAgICBpZiAoIXZhbHVlKSB7XG4gICAgICByZXR1cm4gJyc7XG4gICAgfVxuXG4gICAgc3dpdGNoICh2YWx1ZSkge1xuICAgICAgY2FzZSBDb250cm9sSGVpZ2h0LlNtYWxsOlxuICAgICAgICByZXR1cm4gJ2Zvcm0tY29udHJvbC1zbSc7XG4gICAgICBjYXNlIENvbnRyb2xIZWlnaHQuTGFyZ2U6XG4gICAgICAgIHJldHVybiAnZm9ybS1jb250cm9sLWxnJztcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHJldHVybiAnJztcbiAgICB9XG4gIH1cblxuICAvLyAjZW5kcmVnaW9uIFB1YmxpYyBNZXRob2RzXG59XG4iXX0=
@@ -0,0 +1,59 @@
1
+ import { Pipe } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ class SacToControlWidthCssPipe {
4
+ // #region Public Methods
5
+ /**
6
+ * Get CSS classes from label width configuration to set control size
7
+ * @param value Configuration with grid columns for different viewports
8
+ * @returns string with css classe for bootstrap3
9
+ */
10
+ transform(value) {
11
+ const classes = [];
12
+ if (value.labelSizeXs) {
13
+ classes.push('col-' + this.calcControlSize(value.labelSizeXs));
14
+ }
15
+ if (value.labelSizeSm) {
16
+ classes.push('col-sm-' + this.calcControlSize(value.labelSizeSm));
17
+ }
18
+ if (value.labelSizeMd) {
19
+ classes.push('col-md-' + this.calcControlSize(value.labelSizeMd));
20
+ }
21
+ if (value.labelSizeLg) {
22
+ classes.push('col-lg-' + this.calcControlSize(value.labelSizeLg));
23
+ }
24
+ if (value.labelSizeXl) {
25
+ classes.push('col-xl-' + this.calcControlSize(value.labelSizeXl));
26
+ }
27
+ if (value.labelSizeXxl) {
28
+ classes.push('col-xxl-' + this.calcControlSize(value.labelSizeXxl));
29
+ }
30
+ return classes.join(' ');
31
+ }
32
+ // #endregion Public Methods
33
+ // #region Private Methods
34
+ /**
35
+ * calculate the control size
36
+ * @param labelsize grid size of label
37
+ * @returns grid size for control. should be between 1 and 12
38
+ */
39
+ calcControlSize(labelsize) {
40
+ if (labelsize === 12) {
41
+ return 12;
42
+ }
43
+ if (!labelsize) {
44
+ return 12;
45
+ }
46
+ return 12 - labelsize;
47
+ }
48
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SacToControlWidthCssPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
49
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: SacToControlWidthCssPipe, isStandalone: true, name: "toControlWidthCss" }); }
50
+ }
51
+ export { SacToControlWidthCssPipe };
52
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SacToControlWidthCssPipe, decorators: [{
53
+ type: Pipe,
54
+ args: [{
55
+ name: 'toControlWidthCss',
56
+ standalone: true,
57
+ }]
58
+ }] });
59
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9jb250cm9sd2lkdGhjc3MucGlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NhYy1ib290c3RyYXA1L3NyYy9jb250cm9scy9sYXlvdXQvdG9jb250cm9sd2lkdGhjc3MucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFpQixNQUFNLGVBQWUsQ0FBQzs7QUFHcEQsTUFJYSx3QkFBd0I7SUFDbkMseUJBQXlCO0lBRXpCOzs7O09BSUc7SUFDSSxTQUFTLENBQUMsS0FBcUI7UUFDcEMsTUFBTSxPQUFPLEdBQWEsRUFBRSxDQUFDO1FBRTdCLElBQUksS0FBSyxDQUFDLFdBQVcsRUFBRTtZQUNyQixPQUFPLENBQUMsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDO1NBQ2hFO1FBRUQsSUFBSSxLQUFLLENBQUMsV0FBVyxFQUFFO1lBQ3JCLE9BQU8sQ0FBQyxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUM7U0FDbkU7UUFFRCxJQUFJLEtBQUssQ0FBQyxXQUFXLEVBQUU7WUFDckIsT0FBTyxDQUFDLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQztTQUNuRTtRQUVELElBQUksS0FBSyxDQUFDLFdBQVcsRUFBRTtZQUNyQixPQUFPLENBQUMsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDO1NBQ25FO1FBRUQsSUFBSSxLQUFLLENBQUMsV0FBVyxFQUFFO1lBQ3JCLE9BQU8sQ0FBQyxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUM7U0FDbkU7UUFFRCxJQUFJLEtBQUssQ0FBQyxZQUFZLEVBQUU7WUFDdEIsT0FBTyxDQUFDLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQztTQUNyRTtRQUVELE9BQU8sT0FBTyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUMzQixDQUFDO0lBRUQsNEJBQTRCO0lBRTVCLDBCQUEwQjtJQUUxQjs7OztPQUlHO0lBQ0ssZUFBZSxDQUFDLFNBQWlCO1FBQ3ZDLElBQUksU0FBUyxLQUFLLEVBQUUsRUFBRTtZQUNwQixPQUFPLEVBQUUsQ0FBQztTQUNYO1FBRUQsSUFBSSxDQUFDLFNBQVMsRUFBRTtZQUNkLE9BQU8sRUFBRSxDQUFDO1NBQ1g7UUFFRCxPQUFPLEVBQUUsR0FBRyxTQUFTLENBQUM7SUFDeEIsQ0FBQzsrR0F6RFUsd0JBQXdCOzZHQUF4Qix3QkFBd0I7O1NBQXhCLHdCQUF3Qjs0RkFBeEIsd0JBQXdCO2tCQUpwQyxJQUFJO21CQUFDO29CQUNKLElBQUksRUFBRSxtQkFBbUI7b0JBQ3pCLFVBQVUsRUFBRSxJQUFJO2lCQUNqQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBpcGUsIFBpcGVUcmFuc2Zvcm0gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IElTYWNMYWJlbFNpemVzIH0gZnJvbSAnQHNpbXBsZWFuZ3VsYXJjb250cm9scy9zYWMtY29tbW9uJztcblxuQFBpcGUoe1xuICBuYW1lOiAndG9Db250cm9sV2lkdGhDc3MnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxufSlcbmV4cG9ydCBjbGFzcyBTYWNUb0NvbnRyb2xXaWR0aENzc1BpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcbiAgLy8gI3JlZ2lvbiBQdWJsaWMgTWV0aG9kc1xuXG4gIC8qKlxuICAgKiBHZXQgQ1NTIGNsYXNzZXMgZnJvbSBsYWJlbCB3aWR0aCBjb25maWd1cmF0aW9uIHRvIHNldCBjb250cm9sIHNpemVcbiAgICogQHBhcmFtIHZhbHVlIENvbmZpZ3VyYXRpb24gd2l0aCBncmlkIGNvbHVtbnMgZm9yIGRpZmZlcmVudCB2aWV3cG9ydHNcbiAgICogQHJldHVybnMgc3RyaW5nIHdpdGggY3NzIGNsYXNzZSBmb3IgYm9vdHN0cmFwM1xuICAgKi9cbiAgcHVibGljIHRyYW5zZm9ybSh2YWx1ZTogSVNhY0xhYmVsU2l6ZXMpOiBzdHJpbmcge1xuICAgIGNvbnN0IGNsYXNzZXM6IHN0cmluZ1tdID0gW107XG5cbiAgICBpZiAodmFsdWUubGFiZWxTaXplWHMpIHtcbiAgICAgIGNsYXNzZXMucHVzaCgnY29sLScgKyB0aGlzLmNhbGNDb250cm9sU2l6ZSh2YWx1ZS5sYWJlbFNpemVYcykpO1xuICAgIH1cblxuICAgIGlmICh2YWx1ZS5sYWJlbFNpemVTbSkge1xuICAgICAgY2xhc3Nlcy5wdXNoKCdjb2wtc20tJyArIHRoaXMuY2FsY0NvbnRyb2xTaXplKHZhbHVlLmxhYmVsU2l6ZVNtKSk7XG4gICAgfVxuXG4gICAgaWYgKHZhbHVlLmxhYmVsU2l6ZU1kKSB7XG4gICAgICBjbGFzc2VzLnB1c2goJ2NvbC1tZC0nICsgdGhpcy5jYWxjQ29udHJvbFNpemUodmFsdWUubGFiZWxTaXplTWQpKTtcbiAgICB9XG5cbiAgICBpZiAodmFsdWUubGFiZWxTaXplTGcpIHtcbiAgICAgIGNsYXNzZXMucHVzaCgnY29sLWxnLScgKyB0aGlzLmNhbGNDb250cm9sU2l6ZSh2YWx1ZS5sYWJlbFNpemVMZykpO1xuICAgIH1cblxuICAgIGlmICh2YWx1ZS5sYWJlbFNpemVYbCkge1xuICAgICAgY2xhc3Nlcy5wdXNoKCdjb2wteGwtJyArIHRoaXMuY2FsY0NvbnRyb2xTaXplKHZhbHVlLmxhYmVsU2l6ZVhsKSk7XG4gICAgfVxuXG4gICAgaWYgKHZhbHVlLmxhYmVsU2l6ZVh4bCkge1xuICAgICAgY2xhc3Nlcy5wdXNoKCdjb2wteHhsLScgKyB0aGlzLmNhbGNDb250cm9sU2l6ZSh2YWx1ZS5sYWJlbFNpemVYeGwpKTtcbiAgICB9XG5cbiAgICByZXR1cm4gY2xhc3Nlcy5qb2luKCcgJyk7XG4gIH1cblxuICAvLyAjZW5kcmVnaW9uIFB1YmxpYyBNZXRob2RzXG5cbiAgLy8gI3JlZ2lvbiBQcml2YXRlIE1ldGhvZHNcblxuICAvKipcbiAgICogY2FsY3VsYXRlIHRoZSBjb250cm9sIHNpemVcbiAgICogQHBhcmFtIGxhYmVsc2l6ZSBncmlkIHNpemUgb2YgbGFiZWxcbiAgICogQHJldHVybnMgZ3JpZCBzaXplIGZvciBjb250cm9sLiBzaG91bGQgYmUgYmV0d2VlbiAxIGFuZCAxMlxuICAgKi9cbiAgcHJpdmF0ZSBjYWxjQ29udHJvbFNpemUobGFiZWxzaXplOiBudW1iZXIpIHtcbiAgICBpZiAobGFiZWxzaXplID09PSAxMikge1xuICAgICAgcmV0dXJuIDEyO1xuICAgIH1cblxuICAgIGlmICghbGFiZWxzaXplKSB7XG4gICAgICByZXR1cm4gMTI7XG4gICAgfVxuXG4gICAgcmV0dXJuIDEyIC0gbGFiZWxzaXplO1xuICB9XG5cbiAgLy8gI2VuZHJlZ2lvbiBQcml2YXRlIE1ldGhvZHNcbn1cbiJdfQ==
@@ -0,0 +1,35 @@
1
+ import { Pipe } from '@angular/core';
2
+ import { ControlHeight } from '@simpleangularcontrols/sac-common';
3
+ import * as i0 from "@angular/core";
4
+ class SacToLabelHeightPipe {
5
+ // #region Public Methods
6
+ /**
7
+ * Returns the CSS class that defines the height for the control
8
+ * @param value ControlHeight value or null
9
+ */
10
+ transform(value) {
11
+ // Return default value
12
+ if (!value) {
13
+ return '';
14
+ }
15
+ switch (value) {
16
+ case ControlHeight.Small:
17
+ return 'col-form-label-sm';
18
+ case ControlHeight.Large:
19
+ return 'col-form-label-lg';
20
+ default:
21
+ return '';
22
+ }
23
+ }
24
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SacToLabelHeightPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
25
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: SacToLabelHeightPipe, isStandalone: true, name: "toLabelHeight" }); }
26
+ }
27
+ export { SacToLabelHeightPipe };
28
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SacToLabelHeightPipe, decorators: [{
29
+ type: Pipe,
30
+ args: [{
31
+ name: 'toLabelHeight',
32
+ standalone: true,
33
+ }]
34
+ }] });
35
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9sYWJlbGhlaWdodC5waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2FjLWJvb3RzdHJhcDUvc3JjL2NvbnRyb2xzL2xheW91dC90b2xhYmVsaGVpZ2h0LnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLElBQUksRUFBaUIsTUFBTSxlQUFlLENBQUM7QUFDcEQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLG1DQUFtQyxDQUFDOztBQUVsRSxNQUlhLG9CQUFvQjtJQUMvQix5QkFBeUI7SUFFekI7OztPQUdHO0lBQ0ksU0FBUyxDQUFDLEtBQTJCO1FBQzFDLHVCQUF1QjtRQUN2QixJQUFJLENBQUMsS0FBSyxFQUFFO1lBQ1YsT0FBTyxFQUFFLENBQUM7U0FDWDtRQUVELFFBQVEsS0FBSyxFQUFFO1lBQ2IsS0FBSyxhQUFhLENBQUMsS0FBSztnQkFDdEIsT0FBTyxtQkFBbUIsQ0FBQztZQUM3QixLQUFLLGFBQWEsQ0FBQyxLQUFLO2dCQUN0QixPQUFPLG1CQUFtQixDQUFDO1lBQzdCO2dCQUNFLE9BQU8sRUFBRSxDQUFDO1NBQ2I7SUFDSCxDQUFDOytHQXJCVSxvQkFBb0I7NkdBQXBCLG9CQUFvQjs7U0FBcEIsb0JBQW9COzRGQUFwQixvQkFBb0I7a0JBSmhDLElBQUk7bUJBQUM7b0JBQ0osSUFBSSxFQUFFLGVBQWU7b0JBQ3JCLFVBQVUsRUFBRSxJQUFJO2lCQUNqQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBpcGUsIFBpcGVUcmFuc2Zvcm0gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbnRyb2xIZWlnaHQgfSBmcm9tICdAc2ltcGxlYW5ndWxhcmNvbnRyb2xzL3NhYy1jb21tb24nO1xuXG5AUGlwZSh7XG4gIG5hbWU6ICd0b0xhYmVsSGVpZ2h0JyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbn0pXG5leHBvcnQgY2xhc3MgU2FjVG9MYWJlbEhlaWdodFBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcbiAgLy8gI3JlZ2lvbiBQdWJsaWMgTWV0aG9kc1xuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRoZSBDU1MgY2xhc3MgdGhhdCBkZWZpbmVzIHRoZSBoZWlnaHQgZm9yIHRoZSBjb250cm9sXG4gICAqIEBwYXJhbSB2YWx1ZSBDb250cm9sSGVpZ2h0IHZhbHVlIG9yIG51bGxcbiAgICovXG4gIHB1YmxpYyB0cmFuc2Zvcm0odmFsdWU6IENvbnRyb2xIZWlnaHQgfCBudWxsKTogc3RyaW5nIHtcbiAgICAvLyBSZXR1cm4gZGVmYXVsdCB2YWx1ZVxuICAgIGlmICghdmFsdWUpIHtcbiAgICAgIHJldHVybiAnJztcbiAgICB9XG5cbiAgICBzd2l0Y2ggKHZhbHVlKSB7XG4gICAgICBjYXNlIENvbnRyb2xIZWlnaHQuU21hbGw6XG4gICAgICAgIHJldHVybiAnY29sLWZvcm0tbGFiZWwtc20nO1xuICAgICAgY2FzZSBDb250cm9sSGVpZ2h0LkxhcmdlOlxuICAgICAgICByZXR1cm4gJ2NvbC1mb3JtLWxhYmVsLWxnJztcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHJldHVybiAnJztcbiAgICB9XG4gIH1cblxuICAvLyAjZW5kcmVnaW9uIFB1YmxpYyBNZXRob2RzXG59XG4iXX0=
@@ -0,0 +1,43 @@
1
+ import { Pipe } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ class SacToLabelWidthCssPipe {
4
+ // #region Public Methods
5
+ /**
6
+ * Get CSS classes from label width configuration to set label size
7
+ * @param value Configuration with grid columns for different viewports
8
+ * @returns string with css classe for bootstrap3
9
+ */
10
+ transform(value) {
11
+ const classes = [];
12
+ if (value.labelSizeXs) {
13
+ classes.push('col-' + value.labelSizeXs);
14
+ }
15
+ if (value.labelSizeSm) {
16
+ classes.push('col-sm-' + value.labelSizeSm);
17
+ }
18
+ if (value.labelSizeMd) {
19
+ classes.push('col-md-' + value.labelSizeMd);
20
+ }
21
+ if (value.labelSizeLg) {
22
+ classes.push('col-lg-' + value.labelSizeLg);
23
+ }
24
+ if (value.labelSizeXl) {
25
+ classes.push('col-xl-' + value.labelSizeXl);
26
+ }
27
+ if (value.labelSizeXxl) {
28
+ classes.push('col-xxl-' + value.labelSizeXxl);
29
+ }
30
+ return classes.join(' ');
31
+ }
32
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SacToLabelWidthCssPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
33
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: SacToLabelWidthCssPipe, isStandalone: true, name: "toLabelWidthCss" }); }
34
+ }
35
+ export { SacToLabelWidthCssPipe };
36
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SacToLabelWidthCssPipe, decorators: [{
37
+ type: Pipe,
38
+ args: [{
39
+ name: 'toLabelWidthCss',
40
+ standalone: true,
41
+ }]
42
+ }] });
43
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9sYWJlbHdpZHRoY3NzLnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zYWMtYm9vdHN0cmFwNS9zcmMvY29udHJvbHMvbGF5b3V0L3RvbGFiZWx3aWR0aGNzcy5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQWlCLE1BQU0sZUFBZSxDQUFDOztBQUdwRCxNQUlhLHNCQUFzQjtJQUNqQyx5QkFBeUI7SUFFekI7Ozs7T0FJRztJQUNJLFNBQVMsQ0FBQyxLQUFxQjtRQUNwQyxNQUFNLE9BQU8sR0FBYSxFQUFFLENBQUM7UUFFN0IsSUFBSSxLQUFLLENBQUMsV0FBVyxFQUFFO1lBQ3JCLE9BQU8sQ0FBQyxJQUFJLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQztTQUMxQztRQUVELElBQUksS0FBSyxDQUFDLFdBQVcsRUFBRTtZQUNyQixPQUFPLENBQUMsSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUM7U0FDN0M7UUFFRCxJQUFJLEtBQUssQ0FBQyxXQUFXLEVBQUU7WUFDckIsT0FBTyxDQUFDLElBQUksQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDLFdBQVcsQ0FBQyxDQUFDO1NBQzdDO1FBRUQsSUFBSSxLQUFLLENBQUMsV0FBVyxFQUFFO1lBQ3JCLE9BQU8sQ0FBQyxJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQztTQUM3QztRQUVELElBQUksS0FBSyxDQUFDLFdBQVcsRUFBRTtZQUNyQixPQUFPLENBQUMsSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUM7U0FDN0M7UUFFRCxJQUFJLEtBQUssQ0FBQyxZQUFZLEVBQUU7WUFDdEIsT0FBTyxDQUFDLElBQUksQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFDLFlBQVksQ0FBQyxDQUFDO1NBQy9DO1FBRUQsT0FBTyxPQUFPLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQzNCLENBQUM7K0dBcENVLHNCQUFzQjs2R0FBdEIsc0JBQXNCOztTQUF0QixzQkFBc0I7NEZBQXRCLHNCQUFzQjtrQkFKbEMsSUFBSTttQkFBQztvQkFDSixJQUFJLEVBQUUsaUJBQWlCO29CQUN2QixVQUFVLEVBQUUsSUFBSTtpQkFDakIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQaXBlLCBQaXBlVHJhbnNmb3JtIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBJU2FjTGFiZWxTaXplcyB9IGZyb20gJ0BzaW1wbGVhbmd1bGFyY29udHJvbHMvc2FjLWNvbW1vbic7XG5cbkBQaXBlKHtcbiAgbmFtZTogJ3RvTGFiZWxXaWR0aENzcycsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG59KVxuZXhwb3J0IGNsYXNzIFNhY1RvTGFiZWxXaWR0aENzc1BpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcbiAgLy8gI3JlZ2lvbiBQdWJsaWMgTWV0aG9kc1xuXG4gIC8qKlxuICAgKiBHZXQgQ1NTIGNsYXNzZXMgZnJvbSBsYWJlbCB3aWR0aCBjb25maWd1cmF0aW9uIHRvIHNldCBsYWJlbCBzaXplXG4gICAqIEBwYXJhbSB2YWx1ZSBDb25maWd1cmF0aW9uIHdpdGggZ3JpZCBjb2x1bW5zIGZvciBkaWZmZXJlbnQgdmlld3BvcnRzXG4gICAqIEByZXR1cm5zIHN0cmluZyB3aXRoIGNzcyBjbGFzc2UgZm9yIGJvb3RzdHJhcDNcbiAgICovXG4gIHB1YmxpYyB0cmFuc2Zvcm0odmFsdWU6IElTYWNMYWJlbFNpemVzKTogc3RyaW5nIHtcbiAgICBjb25zdCBjbGFzc2VzOiBzdHJpbmdbXSA9IFtdO1xuXG4gICAgaWYgKHZhbHVlLmxhYmVsU2l6ZVhzKSB7XG4gICAgICBjbGFzc2VzLnB1c2goJ2NvbC0nICsgdmFsdWUubGFiZWxTaXplWHMpO1xuICAgIH1cblxuICAgIGlmICh2YWx1ZS5sYWJlbFNpemVTbSkge1xuICAgICAgY2xhc3Nlcy5wdXNoKCdjb2wtc20tJyArIHZhbHVlLmxhYmVsU2l6ZVNtKTtcbiAgICB9XG5cbiAgICBpZiAodmFsdWUubGFiZWxTaXplTWQpIHtcbiAgICAgIGNsYXNzZXMucHVzaCgnY29sLW1kLScgKyB2YWx1ZS5sYWJlbFNpemVNZCk7XG4gICAgfVxuXG4gICAgaWYgKHZhbHVlLmxhYmVsU2l6ZUxnKSB7XG4gICAgICBjbGFzc2VzLnB1c2goJ2NvbC1sZy0nICsgdmFsdWUubGFiZWxTaXplTGcpO1xuICAgIH1cblxuICAgIGlmICh2YWx1ZS5sYWJlbFNpemVYbCkge1xuICAgICAgY2xhc3Nlcy5wdXNoKCdjb2wteGwtJyArIHZhbHVlLmxhYmVsU2l6ZVhsKTtcbiAgICB9XG5cbiAgICBpZiAodmFsdWUubGFiZWxTaXplWHhsKSB7XG4gICAgICBjbGFzc2VzLnB1c2goJ2NvbC14eGwtJyArIHZhbHVlLmxhYmVsU2l6ZVh4bCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGNsYXNzZXMuam9pbignICcpO1xuICB9XG5cbiAgLy8gI2VuZHJlZ2lvbiBQdWJsaWMgTWV0aG9kc1xufVxuIl19