@simpleangularcontrols/sac-bootstrap3 16.0.0-rc.1 → 16.0.0-rc.11

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 (189) hide show
  1. package/README.md +16 -13
  2. package/controls/buttons/button.d.ts.map +1 -1
  3. package/controls/checkbox/checkbox.d.ts +7 -2
  4. package/controls/checkbox/checkbox.d.ts.map +1 -1
  5. package/controls/checkbox/checkbox.module.d.ts +2 -1
  6. package/controls/checkbox/checkbox.module.d.ts.map +1 -1
  7. package/controls/checkbox/radiobutton.d.ts +5 -3
  8. package/controls/checkbox/radiobutton.d.ts.map +1 -1
  9. package/controls/checkbox/radiobuttons.d.ts +7 -2
  10. package/controls/checkbox/radiobuttons.d.ts.map +1 -1
  11. package/controls/confirm/confirm.service.d.ts +12 -13
  12. package/controls/confirm/confirm.service.d.ts.map +1 -1
  13. package/controls/contextmenu/contextmenu.d.ts +20 -0
  14. package/controls/contextmenu/contextmenu.d.ts.map +1 -0
  15. package/controls/contextmenu/contextmenu.module.d.ts +13 -0
  16. package/controls/contextmenu/contextmenu.module.d.ts.map +1 -0
  17. package/controls/contextmenu/contextmenuanchor.d.ts +16 -0
  18. package/controls/contextmenu/contextmenuanchor.d.ts.map +1 -0
  19. package/controls/contextmenu/contextmenucontainer.d.ts +16 -0
  20. package/controls/contextmenu/contextmenucontainer.d.ts.map +1 -0
  21. package/controls/contextmenu/contextmenuitembutton.d.ts +18 -0
  22. package/controls/contextmenu/contextmenuitembutton.d.ts.map +1 -0
  23. package/controls/contextmenu/contextmenuitemsplitter.d.ts +10 -0
  24. package/controls/contextmenu/contextmenuitemsplitter.d.ts.map +1 -0
  25. package/controls/contextmenu/index.d.ts +2 -0
  26. package/controls/contextmenu/index.d.ts.map +1 -0
  27. package/controls/datetime/date.d.ts +11 -4
  28. package/controls/datetime/date.d.ts.map +1 -1
  29. package/controls/datetime/dateselector.d.ts.map +1 -1
  30. package/controls/datetime/datetime.d.ts +11 -4
  31. package/controls/datetime/datetime.d.ts.map +1 -1
  32. package/controls/datetime/datetime.module.d.ts +2 -1
  33. package/controls/datetime/datetime.module.d.ts.map +1 -1
  34. package/controls/datetime/time.d.ts +11 -4
  35. package/controls/datetime/time.d.ts.map +1 -1
  36. package/controls/form/form.d.ts +7 -11
  37. package/controls/form/form.d.ts.map +1 -1
  38. package/controls/form/form.module.d.ts.map +1 -1
  39. package/controls/form/inheritform.directive.d.ts +16 -39
  40. package/controls/form/inheritform.directive.d.ts.map +1 -1
  41. package/controls/grid/grid.module.d.ts +8 -7
  42. package/controls/grid/grid.module.d.ts.map +1 -1
  43. package/controls/grid/gridbutton.d.ts +1 -10
  44. package/controls/grid/gridbutton.d.ts.map +1 -1
  45. package/controls/grid/paging.d.ts.map +1 -1
  46. package/controls/input/input.d.ts +7 -2
  47. package/controls/input/input.d.ts.map +1 -1
  48. package/controls/input/input.module.d.ts +2 -2
  49. package/controls/input/input.module.d.ts.map +1 -1
  50. package/controls/input/inputarea.d.ts +7 -2
  51. package/controls/input/inputarea.d.ts.map +1 -1
  52. package/controls/input/inputcurrency.d.ts +7 -2
  53. package/controls/input/inputcurrency.d.ts.map +1 -1
  54. package/controls/input/inputdecimal.d.ts +7 -2
  55. package/controls/input/inputdecimal.d.ts.map +1 -1
  56. package/controls/input/inputemail.d.ts +7 -2
  57. package/controls/input/inputemail.d.ts.map +1 -1
  58. package/controls/input/inputinteger.d.ts +7 -2
  59. package/controls/input/inputinteger.d.ts.map +1 -1
  60. package/controls/input/inputpassword.d.ts +7 -2
  61. package/controls/input/inputpassword.d.ts.map +1 -1
  62. package/controls/input/inputsearch.d.ts +7 -2
  63. package/controls/input/inputsearch.d.ts.map +1 -1
  64. package/controls/layout/formlayout.directive.d.ts +7 -0
  65. package/controls/layout/formlayout.directive.d.ts.map +1 -0
  66. package/controls/layout/layout.module.d.ts +13 -0
  67. package/controls/layout/layout.module.d.ts.map +1 -0
  68. package/controls/layout/tocontrolheight.pipe.d.ts +13 -0
  69. package/controls/layout/tocontrolheight.pipe.d.ts.map +1 -0
  70. package/controls/layout/tocontrolwidthcss.pipe.d.ts +20 -0
  71. package/controls/layout/tocontrolwidthcss.pipe.d.ts.map +1 -0
  72. package/controls/layout/tolabelheight.pipe.d.ts +13 -0
  73. package/controls/layout/tolabelheight.pipe.d.ts.map +1 -0
  74. package/controls/layout/tolabelwidthcss.pipe.d.ts +14 -0
  75. package/controls/layout/tolabelwidthcss.pipe.d.ts.map +1 -0
  76. package/controls/list/dropdown.d.ts +16 -3
  77. package/controls/list/dropdown.d.ts.map +1 -1
  78. package/controls/list/list.module.d.ts +2 -1
  79. package/controls/list/list.module.d.ts.map +1 -1
  80. package/controls/list/listbox.d.ts +7 -2
  81. package/controls/list/listbox.d.ts.map +1 -1
  82. package/controls/static/formcontainer.d.ts +5 -5
  83. package/controls/static/formcontainer.d.ts.map +1 -1
  84. package/controls/static/staticlabel.d.ts +7 -2
  85. package/controls/static/staticlabel.d.ts.map +1 -1
  86. package/controls/static/staticlabel.module.d.ts +4 -4
  87. package/controls/static/staticlabel.module.d.ts.map +1 -1
  88. package/controls/tinymce/tinymce.d.ts +6 -6
  89. package/controls/tinymce/tinymce.d.ts.map +1 -1
  90. package/controls/tinymce/tinymce.module.d.ts +2 -1
  91. package/controls/tinymce/tinymce.module.d.ts.map +1 -1
  92. package/controls/tooltip/tooltip.d.ts +6 -1
  93. package/controls/tooltip/tooltip.d.ts.map +1 -1
  94. package/controls/tooltip/tooltip.module.d.ts +1 -1
  95. package/controls/tooltip/tooltip.module.d.ts.map +1 -1
  96. package/controls/treeview/treeview.d.ts +15 -4
  97. package/controls/treeview/treeview.d.ts.map +1 -1
  98. package/controls/treeview/treeview.module.d.ts +4 -6
  99. package/controls/treeview/treeview.module.d.ts.map +1 -1
  100. package/controls/upload/dropzonemultiple.d.ts +25 -0
  101. package/controls/upload/dropzonemultiple.d.ts.map +1 -0
  102. package/controls/upload/dropzonesingle.d.ts +25 -0
  103. package/controls/upload/dropzonesingle.d.ts.map +1 -0
  104. package/controls/upload/upload.d.ts +10 -4
  105. package/controls/upload/upload.d.ts.map +1 -1
  106. package/controls/upload/upload.module.d.ts +4 -1
  107. package/controls/upload/upload.module.d.ts.map +1 -1
  108. package/controls/upload/uploadmultiple.d.ts +9 -2
  109. package/controls/upload/uploadmultiple.d.ts.map +1 -1
  110. package/controls/validation/validationsummary.d.ts +6 -1
  111. package/controls/validation/validationsummary.d.ts.map +1 -1
  112. package/esm2022/controls/buttons/button.mjs +6 -5
  113. package/esm2022/controls/buttons/button.module.mjs +3 -2
  114. package/esm2022/controls/checkbox/checkbox.mjs +48 -15
  115. package/esm2022/controls/checkbox/checkbox.module.mjs +18 -5
  116. package/esm2022/controls/checkbox/radiobutton.mjs +16 -9
  117. package/esm2022/controls/checkbox/radiobuttons.mjs +48 -15
  118. package/esm2022/controls/confirm/confirm.mjs +3 -3
  119. package/esm2022/controls/confirm/confirm.module.mjs +2 -2
  120. package/esm2022/controls/confirm/confirm.service.mjs +42 -27
  121. package/esm2022/controls/contextmenu/contextmenu.mjs +34 -0
  122. package/esm2022/controls/contextmenu/contextmenu.module.mjs +42 -0
  123. package/esm2022/controls/contextmenu/contextmenuanchor.mjs +38 -0
  124. package/esm2022/controls/contextmenu/contextmenucontainer.mjs +38 -0
  125. package/esm2022/controls/contextmenu/contextmenuitembutton.mjs +46 -0
  126. package/esm2022/controls/contextmenu/contextmenuitemsplitter.mjs +26 -0
  127. package/esm2022/controls/contextmenu/index.mjs +2 -0
  128. package/esm2022/controls/datetime/date.mjs +62 -19
  129. package/esm2022/controls/datetime/dateselector.mjs +3 -8
  130. package/esm2022/controls/datetime/datetime.mjs +57 -17
  131. package/esm2022/controls/datetime/datetime.module.mjs +30 -10
  132. package/esm2022/controls/datetime/time.mjs +57 -17
  133. package/esm2022/controls/dialog/dialog.mjs +3 -3
  134. package/esm2022/controls/form/form.mjs +13 -18
  135. package/esm2022/controls/form/form.module.mjs +6 -6
  136. package/esm2022/controls/form/inheritform.directive.mjs +46 -63
  137. package/esm2022/controls/grid/grid.mjs +3 -3
  138. package/esm2022/controls/grid/grid.module.mjs +36 -8
  139. package/esm2022/controls/grid/gridbutton.mjs +3 -11
  140. package/esm2022/controls/grid/gridcolumn.mjs +3 -3
  141. package/esm2022/controls/grid/paging.mjs +30 -10
  142. package/esm2022/controls/input/input.mjs +41 -13
  143. package/esm2022/controls/input/input.module.mjs +46 -8
  144. package/esm2022/controls/input/inputarea.mjs +51 -15
  145. package/esm2022/controls/input/inputcurrency.mjs +51 -15
  146. package/esm2022/controls/input/inputdecimal.mjs +51 -15
  147. package/esm2022/controls/input/inputemail.mjs +51 -15
  148. package/esm2022/controls/input/inputinteger.mjs +51 -15
  149. package/esm2022/controls/input/inputpassword.mjs +51 -15
  150. package/esm2022/controls/input/inputsearch.mjs +50 -15
  151. package/esm2022/controls/layout/formlayout.directive.mjs +16 -0
  152. package/esm2022/controls/layout/layout.module.mjs +44 -0
  153. package/esm2022/controls/layout/tocontrolheight.pipe.mjs +35 -0
  154. package/esm2022/controls/layout/tocontrolwidthcss.pipe.mjs +53 -0
  155. package/esm2022/controls/layout/tolabelheight.pipe.mjs +35 -0
  156. package/esm2022/controls/layout/tolabelwidthcss.pipe.mjs +37 -0
  157. package/esm2022/controls/list/dropdown.mjs +37 -14
  158. package/esm2022/controls/list/list.module.mjs +5 -2
  159. package/esm2022/controls/list/listbox.mjs +56 -15
  160. package/esm2022/controls/static/formcontainer.mjs +46 -18
  161. package/esm2022/controls/static/staticlabel.mjs +48 -15
  162. package/esm2022/controls/static/staticlabel.module.mjs +14 -10
  163. package/esm2022/controls/tabs/tab.mjs +3 -3
  164. package/esm2022/controls/tinymce/tinymce.mjs +23 -12
  165. package/esm2022/controls/tinymce/tinymce.module.mjs +4 -3
  166. package/esm2022/controls/tooltip/tooltip.mjs +15 -5
  167. package/esm2022/controls/tooltip/tooltip.module.mjs +5 -9
  168. package/esm2022/controls/treeview/treeview.mjs +71 -15
  169. package/esm2022/controls/treeview/treeview.module.mjs +11 -27
  170. package/esm2022/controls/upload/dropzonemultiple.mjs +80 -0
  171. package/esm2022/controls/upload/dropzonesingle.mjs +80 -0
  172. package/esm2022/controls/upload/upload.mjs +51 -15
  173. package/esm2022/controls/upload/upload.module.mjs +23 -9
  174. package/esm2022/controls/upload/uploadmultiple.mjs +26 -9
  175. package/esm2022/controls/validation/validationsummary.mjs +15 -11
  176. package/esm2022/public_api.mjs +42 -31
  177. package/fesm2022/simpleangularcontrols-sac-bootstrap3.mjs +2302 -1074
  178. package/fesm2022/simpleangularcontrols-sac-bootstrap3.mjs.map +1 -1
  179. package/package.json +4 -3
  180. package/public_api.d.ts +41 -30
  181. package/public_api.d.ts.map +1 -1
  182. package/simpleangularcontrols-sac-bootstrap3-16.0.0-rc.11.tgz +0 -0
  183. package/controls/treeview/ngtreeitemaction.d.ts +0 -9
  184. package/controls/treeview/ngtreeitemaction.d.ts.map +0 -1
  185. package/controls/treeview/treeviewchild.d.ts +0 -7
  186. package/controls/treeview/treeviewchild.d.ts.map +0 -1
  187. package/esm2022/controls/treeview/ngtreeitemaction.mjs +0 -16
  188. package/esm2022/controls/treeview/treeviewchild.mjs +0 -14
  189. package/simpleangularcontrols-sac-bootstrap3-16.0.0-rc.1.tgz +0 -0
@@ -1,29 +1,65 @@
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 { SacInputIntegerCommon } from '@simpleangularcontrols/sac-common';
4
- import { NgClass, NgIf, AsyncPipe } 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
  class SacInputIntegerComponent extends SacInputIntegerCommon {
8
- constructor(parent, injector) {
9
- super(parent, injector);
13
+ // #region Constructors
14
+ /**
15
+ * Constructor
16
+ * @param formLayout SacFormLayout to define scoped layout settings
17
+ * @param injector Injector for injecting services
18
+ */
19
+ constructor(formLayout, injector) {
20
+ super(formLayout, injector);
10
21
  }
11
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SacInputIntegerComponent, 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: SacInputIntegerComponent, deps: [{ token: i1.SacFormLayoutDirective, host: true, optional: true }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component }); }
12
23
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: SacInputIntegerComponent, isStandalone: true, selector: "sac-inputinteger", providers: [
13
- { provide: NG_VALUE_ACCESSOR, multi: true, useExisting: SacInputIntegerComponent },
14
- { provide: NG_VALIDATORS, multi: true, useExisting: forwardRef(() => SacInputIntegerComponent) }
15
- ], usesInheritance: true, ngImport: i0, template: "<div class=\"form-group\" [ngClass]=\"{'has-error': invalid && (dirty || touched)}\">\r\n <label *ngIf=\"disablelabel === false && !isadaptivelabel\" id=\"{{name}}label\" for=\"{{name}}\" class=\"control-label\" [ngClass]=\"[labelsize !== 12 ? 'col-md-' + labelsize : 'sr-only']\" [class.required]=\"isrequired\">{{label}}</label>\r\n <div [ngClass]=\"[disablelabel === false ? 'col-md-' + _inputsize : 'col-md-12']\">\r\n <input id=\"{{name}}\" name=\"{{name}}\" type=\"text\" class=\"form-control\" [value]=\"value\"\r\n [attr.placeholder]=\"placeholder\" (blur)=\"onTouch()\" (input)=\"setValue($event.target.value)\" (keypress)=\"onKeyPress($event)\" [disabled]=\"isdisabled\" [readonly]=\"readonly\" />\r\n <label for=\"{{name}}\" class=\"form-label-adaptive form-label-fixed\" [ngClass]=\"{ 'required': isrequired }\" *ngIf=\"isadaptivelabel && !disablelabel\">{{label}}</label>\r\n <div class=\"help-block help-block-error\" *ngIf=\"IsInlineErrorEnabled && invalid && (dirty || touched)\">{{ GetErrorMessage() | async }}</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" }] }); }
24
+ {
25
+ provide: NG_VALUE_ACCESSOR,
26
+ multi: true,
27
+ useExisting: SacInputIntegerComponent,
28
+ },
29
+ {
30
+ provide: NG_VALIDATORS,
31
+ multi: true,
32
+ useExisting: forwardRef(() => SacInputIntegerComponent),
33
+ },
34
+ ], usesInheritance: true, ngImport: i0, template: "<div\r\n class=\"row form-group\"\r\n [class.has-error]=\"invalid && (dirty || touched)\"\r\n [ngClass]=\"componentHeight | toLabelHeight\">\r\n <label\r\n *ngIf=\"disablelabel === false && !isAdaptiveLabel\"\r\n id=\"{{ name }}label\"\r\n for=\"{{ name }}\"\r\n class=\"col-xs-12 control-label\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'sr-only']\"\r\n [class.required]=\"isrequired\">\r\n <span class=\"text\">{{ label }}</span>\r\n <sac-tooltip\r\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\r\n [tooltiptext]=\"helptext\"\r\n [inlinemode]=\"true\">\r\n <span\r\n [class]=\"HelptextTooltipIcon\"\r\n style=\"margin-left: 5px\">\r\n </span>\r\n </sac-tooltip>\r\n </label>\r\n <div\r\n class=\"col-xs-12\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\">\r\n <div [style.display]=\"helptextmode === 'tooltip' && helptext && disablelabel ? 'flex' : null\">\r\n <input\r\n id=\"{{ name }}\"\r\n name=\"{{ name }}\"\r\n type=\"text\"\r\n class=\"form-control\"\r\n [ngClass]=\"[componentHeight | toControlHeight]\"\r\n [value]=\"value\"\r\n [attr.placeholder]=\"placeholder\"\r\n (blur)=\"onTouch()\"\r\n (input)=\"setValue($event.target.value)\"\r\n (keypress)=\"onKeyPress($event)\"\r\n [disabled]=\"isdisabled\"\r\n [readonly]=\"readonly\" />\r\n\r\n <div\r\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\r\n class=\"form-control-static\"\r\n style=\"margin-left: 5px\">\r\n <sac-tooltip\r\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\r\n [tooltiptext]=\"helptext\"\r\n [inlinemode]=\"true\">\r\n <span\r\n [class]=\"HelptextTooltipIcon\"\r\n style=\"margin-left: 5px; margin-right: 5px\">\r\n </span>\r\n </sac-tooltip>\r\n </div>\r\n </div>\r\n\r\n <p\r\n *ngIf=\"helptextmode === 'text' && helptext\"\r\n class=\"help-block\">\r\n {{ helptext }}\r\n </p>\r\n\r\n <div\r\n class=\"help-block help-block-error\"\r\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\">\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" }, { kind: "pipe", type: SacToLabelWidthCssPipe, name: "toLabelWidthCss" }, { kind: "pipe", type: SacToControlWidthCssPipe, name: "toControlWidthCss" }, { kind: "pipe", type: SacToLabelHeightPipe, name: "toLabelHeight" }, { kind: "pipe", type: SacToControlHeightPipe, name: "toControlHeight" }, { kind: "component", type: SacTooltipComponent, selector: "sac-tooltip" }] }); }
16
35
  }
17
36
  export { SacInputIntegerComponent };
18
37
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SacInputIntegerComponent, decorators: [{
19
38
  type: Component,
20
39
  args: [{ selector: 'sac-inputinteger', providers: [
21
- { provide: NG_VALUE_ACCESSOR, multi: true, useExisting: SacInputIntegerComponent },
22
- { provide: NG_VALIDATORS, multi: true, useExisting: forwardRef(() => SacInputIntegerComponent) }
23
- ], standalone: true, imports: [NgClass, NgIf, AsyncPipe], template: "<div class=\"form-group\" [ngClass]=\"{'has-error': invalid && (dirty || touched)}\">\r\n <label *ngIf=\"disablelabel === false && !isadaptivelabel\" id=\"{{name}}label\" for=\"{{name}}\" class=\"control-label\" [ngClass]=\"[labelsize !== 12 ? 'col-md-' + labelsize : 'sr-only']\" [class.required]=\"isrequired\">{{label}}</label>\r\n <div [ngClass]=\"[disablelabel === false ? 'col-md-' + _inputsize : 'col-md-12']\">\r\n <input id=\"{{name}}\" name=\"{{name}}\" type=\"text\" class=\"form-control\" [value]=\"value\"\r\n [attr.placeholder]=\"placeholder\" (blur)=\"onTouch()\" (input)=\"setValue($event.target.value)\" (keypress)=\"onKeyPress($event)\" [disabled]=\"isdisabled\" [readonly]=\"readonly\" />\r\n <label for=\"{{name}}\" class=\"form-label-adaptive form-label-fixed\" [ngClass]=\"{ 'required': isrequired }\" *ngIf=\"isadaptivelabel && !disablelabel\">{{label}}</label>\r\n <div class=\"help-block help-block-error\" *ngIf=\"IsInlineErrorEnabled && invalid && (dirty || touched)\">{{ GetErrorMessage() | async }}</div>\r\n </div>\r\n</div>\r\n" }]
24
- }], ctorParameters: function () { return [{ type: i1.SacFormDirective, decorators: [{
40
+ {
41
+ provide: NG_VALUE_ACCESSOR,
42
+ multi: true,
43
+ useExisting: SacInputIntegerComponent,
44
+ },
45
+ {
46
+ provide: NG_VALIDATORS,
47
+ multi: true,
48
+ useExisting: forwardRef(() => SacInputIntegerComponent),
49
+ },
50
+ ], standalone: true, imports: [
51
+ NgClass,
52
+ NgIf,
53
+ AsyncPipe,
54
+ SacToLabelWidthCssPipe,
55
+ SacToControlWidthCssPipe,
56
+ SacToLabelHeightPipe,
57
+ SacToControlHeightPipe,
58
+ SacTooltipComponent,
59
+ ], template: "<div\r\n class=\"row form-group\"\r\n [class.has-error]=\"invalid && (dirty || touched)\"\r\n [ngClass]=\"componentHeight | toLabelHeight\">\r\n <label\r\n *ngIf=\"disablelabel === false && !isAdaptiveLabel\"\r\n id=\"{{ name }}label\"\r\n for=\"{{ name }}\"\r\n class=\"col-xs-12 control-label\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'sr-only']\"\r\n [class.required]=\"isrequired\">\r\n <span class=\"text\">{{ label }}</span>\r\n <sac-tooltip\r\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\r\n [tooltiptext]=\"helptext\"\r\n [inlinemode]=\"true\">\r\n <span\r\n [class]=\"HelptextTooltipIcon\"\r\n style=\"margin-left: 5px\">\r\n </span>\r\n </sac-tooltip>\r\n </label>\r\n <div\r\n class=\"col-xs-12\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\">\r\n <div [style.display]=\"helptextmode === 'tooltip' && helptext && disablelabel ? 'flex' : null\">\r\n <input\r\n id=\"{{ name }}\"\r\n name=\"{{ name }}\"\r\n type=\"text\"\r\n class=\"form-control\"\r\n [ngClass]=\"[componentHeight | toControlHeight]\"\r\n [value]=\"value\"\r\n [attr.placeholder]=\"placeholder\"\r\n (blur)=\"onTouch()\"\r\n (input)=\"setValue($event.target.value)\"\r\n (keypress)=\"onKeyPress($event)\"\r\n [disabled]=\"isdisabled\"\r\n [readonly]=\"readonly\" />\r\n\r\n <div\r\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\r\n class=\"form-control-static\"\r\n style=\"margin-left: 5px\">\r\n <sac-tooltip\r\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\r\n [tooltiptext]=\"helptext\"\r\n [inlinemode]=\"true\">\r\n <span\r\n [class]=\"HelptextTooltipIcon\"\r\n style=\"margin-left: 5px; margin-right: 5px\">\r\n </span>\r\n </sac-tooltip>\r\n </div>\r\n </div>\r\n\r\n <p\r\n *ngIf=\"helptextmode === 'text' && helptext\"\r\n class=\"help-block\">\r\n {{ helptext }}\r\n </p>\r\n\r\n <div\r\n class=\"help-block help-block-error\"\r\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\">\r\n {{ GetErrorMessage() | async }}\r\n </div>\r\n </div>\r\n</div>\r\n" }]
60
+ }], ctorParameters: function () { return [{ type: i1.SacFormLayoutDirective, decorators: [{
25
61
  type: Host
26
62
  }, {
27
63
  type: Optional
28
64
  }] }, { type: i0.Injector }]; } });
29
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXRpbnRlZ2VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2FjLWJvb3RzdHJhcDMvc3JjL2NvbnRyb2xzL2lucHV0L2lucHV0aW50ZWdlci50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NhYy1ib290c3RyYXAzL3NyYy9jb250cm9scy9pbnB1dC9pbnB1dGludGVnZXIuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxVQUFVLEVBQVksUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2hGLE9BQU8sRUFBRSxpQkFBaUIsRUFBb0IsYUFBYSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFcEYsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDMUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLE1BQU0saUJBQWlCLENBQUM7OztBQUUzRCxNQVdhLHdCQUF5QixTQUFRLHFCQUFxQjtJQUNqRSxZQUFpQyxNQUF3QixFQUFFLFFBQWtCO1FBQzNFLEtBQUssQ0FBQyxNQUFNLEVBQUUsUUFBUSxDQUFDLENBQUM7SUFDMUIsQ0FBQzsrR0FIVSx3QkFBd0I7bUdBQXhCLHdCQUF3QiwrREFQdEI7WUFDUCxFQUFFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRSx3QkFBd0IsRUFBRTtZQUNsRixFQUFFLE9BQU8sRUFBRSxhQUFhLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLHdCQUF3QixDQUFDLEVBQUU7U0FDbkcsaURDYkwsMmpDQVNBLDRDRE1jLE9BQU8sb0ZBQUUsSUFBSSx3RkFBRSxTQUFTOztTQUV6Qix3QkFBd0I7NEZBQXhCLHdCQUF3QjtrQkFYcEMsU0FBUzsrQkFDSSxrQkFBa0IsYUFHakI7d0JBQ1AsRUFBRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxXQUFXLDBCQUEwQixFQUFFO3dCQUNsRixFQUFFLE9BQU8sRUFBRSxhQUFhLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSx5QkFBeUIsQ0FBQyxFQUFFO3FCQUNuRyxjQUNXLElBQUksV0FDUCxDQUFDLE9BQU8sRUFBRSxJQUFJLEVBQUUsU0FBUyxDQUFDOzswQkFHdkIsSUFBSTs7MEJBQUksUUFBUSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSG9zdCwgZm9yd2FyZFJlZiwgSW5qZWN0b3IsIE9wdGlvbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE5HX1ZBTFVFX0FDQ0VTU09SLCBDb250cm9sQ29udGFpbmVyLCBOR19WQUxJREFUT1JTIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBTYWNGb3JtRGlyZWN0aXZlIH0gZnJvbSAnLi4vZm9ybS9mb3JtJztcclxuaW1wb3J0IHsgU2FjSW5wdXRJbnRlZ2VyQ29tbW9uIH0gZnJvbSAnQHNpbXBsZWFuZ3VsYXJjb250cm9scy9zYWMtY29tbW9uJztcclxuaW1wb3J0IHsgTmdDbGFzcywgTmdJZiwgQXN5bmNQaXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICdzYWMtaW5wdXRpbnRlZ2VyJyxcclxuICAgIHRlbXBsYXRlVXJsOiAnLi9pbnB1dGludGVnZXIuaHRtbCcsXHJcbiAgICAvLyBWYWx1ZSBBY2Nlc3MgUHJvdmlkZXIgcmVnaXN0cmllcmVuLCBkYW1pdCBXZXJ0IHZpYSBNb2RlbCBnZXNjaHJpZWJlbiB1bmQgZ2VsZXNlbiB3ZXJkZW4ga2FublxyXG4gICAgcHJvdmlkZXJzOiBbXHJcbiAgICAgICAgeyBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUiwgbXVsdGk6IHRydWUsIHVzZUV4aXN0aW5nOiBTYWNJbnB1dEludGVnZXJDb21wb25lbnQgfSxcclxuICAgICAgICB7IHByb3ZpZGU6IE5HX1ZBTElEQVRPUlMsIG11bHRpOiB0cnVlLCB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBTYWNJbnB1dEludGVnZXJDb21wb25lbnQpIH1cclxuICAgIF0sXHJcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gICAgaW1wb3J0czogW05nQ2xhc3MsIE5nSWYsIEFzeW5jUGlwZV1cclxufSlcclxuZXhwb3J0IGNsYXNzIFNhY0lucHV0SW50ZWdlckNvbXBvbmVudCBleHRlbmRzIFNhY0lucHV0SW50ZWdlckNvbW1vbiB7XHJcbiAgY29uc3RydWN0b3IoIEBIb3N0KCkgQE9wdGlvbmFsKCkgcGFyZW50OiBTYWNGb3JtRGlyZWN0aXZlLCBpbmplY3RvcjogSW5qZWN0b3IpIHtcclxuICAgIHN1cGVyKHBhcmVudCwgaW5qZWN0b3IpO1xyXG4gIH1cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwiZm9ybS1ncm91cFwiIFtuZ0NsYXNzXT1cInsnaGFzLWVycm9yJzogaW52YWxpZCAmJiAoZGlydHkgfHwgdG91Y2hlZCl9XCI+XHJcbiAgPGxhYmVsICpuZ0lmPVwiZGlzYWJsZWxhYmVsID09PSBmYWxzZSAmJiAhaXNhZGFwdGl2ZWxhYmVsXCIgaWQ9XCJ7e25hbWV9fWxhYmVsXCIgZm9yPVwie3tuYW1lfX1cIiBjbGFzcz1cImNvbnRyb2wtbGFiZWxcIiBbbmdDbGFzc109XCJbbGFiZWxzaXplICE9PSAxMiA/ICAnY29sLW1kLScgKyBsYWJlbHNpemUgOiAnc3Itb25seSddXCIgW2NsYXNzLnJlcXVpcmVkXT1cImlzcmVxdWlyZWRcIj57e2xhYmVsfX08L2xhYmVsPlxyXG4gIDxkaXYgW25nQ2xhc3NdPVwiW2Rpc2FibGVsYWJlbCA9PT0gZmFsc2UgPyAnY29sLW1kLScgKyBfaW5wdXRzaXplIDogJ2NvbC1tZC0xMiddXCI+XHJcbiAgICA8aW5wdXQgaWQ9XCJ7e25hbWV9fVwiIG5hbWU9XCJ7e25hbWV9fVwiIHR5cGU9XCJ0ZXh0XCIgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIiBbdmFsdWVdPVwidmFsdWVcIlxyXG4gICAgICAgICAgIFthdHRyLnBsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyXCIgKGJsdXIpPVwib25Ub3VjaCgpXCIgKGlucHV0KT1cInNldFZhbHVlKCRldmVudC50YXJnZXQudmFsdWUpXCIgKGtleXByZXNzKT1cIm9uS2V5UHJlc3MoJGV2ZW50KVwiIFtkaXNhYmxlZF09XCJpc2Rpc2FibGVkXCIgW3JlYWRvbmx5XT1cInJlYWRvbmx5XCIgLz5cclxuICAgIDxsYWJlbCBmb3I9XCJ7e25hbWV9fVwiIGNsYXNzPVwiZm9ybS1sYWJlbC1hZGFwdGl2ZSBmb3JtLWxhYmVsLWZpeGVkXCIgW25nQ2xhc3NdPVwieyAncmVxdWlyZWQnOiBpc3JlcXVpcmVkIH1cIiAqbmdJZj1cImlzYWRhcHRpdmVsYWJlbCAmJiAhZGlzYWJsZWxhYmVsXCI+e3tsYWJlbH19PC9sYWJlbD5cclxuICAgIDxkaXYgY2xhc3M9XCJoZWxwLWJsb2NrIGhlbHAtYmxvY2stZXJyb3JcIiAqbmdJZj1cIklzSW5saW5lRXJyb3JFbmFibGVkICYmIGludmFsaWQgJiYgKGRpcnR5IHx8IHRvdWNoZWQpXCI+e3sgR2V0RXJyb3JNZXNzYWdlKCkgfCBhc3luYyB9fTwvZGl2PlxyXG4gIDwvZGl2PlxyXG48L2Rpdj5cclxuIl19
65
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXRpbnRlZ2VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2FjLWJvb3RzdHJhcDMvc3JjL2NvbnRyb2xzL2lucHV0L2lucHV0aW50ZWdlci50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NhYy1ib290c3RyYXAzL3NyYy9jb250cm9scy9pbnB1dC9pbnB1dGludGVnZXIuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBWSxRQUFRLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2hGLE9BQU8sRUFBRSxhQUFhLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUUxRSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN4RSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUM1RSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNwRSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN4RSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQzs7O0FBRXpELE1BNEJhLHdCQUF5QixTQUFRLHFCQUFxQjtJQUNqRSx1QkFBdUI7SUFFdkI7Ozs7T0FJRztJQUNILFlBQ3NCLFVBQWtDLEVBQ3RELFFBQWtCO1FBRWxCLEtBQUssQ0FBQyxVQUFVLEVBQUUsUUFBUSxDQUFDLENBQUM7SUFDOUIsQ0FBQzsrR0FiVSx3QkFBd0I7bUdBQXhCLHdCQUF3QiwrREF4QnhCO1lBQ1Q7Z0JBQ0UsT0FBTyxFQUFFLGlCQUFpQjtnQkFDMUIsS0FBSyxFQUFFLElBQUk7Z0JBQ1gsV0FBVyxFQUFFLHdCQUF3QjthQUN0QztZQUNEO2dCQUNFLE9BQU8sRUFBRSxhQUFhO2dCQUN0QixLQUFLLEVBQUUsSUFBSTtnQkFDWCxXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLHdCQUF3QixDQUFDO2FBQ3hEO1NBQ0YsaURDMUJILHF1RkFxRUEsNENEeENJLE9BQU8sb0ZBQ1AsSUFBSSx3RkFDSixTQUFTLHlDQUNULHNCQUFzQixtREFDdEIsd0JBQXdCLHFEQUN4QixvQkFBb0IsaURBQ3BCLHNCQUFzQix3REFDdEIsbUJBQW1COztTQUdWLHdCQUF3Qjs0RkFBeEIsd0JBQXdCO2tCQTVCcEMsU0FBUzsrQkFDRSxrQkFBa0IsYUFHakI7d0JBQ1Q7NEJBQ0UsT0FBTyxFQUFFLGlCQUFpQjs0QkFDMUIsS0FBSyxFQUFFLElBQUk7NEJBQ1gsV0FBVywwQkFBMEI7eUJBQ3RDO3dCQUNEOzRCQUNFLE9BQU8sRUFBRSxhQUFhOzRCQUN0QixLQUFLLEVBQUUsSUFBSTs0QkFDWCxXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSx5QkFBeUIsQ0FBQzt5QkFDeEQ7cUJBQ0YsY0FDVyxJQUFJLFdBQ1A7d0JBQ1AsT0FBTzt3QkFDUCxJQUFJO3dCQUNKLFNBQVM7d0JBQ1Qsc0JBQXNCO3dCQUN0Qix3QkFBd0I7d0JBQ3hCLG9CQUFvQjt3QkFDcEIsc0JBQXNCO3dCQUN0QixtQkFBbUI7cUJBQ3BCOzswQkFXRSxJQUFJOzswQkFBSSxRQUFRIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQXN5bmNQaXBlLCBOZ0NsYXNzLCBOZ0lmIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgQ29tcG9uZW50LCBIb3N0LCBJbmplY3RvciwgT3B0aW9uYWwsIGZvcndhcmRSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTkdfVkFMSURBVE9SUywgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IFNhY0lucHV0SW50ZWdlckNvbW1vbiB9IGZyb20gJ0BzaW1wbGVhbmd1bGFyY29udHJvbHMvc2FjLWNvbW1vbic7XHJcbmltcG9ydCB7IFNhY0Zvcm1MYXlvdXREaXJlY3RpdmUgfSBmcm9tICcuLi9sYXlvdXQvZm9ybWxheW91dC5kaXJlY3RpdmUnO1xyXG5pbXBvcnQgeyBTYWNUb0NvbnRyb2xIZWlnaHRQaXBlIH0gZnJvbSAnLi4vbGF5b3V0L3RvY29udHJvbGhlaWdodC5waXBlJztcclxuaW1wb3J0IHsgU2FjVG9Db250cm9sV2lkdGhDc3NQaXBlIH0gZnJvbSAnLi4vbGF5b3V0L3RvY29udHJvbHdpZHRoY3NzLnBpcGUnO1xyXG5pbXBvcnQgeyBTYWNUb0xhYmVsSGVpZ2h0UGlwZSB9IGZyb20gJy4uL2xheW91dC90b2xhYmVsaGVpZ2h0LnBpcGUnO1xyXG5pbXBvcnQgeyBTYWNUb0xhYmVsV2lkdGhDc3NQaXBlIH0gZnJvbSAnLi4vbGF5b3V0L3RvbGFiZWx3aWR0aGNzcy5waXBlJztcclxuaW1wb3J0IHsgU2FjVG9vbHRpcENvbXBvbmVudCB9IGZyb20gJy4uL3Rvb2x0aXAvdG9vbHRpcCc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ3NhYy1pbnB1dGludGVnZXInLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9pbnB1dGludGVnZXIuaHRtbCcsXHJcbiAgLy8gVmFsdWUgQWNjZXNzIFByb3ZpZGVyIHJlZ2lzdHJpZXJlbiwgZGFtaXQgV2VydCB2aWEgTW9kZWwgZ2VzY2hyaWViZW4gdW5kIGdlbGVzZW4gd2VyZGVuIGthbm5cclxuICBwcm92aWRlcnM6IFtcclxuICAgIHtcclxuICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXHJcbiAgICAgIG11bHRpOiB0cnVlLFxyXG4gICAgICB1c2VFeGlzdGluZzogU2FjSW5wdXRJbnRlZ2VyQ29tcG9uZW50LFxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgcHJvdmlkZTogTkdfVkFMSURBVE9SUyxcclxuICAgICAgbXVsdGk6IHRydWUsXHJcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFNhY0lucHV0SW50ZWdlckNvbXBvbmVudCksXHJcbiAgICB9LFxyXG4gIF0sXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICBpbXBvcnRzOiBbXHJcbiAgICBOZ0NsYXNzLFxyXG4gICAgTmdJZixcclxuICAgIEFzeW5jUGlwZSxcclxuICAgIFNhY1RvTGFiZWxXaWR0aENzc1BpcGUsXHJcbiAgICBTYWNUb0NvbnRyb2xXaWR0aENzc1BpcGUsXHJcbiAgICBTYWNUb0xhYmVsSGVpZ2h0UGlwZSxcclxuICAgIFNhY1RvQ29udHJvbEhlaWdodFBpcGUsXHJcbiAgICBTYWNUb29sdGlwQ29tcG9uZW50LFxyXG4gIF0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTYWNJbnB1dEludGVnZXJDb21wb25lbnQgZXh0ZW5kcyBTYWNJbnB1dEludGVnZXJDb21tb24ge1xyXG4gIC8vICNyZWdpb24gQ29uc3RydWN0b3JzXHJcblxyXG4gIC8qKlxyXG4gICAqIENvbnN0cnVjdG9yXHJcbiAgICogQHBhcmFtIGZvcm1MYXlvdXQgU2FjRm9ybUxheW91dCB0byBkZWZpbmUgc2NvcGVkIGxheW91dCBzZXR0aW5nc1xyXG4gICAqIEBwYXJhbSBpbmplY3RvciBJbmplY3RvciBmb3IgaW5qZWN0aW5nIHNlcnZpY2VzXHJcbiAgICovXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBASG9zdCgpIEBPcHRpb25hbCgpIGZvcm1MYXlvdXQ6IFNhY0Zvcm1MYXlvdXREaXJlY3RpdmUsXHJcbiAgICBpbmplY3RvcjogSW5qZWN0b3JcclxuICApIHtcclxuICAgIHN1cGVyKGZvcm1MYXlvdXQsIGluamVjdG9yKTtcclxuICB9XHJcblxyXG4gIC8vICNlbmRyZWdpb24gQ29uc3RydWN0b3JzXHJcbn1cclxuIiwiPGRpdlxyXG4gICAgY2xhc3M9XCJyb3cgZm9ybS1ncm91cFwiXHJcbiAgICBbY2xhc3MuaGFzLWVycm9yXT1cImludmFsaWQgJiYgKGRpcnR5IHx8IHRvdWNoZWQpXCJcclxuICAgIFtuZ0NsYXNzXT1cImNvbXBvbmVudEhlaWdodCB8IHRvTGFiZWxIZWlnaHRcIj5cclxuICAgIDxsYWJlbFxyXG4gICAgICAgICpuZ0lmPVwiZGlzYWJsZWxhYmVsID09PSBmYWxzZSAmJiAhaXNBZGFwdGl2ZUxhYmVsXCJcclxuICAgICAgICBpZD1cInt7IG5hbWUgfX1sYWJlbFwiXHJcbiAgICAgICAgZm9yPVwie3sgbmFtZSB9fVwiXHJcbiAgICAgICAgY2xhc3M9XCJjb2wteHMtMTIgY29udHJvbC1sYWJlbFwiXHJcbiAgICAgICAgW25nQ2xhc3NdPVwiW2Rpc2FibGVsYWJlbCA9PT0gZmFsc2UgPyAodGhpcy5sYWJlbFNpemVzIHwgdG9MYWJlbFdpZHRoQ3NzKSA6ICdzci1vbmx5J11cIlxyXG4gICAgICAgIFtjbGFzcy5yZXF1aXJlZF09XCJpc3JlcXVpcmVkXCI+XHJcbiAgICAgICAgPHNwYW4gY2xhc3M9XCJ0ZXh0XCI+e3sgbGFiZWwgfX08L3NwYW4+XHJcbiAgICAgICAgPHNhYy10b29sdGlwXHJcbiAgICAgICAgICAgICpuZ0lmPVwiaGVscHRleHRtb2RlID09PSAndG9vbHRpcCcgJiYgaGVscHRleHRcIlxyXG4gICAgICAgICAgICBbdG9vbHRpcHRleHRdPVwiaGVscHRleHRcIlxyXG4gICAgICAgICAgICBbaW5saW5lbW9kZV09XCJ0cnVlXCI+XHJcbiAgICAgICAgICAgIDxzcGFuXHJcbiAgICAgICAgICAgICAgICBbY2xhc3NdPVwiSGVscHRleHRUb29sdGlwSWNvblwiXHJcbiAgICAgICAgICAgICAgICBzdHlsZT1cIm1hcmdpbi1sZWZ0OiA1cHhcIj5cclxuICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgIDwvc2FjLXRvb2x0aXA+XHJcbiAgICA8L2xhYmVsPlxyXG4gICAgPGRpdlxyXG4gICAgICAgIGNsYXNzPVwiY29sLXhzLTEyXCJcclxuICAgICAgICBbbmdDbGFzc109XCJbZGlzYWJsZWxhYmVsID09PSBmYWxzZSA/ICh0aGlzLmxhYmVsU2l6ZXMgfCB0b0NvbnRyb2xXaWR0aENzcykgOiAnJ11cIj5cclxuICAgICAgICA8ZGl2IFtzdHlsZS5kaXNwbGF5XT1cImhlbHB0ZXh0bW9kZSA9PT0gJ3Rvb2x0aXAnICYmIGhlbHB0ZXh0ICYmIGRpc2FibGVsYWJlbCA/ICdmbGV4JyA6IG51bGxcIj5cclxuICAgICAgICAgICAgPGlucHV0XHJcbiAgICAgICAgICAgICAgICBpZD1cInt7IG5hbWUgfX1cIlxyXG4gICAgICAgICAgICAgICAgbmFtZT1cInt7IG5hbWUgfX1cIlxyXG4gICAgICAgICAgICAgICAgdHlwZT1cInRleHRcIlxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIlxyXG4gICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwiW2NvbXBvbmVudEhlaWdodCB8IHRvQ29udHJvbEhlaWdodF1cIlxyXG4gICAgICAgICAgICAgICAgW3ZhbHVlXT1cInZhbHVlXCJcclxuICAgICAgICAgICAgICAgIFthdHRyLnBsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyXCJcclxuICAgICAgICAgICAgICAgIChibHVyKT1cIm9uVG91Y2goKVwiXHJcbiAgICAgICAgICAgICAgICAoaW5wdXQpPVwic2V0VmFsdWUoJGV2ZW50LnRhcmdldC52YWx1ZSlcIlxyXG4gICAgICAgICAgICAgICAgKGtleXByZXNzKT1cIm9uS2V5UHJlc3MoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiaXNkaXNhYmxlZFwiXHJcbiAgICAgICAgICAgICAgICBbcmVhZG9ubHldPVwicmVhZG9ubHlcIiAvPlxyXG5cclxuICAgICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICAgICAgKm5nSWY9XCJoZWxwdGV4dG1vZGUgPT09ICd0b29sdGlwJyAmJiBoZWxwdGV4dCAmJiBkaXNhYmxlbGFiZWxcIlxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2wtc3RhdGljXCJcclxuICAgICAgICAgICAgICAgIHN0eWxlPVwibWFyZ2luLWxlZnQ6IDVweFwiPlxyXG4gICAgICAgICAgICAgICAgPHNhYy10b29sdGlwXHJcbiAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJoZWxwdGV4dG1vZGUgPT09ICd0b29sdGlwJyAmJiBoZWxwdGV4dFwiXHJcbiAgICAgICAgICAgICAgICAgICAgW3Rvb2x0aXB0ZXh0XT1cImhlbHB0ZXh0XCJcclxuICAgICAgICAgICAgICAgICAgICBbaW5saW5lbW9kZV09XCJ0cnVlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPHNwYW5cclxuICAgICAgICAgICAgICAgICAgICAgICAgW2NsYXNzXT1cIkhlbHB0ZXh0VG9vbHRpcEljb25cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT1cIm1hcmdpbi1sZWZ0OiA1cHg7IG1hcmdpbi1yaWdodDogNXB4XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgPC9zYWMtdG9vbHRpcD5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgIDxwXHJcbiAgICAgICAgICAgICpuZ0lmPVwiaGVscHRleHRtb2RlID09PSAndGV4dCcgJiYgaGVscHRleHRcIlxyXG4gICAgICAgICAgICBjbGFzcz1cImhlbHAtYmxvY2tcIj5cclxuICAgICAgICAgICAge3sgaGVscHRleHQgfX1cclxuICAgICAgICA8L3A+XHJcblxyXG4gICAgICAgIDxkaXZcclxuICAgICAgICAgICAgY2xhc3M9XCJoZWxwLWJsb2NrIGhlbHAtYmxvY2stZXJyb3JcIlxyXG4gICAgICAgICAgICAqbmdJZj1cImlzaW5saW5lZXJyb3JlbmFibGVkICYmIGludmFsaWQgJiYgKGRpcnR5IHx8IHRvdWNoZWQpXCI+XHJcbiAgICAgICAgICAgIHt7IEdldEVycm9yTWVzc2FnZSgpIHwgYXN5bmMgfX1cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG48L2Rpdj5cclxuIl19
@@ -1,29 +1,65 @@
1
- import { NG_VALUE_ACCESSOR, NG_VALIDATORS } from '@angular/forms';
2
- import { Component, forwardRef, Host, Optional } from '@angular/core';
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 { SacInputPasswordCommon } from '@simpleangularcontrols/sac-common';
4
- import { NgClass, NgIf, AsyncPipe } 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
  class SacInputPasswordComponent extends SacInputPasswordCommon {
8
- constructor(parent, injector) {
9
- super(parent, injector);
13
+ // #region Constructors
14
+ /**
15
+ * Constructor
16
+ * @param formLayout SacFormLayout to define scoped layout settings
17
+ * @param injector Injector for injecting services
18
+ */
19
+ constructor(formLayout, injector) {
20
+ super(formLayout, injector);
10
21
  }
11
- 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 }); }
22
+ 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 }); }
12
23
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: SacInputPasswordComponent, isStandalone: true, selector: "sac-inputpassword", providers: [
13
- { provide: NG_VALUE_ACCESSOR, multi: true, useExisting: SacInputPasswordComponent },
14
- { provide: NG_VALIDATORS, multi: true, useExisting: forwardRef(() => SacInputPasswordComponent) }
15
- ], usesInheritance: true, ngImport: i0, template: "<div class=\"form-group\" [ngClass]=\"{'has-error': invalid && (dirty || touched)}\">\r\n <label *ngIf=\"disablelabel === false && !isadaptivelabel\" id=\"{{name}}label\" for=\"{{name}}\" class=\"control-label\" [ngClass]=\"[labelsize !== 12 ? 'col-md-' + labelsize : 'sr-only']\" [class.required]=\"isrequired\">{{label}}</label>\r\n <div [ngClass]=\"[disablelabel === false ? 'col-md-' + _inputsize : 'col-md-12']\">\r\n <input id=\"{{name}}\" name=\"{{name}}\" class=\"form-control\" type=\"password\"\r\n [value]=\"value\" [attr.placeholder]=\"placeholder\" (blur)=\"onTouch()\" (input)=\"setValue($event.target.value)\"\r\n [attr.maxlength]=\"maxlength\" autocomplete=\"new-password\" [ngClass]=\"{'language-specific': islanguagespecific }\"\r\n [disabled]=\"isdisabled\" [readonly]=\"readonly\" />\r\n <label for=\"{{name}}\" class=\"form-label-adaptive form-label-fixed\" [ngClass]=\"{ 'required': isrequired }\" *ngIf=\"isadaptivelabel && !disablelabel\">{{label}}</label>\r\n <div class=\"help-block help-block-error\" *ngIf=\"IsInlineErrorEnabled && invalid && (dirty || touched)\">{{ GetErrorMessage() | async }}</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" }] }); }
24
+ {
25
+ provide: NG_VALUE_ACCESSOR,
26
+ multi: true,
27
+ useExisting: SacInputPasswordComponent,
28
+ },
29
+ {
30
+ provide: NG_VALIDATORS,
31
+ multi: true,
32
+ useExisting: forwardRef(() => SacInputPasswordComponent),
33
+ },
34
+ ], usesInheritance: true, ngImport: i0, template: "<div\r\n class=\"row form-group\"\r\n [class.has-error]=\"invalid && (dirty || touched)\"\r\n [ngClass]=\"componentHeight | toLabelHeight\">\r\n <label\r\n *ngIf=\"disablelabel === false && !isAdaptiveLabel\"\r\n id=\"{{ name }}label\"\r\n for=\"{{ name }}\"\r\n class=\"col-xs-12 control-label\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'sr-only']\"\r\n [class.required]=\"isrequired\">\r\n <span class=\"text\">{{ label }}</span>\r\n <sac-tooltip\r\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\r\n [tooltiptext]=\"helptext\"\r\n [inlinemode]=\"true\">\r\n <span\r\n [class]=\"HelptextTooltipIcon\"\r\n style=\"margin-left: 5px\">\r\n </span>\r\n </sac-tooltip>\r\n </label>\r\n <div\r\n class=\"col-xs-12\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\">\r\n <div [style.display]=\"helptextmode === 'tooltip' && helptext && disablelabel ? 'flex' : null\">\r\n <input\r\n id=\"{{ name }}\"\r\n name=\"{{ name }}\"\r\n class=\"form-control\"\r\n [ngClass]=\"[componentHeight | toControlHeight]\"\r\n type=\"password\"\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 autocomplete=\"new-password\"\r\n [disabled]=\"isdisabled\"\r\n [readonly]=\"readonly\" />\r\n\r\n <div\r\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\r\n class=\"form-control-static\"\r\n style=\"margin-left: 5px\">\r\n <sac-tooltip\r\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\r\n [tooltiptext]=\"helptext\"\r\n [inlinemode]=\"true\">\r\n <span\r\n [class]=\"HelptextTooltipIcon\"\r\n style=\"margin-left: 5px; margin-right: 5px\">\r\n </span>\r\n </sac-tooltip>\r\n </div>\r\n </div>\r\n\r\n <p\r\n *ngIf=\"helptextmode === 'text' && helptext\"\r\n class=\"help-block\">\r\n {{ helptext }}\r\n </p>\r\n\r\n <div\r\n class=\"help-block help-block-error\"\r\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\">\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" }, { kind: "pipe", type: SacToLabelWidthCssPipe, name: "toLabelWidthCss" }, { kind: "pipe", type: SacToControlWidthCssPipe, name: "toControlWidthCss" }, { kind: "pipe", type: SacToLabelHeightPipe, name: "toLabelHeight" }, { kind: "pipe", type: SacToControlHeightPipe, name: "toControlHeight" }, { kind: "component", type: SacTooltipComponent, selector: "sac-tooltip" }] }); }
16
35
  }
17
36
  export { SacInputPasswordComponent };
18
37
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SacInputPasswordComponent, decorators: [{
19
38
  type: Component,
20
39
  args: [{ selector: 'sac-inputpassword', providers: [
21
- { provide: NG_VALUE_ACCESSOR, multi: true, useExisting: SacInputPasswordComponent },
22
- { provide: NG_VALIDATORS, multi: true, useExisting: forwardRef(() => SacInputPasswordComponent) }
23
- ], standalone: true, imports: [NgClass, NgIf, AsyncPipe], template: "<div class=\"form-group\" [ngClass]=\"{'has-error': invalid && (dirty || touched)}\">\r\n <label *ngIf=\"disablelabel === false && !isadaptivelabel\" id=\"{{name}}label\" for=\"{{name}}\" class=\"control-label\" [ngClass]=\"[labelsize !== 12 ? 'col-md-' + labelsize : 'sr-only']\" [class.required]=\"isrequired\">{{label}}</label>\r\n <div [ngClass]=\"[disablelabel === false ? 'col-md-' + _inputsize : 'col-md-12']\">\r\n <input id=\"{{name}}\" name=\"{{name}}\" class=\"form-control\" type=\"password\"\r\n [value]=\"value\" [attr.placeholder]=\"placeholder\" (blur)=\"onTouch()\" (input)=\"setValue($event.target.value)\"\r\n [attr.maxlength]=\"maxlength\" autocomplete=\"new-password\" [ngClass]=\"{'language-specific': islanguagespecific }\"\r\n [disabled]=\"isdisabled\" [readonly]=\"readonly\" />\r\n <label for=\"{{name}}\" class=\"form-label-adaptive form-label-fixed\" [ngClass]=\"{ 'required': isrequired }\" *ngIf=\"isadaptivelabel && !disablelabel\">{{label}}</label>\r\n <div class=\"help-block help-block-error\" *ngIf=\"IsInlineErrorEnabled && invalid && (dirty || touched)\">{{ GetErrorMessage() | async }}</div>\r\n </div>\r\n</div>\r\n" }]
24
- }], ctorParameters: function () { return [{ type: i1.SacFormDirective, decorators: [{
40
+ {
41
+ provide: NG_VALUE_ACCESSOR,
42
+ multi: true,
43
+ useExisting: SacInputPasswordComponent,
44
+ },
45
+ {
46
+ provide: NG_VALIDATORS,
47
+ multi: true,
48
+ useExisting: forwardRef(() => SacInputPasswordComponent),
49
+ },
50
+ ], standalone: true, imports: [
51
+ NgClass,
52
+ NgIf,
53
+ AsyncPipe,
54
+ SacToLabelWidthCssPipe,
55
+ SacToControlWidthCssPipe,
56
+ SacToLabelHeightPipe,
57
+ SacToControlHeightPipe,
58
+ SacTooltipComponent,
59
+ ], template: "<div\r\n class=\"row form-group\"\r\n [class.has-error]=\"invalid && (dirty || touched)\"\r\n [ngClass]=\"componentHeight | toLabelHeight\">\r\n <label\r\n *ngIf=\"disablelabel === false && !isAdaptiveLabel\"\r\n id=\"{{ name }}label\"\r\n for=\"{{ name }}\"\r\n class=\"col-xs-12 control-label\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'sr-only']\"\r\n [class.required]=\"isrequired\">\r\n <span class=\"text\">{{ label }}</span>\r\n <sac-tooltip\r\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\r\n [tooltiptext]=\"helptext\"\r\n [inlinemode]=\"true\">\r\n <span\r\n [class]=\"HelptextTooltipIcon\"\r\n style=\"margin-left: 5px\">\r\n </span>\r\n </sac-tooltip>\r\n </label>\r\n <div\r\n class=\"col-xs-12\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\">\r\n <div [style.display]=\"helptextmode === 'tooltip' && helptext && disablelabel ? 'flex' : null\">\r\n <input\r\n id=\"{{ name }}\"\r\n name=\"{{ name }}\"\r\n class=\"form-control\"\r\n [ngClass]=\"[componentHeight | toControlHeight]\"\r\n type=\"password\"\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 autocomplete=\"new-password\"\r\n [disabled]=\"isdisabled\"\r\n [readonly]=\"readonly\" />\r\n\r\n <div\r\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\r\n class=\"form-control-static\"\r\n style=\"margin-left: 5px\">\r\n <sac-tooltip\r\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\r\n [tooltiptext]=\"helptext\"\r\n [inlinemode]=\"true\">\r\n <span\r\n [class]=\"HelptextTooltipIcon\"\r\n style=\"margin-left: 5px; margin-right: 5px\">\r\n </span>\r\n </sac-tooltip>\r\n </div>\r\n </div>\r\n\r\n <p\r\n *ngIf=\"helptextmode === 'text' && helptext\"\r\n class=\"help-block\">\r\n {{ helptext }}\r\n </p>\r\n\r\n <div\r\n class=\"help-block help-block-error\"\r\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\">\r\n {{ GetErrorMessage() | async }}\r\n </div>\r\n </div>\r\n</div>\r\n" }]
60
+ }], ctorParameters: function () { return [{ type: i1.SacFormLayoutDirective, decorators: [{
25
61
  type: Host
26
62
  }, {
27
63
  type: Optional
28
64
  }] }, { type: i0.Injector }]; } });
29
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXRwYXNzd29yZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NhYy1ib290c3RyYXAzL3NyYy9jb250cm9scy9pbnB1dC9pbnB1dHBhc3N3b3JkLnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2FjLWJvb3RzdHJhcDMvc3JjL2NvbnRyb2xzL2lucHV0L2lucHV0cGFzc3dvcmQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsaUJBQWlCLEVBQW9CLGFBQWEsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3BGLE9BQU8sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLElBQUksRUFBWSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFaEYsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDM0UsT0FBTyxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLE1BQU0saUJBQWlCLENBQUM7OztBQUczRCxNQVdhLHlCQUEwQixTQUFRLHNCQUFzQjtJQUNuRSxZQUFnQyxNQUF3QixFQUFFLFFBQWtCO1FBQzFFLEtBQUssQ0FBQyxNQUFNLEVBQUUsUUFBUSxDQUFDLENBQUM7SUFDMUIsQ0FBQzsrR0FIVSx5QkFBeUI7bUdBQXpCLHlCQUF5QixnRUFQdkI7WUFDUCxFQUFFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRSx5QkFBeUIsRUFBRTtZQUNuRixFQUFFLE9BQU8sRUFBRSxhQUFhLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLHlCQUF5QixDQUFDLEVBQUU7U0FDcEcsaURDZEwsK3FDQVdBLDRDREtjLE9BQU8sb0ZBQUUsSUFBSSx3RkFBRSxTQUFTOztTQUV6Qix5QkFBeUI7NEZBQXpCLHlCQUF5QjtrQkFYckMsU0FBUzsrQkFDSSxtQkFBbUIsYUFHbEI7d0JBQ1AsRUFBRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxXQUFXLDJCQUEyQixFQUFFO3dCQUNuRixFQUFFLE9BQU8sRUFBRSxhQUFhLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSwwQkFBMEIsQ0FBQyxFQUFFO3FCQUNwRyxjQUNXLElBQUksV0FDUCxDQUFDLE9BQU8sRUFBRSxJQUFJLEVBQUUsU0FBUyxDQUFDOzswQkFHeEIsSUFBSTs7MEJBQUksUUFBUSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5HX1ZBTFVFX0FDQ0VTU09SLCBDb250cm9sQ29udGFpbmVyLCBOR19WQUxJREFUT1JTIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBDb21wb25lbnQsIGZvcndhcmRSZWYsIEhvc3QsIEluamVjdG9yLCBPcHRpb25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBTYWNGb3JtRGlyZWN0aXZlIH0gZnJvbSAnLi4vZm9ybS9mb3JtJztcclxuaW1wb3J0IHsgU2FjSW5wdXRQYXNzd29yZENvbW1vbiB9IGZyb20gJ0BzaW1wbGVhbmd1bGFyY29udHJvbHMvc2FjLWNvbW1vbic7XHJcbmltcG9ydCB7IE5nQ2xhc3MsIE5nSWYsIEFzeW5jUGlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcblxyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ3NhYy1pbnB1dHBhc3N3b3JkJyxcclxuICAgIHRlbXBsYXRlVXJsOiAnLi9pbnB1dHBhc3N3b3JkLmh0bWwnLFxyXG4gICAgLy8gVmFsdWUgQWNjZXNzIFByb3ZpZGVyIHJlZ2lzdHJpZXJlbiwgZGFtaXQgV2VydCB2aWEgTW9kZWwgZ2VzY2hyaWViZW4gdW5kIGdlbGVzZW4gd2VyZGVuIGthbm5cclxuICAgIHByb3ZpZGVyczogW1xyXG4gICAgICAgIHsgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsIG11bHRpOiB0cnVlLCB1c2VFeGlzdGluZzogU2FjSW5wdXRQYXNzd29yZENvbXBvbmVudCB9LFxyXG4gICAgICAgIHsgcHJvdmlkZTogTkdfVkFMSURBVE9SUywgbXVsdGk6IHRydWUsIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFNhY0lucHV0UGFzc3dvcmRDb21wb25lbnQpIH1cclxuICAgIF0sXHJcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gICAgaW1wb3J0czogW05nQ2xhc3MsIE5nSWYsIEFzeW5jUGlwZV1cclxufSlcclxuZXhwb3J0IGNsYXNzIFNhY0lucHV0UGFzc3dvcmRDb21wb25lbnQgZXh0ZW5kcyBTYWNJbnB1dFBhc3N3b3JkQ29tbW9uIHtcclxuICBjb25zdHJ1Y3RvcihASG9zdCgpIEBPcHRpb25hbCgpIHBhcmVudDogU2FjRm9ybURpcmVjdGl2ZSwgaW5qZWN0b3I6IEluamVjdG9yKSB7XHJcbiAgICBzdXBlcihwYXJlbnQsIGluamVjdG9yKTtcclxuICB9XHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cImZvcm0tZ3JvdXBcIiBbbmdDbGFzc109XCJ7J2hhcy1lcnJvcic6IGludmFsaWQgJiYgKGRpcnR5IHx8IHRvdWNoZWQpfVwiPlxyXG4gIDxsYWJlbCAqbmdJZj1cImRpc2FibGVsYWJlbCA9PT0gZmFsc2UgJiYgIWlzYWRhcHRpdmVsYWJlbFwiIGlkPVwie3tuYW1lfX1sYWJlbFwiIGZvcj1cInt7bmFtZX19XCIgY2xhc3M9XCJjb250cm9sLWxhYmVsXCIgW25nQ2xhc3NdPVwiW2xhYmVsc2l6ZSAhPT0gMTIgPyAgJ2NvbC1tZC0nICsgbGFiZWxzaXplIDogJ3NyLW9ubHknXVwiIFtjbGFzcy5yZXF1aXJlZF09XCJpc3JlcXVpcmVkXCI+e3tsYWJlbH19PC9sYWJlbD5cclxuICA8ZGl2IFtuZ0NsYXNzXT1cIltkaXNhYmxlbGFiZWwgPT09IGZhbHNlID8gJ2NvbC1tZC0nICsgX2lucHV0c2l6ZSA6ICdjb2wtbWQtMTInXVwiPlxyXG4gICAgPGlucHV0IGlkPVwie3tuYW1lfX1cIiBuYW1lPVwie3tuYW1lfX1cIiBjbGFzcz1cImZvcm0tY29udHJvbFwiIHR5cGU9XCJwYXNzd29yZFwiXHJcbiAgICAgICAgICAgW3ZhbHVlXT1cInZhbHVlXCIgW2F0dHIucGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXJcIiAoYmx1cik9XCJvblRvdWNoKClcIiAoaW5wdXQpPVwic2V0VmFsdWUoJGV2ZW50LnRhcmdldC52YWx1ZSlcIlxyXG4gICAgICAgICAgIFthdHRyLm1heGxlbmd0aF09XCJtYXhsZW5ndGhcIiBhdXRvY29tcGxldGU9XCJuZXctcGFzc3dvcmRcIiBbbmdDbGFzc109XCJ7J2xhbmd1YWdlLXNwZWNpZmljJzogaXNsYW5ndWFnZXNwZWNpZmljIH1cIlxyXG4gICAgICAgICAgIFtkaXNhYmxlZF09XCJpc2Rpc2FibGVkXCIgW3JlYWRvbmx5XT1cInJlYWRvbmx5XCIgLz5cclxuICAgIDxsYWJlbCBmb3I9XCJ7e25hbWV9fVwiIGNsYXNzPVwiZm9ybS1sYWJlbC1hZGFwdGl2ZSBmb3JtLWxhYmVsLWZpeGVkXCIgW25nQ2xhc3NdPVwieyAncmVxdWlyZWQnOiBpc3JlcXVpcmVkIH1cIiAqbmdJZj1cImlzYWRhcHRpdmVsYWJlbCAmJiAhZGlzYWJsZWxhYmVsXCI+e3tsYWJlbH19PC9sYWJlbD5cclxuICAgIDxkaXYgY2xhc3M9XCJoZWxwLWJsb2NrIGhlbHAtYmxvY2stZXJyb3JcIiAqbmdJZj1cIklzSW5saW5lRXJyb3JFbmFibGVkICYmIGludmFsaWQgJiYgKGRpcnR5IHx8IHRvdWNoZWQpXCI+e3sgR2V0RXJyb3JNZXNzYWdlKCkgfCBhc3luYyB9fTwvZGl2PlxyXG4gIDwvZGl2PlxyXG48L2Rpdj5cclxuIl19
65
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXRwYXNzd29yZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NhYy1ib290c3RyYXAzL3NyYy9jb250cm9scy9pbnB1dC9pbnB1dHBhc3N3b3JkLnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2FjLWJvb3RzdHJhcDMvc3JjL2NvbnRyb2xzL2lucHV0L2lucHV0cGFzc3dvcmQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBWSxRQUFRLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2hGLE9BQU8sRUFBRSxhQUFhLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUUzRSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN4RSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUM1RSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNwRSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN4RSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQzs7O0FBRXpELE1BNEJhLHlCQUEwQixTQUFRLHNCQUFzQjtJQUNuRSx1QkFBdUI7SUFFdkI7Ozs7T0FJRztJQUNILFlBQ3NCLFVBQWtDLEVBQ3RELFFBQWtCO1FBRWxCLEtBQUssQ0FBQyxVQUFVLEVBQUUsUUFBUSxDQUFDLENBQUM7SUFDOUIsQ0FBQzsrR0FiVSx5QkFBeUI7bUdBQXpCLHlCQUF5QixnRUF4QnpCO1lBQ1Q7Z0JBQ0UsT0FBTyxFQUFFLGlCQUFpQjtnQkFDMUIsS0FBSyxFQUFFLElBQUk7Z0JBQ1gsV0FBVyxFQUFFLHlCQUF5QjthQUN2QztZQUNEO2dCQUNFLE9BQU8sRUFBRSxhQUFhO2dCQUN0QixLQUFLLEVBQUUsSUFBSTtnQkFDWCxXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLHlCQUF5QixDQUFDO2FBQ3pEO1NBQ0YsaURDMUJILHV4RkFzRUEsNENEekNJLE9BQU8sb0ZBQ1AsSUFBSSx3RkFDSixTQUFTLHlDQUNULHNCQUFzQixtREFDdEIsd0JBQXdCLHFEQUN4QixvQkFBb0IsaURBQ3BCLHNCQUFzQix3REFDdEIsbUJBQW1COztTQUdWLHlCQUF5Qjs0RkFBekIseUJBQXlCO2tCQTVCckMsU0FBUzsrQkFDRSxtQkFBbUIsYUFHbEI7d0JBQ1Q7NEJBQ0UsT0FBTyxFQUFFLGlCQUFpQjs0QkFDMUIsS0FBSyxFQUFFLElBQUk7NEJBQ1gsV0FBVywyQkFBMkI7eUJBQ3ZDO3dCQUNEOzRCQUNFLE9BQU8sRUFBRSxhQUFhOzRCQUN0QixLQUFLLEVBQUUsSUFBSTs0QkFDWCxXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSwwQkFBMEIsQ0FBQzt5QkFDekQ7cUJBQ0YsY0FDVyxJQUFJLFdBQ1A7d0JBQ1AsT0FBTzt3QkFDUCxJQUFJO3dCQUNKLFNBQVM7d0JBQ1Qsc0JBQXNCO3dCQUN0Qix3QkFBd0I7d0JBQ3hCLG9CQUFvQjt3QkFDcEIsc0JBQXNCO3dCQUN0QixtQkFBbUI7cUJBQ3BCOzswQkFXRSxJQUFJOzswQkFBSSxRQUFRIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQXN5bmNQaXBlLCBOZ0NsYXNzLCBOZ0lmIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgQ29tcG9uZW50LCBIb3N0LCBJbmplY3RvciwgT3B0aW9uYWwsIGZvcndhcmRSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTkdfVkFMSURBVE9SUywgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IFNhY0lucHV0UGFzc3dvcmRDb21tb24gfSBmcm9tICdAc2ltcGxlYW5ndWxhcmNvbnRyb2xzL3NhYy1jb21tb24nO1xyXG5pbXBvcnQgeyBTYWNGb3JtTGF5b3V0RGlyZWN0aXZlIH0gZnJvbSAnLi4vbGF5b3V0L2Zvcm1sYXlvdXQuZGlyZWN0aXZlJztcclxuaW1wb3J0IHsgU2FjVG9Db250cm9sSGVpZ2h0UGlwZSB9IGZyb20gJy4uL2xheW91dC90b2NvbnRyb2xoZWlnaHQucGlwZSc7XHJcbmltcG9ydCB7IFNhY1RvQ29udHJvbFdpZHRoQ3NzUGlwZSB9IGZyb20gJy4uL2xheW91dC90b2NvbnRyb2x3aWR0aGNzcy5waXBlJztcclxuaW1wb3J0IHsgU2FjVG9MYWJlbEhlaWdodFBpcGUgfSBmcm9tICcuLi9sYXlvdXQvdG9sYWJlbGhlaWdodC5waXBlJztcclxuaW1wb3J0IHsgU2FjVG9MYWJlbFdpZHRoQ3NzUGlwZSB9IGZyb20gJy4uL2xheW91dC90b2xhYmVsd2lkdGhjc3MucGlwZSc7XHJcbmltcG9ydCB7IFNhY1Rvb2x0aXBDb21wb25lbnQgfSBmcm9tICcuLi90b29sdGlwL3Rvb2x0aXAnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdzYWMtaW5wdXRwYXNzd29yZCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2lucHV0cGFzc3dvcmQuaHRtbCcsXHJcbiAgLy8gVmFsdWUgQWNjZXNzIFByb3ZpZGVyIHJlZ2lzdHJpZXJlbiwgZGFtaXQgV2VydCB2aWEgTW9kZWwgZ2VzY2hyaWViZW4gdW5kIGdlbGVzZW4gd2VyZGVuIGthbm5cclxuICBwcm92aWRlcnM6IFtcclxuICAgIHtcclxuICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXHJcbiAgICAgIG11bHRpOiB0cnVlLFxyXG4gICAgICB1c2VFeGlzdGluZzogU2FjSW5wdXRQYXNzd29yZENvbXBvbmVudCxcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTElEQVRPUlMsXHJcbiAgICAgIG11bHRpOiB0cnVlLFxyXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBTYWNJbnB1dFBhc3N3b3JkQ29tcG9uZW50KSxcclxuICAgIH0sXHJcbiAgXSxcclxuICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gIGltcG9ydHM6IFtcclxuICAgIE5nQ2xhc3MsXHJcbiAgICBOZ0lmLFxyXG4gICAgQXN5bmNQaXBlLFxyXG4gICAgU2FjVG9MYWJlbFdpZHRoQ3NzUGlwZSxcclxuICAgIFNhY1RvQ29udHJvbFdpZHRoQ3NzUGlwZSxcclxuICAgIFNhY1RvTGFiZWxIZWlnaHRQaXBlLFxyXG4gICAgU2FjVG9Db250cm9sSGVpZ2h0UGlwZSxcclxuICAgIFNhY1Rvb2x0aXBDb21wb25lbnQsXHJcbiAgXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIFNhY0lucHV0UGFzc3dvcmRDb21wb25lbnQgZXh0ZW5kcyBTYWNJbnB1dFBhc3N3b3JkQ29tbW9uIHtcclxuICAvLyAjcmVnaW9uIENvbnN0cnVjdG9yc1xyXG5cclxuICAvKipcclxuICAgKiBDb25zdHJ1Y3RvclxyXG4gICAqIEBwYXJhbSBmb3JtTGF5b3V0IFNhY0Zvcm1MYXlvdXQgdG8gZGVmaW5lIHNjb3BlZCBsYXlvdXQgc2V0dGluZ3NcclxuICAgKiBAcGFyYW0gaW5qZWN0b3IgSW5qZWN0b3IgZm9yIGluamVjdGluZyBzZXJ2aWNlc1xyXG4gICAqL1xyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgQEhvc3QoKSBAT3B0aW9uYWwoKSBmb3JtTGF5b3V0OiBTYWNGb3JtTGF5b3V0RGlyZWN0aXZlLFxyXG4gICAgaW5qZWN0b3I6IEluamVjdG9yXHJcbiAgKSB7XHJcbiAgICBzdXBlcihmb3JtTGF5b3V0LCBpbmplY3Rvcik7XHJcbiAgfVxyXG5cclxuICAvLyAjZW5kcmVnaW9uIENvbnN0cnVjdG9yc1xyXG59XHJcbiIsIjxkaXZcclxuICAgIGNsYXNzPVwicm93IGZvcm0tZ3JvdXBcIlxyXG4gICAgW2NsYXNzLmhhcy1lcnJvcl09XCJpbnZhbGlkICYmIChkaXJ0eSB8fCB0b3VjaGVkKVwiXHJcbiAgICBbbmdDbGFzc109XCJjb21wb25lbnRIZWlnaHQgfCB0b0xhYmVsSGVpZ2h0XCI+XHJcbiAgICA8bGFiZWxcclxuICAgICAgICAqbmdJZj1cImRpc2FibGVsYWJlbCA9PT0gZmFsc2UgJiYgIWlzQWRhcHRpdmVMYWJlbFwiXHJcbiAgICAgICAgaWQ9XCJ7eyBuYW1lIH19bGFiZWxcIlxyXG4gICAgICAgIGZvcj1cInt7IG5hbWUgfX1cIlxyXG4gICAgICAgIGNsYXNzPVwiY29sLXhzLTEyIGNvbnRyb2wtbGFiZWxcIlxyXG4gICAgICAgIFtuZ0NsYXNzXT1cIltkaXNhYmxlbGFiZWwgPT09IGZhbHNlID8gKHRoaXMubGFiZWxTaXplcyB8IHRvTGFiZWxXaWR0aENzcykgOiAnc3Itb25seSddXCJcclxuICAgICAgICBbY2xhc3MucmVxdWlyZWRdPVwiaXNyZXF1aXJlZFwiPlxyXG4gICAgICAgIDxzcGFuIGNsYXNzPVwidGV4dFwiPnt7IGxhYmVsIH19PC9zcGFuPlxyXG4gICAgICAgIDxzYWMtdG9vbHRpcFxyXG4gICAgICAgICAgICAqbmdJZj1cImhlbHB0ZXh0bW9kZSA9PT0gJ3Rvb2x0aXAnICYmIGhlbHB0ZXh0XCJcclxuICAgICAgICAgICAgW3Rvb2x0aXB0ZXh0XT1cImhlbHB0ZXh0XCJcclxuICAgICAgICAgICAgW2lubGluZW1vZGVdPVwidHJ1ZVwiPlxyXG4gICAgICAgICAgICA8c3BhblxyXG4gICAgICAgICAgICAgICAgW2NsYXNzXT1cIkhlbHB0ZXh0VG9vbHRpcEljb25cIlxyXG4gICAgICAgICAgICAgICAgc3R5bGU9XCJtYXJnaW4tbGVmdDogNXB4XCI+XHJcbiAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICA8L3NhYy10b29sdGlwPlxyXG4gICAgPC9sYWJlbD5cclxuICAgIDxkaXZcclxuICAgICAgICBjbGFzcz1cImNvbC14cy0xMlwiXHJcbiAgICAgICAgW25nQ2xhc3NdPVwiW2Rpc2FibGVsYWJlbCA9PT0gZmFsc2UgPyAodGhpcy5sYWJlbFNpemVzIHwgdG9Db250cm9sV2lkdGhDc3MpIDogJyddXCI+XHJcbiAgICAgICAgPGRpdiBbc3R5bGUuZGlzcGxheV09XCJoZWxwdGV4dG1vZGUgPT09ICd0b29sdGlwJyAmJiBoZWxwdGV4dCAmJiBkaXNhYmxlbGFiZWwgPyAnZmxleCcgOiBudWxsXCI+XHJcbiAgICAgICAgICAgIDxpbnB1dFxyXG4gICAgICAgICAgICAgICAgaWQ9XCJ7eyBuYW1lIH19XCJcclxuICAgICAgICAgICAgICAgIG5hbWU9XCJ7eyBuYW1lIH19XCJcclxuICAgICAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sXCJcclxuICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cIltjb21wb25lbnRIZWlnaHQgfCB0b0NvbnRyb2xIZWlnaHRdXCJcclxuICAgICAgICAgICAgICAgIHR5cGU9XCJwYXNzd29yZFwiXHJcbiAgICAgICAgICAgICAgICBbdmFsdWVdPVwidmFsdWVcIlxyXG4gICAgICAgICAgICAgICAgW2F0dHIucGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXJcIlxyXG4gICAgICAgICAgICAgICAgKGJsdXIpPVwib25Ub3VjaCgpXCJcclxuICAgICAgICAgICAgICAgIChpbnB1dCk9XCJzZXRWYWx1ZSgkZXZlbnQudGFyZ2V0LnZhbHVlKVwiXHJcbiAgICAgICAgICAgICAgICBbYXR0ci5tYXhsZW5ndGhdPVwibWF4bGVuZ3RoXCJcclxuICAgICAgICAgICAgICAgIGF1dG9jb21wbGV0ZT1cIm5ldy1wYXNzd29yZFwiXHJcbiAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiaXNkaXNhYmxlZFwiXHJcbiAgICAgICAgICAgICAgICBbcmVhZG9ubHldPVwicmVhZG9ubHlcIiAvPlxyXG5cclxuICAgICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICAgICAgKm5nSWY9XCJoZWxwdGV4dG1vZGUgPT09ICd0b29sdGlwJyAmJiBoZWxwdGV4dCAmJiBkaXNhYmxlbGFiZWxcIlxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2wtc3RhdGljXCJcclxuICAgICAgICAgICAgICAgIHN0eWxlPVwibWFyZ2luLWxlZnQ6IDVweFwiPlxyXG4gICAgICAgICAgICAgICAgPHNhYy10b29sdGlwXHJcbiAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJoZWxwdGV4dG1vZGUgPT09ICd0b29sdGlwJyAmJiBoZWxwdGV4dFwiXHJcbiAgICAgICAgICAgICAgICAgICAgW3Rvb2x0aXB0ZXh0XT1cImhlbHB0ZXh0XCJcclxuICAgICAgICAgICAgICAgICAgICBbaW5saW5lbW9kZV09XCJ0cnVlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPHNwYW5cclxuICAgICAgICAgICAgICAgICAgICAgICAgW2NsYXNzXT1cIkhlbHB0ZXh0VG9vbHRpcEljb25cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT1cIm1hcmdpbi1sZWZ0OiA1cHg7IG1hcmdpbi1yaWdodDogNXB4XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgPC9zYWMtdG9vbHRpcD5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgIDxwXHJcbiAgICAgICAgICAgICpuZ0lmPVwiaGVscHRleHRtb2RlID09PSAndGV4dCcgJiYgaGVscHRleHRcIlxyXG4gICAgICAgICAgICBjbGFzcz1cImhlbHAtYmxvY2tcIj5cclxuICAgICAgICAgICAge3sgaGVscHRleHQgfX1cclxuICAgICAgICA8L3A+XHJcblxyXG4gICAgICAgIDxkaXZcclxuICAgICAgICAgICAgY2xhc3M9XCJoZWxwLWJsb2NrIGhlbHAtYmxvY2stZXJyb3JcIlxyXG4gICAgICAgICAgICAqbmdJZj1cImlzaW5saW5lZXJyb3JlbmFibGVkICYmIGludmFsaWQgJiYgKGRpcnR5IHx8IHRvdWNoZWQpXCI+XHJcbiAgICAgICAgICAgIHt7IEdldEVycm9yTWVzc2FnZSgpIHwgYXN5bmMgfX1cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG48L2Rpdj5cclxuIl19
@@ -1,29 +1,64 @@
1
- import { Component, Host, forwardRef, Optional } from '@angular/core';
2
- import { SacInputSearchCommon } from '@simpleangularcontrols/sac-common';
3
- import { NG_VALUE_ACCESSOR, NG_VALIDATORS } from '@angular/forms';
4
1
  import { NgClass, NgIf } from '@angular/common';
2
+ import { Component, Host, Optional, forwardRef } from '@angular/core';
3
+ import { NG_VALIDATORS, NG_VALUE_ACCESSOR } from '@angular/forms';
4
+ import { SacInputSearchCommon } from '@simpleangularcontrols/sac-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
  class SacInputSearchComponent extends SacInputSearchCommon {
8
- constructor(parent, injector) {
9
- super(parent, injector);
13
+ // #region Constructors
14
+ /**
15
+ * Constructor
16
+ * @param formLayout SacFormLayout to define scoped layout settings
17
+ * @param injector Injector for injecting services
18
+ */
19
+ constructor(formLayout, injector) {
20
+ super(formLayout, injector);
10
21
  }
11
- 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 }); }
22
+ 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 }); }
12
23
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: SacInputSearchComponent, isStandalone: true, selector: "sac-inputsearch", providers: [
13
- { provide: NG_VALUE_ACCESSOR, multi: true, useExisting: SacInputSearchComponent },
14
- { provide: NG_VALIDATORS, multi: true, useExisting: forwardRef(() => SacInputSearchComponent) }
15
- ], usesInheritance: true, ngImport: i0, template: "<div class=\"form-group\" [ngClass]=\"{'has-error': invalid && (dirty || touched)}\">\r\n <label *ngIf=\"disablelabel === false && !isadaptivelabel\" id=\"{{name}}label\" for=\"{{name}}\" class=\"control-label\" [ngClass]=\"[labelsize !== 12 ? 'col-md-' + labelsize : 'sr-only']\" [class.required]=\"isrequired\">{{label}}</label>\r\n <div [ngClass]=\"[disablelabel === false ? 'col-md-' + _inputsize : 'col-md-12']\">\r\n <div class=\"input-group\">\r\n <input id=\"{{name}}\" name=\"{{name}}\" type=\"text\" class=\"form-control\"\r\n [value]=\"value\" [attr.placeholder]=\"placeholder\"\r\n (blur)=\"onTouch()\" (input)=\"setValue($event.target.value)\"\r\n [attr.maxlength]=\"maxlength\" [ngClass]=\"{'language-specific': islanguagespecific }\" [disabled]=\"isdisabled\" [readonly]=\"readonly\" />\r\n <span class=\"input-group-btn\">\r\n <input type=\"submit\" class=\"btn btn-default\" id=\"{{name}}_search\" (click)=\"searchClick()\" [value]=\"buttontext\" />\r\n </span>\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"] }] }); }
24
+ {
25
+ provide: NG_VALUE_ACCESSOR,
26
+ multi: true,
27
+ useExisting: SacInputSearchComponent,
28
+ },
29
+ {
30
+ provide: NG_VALIDATORS,
31
+ multi: true,
32
+ useExisting: forwardRef(() => SacInputSearchComponent),
33
+ },
34
+ ], usesInheritance: true, ngImport: i0, template: "<div\r\n class=\"row form-group\"\r\n [class.has-error]=\"invalid && (dirty || touched)\"\r\n [ngClass]=\"componentHeight | toLabelHeight\">\r\n <label\r\n *ngIf=\"disablelabel === false && !isAdaptiveLabel\"\r\n id=\"{{ name }}label\"\r\n for=\"{{ name }}\"\r\n class=\"col-xs-12 control-label\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'sr-only']\"\r\n [class.required]=\"isrequired\">\r\n <span class=\"text\">{{ label }}</span>\r\n <sac-tooltip\r\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\r\n [tooltiptext]=\"helptext\"\r\n [inlinemode]=\"true\">\r\n <span\r\n [class]=\"HelptextTooltipIcon\"\r\n style=\"margin-left: 5px\">\r\n </span>\r\n </sac-tooltip>\r\n </label>\r\n <div\r\n class=\"col-xs-12\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\r\n [class.clearfix]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\r\n <div\r\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\r\n class=\"form-control-static pull-right\"\r\n style=\"margin-left: 5px\">\r\n <sac-tooltip\r\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\r\n [tooltiptext]=\"helptext\"\r\n [inlinemode]=\"true\">\r\n <span\r\n [class]=\"HelptextTooltipIcon\"\r\n style=\"margin-left: 5px; margin-right: 5px\">\r\n </span>\r\n </sac-tooltip>\r\n </div>\r\n\r\n <div\r\n class=\"input-group\"\r\n [class.input-group-sm]=\"componentHeight === ControlHeight.Small\"\r\n [class.input-group-lg]=\"componentHeight === ControlHeight.Large\">\r\n <input\r\n id=\"{{ name }}\"\r\n name=\"{{ name }}\"\r\n type=\"text\"\r\n class=\"form-control\"\r\n [ngClass]=\"[componentHeight | toControlHeight]\"\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 [disabled]=\"isdisabled\"\r\n [readonly]=\"readonly\" />\r\n <span class=\"input-group-btn\">\r\n <button\r\n type=\"button\"\r\n class=\"btn btn-default\"\r\n id=\"{{ name }}_search\"\r\n (click)=\"searchClick()\">\r\n <i\r\n *ngIf=\"buttonmode === 'icon' || buttonmode === 'mixed'\"\r\n [class]=\"iconname\"\r\n [style.margin-right.px]=\"buttonmode === 'mixed' ? 7 : null\">\r\n </i>\r\n <ng-container *ngIf=\"buttonmode === 'text' || buttonmode === 'mixed'\">{{ buttontext }}</ng-container>\r\n </button>\r\n </span>\r\n </div>\r\n\r\n <p\r\n *ngIf=\"helptextmode === 'text' && helptext\"\r\n class=\"help-block\">\r\n {{ helptext }}\r\n </p>\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: SacToLabelWidthCssPipe, name: "toLabelWidthCss" }, { kind: "pipe", type: SacToControlWidthCssPipe, name: "toControlWidthCss" }, { kind: "pipe", type: SacToLabelHeightPipe, name: "toLabelHeight" }, { kind: "pipe", type: SacToControlHeightPipe, name: "toControlHeight" }, { kind: "component", type: SacTooltipComponent, selector: "sac-tooltip" }] }); }
16
35
  }
17
36
  export { SacInputSearchComponent };
18
37
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SacInputSearchComponent, decorators: [{
19
38
  type: Component,
20
39
  args: [{ selector: 'sac-inputsearch', providers: [
21
- { provide: NG_VALUE_ACCESSOR, multi: true, useExisting: SacInputSearchComponent },
22
- { provide: NG_VALIDATORS, multi: true, useExisting: forwardRef(() => SacInputSearchComponent) }
23
- ], standalone: true, imports: [NgClass, NgIf], template: "<div class=\"form-group\" [ngClass]=\"{'has-error': invalid && (dirty || touched)}\">\r\n <label *ngIf=\"disablelabel === false && !isadaptivelabel\" id=\"{{name}}label\" for=\"{{name}}\" class=\"control-label\" [ngClass]=\"[labelsize !== 12 ? 'col-md-' + labelsize : 'sr-only']\" [class.required]=\"isrequired\">{{label}}</label>\r\n <div [ngClass]=\"[disablelabel === false ? 'col-md-' + _inputsize : 'col-md-12']\">\r\n <div class=\"input-group\">\r\n <input id=\"{{name}}\" name=\"{{name}}\" type=\"text\" class=\"form-control\"\r\n [value]=\"value\" [attr.placeholder]=\"placeholder\"\r\n (blur)=\"onTouch()\" (input)=\"setValue($event.target.value)\"\r\n [attr.maxlength]=\"maxlength\" [ngClass]=\"{'language-specific': islanguagespecific }\" [disabled]=\"isdisabled\" [readonly]=\"readonly\" />\r\n <span class=\"input-group-btn\">\r\n <input type=\"submit\" class=\"btn btn-default\" id=\"{{name}}_search\" (click)=\"searchClick()\" [value]=\"buttontext\" />\r\n </span>\r\n </div>\r\n </div>\r\n</div>\r\n" }]
24
- }], ctorParameters: function () { return [{ type: i1.SacFormDirective, decorators: [{
40
+ {
41
+ provide: NG_VALUE_ACCESSOR,
42
+ multi: true,
43
+ useExisting: SacInputSearchComponent,
44
+ },
45
+ {
46
+ provide: NG_VALIDATORS,
47
+ multi: true,
48
+ useExisting: forwardRef(() => SacInputSearchComponent),
49
+ },
50
+ ], standalone: true, imports: [
51
+ NgClass,
52
+ NgIf,
53
+ SacToLabelWidthCssPipe,
54
+ SacToControlWidthCssPipe,
55
+ SacToLabelHeightPipe,
56
+ SacToControlHeightPipe,
57
+ SacTooltipComponent,
58
+ ], template: "<div\r\n class=\"row form-group\"\r\n [class.has-error]=\"invalid && (dirty || touched)\"\r\n [ngClass]=\"componentHeight | toLabelHeight\">\r\n <label\r\n *ngIf=\"disablelabel === false && !isAdaptiveLabel\"\r\n id=\"{{ name }}label\"\r\n for=\"{{ name }}\"\r\n class=\"col-xs-12 control-label\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'sr-only']\"\r\n [class.required]=\"isrequired\">\r\n <span class=\"text\">{{ label }}</span>\r\n <sac-tooltip\r\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\r\n [tooltiptext]=\"helptext\"\r\n [inlinemode]=\"true\">\r\n <span\r\n [class]=\"HelptextTooltipIcon\"\r\n style=\"margin-left: 5px\">\r\n </span>\r\n </sac-tooltip>\r\n </label>\r\n <div\r\n class=\"col-xs-12\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\r\n [class.clearfix]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\r\n <div\r\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\r\n class=\"form-control-static pull-right\"\r\n style=\"margin-left: 5px\">\r\n <sac-tooltip\r\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\r\n [tooltiptext]=\"helptext\"\r\n [inlinemode]=\"true\">\r\n <span\r\n [class]=\"HelptextTooltipIcon\"\r\n style=\"margin-left: 5px; margin-right: 5px\">\r\n </span>\r\n </sac-tooltip>\r\n </div>\r\n\r\n <div\r\n class=\"input-group\"\r\n [class.input-group-sm]=\"componentHeight === ControlHeight.Small\"\r\n [class.input-group-lg]=\"componentHeight === ControlHeight.Large\">\r\n <input\r\n id=\"{{ name }}\"\r\n name=\"{{ name }}\"\r\n type=\"text\"\r\n class=\"form-control\"\r\n [ngClass]=\"[componentHeight | toControlHeight]\"\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 [disabled]=\"isdisabled\"\r\n [readonly]=\"readonly\" />\r\n <span class=\"input-group-btn\">\r\n <button\r\n type=\"button\"\r\n class=\"btn btn-default\"\r\n id=\"{{ name }}_search\"\r\n (click)=\"searchClick()\">\r\n <i\r\n *ngIf=\"buttonmode === 'icon' || buttonmode === 'mixed'\"\r\n [class]=\"iconname\"\r\n [style.margin-right.px]=\"buttonmode === 'mixed' ? 7 : null\">\r\n </i>\r\n <ng-container *ngIf=\"buttonmode === 'text' || buttonmode === 'mixed'\">{{ buttontext }}</ng-container>\r\n </button>\r\n </span>\r\n </div>\r\n\r\n <p\r\n *ngIf=\"helptextmode === 'text' && helptext\"\r\n class=\"help-block\">\r\n {{ helptext }}\r\n </p>\r\n </div>\r\n</div>\r\n" }]
59
+ }], ctorParameters: function () { return [{ type: i1.SacFormLayoutDirective, decorators: [{
25
60
  type: Host
26
61
  }, {
27
62
  type: Optional
28
63
  }] }, { type: i0.Injector }]; } });
29
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXRzZWFyY2guanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zYWMtYm9vdHN0cmFwMy9zcmMvY29udHJvbHMvaW5wdXQvaW5wdXRzZWFyY2gudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zYWMtYm9vdHN0cmFwMy9zcmMvY29udHJvbHMvaW5wdXQvaW5wdXRzZWFyY2guaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBWSxVQUFVLEVBQStCLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM3RyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUV6RSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsYUFBYSxFQUFvQixNQUFNLGdCQUFnQixDQUFDO0FBQ3BGLE9BQU8sRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0saUJBQWlCLENBQUM7OztBQUdoRCxNQVlhLHVCQUF3QixTQUFRLG9CQUFvQjtJQUUvRCxZQUFnQyxNQUF3QixFQUFFLFFBQWtCO1FBQzFFLEtBQUssQ0FBQyxNQUFNLEVBQUUsUUFBUSxDQUFDLENBQUM7SUFDMUIsQ0FBQzsrR0FKVSx1QkFBdUI7bUdBQXZCLHVCQUF1Qiw4REFSckI7WUFDUCxFQUFFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRSx1QkFBdUIsRUFBRTtZQUNqRixFQUFFLE9BQU8sRUFBRSxhQUFhLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLHVCQUF1QixDQUFDLEVBQUU7U0FDbEcsaURDZEwsNGpDQWNBLDRDREVjLE9BQU8sb0ZBQUUsSUFBSTs7U0FHZCx1QkFBdUI7NEZBQXZCLHVCQUF1QjtrQkFabkMsU0FBUzsrQkFDSSxpQkFBaUIsYUFHaEI7d0JBQ1AsRUFBRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxXQUFXLHlCQUF5QixFQUFFO3dCQUNqRixFQUFFLE9BQU8sRUFBRSxhQUFhLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSx3QkFBd0IsQ0FBQyxFQUFFO3FCQUNsRyxjQUNXLElBQUksV0FDUCxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUM7OzBCQUtiLElBQUk7OzBCQUFJLFFBQVEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEhvc3QsIEluamVjdG9yLCBmb3J3YXJkUmVmLCBPdXRwdXQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9wdGlvbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFNhY0lucHV0U2VhcmNoQ29tbW9uIH0gZnJvbSAnQHNpbXBsZWFuZ3VsYXJjb250cm9scy9zYWMtY29tbW9uJztcclxuaW1wb3J0IHsgU2FjRm9ybURpcmVjdGl2ZSB9IGZyb20gJy4uL2Zvcm0vZm9ybSc7XHJcbmltcG9ydCB7IE5HX1ZBTFVFX0FDQ0VTU09SLCBOR19WQUxJREFUT1JTLCBDb250cm9sQ29udGFpbmVyIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBOZ0NsYXNzLCBOZ0lmIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuXHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAnc2FjLWlucHV0c2VhcmNoJyxcclxuICAgIHRlbXBsYXRlVXJsOiAnLi9pbnB1dHNlYXJjaC5odG1sJyxcclxuICAgIC8vIFZhbHVlIEFjY2VzcyBQcm92aWRlciByZWdpc3RyaWVyZW4sIGRhbWl0IFdlcnQgdmlhIE1vZGVsIGdlc2NocmllYmVuIHVuZCBnZWxlc2VuIHdlcmRlbiBrYW5uXHJcbiAgICBwcm92aWRlcnM6IFtcclxuICAgICAgICB7IHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLCBtdWx0aTogdHJ1ZSwgdXNlRXhpc3Rpbmc6IFNhY0lucHV0U2VhcmNoQ29tcG9uZW50IH0sXHJcbiAgICAgICAgeyBwcm92aWRlOiBOR19WQUxJREFUT1JTLCBtdWx0aTogdHJ1ZSwgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gU2FjSW5wdXRTZWFyY2hDb21wb25lbnQpIH1cclxuICAgIF0sXHJcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gICAgaW1wb3J0czogW05nQ2xhc3MsIE5nSWZdXHJcbn0pXHJcblxyXG5leHBvcnQgY2xhc3MgU2FjSW5wdXRTZWFyY2hDb21wb25lbnQgZXh0ZW5kcyBTYWNJbnB1dFNlYXJjaENvbW1vbiB7XHJcblxyXG4gIGNvbnN0cnVjdG9yKEBIb3N0KCkgQE9wdGlvbmFsKCkgcGFyZW50OiBTYWNGb3JtRGlyZWN0aXZlLCBpbmplY3RvcjogSW5qZWN0b3IpIHtcclxuICAgIHN1cGVyKHBhcmVudCwgaW5qZWN0b3IpO1xyXG4gIH1cclxuXHJcblxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJmb3JtLWdyb3VwXCIgW25nQ2xhc3NdPVwieydoYXMtZXJyb3InOiBpbnZhbGlkICYmIChkaXJ0eSB8fCB0b3VjaGVkKX1cIj5cclxuICA8bGFiZWwgKm5nSWY9XCJkaXNhYmxlbGFiZWwgPT09IGZhbHNlICYmICFpc2FkYXB0aXZlbGFiZWxcIiBpZD1cInt7bmFtZX19bGFiZWxcIiBmb3I9XCJ7e25hbWV9fVwiIGNsYXNzPVwiY29udHJvbC1sYWJlbFwiIFtuZ0NsYXNzXT1cIltsYWJlbHNpemUgIT09IDEyID8gICdjb2wtbWQtJyArIGxhYmVsc2l6ZSA6ICdzci1vbmx5J11cIiBbY2xhc3MucmVxdWlyZWRdPVwiaXNyZXF1aXJlZFwiPnt7bGFiZWx9fTwvbGFiZWw+XHJcbiAgPGRpdiBbbmdDbGFzc109XCJbZGlzYWJsZWxhYmVsID09PSBmYWxzZSA/ICdjb2wtbWQtJyArIF9pbnB1dHNpemUgOiAnY29sLW1kLTEyJ11cIj5cclxuICAgIDxkaXYgY2xhc3M9XCJpbnB1dC1ncm91cFwiPlxyXG4gICAgICA8aW5wdXQgaWQ9XCJ7e25hbWV9fVwiIG5hbWU9XCJ7e25hbWV9fVwiIHR5cGU9XCJ0ZXh0XCIgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIlxyXG4gICAgICAgICAgICAgW3ZhbHVlXT1cInZhbHVlXCIgW2F0dHIucGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXJcIlxyXG4gICAgICAgICAgICAgKGJsdXIpPVwib25Ub3VjaCgpXCIgKGlucHV0KT1cInNldFZhbHVlKCRldmVudC50YXJnZXQudmFsdWUpXCJcclxuICAgICAgICAgICAgIFthdHRyLm1heGxlbmd0aF09XCJtYXhsZW5ndGhcIiBbbmdDbGFzc109XCJ7J2xhbmd1YWdlLXNwZWNpZmljJzogaXNsYW5ndWFnZXNwZWNpZmljIH1cIiBbZGlzYWJsZWRdPVwiaXNkaXNhYmxlZFwiIFtyZWFkb25seV09XCJyZWFkb25seVwiIC8+XHJcbiAgICAgIDxzcGFuIGNsYXNzPVwiaW5wdXQtZ3JvdXAtYnRuXCI+XHJcbiAgICAgICAgPGlucHV0IHR5cGU9XCJzdWJtaXRcIiBjbGFzcz1cImJ0biBidG4tZGVmYXVsdFwiIGlkPVwie3tuYW1lfX1fc2VhcmNoXCIgKGNsaWNrKT1cInNlYXJjaENsaWNrKClcIiBbdmFsdWVdPVwiYnV0dG9udGV4dFwiIC8+XHJcbiAgICAgIDwvc3Bhbj5cclxuICAgIDwvZGl2PlxyXG4gIDwvZGl2PlxyXG48L2Rpdj5cclxuIl19
64
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXRzZWFyY2guanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zYWMtYm9vdHN0cmFwMy9zcmMvY29udHJvbHMvaW5wdXQvaW5wdXRzZWFyY2gudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zYWMtYm9vdHN0cmFwMy9zcmMvY29udHJvbHMvaW5wdXQvaW5wdXRzZWFyY2guaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ2hELE9BQU8sRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFZLFFBQVEsRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDaEYsT0FBTyxFQUFFLGFBQWEsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBRXpFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3hFLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQzVFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ3BFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3hFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLG9CQUFvQixDQUFDOzs7QUFFekQsTUEyQmEsdUJBQXdCLFNBQVEsb0JBQW9CO0lBQy9ELHVCQUF1QjtJQUV2Qjs7OztPQUlHO0lBQ0gsWUFDc0IsVUFBa0MsRUFDdEQsUUFBa0I7UUFFbEIsS0FBSyxDQUFDLFVBQVUsRUFBRSxRQUFRLENBQUMsQ0FBQztJQUM5QixDQUFDOytHQWJVLHVCQUF1QjttR0FBdkIsdUJBQXVCLDhEQXZCdkI7WUFDVDtnQkFDRSxPQUFPLEVBQUUsaUJBQWlCO2dCQUMxQixLQUFLLEVBQUUsSUFBSTtnQkFDWCxXQUFXLEVBQUUsdUJBQXVCO2FBQ3JDO1lBQ0Q7Z0JBQ0UsT0FBTyxFQUFFLGFBQWE7Z0JBQ3RCLEtBQUssRUFBRSxJQUFJO2dCQUNYLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsdUJBQXVCLENBQUM7YUFDdkQ7U0FDRixpREMxQkgsNjJHQWlGQSw0Q0RwREksT0FBTyxvRkFDUCxJQUFJLHdGQUNKLHNCQUFzQixtREFDdEIsd0JBQXdCLHFEQUN4QixvQkFBb0IsaURBQ3BCLHNCQUFzQix3REFDdEIsbUJBQW1COztTQUdWLHVCQUF1Qjs0RkFBdkIsdUJBQXVCO2tCQTNCbkMsU0FBUzsrQkFDRSxpQkFBaUIsYUFHaEI7d0JBQ1Q7NEJBQ0UsT0FBTyxFQUFFLGlCQUFpQjs0QkFDMUIsS0FBSyxFQUFFLElBQUk7NEJBQ1gsV0FBVyx5QkFBeUI7eUJBQ3JDO3dCQUNEOzRCQUNFLE9BQU8sRUFBRSxhQUFhOzRCQUN0QixLQUFLLEVBQUUsSUFBSTs0QkFDWCxXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSx3QkFBd0IsQ0FBQzt5QkFDdkQ7cUJBQ0YsY0FDVyxJQUFJLFdBQ1A7d0JBQ1AsT0FBTzt3QkFDUCxJQUFJO3dCQUNKLHNCQUFzQjt3QkFDdEIsd0JBQXdCO3dCQUN4QixvQkFBb0I7d0JBQ3BCLHNCQUFzQjt3QkFDdEIsbUJBQW1CO3FCQUNwQjs7MEJBV0UsSUFBSTs7MEJBQUksUUFBUSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nQ2xhc3MsIE5nSWYgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBDb21wb25lbnQsIEhvc3QsIEluamVjdG9yLCBPcHRpb25hbCwgZm9yd2FyZFJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBOR19WQUxJREFUT1JTLCBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgU2FjSW5wdXRTZWFyY2hDb21tb24gfSBmcm9tICdAc2ltcGxlYW5ndWxhcmNvbnRyb2xzL3NhYy1jb21tb24nO1xyXG5pbXBvcnQgeyBTYWNGb3JtTGF5b3V0RGlyZWN0aXZlIH0gZnJvbSAnLi4vbGF5b3V0L2Zvcm1sYXlvdXQuZGlyZWN0aXZlJztcclxuaW1wb3J0IHsgU2FjVG9Db250cm9sSGVpZ2h0UGlwZSB9IGZyb20gJy4uL2xheW91dC90b2NvbnRyb2xoZWlnaHQucGlwZSc7XHJcbmltcG9ydCB7IFNhY1RvQ29udHJvbFdpZHRoQ3NzUGlwZSB9IGZyb20gJy4uL2xheW91dC90b2NvbnRyb2x3aWR0aGNzcy5waXBlJztcclxuaW1wb3J0IHsgU2FjVG9MYWJlbEhlaWdodFBpcGUgfSBmcm9tICcuLi9sYXlvdXQvdG9sYWJlbGhlaWdodC5waXBlJztcclxuaW1wb3J0IHsgU2FjVG9MYWJlbFdpZHRoQ3NzUGlwZSB9IGZyb20gJy4uL2xheW91dC90b2xhYmVsd2lkdGhjc3MucGlwZSc7XHJcbmltcG9ydCB7IFNhY1Rvb2x0aXBDb21wb25lbnQgfSBmcm9tICcuLi90b29sdGlwL3Rvb2x0aXAnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdzYWMtaW5wdXRzZWFyY2gnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9pbnB1dHNlYXJjaC5odG1sJyxcclxuICAvLyBWYWx1ZSBBY2Nlc3MgUHJvdmlkZXIgcmVnaXN0cmllcmVuLCBkYW1pdCBXZXJ0IHZpYSBNb2RlbCBnZXNjaHJpZWJlbiB1bmQgZ2VsZXNlbiB3ZXJkZW4ga2FublxyXG4gIHByb3ZpZGVyczogW1xyXG4gICAge1xyXG4gICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcclxuICAgICAgbXVsdGk6IHRydWUsXHJcbiAgICAgIHVzZUV4aXN0aW5nOiBTYWNJbnB1dFNlYXJjaENvbXBvbmVudCxcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTElEQVRPUlMsXHJcbiAgICAgIG11bHRpOiB0cnVlLFxyXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBTYWNJbnB1dFNlYXJjaENvbXBvbmVudCksXHJcbiAgICB9LFxyXG4gIF0sXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICBpbXBvcnRzOiBbXHJcbiAgICBOZ0NsYXNzLFxyXG4gICAgTmdJZixcclxuICAgIFNhY1RvTGFiZWxXaWR0aENzc1BpcGUsXHJcbiAgICBTYWNUb0NvbnRyb2xXaWR0aENzc1BpcGUsXHJcbiAgICBTYWNUb0xhYmVsSGVpZ2h0UGlwZSxcclxuICAgIFNhY1RvQ29udHJvbEhlaWdodFBpcGUsXHJcbiAgICBTYWNUb29sdGlwQ29tcG9uZW50LFxyXG4gIF0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTYWNJbnB1dFNlYXJjaENvbXBvbmVudCBleHRlbmRzIFNhY0lucHV0U2VhcmNoQ29tbW9uIHtcclxuICAvLyAjcmVnaW9uIENvbnN0cnVjdG9yc1xyXG5cclxuICAvKipcclxuICAgKiBDb25zdHJ1Y3RvclxyXG4gICAqIEBwYXJhbSBmb3JtTGF5b3V0IFNhY0Zvcm1MYXlvdXQgdG8gZGVmaW5lIHNjb3BlZCBsYXlvdXQgc2V0dGluZ3NcclxuICAgKiBAcGFyYW0gaW5qZWN0b3IgSW5qZWN0b3IgZm9yIGluamVjdGluZyBzZXJ2aWNlc1xyXG4gICAqL1xyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgQEhvc3QoKSBAT3B0aW9uYWwoKSBmb3JtTGF5b3V0OiBTYWNGb3JtTGF5b3V0RGlyZWN0aXZlLFxyXG4gICAgaW5qZWN0b3I6IEluamVjdG9yXHJcbiAgKSB7XHJcbiAgICBzdXBlcihmb3JtTGF5b3V0LCBpbmplY3Rvcik7XHJcbiAgfVxyXG5cclxuICAvLyAjZW5kcmVnaW9uIENvbnN0cnVjdG9yc1xyXG59XHJcbiIsIjxkaXZcclxuICAgIGNsYXNzPVwicm93IGZvcm0tZ3JvdXBcIlxyXG4gICAgW2NsYXNzLmhhcy1lcnJvcl09XCJpbnZhbGlkICYmIChkaXJ0eSB8fCB0b3VjaGVkKVwiXHJcbiAgICBbbmdDbGFzc109XCJjb21wb25lbnRIZWlnaHQgfCB0b0xhYmVsSGVpZ2h0XCI+XHJcbiAgICA8bGFiZWxcclxuICAgICAgICAqbmdJZj1cImRpc2FibGVsYWJlbCA9PT0gZmFsc2UgJiYgIWlzQWRhcHRpdmVMYWJlbFwiXHJcbiAgICAgICAgaWQ9XCJ7eyBuYW1lIH19bGFiZWxcIlxyXG4gICAgICAgIGZvcj1cInt7IG5hbWUgfX1cIlxyXG4gICAgICAgIGNsYXNzPVwiY29sLXhzLTEyIGNvbnRyb2wtbGFiZWxcIlxyXG4gICAgICAgIFtuZ0NsYXNzXT1cIltkaXNhYmxlbGFiZWwgPT09IGZhbHNlID8gKHRoaXMubGFiZWxTaXplcyB8IHRvTGFiZWxXaWR0aENzcykgOiAnc3Itb25seSddXCJcclxuICAgICAgICBbY2xhc3MucmVxdWlyZWRdPVwiaXNyZXF1aXJlZFwiPlxyXG4gICAgICAgIDxzcGFuIGNsYXNzPVwidGV4dFwiPnt7IGxhYmVsIH19PC9zcGFuPlxyXG4gICAgICAgIDxzYWMtdG9vbHRpcFxyXG4gICAgICAgICAgICAqbmdJZj1cImhlbHB0ZXh0bW9kZSA9PT0gJ3Rvb2x0aXAnICYmIGhlbHB0ZXh0XCJcclxuICAgICAgICAgICAgW3Rvb2x0aXB0ZXh0XT1cImhlbHB0ZXh0XCJcclxuICAgICAgICAgICAgW2lubGluZW1vZGVdPVwidHJ1ZVwiPlxyXG4gICAgICAgICAgICA8c3BhblxyXG4gICAgICAgICAgICAgICAgW2NsYXNzXT1cIkhlbHB0ZXh0VG9vbHRpcEljb25cIlxyXG4gICAgICAgICAgICAgICAgc3R5bGU9XCJtYXJnaW4tbGVmdDogNXB4XCI+XHJcbiAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICA8L3NhYy10b29sdGlwPlxyXG4gICAgPC9sYWJlbD5cclxuICAgIDxkaXZcclxuICAgICAgICBjbGFzcz1cImNvbC14cy0xMlwiXHJcbiAgICAgICAgW25nQ2xhc3NdPVwiW2Rpc2FibGVsYWJlbCA9PT0gZmFsc2UgPyAodGhpcy5sYWJlbFNpemVzIHwgdG9Db250cm9sV2lkdGhDc3MpIDogJyddXCJcclxuICAgICAgICBbY2xhc3MuY2xlYXJmaXhdPVwiaGVscHRleHRtb2RlID09PSAndG9vbHRpcCcgJiYgaGVscHRleHQgJiYgZGlzYWJsZWxhYmVsXCI+XHJcbiAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICAqbmdJZj1cImhlbHB0ZXh0bW9kZSA9PT0gJ3Rvb2x0aXAnICYmIGhlbHB0ZXh0ICYmIGRpc2FibGVsYWJlbFwiXHJcbiAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sLXN0YXRpYyBwdWxsLXJpZ2h0XCJcclxuICAgICAgICAgICAgc3R5bGU9XCJtYXJnaW4tbGVmdDogNXB4XCI+XHJcbiAgICAgICAgICAgIDxzYWMtdG9vbHRpcFxyXG4gICAgICAgICAgICAgICAgKm5nSWY9XCJoZWxwdGV4dG1vZGUgPT09ICd0b29sdGlwJyAmJiBoZWxwdGV4dFwiXHJcbiAgICAgICAgICAgICAgICBbdG9vbHRpcHRleHRdPVwiaGVscHRleHRcIlxyXG4gICAgICAgICAgICAgICAgW2lubGluZW1vZGVdPVwidHJ1ZVwiPlxyXG4gICAgICAgICAgICAgICAgPHNwYW5cclxuICAgICAgICAgICAgICAgICAgICBbY2xhc3NdPVwiSGVscHRleHRUb29sdGlwSWNvblwiXHJcbiAgICAgICAgICAgICAgICAgICAgc3R5bGU9XCJtYXJnaW4tbGVmdDogNXB4OyBtYXJnaW4tcmlnaHQ6IDVweFwiPlxyXG4gICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICA8L3NhYy10b29sdGlwPlxyXG4gICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgIGNsYXNzPVwiaW5wdXQtZ3JvdXBcIlxyXG4gICAgICAgICAgICBbY2xhc3MuaW5wdXQtZ3JvdXAtc21dPVwiY29tcG9uZW50SGVpZ2h0ID09PSBDb250cm9sSGVpZ2h0LlNtYWxsXCJcclxuICAgICAgICAgICAgW2NsYXNzLmlucHV0LWdyb3VwLWxnXT1cImNvbXBvbmVudEhlaWdodCA9PT0gQ29udHJvbEhlaWdodC5MYXJnZVwiPlxyXG4gICAgICAgICAgICA8aW5wdXRcclxuICAgICAgICAgICAgICAgIGlkPVwie3sgbmFtZSB9fVwiXHJcbiAgICAgICAgICAgICAgICBuYW1lPVwie3sgbmFtZSB9fVwiXHJcbiAgICAgICAgICAgICAgICB0eXBlPVwidGV4dFwiXHJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImZvcm0tY29udHJvbFwiXHJcbiAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJbY29tcG9uZW50SGVpZ2h0IHwgdG9Db250cm9sSGVpZ2h0XVwiXHJcbiAgICAgICAgICAgICAgICBbdmFsdWVdPVwidmFsdWVcIlxyXG4gICAgICAgICAgICAgICAgW2F0dHIucGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXJcIlxyXG4gICAgICAgICAgICAgICAgKGJsdXIpPVwib25Ub3VjaCgpXCJcclxuICAgICAgICAgICAgICAgIChpbnB1dCk9XCJzZXRWYWx1ZSgkZXZlbnQudGFyZ2V0LnZhbHVlKVwiXHJcbiAgICAgICAgICAgICAgICBbYXR0ci5tYXhsZW5ndGhdPVwibWF4bGVuZ3RoXCJcclxuICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJpc2Rpc2FibGVkXCJcclxuICAgICAgICAgICAgICAgIFtyZWFkb25seV09XCJyZWFkb25seVwiIC8+XHJcbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiaW5wdXQtZ3JvdXAtYnRuXCI+XHJcbiAgICAgICAgICAgICAgICA8YnV0dG9uXHJcbiAgICAgICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXHJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJidG4gYnRuLWRlZmF1bHRcIlxyXG4gICAgICAgICAgICAgICAgICAgIGlkPVwie3sgbmFtZSB9fV9zZWFyY2hcIlxyXG4gICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJzZWFyY2hDbGljaygpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGlcclxuICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJidXR0b25tb2RlID09PSAnaWNvbicgfHwgYnV0dG9ubW9kZSA9PT0gJ21peGVkJ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtjbGFzc109XCJpY29ubmFtZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtzdHlsZS5tYXJnaW4tcmlnaHQucHhdPVwiYnV0dG9ubW9kZSA9PT0gJ21peGVkJyA/IDcgOiBudWxsXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9pPlxyXG4gICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJidXR0b25tb2RlID09PSAndGV4dCcgfHwgYnV0dG9ubW9kZSA9PT0gJ21peGVkJ1wiPnt7IGJ1dHRvbnRleHQgfX08L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgIDxwXHJcbiAgICAgICAgICAgICpuZ0lmPVwiaGVscHRleHRtb2RlID09PSAndGV4dCcgJiYgaGVscHRleHRcIlxyXG4gICAgICAgICAgICBjbGFzcz1cImhlbHAtYmxvY2tcIj5cclxuICAgICAgICAgICAge3sgaGVscHRleHQgfX1cclxuICAgICAgICA8L3A+XHJcbiAgICA8L2Rpdj5cclxuPC9kaXY+XHJcbiJdfQ==
@@ -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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybWxheW91dC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zYWMtYm9vdHN0cmFwMy9zcmMvY29udHJvbHMvbGF5b3V0L2Zvcm1sYXlvdXQuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUMsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7O0FBRXhFLE1BSWEsc0JBQXVCLFNBQVEsbUJBQW1COytHQUFsRCxzQkFBc0I7bUdBQXRCLHNCQUFzQjs7U0FBdEIsc0JBQXNCOzRGQUF0QixzQkFBc0I7a0JBSmxDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGlCQUFpQjtvQkFDM0IsVUFBVSxFQUFFLElBQUk7aUJBQ2pCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFNhY0Zvcm1MYXlvdXRDb21tb24gfSBmcm9tICdAc2ltcGxlYW5ndWxhcmNvbnRyb2xzL3NhYy1jb21tb24nO1xyXG5cclxuQERpcmVjdGl2ZSh7XHJcbiAgc2VsZWN0b3I6ICdbc2FjRm9ybUxheW91dF0nLFxyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTYWNGb3JtTGF5b3V0RGlyZWN0aXZlIGV4dGVuZHMgU2FjRm9ybUxheW91dENvbW1vbiB7fVxyXG4iXX0=
@@ -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 SACBootstrap3LayoutModule {
10
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SACBootstrap3LayoutModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
11
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: SACBootstrap3LayoutModule, 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: SACBootstrap3LayoutModule, imports: [CommonModule] }); }
22
+ }
23
+ export { SACBootstrap3LayoutModule };
24
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SACBootstrap3LayoutModule, 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF5b3V0Lm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NhYy1ib290c3RyYXAzL3NyYy9jb250cm9scy9sYXlvdXQvbGF5b3V0Lm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNoRSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNoRSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNwRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUM1RCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQzs7QUFFaEUsTUFpQmEseUJBQXlCOytHQUF6Qix5QkFBeUI7Z0hBQXpCLHlCQUF5QixZQWZsQyxZQUFZO1lBQ1osc0JBQXNCO1lBQ3RCLHNCQUFzQjtZQUN0Qix3QkFBd0I7WUFDeEIsb0JBQW9CO1lBQ3BCLHNCQUFzQixhQUd0QixzQkFBc0I7WUFDdEIsc0JBQXNCO1lBQ3RCLHdCQUF3QjtZQUN4QixvQkFBb0I7WUFDcEIsc0JBQXNCO2dIQUdiLHlCQUF5QixZQWZsQyxZQUFZOztTQWVILHlCQUF5Qjs0RkFBekIseUJBQXlCO2tCQWpCckMsUUFBUTttQkFBQztvQkFDUixPQUFPLEVBQUU7d0JBQ1AsWUFBWTt3QkFDWixzQkFBc0I7d0JBQ3RCLHNCQUFzQjt3QkFDdEIsd0JBQXdCO3dCQUN4QixvQkFBb0I7d0JBQ3BCLHNCQUFzQjtxQkFDdkI7b0JBQ0QsT0FBTyxFQUFFO3dCQUNQLHNCQUFzQjt3QkFDdEIsc0JBQXNCO3dCQUN0Qix3QkFBd0I7d0JBQ3hCLG9CQUFvQjt3QkFDcEIsc0JBQXNCO3FCQUN2QjtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFNhY0Zvcm1MYXlvdXREaXJlY3RpdmUgfSBmcm9tICcuL2Zvcm1sYXlvdXQuZGlyZWN0aXZlJztcclxuaW1wb3J0IHsgU2FjVG9Db250cm9sSGVpZ2h0UGlwZSB9IGZyb20gJy4vdG9jb250cm9saGVpZ2h0LnBpcGUnO1xyXG5pbXBvcnQgeyBTYWNUb0NvbnRyb2xXaWR0aENzc1BpcGUgfSBmcm9tICcuL3RvY29udHJvbHdpZHRoY3NzLnBpcGUnO1xyXG5pbXBvcnQgeyBTYWNUb0xhYmVsSGVpZ2h0UGlwZSB9IGZyb20gJy4vdG9sYWJlbGhlaWdodC5waXBlJztcclxuaW1wb3J0IHsgU2FjVG9MYWJlbFdpZHRoQ3NzUGlwZSB9IGZyb20gJy4vdG9sYWJlbHdpZHRoY3NzLnBpcGUnO1xyXG5cclxuQE5nTW9kdWxlKHtcclxuICBpbXBvcnRzOiBbXHJcbiAgICBDb21tb25Nb2R1bGUsXHJcbiAgICBTYWNGb3JtTGF5b3V0RGlyZWN0aXZlLFxyXG4gICAgU2FjVG9Db250cm9sSGVpZ2h0UGlwZSxcclxuICAgIFNhY1RvQ29udHJvbFdpZHRoQ3NzUGlwZSxcclxuICAgIFNhY1RvTGFiZWxIZWlnaHRQaXBlLFxyXG4gICAgU2FjVG9MYWJlbFdpZHRoQ3NzUGlwZSxcclxuICBdLFxyXG4gIGV4cG9ydHM6IFtcclxuICAgIFNhY0Zvcm1MYXlvdXREaXJlY3RpdmUsXHJcbiAgICBTYWNUb0NvbnRyb2xIZWlnaHRQaXBlLFxyXG4gICAgU2FjVG9Db250cm9sV2lkdGhDc3NQaXBlLFxyXG4gICAgU2FjVG9MYWJlbEhlaWdodFBpcGUsXHJcbiAgICBTYWNUb0xhYmVsV2lkdGhDc3NQaXBlLFxyXG4gIF0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTQUNCb290c3RyYXAzTGF5b3V0TW9kdWxlIHt9XHJcbiJdfQ==
@@ -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 'input-sm';
18
+ case ControlHeight.Large:
19
+ return 'input-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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9jb250cm9saGVpZ2h0LnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zYWMtYm9vdHN0cmFwMy9zcmMvY29udHJvbHMvbGF5b3V0L3RvY29udHJvbGhlaWdodC5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQWlCLE1BQU0sZUFBZSxDQUFDO0FBQ3BELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQzs7QUFFbEUsTUFJYSxzQkFBc0I7SUFDakMseUJBQXlCO0lBRXpCOzs7T0FHRztJQUNJLFNBQVMsQ0FBQyxLQUEyQjtRQUMxQyx1QkFBdUI7UUFDdkIsSUFBSSxDQUFDLEtBQUssRUFBRTtZQUNWLE9BQU8sRUFBRSxDQUFDO1NBQ1g7UUFFRCxRQUFRLEtBQUssRUFBRTtZQUNiLEtBQUssYUFBYSxDQUFDLEtBQUs7Z0JBQ3RCLE9BQU8sVUFBVSxDQUFDO1lBQ3BCLEtBQUssYUFBYSxDQUFDLEtBQUs7Z0JBQ3RCLE9BQU8sVUFBVSxDQUFDO1lBQ3BCO2dCQUNFLE9BQU8sRUFBRSxDQUFDO1NBQ2I7SUFDSCxDQUFDOytHQXJCVSxzQkFBc0I7NkdBQXRCLHNCQUFzQjs7U0FBdEIsc0JBQXNCOzRGQUF0QixzQkFBc0I7a0JBSmxDLElBQUk7bUJBQUM7b0JBQ0osSUFBSSxFQUFFLGlCQUFpQjtvQkFDdkIsVUFBVSxFQUFFLElBQUk7aUJBQ2pCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGlwZSwgUGlwZVRyYW5zZm9ybSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDb250cm9sSGVpZ2h0IH0gZnJvbSAnQHNpbXBsZWFuZ3VsYXJjb250cm9scy9zYWMtY29tbW9uJztcclxuXHJcbkBQaXBlKHtcclxuICBuYW1lOiAndG9Db250cm9sSGVpZ2h0JyxcclxuICBzdGFuZGFsb25lOiB0cnVlLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgU2FjVG9Db250cm9sSGVpZ2h0UGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xyXG4gIC8vICNyZWdpb24gUHVibGljIE1ldGhvZHNcclxuXHJcbiAgLyoqXHJcbiAgICogUmV0dXJucyB0aGUgQ1NTIGNsYXNzIHRoYXQgZGVmaW5lcyB0aGUgaGVpZ2h0IGZvciB0aGUgY29udHJvbFxyXG4gICAqIEBwYXJhbSB2YWx1ZSBDb250cm9sSGVpZ2h0IHZhbHVlIG9yIG51bGxcclxuICAgKi9cclxuICBwdWJsaWMgdHJhbnNmb3JtKHZhbHVlOiBDb250cm9sSGVpZ2h0IHwgbnVsbCk6IHN0cmluZyB7XHJcbiAgICAvLyBSZXR1cm4gZGVmYXVsdCB2YWx1ZVxyXG4gICAgaWYgKCF2YWx1ZSkge1xyXG4gICAgICByZXR1cm4gJyc7XHJcbiAgICB9XHJcblxyXG4gICAgc3dpdGNoICh2YWx1ZSkge1xyXG4gICAgICBjYXNlIENvbnRyb2xIZWlnaHQuU21hbGw6XHJcbiAgICAgICAgcmV0dXJuICdpbnB1dC1zbSc7XHJcbiAgICAgIGNhc2UgQ29udHJvbEhlaWdodC5MYXJnZTpcclxuICAgICAgICByZXR1cm4gJ2lucHV0LWxnJztcclxuICAgICAgZGVmYXVsdDpcclxuICAgICAgICByZXR1cm4gJyc7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvLyAjZW5kcmVnaW9uIFB1YmxpYyBNZXRob2RzXHJcbn1cclxuIl19
@@ -0,0 +1,53 @@
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-xs-' + 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
+ return classes.join(' ');
25
+ }
26
+ // #endregion Public Methods
27
+ // #region Private Methods
28
+ /**
29
+ * calculate the control size
30
+ * @param labelsize grid size of label
31
+ * @returns grid size for control. should be between 1 and 12
32
+ */
33
+ calcControlSize(labelsize) {
34
+ if (labelsize === 12) {
35
+ return 12;
36
+ }
37
+ if (!labelsize) {
38
+ return 12;
39
+ }
40
+ return 12 - labelsize;
41
+ }
42
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SacToControlWidthCssPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
43
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: SacToControlWidthCssPipe, isStandalone: true, name: "toControlWidthCss" }); }
44
+ }
45
+ export { SacToControlWidthCssPipe };
46
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SacToControlWidthCssPipe, decorators: [{
47
+ type: Pipe,
48
+ args: [{
49
+ name: 'toControlWidthCss',
50
+ standalone: true,
51
+ }]
52
+ }] });
53
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9jb250cm9sd2lkdGhjc3MucGlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NhYy1ib290c3RyYXAzL3NyYy9jb250cm9scy9sYXlvdXQvdG9jb250cm9sd2lkdGhjc3MucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFpQixNQUFNLGVBQWUsQ0FBQzs7QUFHcEQsTUFJYSx3QkFBd0I7SUFDbkMseUJBQXlCO0lBRXpCOzs7O09BSUc7SUFDSSxTQUFTLENBQUMsS0FBcUI7UUFDcEMsTUFBTSxPQUFPLEdBQWEsRUFBRSxDQUFDO1FBRTdCLElBQUksS0FBSyxDQUFDLFdBQVcsRUFBRTtZQUNyQixPQUFPLENBQUMsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDO1NBQ25FO1FBRUQsSUFBSSxLQUFLLENBQUMsV0FBVyxFQUFFO1lBQ3JCLE9BQU8sQ0FBQyxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUM7U0FDbkU7UUFFRCxJQUFJLEtBQUssQ0FBQyxXQUFXLEVBQUU7WUFDckIsT0FBTyxDQUFDLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQztTQUNuRTtRQUVELElBQUksS0FBSyxDQUFDLFdBQVcsRUFBRTtZQUNyQixPQUFPLENBQUMsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDO1NBQ25FO1FBRUQsT0FBTyxPQUFPLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQzNCLENBQUM7SUFFRCw0QkFBNEI7SUFFNUIsMEJBQTBCO0lBRTFCOzs7O09BSUc7SUFDSyxlQUFlLENBQUMsU0FBaUI7UUFDdkMsSUFBSSxTQUFTLEtBQUssRUFBRSxFQUFFO1lBQ3BCLE9BQU8sRUFBRSxDQUFDO1NBQ1g7UUFFRCxJQUFJLENBQUMsU0FBUyxFQUFFO1lBQ2QsT0FBTyxFQUFFLENBQUM7U0FDWDtRQUVELE9BQU8sRUFBRSxHQUFHLFNBQVMsQ0FBQztJQUN4QixDQUFDOytHQWpEVSx3QkFBd0I7NkdBQXhCLHdCQUF3Qjs7U0FBeEIsd0JBQXdCOzRGQUF4Qix3QkFBd0I7a0JBSnBDLElBQUk7bUJBQUM7b0JBQ0osSUFBSSxFQUFFLG1CQUFtQjtvQkFDekIsVUFBVSxFQUFFLElBQUk7aUJBQ2pCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGlwZSwgUGlwZVRyYW5zZm9ybSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBJU2FjTGFiZWxTaXplcyB9IGZyb20gJ0BzaW1wbGVhbmd1bGFyY29udHJvbHMvc2FjLWNvbW1vbic7XHJcblxyXG5AUGlwZSh7XHJcbiAgbmFtZTogJ3RvQ29udHJvbFdpZHRoQ3NzJyxcclxuICBzdGFuZGFsb25lOiB0cnVlLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgU2FjVG9Db250cm9sV2lkdGhDc3NQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XHJcbiAgLy8gI3JlZ2lvbiBQdWJsaWMgTWV0aG9kc1xyXG5cclxuICAvKipcclxuICAgKiBHZXQgQ1NTIGNsYXNzZXMgZnJvbSBsYWJlbCB3aWR0aCBjb25maWd1cmF0aW9uIHRvIHNldCBjb250cm9sIHNpemVcclxuICAgKiBAcGFyYW0gdmFsdWUgQ29uZmlndXJhdGlvbiB3aXRoIGdyaWQgY29sdW1ucyBmb3IgZGlmZmVyZW50IHZpZXdwb3J0c1xyXG4gICAqIEByZXR1cm5zIHN0cmluZyB3aXRoIGNzcyBjbGFzc2UgZm9yIGJvb3RzdHJhcDNcclxuICAgKi9cclxuICBwdWJsaWMgdHJhbnNmb3JtKHZhbHVlOiBJU2FjTGFiZWxTaXplcyk6IHN0cmluZyB7XHJcbiAgICBjb25zdCBjbGFzc2VzOiBzdHJpbmdbXSA9IFtdO1xyXG5cclxuICAgIGlmICh2YWx1ZS5sYWJlbFNpemVYcykge1xyXG4gICAgICBjbGFzc2VzLnB1c2goJ2NvbC14cy0nICsgdGhpcy5jYWxjQ29udHJvbFNpemUodmFsdWUubGFiZWxTaXplWHMpKTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAodmFsdWUubGFiZWxTaXplU20pIHtcclxuICAgICAgY2xhc3Nlcy5wdXNoKCdjb2wtc20tJyArIHRoaXMuY2FsY0NvbnRyb2xTaXplKHZhbHVlLmxhYmVsU2l6ZVNtKSk7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHZhbHVlLmxhYmVsU2l6ZU1kKSB7XHJcbiAgICAgIGNsYXNzZXMucHVzaCgnY29sLW1kLScgKyB0aGlzLmNhbGNDb250cm9sU2l6ZSh2YWx1ZS5sYWJlbFNpemVNZCkpO1xyXG4gICAgfVxyXG5cclxuICAgIGlmICh2YWx1ZS5sYWJlbFNpemVMZykge1xyXG4gICAgICBjbGFzc2VzLnB1c2goJ2NvbC1sZy0nICsgdGhpcy5jYWxjQ29udHJvbFNpemUodmFsdWUubGFiZWxTaXplTGcpKTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gY2xhc3Nlcy5qb2luKCcgJyk7XHJcbiAgfVxyXG5cclxuICAvLyAjZW5kcmVnaW9uIFB1YmxpYyBNZXRob2RzXHJcblxyXG4gIC8vICNyZWdpb24gUHJpdmF0ZSBNZXRob2RzXHJcblxyXG4gIC8qKlxyXG4gICAqIGNhbGN1bGF0ZSB0aGUgY29udHJvbCBzaXplXHJcbiAgICogQHBhcmFtIGxhYmVsc2l6ZSBncmlkIHNpemUgb2YgbGFiZWxcclxuICAgKiBAcmV0dXJucyBncmlkIHNpemUgZm9yIGNvbnRyb2wuIHNob3VsZCBiZSBiZXR3ZWVuIDEgYW5kIDEyXHJcbiAgICovXHJcbiAgcHJpdmF0ZSBjYWxjQ29udHJvbFNpemUobGFiZWxzaXplOiBudW1iZXIpIHtcclxuICAgIGlmIChsYWJlbHNpemUgPT09IDEyKSB7XHJcbiAgICAgIHJldHVybiAxMjtcclxuICAgIH1cclxuXHJcbiAgICBpZiAoIWxhYmVsc2l6ZSkge1xyXG4gICAgICByZXR1cm4gMTI7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIDEyIC0gbGFiZWxzaXplO1xyXG4gIH1cclxuXHJcbiAgLy8gI2VuZHJlZ2lvbiBQcml2YXRlIE1ldGhvZHNcclxufVxyXG4iXX0=