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

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 (220) hide show
  1. package/README.md +17 -17
  2. package/components/browser/browser.d.ts +6 -6
  3. package/components/browser/browser.d.ts.map +1 -1
  4. package/controls/buttons/button.d.ts.map +1 -1
  5. package/controls/buttons/button.module.d.ts.map +1 -1
  6. package/controls/buttons/index.d.ts +2 -0
  7. package/controls/buttons/index.d.ts.map +1 -0
  8. package/controls/checkbox/checkbox.d.ts +5 -5
  9. package/controls/checkbox/checkbox.d.ts.map +1 -1
  10. package/controls/checkbox/checkbox.module.d.ts.map +1 -1
  11. package/controls/checkbox/radiobutton.d.ts +7 -3
  12. package/controls/checkbox/radiobutton.d.ts.map +1 -1
  13. package/controls/checkbox/radiobuttons.d.ts +5 -5
  14. package/controls/checkbox/radiobuttons.d.ts.map +1 -1
  15. package/controls/confirm/confirm.service.d.ts +10 -11
  16. package/controls/confirm/confirm.service.d.ts.map +1 -1
  17. package/controls/contextmenu/contextmenu.d.ts +6 -6
  18. package/controls/contextmenu/contextmenu.d.ts.map +1 -1
  19. package/controls/contextmenu/contextmenu.module.d.ts.map +1 -1
  20. package/controls/contextmenu/contextmenuanchor.d.ts +2 -2
  21. package/controls/contextmenu/contextmenuanchor.d.ts.map +1 -1
  22. package/controls/contextmenu/contextmenucontainer.d.ts +2 -2
  23. package/controls/contextmenu/contextmenucontainer.d.ts.map +1 -1
  24. package/controls/contextmenu/contextmenuitembutton.d.ts +3 -4
  25. package/controls/contextmenu/contextmenuitembutton.d.ts.map +1 -1
  26. package/controls/contextmenu/contextmenuitemsplitter.d.ts.map +1 -1
  27. package/controls/datetime/date.d.ts +9 -8
  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 +9 -8
  31. package/controls/datetime/datetime.d.ts.map +1 -1
  32. package/controls/datetime/datetime.module.d.ts.map +1 -1
  33. package/controls/datetime/time.d.ts +9 -8
  34. package/controls/datetime/time.d.ts.map +1 -1
  35. package/controls/dialog/dialog.d.ts +4 -4
  36. package/controls/dialog/dialog.d.ts.map +1 -1
  37. package/controls/dialog/index.d.ts +2 -0
  38. package/controls/dialog/index.d.ts.map +1 -0
  39. package/controls/form/form.d.ts +3 -11
  40. package/controls/form/form.d.ts.map +1 -1
  41. package/controls/form/inheritform.directive.d.ts +16 -39
  42. package/controls/form/inheritform.directive.d.ts.map +1 -1
  43. package/controls/grid/grid.d.ts +6 -6
  44. package/controls/grid/grid.d.ts.map +1 -1
  45. package/controls/grid/grid.module.d.ts.map +1 -1
  46. package/controls/grid/gridbutton.d.ts +5 -11
  47. package/controls/grid/gridbutton.d.ts.map +1 -1
  48. package/controls/grid/gridcolumn.d.ts +1 -1
  49. package/controls/grid/gridcolumn.d.ts.map +1 -1
  50. package/controls/grid/gridimage.d.ts +0 -5
  51. package/controls/grid/gridimage.d.ts.map +1 -1
  52. package/controls/grid/paging.d.ts.map +1 -1
  53. package/controls/input/input.d.ts +5 -5
  54. package/controls/input/input.d.ts.map +1 -1
  55. package/controls/input/input.module.d.ts.map +1 -1
  56. package/controls/input/inputarea.d.ts +5 -5
  57. package/controls/input/inputarea.d.ts.map +1 -1
  58. package/controls/input/inputcurrency.d.ts +5 -5
  59. package/controls/input/inputcurrency.d.ts.map +1 -1
  60. package/controls/input/inputdecimal.d.ts +5 -5
  61. package/controls/input/inputdecimal.d.ts.map +1 -1
  62. package/controls/input/inputemail.d.ts +5 -5
  63. package/controls/input/inputemail.d.ts.map +1 -1
  64. package/controls/input/inputinteger.d.ts +5 -5
  65. package/controls/input/inputinteger.d.ts.map +1 -1
  66. package/controls/input/inputpassword.d.ts +5 -5
  67. package/controls/input/inputpassword.d.ts.map +1 -1
  68. package/controls/input/inputsearch.d.ts +5 -5
  69. package/controls/input/inputsearch.d.ts.map +1 -1
  70. package/controls/layout/formlayout.directive.d.ts +7 -0
  71. package/controls/layout/formlayout.directive.d.ts.map +1 -0
  72. package/controls/layout/layout.module.d.ts +13 -0
  73. package/controls/layout/layout.module.d.ts.map +1 -0
  74. package/controls/layout/tocontrolheight.pipe.d.ts +13 -0
  75. package/controls/layout/tocontrolheight.pipe.d.ts.map +1 -0
  76. package/controls/layout/tocontrolwidthcss.pipe.d.ts +20 -0
  77. package/controls/layout/tocontrolwidthcss.pipe.d.ts.map +1 -0
  78. package/controls/layout/tolabelheight.pipe.d.ts +13 -0
  79. package/controls/layout/tolabelheight.pipe.d.ts.map +1 -0
  80. package/controls/layout/tolabelwidthcss.pipe.d.ts +14 -0
  81. package/controls/layout/tolabelwidthcss.pipe.d.ts.map +1 -0
  82. package/controls/list/dropdown.d.ts +19 -19
  83. package/controls/list/dropdown.d.ts.map +1 -1
  84. package/controls/list/dropdown.module.d.ts.map +1 -1
  85. package/controls/list/listbox.d.ts +17 -17
  86. package/controls/list/listbox.d.ts.map +1 -1
  87. package/controls/multilanguage/multilanguage.module.d.ts.map +1 -1
  88. package/controls/multilanguage/multilanguageinput.d.ts +5 -5
  89. package/controls/multilanguage/multilanguageinput.d.ts.map +1 -1
  90. package/controls/multilanguage/multilanguageinputarea.d.ts +5 -5
  91. package/controls/multilanguage/multilanguageinputarea.d.ts.map +1 -1
  92. package/controls/multilanguage/multilanguagemenu.d.ts +6 -6
  93. package/controls/multilanguage/multilanguagemenu.d.ts.map +1 -1
  94. package/controls/multilanguage/multilanguagemenuanchor.d.ts +2 -2
  95. package/controls/multilanguage/multilanguagemenuanchor.d.ts.map +1 -1
  96. package/controls/multilanguage/multilanguagemenucontainer.d.ts +2 -2
  97. package/controls/multilanguage/multilanguagemenucontainer.d.ts.map +1 -1
  98. package/controls/multilanguage/multilanguagemenuitembutton.d.ts +3 -3
  99. package/controls/multilanguage/multilanguagemenuitembutton.d.ts.map +1 -1
  100. package/controls/static/formcontainer.d.ts +7 -7
  101. package/controls/static/formcontainer.d.ts.map +1 -1
  102. package/controls/static/staticlabel.d.ts +5 -5
  103. package/controls/static/staticlabel.d.ts.map +1 -1
  104. package/controls/static/staticlabel.module.d.ts.map +1 -1
  105. package/controls/tabs/tab.d.ts +1 -1
  106. package/controls/tabs/tab.d.ts.map +1 -1
  107. package/controls/tinymce/tinymce.d.ts +6 -6
  108. package/controls/tinymce/tinymce.d.ts.map +1 -1
  109. package/controls/tooltip/tooltip.d.ts +38 -0
  110. package/controls/tooltip/tooltip.d.ts.map +1 -0
  111. package/controls/tooltip/tooltip.module.d.ts +9 -0
  112. package/controls/tooltip/tooltip.module.d.ts.map +1 -0
  113. package/controls/treeview/treeview.d.ts +18 -0
  114. package/controls/treeview/treeview.d.ts.map +1 -0
  115. package/controls/treeview/treeview.module.d.ts +9 -0
  116. package/controls/treeview/treeview.module.d.ts.map +1 -0
  117. package/controls/upload/dropzonemultiple.d.ts +7 -7
  118. package/controls/upload/dropzonemultiple.d.ts.map +1 -1
  119. package/controls/upload/dropzonesingle.d.ts +7 -7
  120. package/controls/upload/dropzonesingle.d.ts.map +1 -1
  121. package/controls/upload/upload.d.ts +7 -7
  122. package/controls/upload/upload.d.ts.map +1 -1
  123. package/controls/upload/upload.module.d.ts.map +1 -1
  124. package/controls/upload/uploadmultiple.d.ts +7 -7
  125. package/controls/upload/uploadmultiple.d.ts.map +1 -1
  126. package/controls/validation/validationsummary.d.ts +5 -5
  127. package/controls/validation/validationsummary.d.ts.map +1 -1
  128. package/esm2022/components/browser/browser.mjs +19 -15
  129. package/esm2022/components/browser/browser.module.mjs +1 -1
  130. package/esm2022/controls/buttons/button.mjs +5 -5
  131. package/esm2022/controls/buttons/button.module.mjs +5 -9
  132. package/esm2022/controls/buttons/index.mjs +2 -0
  133. package/esm2022/controls/checkbox/checkbox.mjs +27 -20
  134. package/esm2022/controls/checkbox/checkbox.module.mjs +15 -5
  135. package/esm2022/controls/checkbox/radiobutton.mjs +18 -9
  136. package/esm2022/controls/checkbox/radiobuttons.mjs +28 -20
  137. package/esm2022/controls/confirm/confirm.mjs +3 -3
  138. package/esm2022/controls/confirm/confirm.module.mjs +1 -1
  139. package/esm2022/controls/confirm/confirm.service.mjs +31 -16
  140. package/esm2022/controls/contextmenu/contextmenu.mjs +16 -24
  141. package/esm2022/controls/contextmenu/contextmenu.module.mjs +12 -8
  142. package/esm2022/controls/contextmenu/contextmenuanchor.mjs +5 -4
  143. package/esm2022/controls/contextmenu/contextmenucontainer.mjs +5 -4
  144. package/esm2022/controls/contextmenu/contextmenuitembutton.mjs +22 -13
  145. package/esm2022/controls/contextmenu/contextmenuitemsplitter.mjs +14 -4
  146. package/esm2022/controls/contextmenu/index.mjs +1 -1
  147. package/esm2022/controls/datetime/date.mjs +39 -18
  148. package/esm2022/controls/datetime/dateselector.mjs +5 -10
  149. package/esm2022/controls/datetime/datetime.mjs +36 -18
  150. package/esm2022/controls/datetime/datetime.module.mjs +27 -10
  151. package/esm2022/controls/datetime/time.mjs +36 -18
  152. package/esm2022/controls/dialog/dialog.mjs +16 -12
  153. package/esm2022/controls/dialog/dialog.module.mjs +1 -1
  154. package/esm2022/controls/dialog/index.mjs +2 -0
  155. package/esm2022/controls/form/form.mjs +6 -17
  156. package/esm2022/controls/form/form.module.mjs +1 -1
  157. package/esm2022/controls/form/inheritform.directive.mjs +46 -63
  158. package/esm2022/controls/grid/grid.mjs +14 -16
  159. package/esm2022/controls/grid/grid.module.mjs +36 -9
  160. package/esm2022/controls/grid/gridbutton.mjs +11 -35
  161. package/esm2022/controls/grid/gridcolumn.mjs +6 -5
  162. package/esm2022/controls/grid/gridcolumnaction.mjs +3 -3
  163. package/esm2022/controls/grid/gridimage.mjs +5 -17
  164. package/esm2022/controls/grid/paging.mjs +7 -12
  165. package/esm2022/controls/input/input.mjs +30 -15
  166. package/esm2022/controls/input/input.module.mjs +36 -6
  167. package/esm2022/controls/input/inputarea.mjs +30 -15
  168. package/esm2022/controls/input/inputcurrency.mjs +30 -15
  169. package/esm2022/controls/input/inputdecimal.mjs +30 -15
  170. package/esm2022/controls/input/inputemail.mjs +30 -15
  171. package/esm2022/controls/input/inputinteger.mjs +30 -15
  172. package/esm2022/controls/input/inputpassword.mjs +30 -15
  173. package/esm2022/controls/input/inputsearch.mjs +29 -14
  174. package/esm2022/controls/layout/formlayout.directive.mjs +16 -0
  175. package/esm2022/controls/layout/layout.module.mjs +44 -0
  176. package/esm2022/controls/layout/tocontrolheight.pipe.mjs +35 -0
  177. package/esm2022/controls/layout/tocontrolwidthcss.pipe.mjs +56 -0
  178. package/esm2022/controls/layout/tolabelheight.pipe.mjs +35 -0
  179. package/esm2022/controls/layout/tolabelwidthcss.pipe.mjs +40 -0
  180. package/esm2022/controls/list/dropdown.mjs +55 -44
  181. package/esm2022/controls/list/dropdown.module.mjs +5 -11
  182. package/esm2022/controls/list/list.module.mjs +2 -2
  183. package/esm2022/controls/list/listbox.mjs +54 -44
  184. package/esm2022/controls/multilanguage/multilanguage.module.mjs +8 -4
  185. package/esm2022/controls/multilanguage/multilanguageinput.mjs +30 -17
  186. package/esm2022/controls/multilanguage/multilanguageinputarea.mjs +30 -17
  187. package/esm2022/controls/multilanguage/multilanguagemenu.mjs +12 -11
  188. package/esm2022/controls/multilanguage/multilanguagemenuanchor.mjs +5 -4
  189. package/esm2022/controls/multilanguage/multilanguagemenucontainer.mjs +5 -4
  190. package/esm2022/controls/multilanguage/multilanguagemenuitembutton.mjs +21 -11
  191. package/esm2022/controls/static/formcontainer.mjs +29 -18
  192. package/esm2022/controls/static/staticlabel.mjs +29 -14
  193. package/esm2022/controls/static/staticlabel.module.mjs +8 -6
  194. package/esm2022/controls/tabs/tab.mjs +8 -10
  195. package/esm2022/controls/tabs/tabitem.mjs +3 -3
  196. package/esm2022/controls/tabs/tabs.module.mjs +1 -1
  197. package/esm2022/controls/tinymce/tinymce.mjs +30 -20
  198. package/esm2022/controls/tinymce/tinymce.module.mjs +1 -1
  199. package/esm2022/controls/tooltip/tooltip.mjs +51 -0
  200. package/esm2022/controls/tooltip/tooltip.module.mjs +18 -0
  201. package/esm2022/controls/treeview/treeview.mjs +71 -0
  202. package/esm2022/controls/treeview/treeview.module.mjs +18 -0
  203. package/esm2022/controls/upload/dropzonemultiple.mjs +34 -15
  204. package/esm2022/controls/upload/dropzonesingle.mjs +34 -15
  205. package/esm2022/controls/upload/upload.mjs +31 -15
  206. package/esm2022/controls/upload/upload.module.mjs +12 -5
  207. package/esm2022/controls/upload/uploadmultiple.mjs +32 -15
  208. package/esm2022/controls/validation/validationsummary.mjs +12 -20
  209. package/esm2022/controls/validation/validationsummary.module.mjs +1 -1
  210. package/esm2022/controls/wizard/wizard.mjs +3 -3
  211. package/esm2022/controls/wizard/wizard.module.mjs +1 -1
  212. package/esm2022/controls/wizard/wizarditem.mjs +1 -1
  213. package/esm2022/public_api.mjs +36 -25
  214. package/fesm2022/simpleangularcontrols-sac-bootstrap4.mjs +1392 -751
  215. package/fesm2022/simpleangularcontrols-sac-bootstrap4.mjs.map +1 -1
  216. package/package.json +37 -36
  217. package/public_api.d.ts +35 -24
  218. package/public_api.d.ts.map +1 -1
  219. package/simpleangularcontrols-sac-bootstrap4-16.0.0-rc.21.tgz +0 -0
  220. package/simpleangularcontrols-sac-bootstrap4-16.0.0-rc.2.tgz +0 -0
@@ -1,28 +1,32 @@
1
- import { Component, forwardRef, Host, Optional, } from '@angular/core';
2
- import { ControlContainer, FormsModule, NG_VALIDATORS, NG_VALUE_ACCESSOR, } from '@angular/forms';
3
- import { SacTinyMceCommon } from '@simpleangularcontrols/sac-common';
4
- import { SacButtonComponent } from '../buttons/button';
5
- import { SacFormDirective } from '../form/form';
1
+ import { SacBrowserComponent, SacToControlHeightPipe, SacToControlWidthCssPipe, SacToLabelWidthCssPipe, } from '../../public_api';
2
+ import { SacButtonComponent } from '../buttons';
3
+ import { SacDialogComponent } from '../dialog';
4
+ import { SacToLabelHeightPipe } from '../layout/tolabelheight.pipe';
5
+ import { SacTooltipComponent } from '../tooltip/tooltip';
6
6
  import { AsyncPipe, NgClass, NgIf } from '@angular/common';
7
+ import { Component, Host, Optional, forwardRef } from '@angular/core';
8
+ import { FormsModule, NG_VALIDATORS, NG_VALUE_ACCESSOR } from '@angular/forms';
9
+ import { SacTestingAttributePipe, SacTinyMceCommon } from '@simpleangularcontrols/sac-common';
7
10
  import { EditorComponent } from '@tinymce/tinymce-angular';
8
- import { SacBrowserComponent } from '../../components/browser/browser';
9
- import { SacDialogComponent } from '../dialog/dialog';
10
11
  import * as i0 from "@angular/core";
11
- import * as i1 from "../form/form";
12
+ import * as i1 from "../layout/formlayout.directive";
12
13
  import * as i2 from "@angular/forms";
13
14
  /**
14
15
  * TinyMCE Komponente
15
16
  */
16
17
  class SacTinyMceComponent extends SacTinyMceCommon {
18
+ // #region Constructors
17
19
  /**
18
- * Konstruktor
19
- * @param parent Formular
20
- * @param injector Angular Dependency Injection Service
21
- * @param ngZone ngZone
20
+ * Constructor
21
+ * @param formLayout SacFormLayout to define scoped layout settings
22
+ * @param injector Injector for injecting services
23
+ * @param ngZone ngZone to manage external javascripts
22
24
  */
23
- constructor(parent, injector, ngZone) {
24
- super(parent, injector, ngZone);
25
+ constructor(formLayout, injector, ngZone) {
26
+ super(formLayout, injector, ngZone);
25
27
  }
28
+ // #endregion Constructors
29
+ // #region Public Methods
26
30
  /**
27
31
  * overwrite tinymce defaults
28
32
  * @returns boostrap4 has no overwrites
@@ -30,7 +34,7 @@ class SacTinyMceComponent extends SacTinyMceCommon {
30
34
  overwriteDefaultSettings() {
31
35
  return {};
32
36
  }
33
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SacTinyMceComponent, deps: [{ token: i1.SacFormDirective, host: true, optional: true }, { token: i0.Injector }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }
37
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SacTinyMceComponent, deps: [{ token: i1.SacFormLayoutDirective, host: true, optional: true }, { token: i0.Injector }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }
34
38
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: SacTinyMceComponent, isStandalone: true, selector: "sac-tinymce", providers: [
35
39
  {
36
40
  provide: NG_VALUE_ACCESSOR,
@@ -42,7 +46,7 @@ class SacTinyMceComponent extends SacTinyMceCommon {
42
46
  useExisting: forwardRef(() => SacTinyMceComponent),
43
47
  multi: true,
44
48
  },
45
- ], usesInheritance: true, ngImport: i0, template: "<div class=\"form-row form-group\">\r\n <div\r\n class=\"col\"\r\n [ngClass]=\"[disablelabel === false ? 'col-md-' + labelsize : 'sr-only' ]\"\r\n >\r\n <label for=\"{{name}}\" class=\"form-control-label\">{{label}}</label>\r\n </div>\r\n <div\r\n class=\"col-12\"\r\n [ngClass]=\"[disablelabel === false ? 'col-md-' + _inputsize : 'col-md-12']\"\r\n >\r\n <editor\r\n [id]=\"name + '_tinymce'\"\r\n [init]=\"_config\"\r\n [initialValue]=\"value\"\r\n ngModel\r\n [ngModelOptions]=\"{standalone: true}\"\r\n (ngModelChange)=\"setValue($event)\"\r\n (onSaveContent)=\"save($event.event.content)\"\r\n [disabled]=\"disabled\"\r\n [class.is-invalid]=\"isinlineerrorenabled && invalid && (dirty || touched)\"\r\n ></editor>\r\n <div\r\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\"\r\n class=\"invalid-feedback\"\r\n >\r\n {{ GetErrorMessage() | async }}\r\n </div>\r\n </div>\r\n</div>\r\n\r\n<sac-dialog\r\n *ngIf=\"selectdialogvisible\"\r\n [allowesc]=\"false\"\r\n [backdrop]=\"true\"\r\n [(isvisible)]=\"selectdialogvisible\"\r\n title=\"{{ lngResourceService.GetString('TINYMCE_FILESELECT_DIALOGTITLE') | async }}\"\r\n size=\"large\"\r\n height=\"500px\"\r\n>\r\n <ng-container dialogbody>\r\n <sac-filebrowser\r\n [apiurl]=\"filebrowserapiurl\"\r\n (file)=\"selectDialogSettings.value = $event\"\r\n [allowfoldercreate]=\"allowfoldercreate\"\r\n [allowfolderrename]=\"allowfolderrename\"\r\n [allowfolderdelete]=\"allowfolderdelete\"\r\n [allowfileupload]=\"allowfileupload\"\r\n [allowfilerename]=\"allowfilerename\"\r\n [allowfiledelete]=\"allowfiledelete\"\r\n [selectedfile]=\"selectDialogSettings.value\"\r\n [allowedtypes]=\"selectDialogSettings.allowedtypes\"\r\n ></sac-filebrowser>\r\n </ng-container>\r\n <ng-container dialogfooter>\r\n <sac-button\r\n role=\"primary\"\r\n [name]=\"name + '_modalOk'\"\r\n text=\"{{ lngResourceService.GetString('TINYMCE_FILESELECT_OK') | async }}\"\r\n (clicked)=\"setSelectDialogResult()\"\r\n ></sac-button>\r\n <sac-button\r\n [name]=\"name + '_modalClose'\"\r\n text=\"{{ lngResourceService.GetString('TINYMCE_FILESELECT_CANCEL') | async }}\"\r\n (clicked)=\"closeSelectDialog()\"\r\n ></sac-button>\r\n </ng-container>\r\n</sac-dialog>\r\n", styles: [".is-invalid{border:1px solid var(--red)}\n"], dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: EditorComponent, selector: "editor", inputs: ["cloudChannel", "apiKey", "init", "id", "initialValue", "outputFormat", "inline", "tagName", "plugins", "toolbar", "modelEvents", "allowedEvents", "ignoreEvents", "disabled"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: SacDialogComponent, selector: "sac-dialog" }, { kind: "component", type: SacBrowserComponent, selector: "sac-filebrowser" }, { kind: "component", type: SacButtonComponent, selector: "sac-button" }, { kind: "pipe", type: AsyncPipe, name: "async" }], viewProviders: [{ provide: ControlContainer, useExisting: SacFormDirective }] }); }
49
+ ], usesInheritance: true, ngImport: i0, template: "<div\n class=\"row form-group\"\n [attr.data-e2e-key]=\"name | testingattribute : e2eidentifier\">\n <label\n for=\"{{ name }}\"\n class=\"col-12 col-form-label d-flex\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'sr-only', componentHeight | toLabelHeight]\"\n [class.required]=\"isrequired\"\n ><div\n class=\"text flex-grow-0\"\n [class.flex-sm-grow-1]=\"splitlabelandhelptext\">\n {{ label }}\n </div>\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [ngClass]=\"HelptextTooltipIcon\"\n class=\"ml-1\">\n </span>\n </sac-tooltip>\n </label>\n <div\n class=\"col-12\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\n [class.d-flex]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\n <div [class.flex-grow-1]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\n <editor\n [id]=\"name + '_tinymce'\"\n [init]=\"_config\"\n [initialValue]=\"value\"\n ngModel\n [ngModelOptions]=\"{ standalone: true }\"\n (ngModelChange)=\"setValue($event)\"\n (onSaveContent)=\"save($event.event.content)\"\n (onBlur)=\"blur()\"\n [disabled]=\"disabled\"\n [class.is-invalid]=\"isinlineerrorenabled && invalid && (dirty || touched)\">\n </editor>\n <small\n *ngIf=\"helptextmode === 'text' && helptext\"\n class=\"form-text text-muted\">\n {{ helptext }}\n </small>\n <div\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\"\n class=\"invalid-feedback\">\n {{ GetErrorMessage() | async }}\n </div>\n </div>\n\n <div\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\n class=\"form-control-plaintext align-self-top ml-2 mr-1 w-auto\"\n [ngClass]=\"[componentHeight | toControlHeight]\">\n <sac-tooltip\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [ngClass]=\"HelptextTooltipIcon\"\n class=\"ml-1\">\n </span>\n </sac-tooltip>\n </div>\n </div>\n</div>\n\n<sac-dialog\n *ngIf=\"selectdialogvisible\"\n [allowesc]=\"false\"\n [backdrop]=\"true\"\n [(isvisible)]=\"selectdialogvisible\"\n title=\"{{ lngResourceService.GetString(validationKeyService.TinyMceFileselectDialogtitle) | async }}\"\n size=\"large\"\n height=\"500px\">\n <ng-container dialogbody>\n <sac-filebrowser\n [apiurl]=\"filebrowserapiurl\"\n (file)=\"selectDialogSettings.value = $event\"\n [allowfoldercreate]=\"allowfoldercreate\"\n [allowfolderrename]=\"allowfolderrename\"\n [allowfolderdelete]=\"allowfolderdelete\"\n [allowfileupload]=\"allowfileupload\"\n [allowfilerename]=\"allowfilerename\"\n [allowfiledelete]=\"allowfiledelete\"\n [selectedfile]=\"selectDialogSettings.value\"\n [allowedtypes]=\"selectDialogSettings.allowedtypes\"></sac-filebrowser>\n </ng-container>\n <ng-container dialogfooter>\n <sac-button\n role=\"primary\"\n [name]=\"name + '_modalOk'\"\n text=\"{{ lngResourceService.GetString(validationKeyService.TinyMceFileselectOk) | async }}\"\n (clicked)=\"setSelectDialogResult()\"></sac-button>\n <sac-button\n [name]=\"name + '_modalClose'\"\n text=\"{{ lngResourceService.GetString(validationKeyService.TinyMceFileselectCancel) | async }}\"\n (clicked)=\"closeSelectDialog()\"></sac-button>\n </ng-container>\n</sac-dialog>\n", styles: [".is-invalid{border:1px solid var(--red)}::ng-deep .tox.tox-tinymce-aux{z-index:900}::ng-deep .tox.tox-tinymce-aux .tox-dialog-wrap{z-index:800}\n"], dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: EditorComponent, selector: "editor", inputs: ["cloudChannel", "apiKey", "init", "id", "initialValue", "outputFormat", "inline", "tagName", "plugins", "toolbar", "modelEvents", "allowedEvents", "ignoreEvents", "disabled"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: SacDialogComponent, selector: "sac-dialog" }, { kind: "component", type: SacBrowserComponent, selector: "sac-filebrowser" }, { kind: "component", type: SacButtonComponent, selector: "sac-button" }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "pipe", type: SacToLabelWidthCssPipe, name: "toLabelWidthCss" }, { kind: "pipe", type: SacToControlWidthCssPipe, name: "toControlWidthCss" }, { kind: "pipe", type: SacToLabelHeightPipe, name: "toLabelHeight" }, { kind: "component", type: SacTooltipComponent, selector: "sac-tooltip" }, { kind: "pipe", type: SacToControlHeightPipe, name: "toControlHeight" }, { kind: "pipe", type: SacTestingAttributePipe, name: "testingattribute" }] }); }
46
50
  }
47
51
  export { SacTinyMceComponent };
48
52
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SacTinyMceComponent, decorators: [{
@@ -58,7 +62,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
58
62
  useExisting: forwardRef(() => SacTinyMceComponent),
59
63
  multi: true,
60
64
  },
61
- ], viewProviders: [{ provide: ControlContainer, useExisting: SacFormDirective }], standalone: true, imports: [
65
+ ], standalone: true, imports: [
62
66
  NgClass,
63
67
  EditorComponent,
64
68
  FormsModule,
@@ -67,10 +71,16 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
67
71
  SacBrowserComponent,
68
72
  SacButtonComponent,
69
73
  AsyncPipe,
70
- ], template: "<div class=\"form-row form-group\">\r\n <div\r\n class=\"col\"\r\n [ngClass]=\"[disablelabel === false ? 'col-md-' + labelsize : 'sr-only' ]\"\r\n >\r\n <label for=\"{{name}}\" class=\"form-control-label\">{{label}}</label>\r\n </div>\r\n <div\r\n class=\"col-12\"\r\n [ngClass]=\"[disablelabel === false ? 'col-md-' + _inputsize : 'col-md-12']\"\r\n >\r\n <editor\r\n [id]=\"name + '_tinymce'\"\r\n [init]=\"_config\"\r\n [initialValue]=\"value\"\r\n ngModel\r\n [ngModelOptions]=\"{standalone: true}\"\r\n (ngModelChange)=\"setValue($event)\"\r\n (onSaveContent)=\"save($event.event.content)\"\r\n [disabled]=\"disabled\"\r\n [class.is-invalid]=\"isinlineerrorenabled && invalid && (dirty || touched)\"\r\n ></editor>\r\n <div\r\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\"\r\n class=\"invalid-feedback\"\r\n >\r\n {{ GetErrorMessage() | async }}\r\n </div>\r\n </div>\r\n</div>\r\n\r\n<sac-dialog\r\n *ngIf=\"selectdialogvisible\"\r\n [allowesc]=\"false\"\r\n [backdrop]=\"true\"\r\n [(isvisible)]=\"selectdialogvisible\"\r\n title=\"{{ lngResourceService.GetString('TINYMCE_FILESELECT_DIALOGTITLE') | async }}\"\r\n size=\"large\"\r\n height=\"500px\"\r\n>\r\n <ng-container dialogbody>\r\n <sac-filebrowser\r\n [apiurl]=\"filebrowserapiurl\"\r\n (file)=\"selectDialogSettings.value = $event\"\r\n [allowfoldercreate]=\"allowfoldercreate\"\r\n [allowfolderrename]=\"allowfolderrename\"\r\n [allowfolderdelete]=\"allowfolderdelete\"\r\n [allowfileupload]=\"allowfileupload\"\r\n [allowfilerename]=\"allowfilerename\"\r\n [allowfiledelete]=\"allowfiledelete\"\r\n [selectedfile]=\"selectDialogSettings.value\"\r\n [allowedtypes]=\"selectDialogSettings.allowedtypes\"\r\n ></sac-filebrowser>\r\n </ng-container>\r\n <ng-container dialogfooter>\r\n <sac-button\r\n role=\"primary\"\r\n [name]=\"name + '_modalOk'\"\r\n text=\"{{ lngResourceService.GetString('TINYMCE_FILESELECT_OK') | async }}\"\r\n (clicked)=\"setSelectDialogResult()\"\r\n ></sac-button>\r\n <sac-button\r\n [name]=\"name + '_modalClose'\"\r\n text=\"{{ lngResourceService.GetString('TINYMCE_FILESELECT_CANCEL') | async }}\"\r\n (clicked)=\"closeSelectDialog()\"\r\n ></sac-button>\r\n </ng-container>\r\n</sac-dialog>\r\n", styles: [".is-invalid{border:1px solid var(--red)}\n"] }]
71
- }], ctorParameters: function () { return [{ type: i1.SacFormDirective, decorators: [{
74
+ SacToLabelWidthCssPipe,
75
+ SacToControlWidthCssPipe,
76
+ SacToLabelHeightPipe,
77
+ SacTooltipComponent,
78
+ SacToControlHeightPipe,
79
+ SacTestingAttributePipe,
80
+ ], template: "<div\n class=\"row form-group\"\n [attr.data-e2e-key]=\"name | testingattribute : e2eidentifier\">\n <label\n for=\"{{ name }}\"\n class=\"col-12 col-form-label d-flex\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'sr-only', componentHeight | toLabelHeight]\"\n [class.required]=\"isrequired\"\n ><div\n class=\"text flex-grow-0\"\n [class.flex-sm-grow-1]=\"splitlabelandhelptext\">\n {{ label }}\n </div>\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [ngClass]=\"HelptextTooltipIcon\"\n class=\"ml-1\">\n </span>\n </sac-tooltip>\n </label>\n <div\n class=\"col-12\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\n [class.d-flex]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\n <div [class.flex-grow-1]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\n <editor\n [id]=\"name + '_tinymce'\"\n [init]=\"_config\"\n [initialValue]=\"value\"\n ngModel\n [ngModelOptions]=\"{ standalone: true }\"\n (ngModelChange)=\"setValue($event)\"\n (onSaveContent)=\"save($event.event.content)\"\n (onBlur)=\"blur()\"\n [disabled]=\"disabled\"\n [class.is-invalid]=\"isinlineerrorenabled && invalid && (dirty || touched)\">\n </editor>\n <small\n *ngIf=\"helptextmode === 'text' && helptext\"\n class=\"form-text text-muted\">\n {{ helptext }}\n </small>\n <div\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\"\n class=\"invalid-feedback\">\n {{ GetErrorMessage() | async }}\n </div>\n </div>\n\n <div\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\n class=\"form-control-plaintext align-self-top ml-2 mr-1 w-auto\"\n [ngClass]=\"[componentHeight | toControlHeight]\">\n <sac-tooltip\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [ngClass]=\"HelptextTooltipIcon\"\n class=\"ml-1\">\n </span>\n </sac-tooltip>\n </div>\n </div>\n</div>\n\n<sac-dialog\n *ngIf=\"selectdialogvisible\"\n [allowesc]=\"false\"\n [backdrop]=\"true\"\n [(isvisible)]=\"selectdialogvisible\"\n title=\"{{ lngResourceService.GetString(validationKeyService.TinyMceFileselectDialogtitle) | async }}\"\n size=\"large\"\n height=\"500px\">\n <ng-container dialogbody>\n <sac-filebrowser\n [apiurl]=\"filebrowserapiurl\"\n (file)=\"selectDialogSettings.value = $event\"\n [allowfoldercreate]=\"allowfoldercreate\"\n [allowfolderrename]=\"allowfolderrename\"\n [allowfolderdelete]=\"allowfolderdelete\"\n [allowfileupload]=\"allowfileupload\"\n [allowfilerename]=\"allowfilerename\"\n [allowfiledelete]=\"allowfiledelete\"\n [selectedfile]=\"selectDialogSettings.value\"\n [allowedtypes]=\"selectDialogSettings.allowedtypes\"></sac-filebrowser>\n </ng-container>\n <ng-container dialogfooter>\n <sac-button\n role=\"primary\"\n [name]=\"name + '_modalOk'\"\n text=\"{{ lngResourceService.GetString(validationKeyService.TinyMceFileselectOk) | async }}\"\n (clicked)=\"setSelectDialogResult()\"></sac-button>\n <sac-button\n [name]=\"name + '_modalClose'\"\n text=\"{{ lngResourceService.GetString(validationKeyService.TinyMceFileselectCancel) | async }}\"\n (clicked)=\"closeSelectDialog()\"></sac-button>\n </ng-container>\n</sac-dialog>\n", styles: [".is-invalid{border:1px solid var(--red)}::ng-deep .tox.tox-tinymce-aux{z-index:900}::ng-deep .tox.tox-tinymce-aux .tox-dialog-wrap{z-index:800}\n"] }]
81
+ }], ctorParameters: function () { return [{ type: i1.SacFormLayoutDirective, decorators: [{
72
82
  type: Host
73
83
  }, {
74
84
  type: Optional
75
85
  }] }, { type: i0.Injector }, { type: i0.NgZone }]; } });
76
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGlueW1jZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NhYy1ib290c3RyYXA0L3NyYy9jb250cm9scy90aW55bWNlL3RpbnltY2UudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zYWMtYm9vdHN0cmFwNC9zcmMvY29udHJvbHMvdGlueW1jZS90aW55bWNlLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxVQUFVLEVBQ1YsSUFBSSxFQUdKLFFBQVEsR0FDVCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQ0wsZ0JBQWdCLEVBQ2hCLFdBQVcsRUFDWCxhQUFhLEVBQ2IsaUJBQWlCLEdBQ2xCLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEIsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDckUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDdkQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sY0FBYyxDQUFDO0FBRWhELE9BQU8sRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzNELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUN2RSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQzs7OztBQUV0RDs7R0FFRztBQUNILE1BK0JhLG1CQUFvQixTQUFRLGdCQUFnQjtJQUN2RDs7Ozs7T0FLRztJQUNILFlBQ3NCLE1BQXdCLEVBQzVDLFFBQWtCLEVBQ2xCLE1BQWM7UUFFZCxLQUFLLENBQUMsTUFBTSxFQUFFLFFBQVEsRUFBRSxNQUFNLENBQUMsQ0FBQztJQUNsQyxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsd0JBQXdCO1FBQ3RCLE9BQU8sRUFBRSxDQUFDO0lBQ1osQ0FBQzsrR0FyQlUsbUJBQW1CO21HQUFuQixtQkFBbUIsMERBMUJuQjtZQUNUO2dCQUNFLE9BQU8sRUFBRSxpQkFBaUI7Z0JBQzFCLEtBQUssRUFBRSxJQUFJO2dCQUNYLFdBQVcsRUFBRSxtQkFBbUI7YUFDakM7WUFDRDtnQkFDRSxPQUFPLEVBQUUsYUFBYTtnQkFDdEIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxtQkFBbUIsQ0FBQztnQkFDbEQsS0FBSyxFQUFFLElBQUk7YUFDWjtTQUNGLGlEQzFDSCx5M0VBb0VBLG9HRHJCSSxPQUFPLG9GQUNQLGVBQWUsMk9BQ2YsV0FBVywrVkFDWCxJQUFJLDZGQUNKLGtCQUFrQix1REFDbEIsbUJBQW1CLDREQUNuQixrQkFBa0Isa0RBQ2xCLFNBQVMsbUNBVkksQ0FBQyxFQUFFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxXQUFXLEVBQUUsZ0JBQWdCLEVBQUUsQ0FBQzs7U0FhbEUsbUJBQW1COzRGQUFuQixtQkFBbUI7a0JBL0IvQixTQUFTOytCQUNFLGFBQWEsYUFJWjt3QkFDVDs0QkFDRSxPQUFPLEVBQUUsaUJBQWlCOzRCQUMxQixLQUFLLEVBQUUsSUFBSTs0QkFDWCxXQUFXLHFCQUFxQjt5QkFDakM7d0JBQ0Q7NEJBQ0UsT0FBTyxFQUFFLGFBQWE7NEJBQ3RCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLG9CQUFvQixDQUFDOzRCQUNsRCxLQUFLLEVBQUUsSUFBSTt5QkFDWjtxQkFDRixpQkFFYyxDQUFDLEVBQUUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLFdBQVcsRUFBRSxnQkFBZ0IsRUFBRSxDQUFDLGNBQ2pFLElBQUksV0FDUDt3QkFDUCxPQUFPO3dCQUNQLGVBQWU7d0JBQ2YsV0FBVzt3QkFDWCxJQUFJO3dCQUNKLGtCQUFrQjt3QkFDbEIsbUJBQW1CO3dCQUNuQixrQkFBa0I7d0JBQ2xCLFNBQVM7cUJBQ1Y7OzBCQVVFLElBQUk7OzBCQUFJLFFBQVEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIENvbXBvbmVudCxcclxuICBmb3J3YXJkUmVmLFxyXG4gIEhvc3QsXHJcbiAgSW5qZWN0b3IsXHJcbiAgTmdab25lLFxyXG4gIE9wdGlvbmFsLFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge1xyXG4gIENvbnRyb2xDb250YWluZXIsXHJcbiAgRm9ybXNNb2R1bGUsXHJcbiAgTkdfVkFMSURBVE9SUyxcclxuICBOR19WQUxVRV9BQ0NFU1NPUixcclxufSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IFNhY1RpbnlNY2VDb21tb24gfSBmcm9tICdAc2ltcGxlYW5ndWxhcmNvbnRyb2xzL3NhYy1jb21tb24nO1xyXG5pbXBvcnQgeyBTYWNCdXR0b25Db21wb25lbnQgfSBmcm9tICcuLi9idXR0b25zL2J1dHRvbic7XHJcbmltcG9ydCB7IFNhY0Zvcm1EaXJlY3RpdmUgfSBmcm9tICcuLi9mb3JtL2Zvcm0nO1xyXG5cclxuaW1wb3J0IHsgQXN5bmNQaXBlLCBOZ0NsYXNzLCBOZ0lmIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgRWRpdG9yQ29tcG9uZW50IH0gZnJvbSAnQHRpbnltY2UvdGlueW1jZS1hbmd1bGFyJztcclxuaW1wb3J0IHsgU2FjQnJvd3NlckNvbXBvbmVudCB9IGZyb20gJy4uLy4uL2NvbXBvbmVudHMvYnJvd3Nlci9icm93c2VyJztcclxuaW1wb3J0IHsgU2FjRGlhbG9nQ29tcG9uZW50IH0gZnJvbSAnLi4vZGlhbG9nL2RpYWxvZyc7XHJcblxyXG4vKipcclxuICogVGlueU1DRSBLb21wb25lbnRlXHJcbiAqL1xyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ3NhYy10aW55bWNlJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vdGlueW1jZS5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi90aW55bWNlLnNjc3MnXSxcclxuICAvLyBWYWx1ZSBBY2Nlc3MgUHJvdmlkZXIgcmVnaXN0cmllcmVuLCBkYW1pdCBXZXJ0IHZpYSBNb2RlbCBnZXNjaHJpZWJlbiB1bmQgZ2VsZXNlbiB3ZXJkZW4ga2FublxyXG4gIHByb3ZpZGVyczogW1xyXG4gICAge1xyXG4gICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcclxuICAgICAgbXVsdGk6IHRydWUsXHJcbiAgICAgIHVzZUV4aXN0aW5nOiBTYWNUaW55TWNlQ29tcG9uZW50LFxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgcHJvdmlkZTogTkdfVkFMSURBVE9SUyxcclxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gU2FjVGlueU1jZUNvbXBvbmVudCksXHJcbiAgICAgIG11bHRpOiB0cnVlLFxyXG4gICAgfSxcclxuICBdLFxyXG4gIC8vIFZpZXcgUHJvdmlkZXIsIGRhbWl0IGRhcyBGb3JtdWxhciBhbiBkYXMgQ29udHJvbCBnZWJ1bmRlbiB3ZXJkZW4ga2FublxyXG4gIHZpZXdQcm92aWRlcnM6IFt7IHByb3ZpZGU6IENvbnRyb2xDb250YWluZXIsIHVzZUV4aXN0aW5nOiBTYWNGb3JtRGlyZWN0aXZlIH1dLFxyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgaW1wb3J0czogW1xyXG4gICAgTmdDbGFzcyxcclxuICAgIEVkaXRvckNvbXBvbmVudCxcclxuICAgIEZvcm1zTW9kdWxlLFxyXG4gICAgTmdJZixcclxuICAgIFNhY0RpYWxvZ0NvbXBvbmVudCxcclxuICAgIFNhY0Jyb3dzZXJDb21wb25lbnQsXHJcbiAgICBTYWNCdXR0b25Db21wb25lbnQsXHJcbiAgICBBc3luY1BpcGUsXHJcbiAgXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIFNhY1RpbnlNY2VDb21wb25lbnQgZXh0ZW5kcyBTYWNUaW55TWNlQ29tbW9uIHtcclxuICAvKipcclxuICAgKiBLb25zdHJ1a3RvclxyXG4gICAqIEBwYXJhbSBwYXJlbnQgRm9ybXVsYXJcclxuICAgKiBAcGFyYW0gaW5qZWN0b3IgQW5ndWxhciBEZXBlbmRlbmN5IEluamVjdGlvbiBTZXJ2aWNlXHJcbiAgICogQHBhcmFtIG5nWm9uZSBuZ1pvbmVcclxuICAgKi9cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIEBIb3N0KCkgQE9wdGlvbmFsKCkgcGFyZW50OiBTYWNGb3JtRGlyZWN0aXZlLFxyXG4gICAgaW5qZWN0b3I6IEluamVjdG9yLFxyXG4gICAgbmdab25lOiBOZ1pvbmVcclxuICApIHtcclxuICAgIHN1cGVyKHBhcmVudCwgaW5qZWN0b3IsIG5nWm9uZSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBvdmVyd3JpdGUgdGlueW1jZSBkZWZhdWx0c1xyXG4gICAqIEByZXR1cm5zIGJvb3N0cmFwNCBoYXMgbm8gb3ZlcndyaXRlc1xyXG4gICAqL1xyXG4gIG92ZXJ3cml0ZURlZmF1bHRTZXR0aW5ncygpIHtcclxuICAgIHJldHVybiB7fTtcclxuICB9XHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cImZvcm0tcm93IGZvcm0tZ3JvdXBcIj5cclxuICA8ZGl2XHJcbiAgICBjbGFzcz1cImNvbFwiXHJcbiAgICBbbmdDbGFzc109XCJbZGlzYWJsZWxhYmVsID09PSBmYWxzZSA/ICAnY29sLW1kLScgKyBsYWJlbHNpemUgOiAnc3Itb25seScgXVwiXHJcbiAgPlxyXG4gICAgPGxhYmVsIGZvcj1cInt7bmFtZX19XCIgY2xhc3M9XCJmb3JtLWNvbnRyb2wtbGFiZWxcIj57e2xhYmVsfX08L2xhYmVsPlxyXG4gIDwvZGl2PlxyXG4gIDxkaXZcclxuICAgIGNsYXNzPVwiY29sLTEyXCJcclxuICAgIFtuZ0NsYXNzXT1cIltkaXNhYmxlbGFiZWwgPT09IGZhbHNlID8gJ2NvbC1tZC0nICsgX2lucHV0c2l6ZSA6ICdjb2wtbWQtMTInXVwiXHJcbiAgPlxyXG4gICAgPGVkaXRvclxyXG4gICAgICBbaWRdPVwibmFtZSArICdfdGlueW1jZSdcIlxyXG4gICAgICBbaW5pdF09XCJfY29uZmlnXCJcclxuICAgICAgW2luaXRpYWxWYWx1ZV09XCJ2YWx1ZVwiXHJcbiAgICAgIG5nTW9kZWxcclxuICAgICAgW25nTW9kZWxPcHRpb25zXT1cIntzdGFuZGFsb25lOiB0cnVlfVwiXHJcbiAgICAgIChuZ01vZGVsQ2hhbmdlKT1cInNldFZhbHVlKCRldmVudClcIlxyXG4gICAgICAob25TYXZlQ29udGVudCk9XCJzYXZlKCRldmVudC5ldmVudC5jb250ZW50KVwiXHJcbiAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXHJcbiAgICAgIFtjbGFzcy5pcy1pbnZhbGlkXT1cImlzaW5saW5lZXJyb3JlbmFibGVkICYmIGludmFsaWQgJiYgKGRpcnR5IHx8IHRvdWNoZWQpXCJcclxuICAgID48L2VkaXRvcj5cclxuICAgIDxkaXZcclxuICAgICAgKm5nSWY9XCJpc2lubGluZWVycm9yZW5hYmxlZCAmJiBpbnZhbGlkICYmIChkaXJ0eSB8fCB0b3VjaGVkKVwiXHJcbiAgICAgIGNsYXNzPVwiaW52YWxpZC1mZWVkYmFja1wiXHJcbiAgICA+XHJcbiAgICAgIHt7IEdldEVycm9yTWVzc2FnZSgpIHwgYXN5bmMgfX1cclxuICAgIDwvZGl2PlxyXG4gIDwvZGl2PlxyXG48L2Rpdj5cclxuXHJcbjxzYWMtZGlhbG9nXHJcbiAgKm5nSWY9XCJzZWxlY3RkaWFsb2d2aXNpYmxlXCJcclxuICBbYWxsb3dlc2NdPVwiZmFsc2VcIlxyXG4gIFtiYWNrZHJvcF09XCJ0cnVlXCJcclxuICBbKGlzdmlzaWJsZSldPVwic2VsZWN0ZGlhbG9ndmlzaWJsZVwiXHJcbiAgdGl0bGU9XCJ7eyBsbmdSZXNvdXJjZVNlcnZpY2UuR2V0U3RyaW5nKCdUSU5ZTUNFX0ZJTEVTRUxFQ1RfRElBTE9HVElUTEUnKSB8IGFzeW5jIH19XCJcclxuICBzaXplPVwibGFyZ2VcIlxyXG4gIGhlaWdodD1cIjUwMHB4XCJcclxuPlxyXG4gIDxuZy1jb250YWluZXIgZGlhbG9nYm9keT5cclxuICAgIDxzYWMtZmlsZWJyb3dzZXJcclxuICAgICAgW2FwaXVybF09XCJmaWxlYnJvd3NlcmFwaXVybFwiXHJcbiAgICAgIChmaWxlKT1cInNlbGVjdERpYWxvZ1NldHRpbmdzLnZhbHVlID0gJGV2ZW50XCJcclxuICAgICAgW2FsbG93Zm9sZGVyY3JlYXRlXT1cImFsbG93Zm9sZGVyY3JlYXRlXCJcclxuICAgICAgW2FsbG93Zm9sZGVycmVuYW1lXT1cImFsbG93Zm9sZGVycmVuYW1lXCJcclxuICAgICAgW2FsbG93Zm9sZGVyZGVsZXRlXT1cImFsbG93Zm9sZGVyZGVsZXRlXCJcclxuICAgICAgW2FsbG93ZmlsZXVwbG9hZF09XCJhbGxvd2ZpbGV1cGxvYWRcIlxyXG4gICAgICBbYWxsb3dmaWxlcmVuYW1lXT1cImFsbG93ZmlsZXJlbmFtZVwiXHJcbiAgICAgIFthbGxvd2ZpbGVkZWxldGVdPVwiYWxsb3dmaWxlZGVsZXRlXCJcclxuICAgICAgW3NlbGVjdGVkZmlsZV09XCJzZWxlY3REaWFsb2dTZXR0aW5ncy52YWx1ZVwiXHJcbiAgICAgIFthbGxvd2VkdHlwZXNdPVwic2VsZWN0RGlhbG9nU2V0dGluZ3MuYWxsb3dlZHR5cGVzXCJcclxuICAgID48L3NhYy1maWxlYnJvd3Nlcj5cclxuICA8L25nLWNvbnRhaW5lcj5cclxuICA8bmctY29udGFpbmVyIGRpYWxvZ2Zvb3Rlcj5cclxuICAgIDxzYWMtYnV0dG9uXHJcbiAgICAgIHJvbGU9XCJwcmltYXJ5XCJcclxuICAgICAgW25hbWVdPVwibmFtZSArICdfbW9kYWxPaydcIlxyXG4gICAgICB0ZXh0PVwie3sgbG5nUmVzb3VyY2VTZXJ2aWNlLkdldFN0cmluZygnVElOWU1DRV9GSUxFU0VMRUNUX09LJykgfCBhc3luYyB9fVwiXHJcbiAgICAgIChjbGlja2VkKT1cInNldFNlbGVjdERpYWxvZ1Jlc3VsdCgpXCJcclxuICAgID48L3NhYy1idXR0b24+XHJcbiAgICA8c2FjLWJ1dHRvblxyXG4gICAgICBbbmFtZV09XCJuYW1lICsgJ19tb2RhbENsb3NlJ1wiXHJcbiAgICAgIHRleHQ9XCJ7eyBsbmdSZXNvdXJjZVNlcnZpY2UuR2V0U3RyaW5nKCdUSU5ZTUNFX0ZJTEVTRUxFQ1RfQ0FOQ0VMJykgfCBhc3luYyB9fVwiXHJcbiAgICAgIChjbGlja2VkKT1cImNsb3NlU2VsZWN0RGlhbG9nKClcIlxyXG4gICAgPjwvc2FjLWJ1dHRvbj5cclxuICA8L25nLWNvbnRhaW5lcj5cclxuPC9zYWMtZGlhbG9nPlxyXG4iXX0=
86
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGlueW1jZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NhYy1ib290c3RyYXA0L3NyYy9jb250cm9scy90aW55bWNlL3RpbnltY2UudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zYWMtYm9vdHN0cmFwNC9zcmMvY29udHJvbHMvdGlueW1jZS90aW55bWNlLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILG1CQUFtQixFQUNuQixzQkFBc0IsRUFDdEIsd0JBQXdCLEVBQ3hCLHNCQUFzQixHQUN6QixNQUFNLGtCQUFrQixDQUFDO0FBQzFCLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUNoRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFFL0MsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDcEUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDekQsT0FBTyxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDM0QsT0FBTyxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQW9CLFFBQVEsRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDeEYsT0FBTyxFQUFFLFdBQVcsRUFBRSxhQUFhLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMvRSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUM5RixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7Ozs7QUFFM0Q7O0dBRUc7QUFDSCxNQW1DYSxtQkFBb0IsU0FBUSxnQkFBZ0I7SUFDckQsdUJBQXVCO0lBRXZCOzs7OztPQUtHO0lBQ0gsWUFBZ0MsVUFBa0MsRUFBRSxRQUFrQixFQUFFLE1BQWM7UUFDbEcsS0FBSyxDQUFDLFVBQVUsRUFBRSxRQUFRLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDeEMsQ0FBQztJQUVELDBCQUEwQjtJQUUxQix5QkFBeUI7SUFFekI7OztPQUdHO0lBQ0ksd0JBQXdCO1FBQzNCLE9BQU8sRUFBRSxDQUFDO0lBQ2QsQ0FBQzsrR0F2QlEsbUJBQW1CO21HQUFuQixtQkFBbUIsMERBOUJqQjtZQUNQO2dCQUNJLE9BQU8sRUFBRSxpQkFBaUI7Z0JBQzFCLEtBQUssRUFBRSxJQUFJO2dCQUNYLFdBQVcsRUFBRSxtQkFBbUI7YUFDbkM7WUFDRDtnQkFDSSxPQUFPLEVBQUUsYUFBYTtnQkFDdEIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxtQkFBbUIsQ0FBQztnQkFDbEQsS0FBSyxFQUFFLElBQUk7YUFDZDtTQUNKLGlEQ3BDTCw4a0lBcUdBLDJNRDlEUSxPQUFPLG9GQUNQLGVBQWUsMk9BQ2YsV0FBVywrVkFDWCxJQUFJLDZGQUNKLGtCQUFrQix1REFDbEIsbUJBQW1CLDREQUNuQixrQkFBa0Isa0RBQ2xCLFNBQVMseUNBQ1Qsc0JBQXNCLG1EQUN0Qix3QkFBd0IscURBQ3hCLG9CQUFvQixzREFDcEIsbUJBQW1CLG1EQUNuQixzQkFBc0IsbURBQ3RCLHVCQUF1Qjs7U0FHbEIsbUJBQW1COzRGQUFuQixtQkFBbUI7a0JBbkMvQixTQUFTOytCQUNJLGFBQWEsYUFJWjt3QkFDUDs0QkFDSSxPQUFPLEVBQUUsaUJBQWlCOzRCQUMxQixLQUFLLEVBQUUsSUFBSTs0QkFDWCxXQUFXLHFCQUFxQjt5QkFDbkM7d0JBQ0Q7NEJBQ0ksT0FBTyxFQUFFLGFBQWE7NEJBQ3RCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLG9CQUFvQixDQUFDOzRCQUNsRCxLQUFLLEVBQUUsSUFBSTt5QkFDZDtxQkFDSixjQUNXLElBQUksV0FDUDt3QkFDTCxPQUFPO3dCQUNQLGVBQWU7d0JBQ2YsV0FBVzt3QkFDWCxJQUFJO3dCQUNKLGtCQUFrQjt3QkFDbEIsbUJBQW1CO3dCQUNuQixrQkFBa0I7d0JBQ2xCLFNBQVM7d0JBQ1Qsc0JBQXNCO3dCQUN0Qix3QkFBd0I7d0JBQ3hCLG9CQUFvQjt3QkFDcEIsbUJBQW1CO3dCQUNuQixzQkFBc0I7d0JBQ3RCLHVCQUF1QjtxQkFDMUI7OzBCQVdZLElBQUk7OzBCQUFJLFFBQVEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIFNhY0Jyb3dzZXJDb21wb25lbnQsXG4gICAgU2FjVG9Db250cm9sSGVpZ2h0UGlwZSxcbiAgICBTYWNUb0NvbnRyb2xXaWR0aENzc1BpcGUsXG4gICAgU2FjVG9MYWJlbFdpZHRoQ3NzUGlwZSxcbn0gZnJvbSAnLi4vLi4vcHVibGljX2FwaSc7XG5pbXBvcnQgeyBTYWNCdXR0b25Db21wb25lbnQgfSBmcm9tICcuLi9idXR0b25zJztcbmltcG9ydCB7IFNhY0RpYWxvZ0NvbXBvbmVudCB9IGZyb20gJy4uL2RpYWxvZyc7XG5pbXBvcnQgeyBTYWNGb3JtTGF5b3V0RGlyZWN0aXZlIH0gZnJvbSAnLi4vbGF5b3V0L2Zvcm1sYXlvdXQuZGlyZWN0aXZlJztcbmltcG9ydCB7IFNhY1RvTGFiZWxIZWlnaHRQaXBlIH0gZnJvbSAnLi4vbGF5b3V0L3RvbGFiZWxoZWlnaHQucGlwZSc7XG5pbXBvcnQgeyBTYWNUb29sdGlwQ29tcG9uZW50IH0gZnJvbSAnLi4vdG9vbHRpcC90b29sdGlwJztcbmltcG9ydCB7IEFzeW5jUGlwZSwgTmdDbGFzcywgTmdJZiB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDb21wb25lbnQsIEhvc3QsIEluamVjdG9yLCBOZ1pvbmUsIE9wdGlvbmFsLCBmb3J3YXJkUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3Jtc01vZHVsZSwgTkdfVkFMSURBVE9SUywgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBTYWNUZXN0aW5nQXR0cmlidXRlUGlwZSwgU2FjVGlueU1jZUNvbW1vbiB9IGZyb20gJ0BzaW1wbGVhbmd1bGFyY29udHJvbHMvc2FjLWNvbW1vbic7XG5pbXBvcnQgeyBFZGl0b3JDb21wb25lbnQgfSBmcm9tICdAdGlueW1jZS90aW55bWNlLWFuZ3VsYXInO1xuXG4vKipcbiAqIFRpbnlNQ0UgS29tcG9uZW50ZVxuICovXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3NhYy10aW55bWNlJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vdGlueW1jZS5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi90aW55bWNlLnNjc3MnXSxcbiAgICAvLyBWYWx1ZSBBY2Nlc3MgUHJvdmlkZXIgcmVnaXN0cmllcmVuLCBkYW1pdCBXZXJ0IHZpYSBNb2RlbCBnZXNjaHJpZWJlbiB1bmQgZ2VsZXNlbiB3ZXJkZW4ga2FublxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICB7XG4gICAgICAgICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICAgICAgICAgIG11bHRpOiB0cnVlLFxuICAgICAgICAgICAgdXNlRXhpc3Rpbmc6IFNhY1RpbnlNY2VDb21wb25lbnQsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICAgIHByb3ZpZGU6IE5HX1ZBTElEQVRPUlMsXG4gICAgICAgICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBTYWNUaW55TWNlQ29tcG9uZW50KSxcbiAgICAgICAgICAgIG11bHRpOiB0cnVlLFxuICAgICAgICB9LFxuICAgIF0sXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbXG4gICAgICAgIE5nQ2xhc3MsXG4gICAgICAgIEVkaXRvckNvbXBvbmVudCxcbiAgICAgICAgRm9ybXNNb2R1bGUsXG4gICAgICAgIE5nSWYsXG4gICAgICAgIFNhY0RpYWxvZ0NvbXBvbmVudCxcbiAgICAgICAgU2FjQnJvd3NlckNvbXBvbmVudCxcbiAgICAgICAgU2FjQnV0dG9uQ29tcG9uZW50LFxuICAgICAgICBBc3luY1BpcGUsXG4gICAgICAgIFNhY1RvTGFiZWxXaWR0aENzc1BpcGUsXG4gICAgICAgIFNhY1RvQ29udHJvbFdpZHRoQ3NzUGlwZSxcbiAgICAgICAgU2FjVG9MYWJlbEhlaWdodFBpcGUsXG4gICAgICAgIFNhY1Rvb2x0aXBDb21wb25lbnQsXG4gICAgICAgIFNhY1RvQ29udHJvbEhlaWdodFBpcGUsXG4gICAgICAgIFNhY1Rlc3RpbmdBdHRyaWJ1dGVQaXBlLFxuICAgIF0sXG59KVxuZXhwb3J0IGNsYXNzIFNhY1RpbnlNY2VDb21wb25lbnQgZXh0ZW5kcyBTYWNUaW55TWNlQ29tbW9uIHtcbiAgICAvLyAjcmVnaW9uIENvbnN0cnVjdG9yc1xuXG4gICAgLyoqXG4gICAgICogQ29uc3RydWN0b3JcbiAgICAgKiBAcGFyYW0gZm9ybUxheW91dCBTYWNGb3JtTGF5b3V0IHRvIGRlZmluZSBzY29wZWQgbGF5b3V0IHNldHRpbmdzXG4gICAgICogQHBhcmFtIGluamVjdG9yIEluamVjdG9yIGZvciBpbmplY3Rpbmcgc2VydmljZXNcbiAgICAgKiBAcGFyYW0gbmdab25lIG5nWm9uZSB0byBtYW5hZ2UgZXh0ZXJuYWwgamF2YXNjcmlwdHNcbiAgICAgKi9cbiAgICBjb25zdHJ1Y3RvcihASG9zdCgpIEBPcHRpb25hbCgpIGZvcm1MYXlvdXQ6IFNhY0Zvcm1MYXlvdXREaXJlY3RpdmUsIGluamVjdG9yOiBJbmplY3Rvciwgbmdab25lOiBOZ1pvbmUpIHtcbiAgICAgICAgc3VwZXIoZm9ybUxheW91dCwgaW5qZWN0b3IsIG5nWm9uZSk7XG4gICAgfVxuXG4gICAgLy8gI2VuZHJlZ2lvbiBDb25zdHJ1Y3RvcnNcblxuICAgIC8vICNyZWdpb24gUHVibGljIE1ldGhvZHNcblxuICAgIC8qKlxuICAgICAqIG92ZXJ3cml0ZSB0aW55bWNlIGRlZmF1bHRzXG4gICAgICogQHJldHVybnMgYm9vc3RyYXA0IGhhcyBubyBvdmVyd3JpdGVzXG4gICAgICovXG4gICAgcHVibGljIG92ZXJ3cml0ZURlZmF1bHRTZXR0aW5ncygpIHtcbiAgICAgICAgcmV0dXJuIHt9O1xuICAgIH1cblxuICAgIC8vICNlbmRyZWdpb24gUHVibGljIE1ldGhvZHNcbn1cbiIsIjxkaXZcbiAgICBjbGFzcz1cInJvdyBmb3JtLWdyb3VwXCJcbiAgICBbYXR0ci5kYXRhLWUyZS1rZXldPVwibmFtZSB8IHRlc3RpbmdhdHRyaWJ1dGUgOiBlMmVpZGVudGlmaWVyXCI+XG4gICAgPGxhYmVsXG4gICAgICAgIGZvcj1cInt7IG5hbWUgfX1cIlxuICAgICAgICBjbGFzcz1cImNvbC0xMiBjb2wtZm9ybS1sYWJlbCBkLWZsZXhcIlxuICAgICAgICBbbmdDbGFzc109XCJbZGlzYWJsZWxhYmVsID09PSBmYWxzZSA/ICh0aGlzLmxhYmVsU2l6ZXMgfCB0b0xhYmVsV2lkdGhDc3MpIDogJ3NyLW9ubHknLCBjb21wb25lbnRIZWlnaHQgfCB0b0xhYmVsSGVpZ2h0XVwiXG4gICAgICAgIFtjbGFzcy5yZXF1aXJlZF09XCJpc3JlcXVpcmVkXCJcbiAgICAgICAgPjxkaXZcbiAgICAgICAgICAgIGNsYXNzPVwidGV4dCBmbGV4LWdyb3ctMFwiXG4gICAgICAgICAgICBbY2xhc3MuZmxleC1zbS1ncm93LTFdPVwic3BsaXRsYWJlbGFuZGhlbHB0ZXh0XCI+XG4gICAgICAgICAgICB7eyBsYWJlbCB9fVxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPHNhYy10b29sdGlwXG4gICAgICAgICAgICAqbmdJZj1cImhlbHB0ZXh0bW9kZSA9PT0gJ3Rvb2x0aXAnICYmIGhlbHB0ZXh0XCJcbiAgICAgICAgICAgIFt0b29sdGlwdGV4dF09XCJoZWxwdGV4dFwiXG4gICAgICAgICAgICBbaW5saW5lbW9kZV09XCJ0cnVlXCI+XG4gICAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cIkhlbHB0ZXh0VG9vbHRpcEljb25cIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwibWwtMVwiPlxuICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICA8L3NhYy10b29sdGlwPlxuICAgIDwvbGFiZWw+XG4gICAgPGRpdlxuICAgICAgICBjbGFzcz1cImNvbC0xMlwiXG4gICAgICAgIFtuZ0NsYXNzXT1cIltkaXNhYmxlbGFiZWwgPT09IGZhbHNlID8gKHRoaXMubGFiZWxTaXplcyB8IHRvQ29udHJvbFdpZHRoQ3NzKSA6ICcnXVwiXG4gICAgICAgIFtjbGFzcy5kLWZsZXhdPVwiaGVscHRleHRtb2RlID09PSAndG9vbHRpcCcgJiYgaGVscHRleHQgJiYgZGlzYWJsZWxhYmVsXCI+XG4gICAgICAgIDxkaXYgW2NsYXNzLmZsZXgtZ3Jvdy0xXT1cImhlbHB0ZXh0bW9kZSA9PT0gJ3Rvb2x0aXAnICYmIGhlbHB0ZXh0ICYmIGRpc2FibGVsYWJlbFwiPlxuICAgICAgICAgICAgPGVkaXRvclxuICAgICAgICAgICAgICAgIFtpZF09XCJuYW1lICsgJ190aW55bWNlJ1wiXG4gICAgICAgICAgICAgICAgW2luaXRdPVwiX2NvbmZpZ1wiXG4gICAgICAgICAgICAgICAgW2luaXRpYWxWYWx1ZV09XCJ2YWx1ZVwiXG4gICAgICAgICAgICAgICAgbmdNb2RlbFxuICAgICAgICAgICAgICAgIFtuZ01vZGVsT3B0aW9uc109XCJ7IHN0YW5kYWxvbmU6IHRydWUgfVwiXG4gICAgICAgICAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwic2V0VmFsdWUoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgKG9uU2F2ZUNvbnRlbnQpPVwic2F2ZSgkZXZlbnQuZXZlbnQuY29udGVudClcIlxuICAgICAgICAgICAgICAgIChvbkJsdXIpPVwiYmx1cigpXCJcbiAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgICAgICAgICAgICAgIFtjbGFzcy5pcy1pbnZhbGlkXT1cImlzaW5saW5lZXJyb3JlbmFibGVkICYmIGludmFsaWQgJiYgKGRpcnR5IHx8IHRvdWNoZWQpXCI+XG4gICAgICAgICAgICA8L2VkaXRvcj5cbiAgICAgICAgICAgIDxzbWFsbFxuICAgICAgICAgICAgICAgICpuZ0lmPVwiaGVscHRleHRtb2RlID09PSAndGV4dCcgJiYgaGVscHRleHRcIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwiZm9ybS10ZXh0IHRleHQtbXV0ZWRcIj5cbiAgICAgICAgICAgICAgICB7eyBoZWxwdGV4dCB9fVxuICAgICAgICAgICAgPC9zbWFsbD5cbiAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAqbmdJZj1cImlzaW5saW5lZXJyb3JlbmFibGVkICYmIGludmFsaWQgJiYgKGRpcnR5IHx8IHRvdWNoZWQpXCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImludmFsaWQtZmVlZGJhY2tcIj5cbiAgICAgICAgICAgICAgICB7eyBHZXRFcnJvck1lc3NhZ2UoKSB8IGFzeW5jIH19XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgPGRpdlxuICAgICAgICAgICAgKm5nSWY9XCJoZWxwdGV4dG1vZGUgPT09ICd0b29sdGlwJyAmJiBoZWxwdGV4dCAmJiBkaXNhYmxlbGFiZWxcIlxuICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2wtcGxhaW50ZXh0IGFsaWduLXNlbGYtdG9wIG1sLTIgbXItMSB3LWF1dG9cIlxuICAgICAgICAgICAgW25nQ2xhc3NdPVwiW2NvbXBvbmVudEhlaWdodCB8IHRvQ29udHJvbEhlaWdodF1cIj5cbiAgICAgICAgICAgIDxzYWMtdG9vbHRpcFxuICAgICAgICAgICAgICAgIFt0b29sdGlwdGV4dF09XCJoZWxwdGV4dFwiXG4gICAgICAgICAgICAgICAgW2lubGluZW1vZGVdPVwidHJ1ZVwiPlxuICAgICAgICAgICAgICAgIDxzcGFuXG4gICAgICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cIkhlbHB0ZXh0VG9vbHRpcEljb25cIlxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cIm1sLTFcIj5cbiAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICA8L3NhYy10b29sdGlwPlxuICAgICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbjwvZGl2PlxuXG48c2FjLWRpYWxvZ1xuICAgICpuZ0lmPVwic2VsZWN0ZGlhbG9ndmlzaWJsZVwiXG4gICAgW2FsbG93ZXNjXT1cImZhbHNlXCJcbiAgICBbYmFja2Ryb3BdPVwidHJ1ZVwiXG4gICAgWyhpc3Zpc2libGUpXT1cInNlbGVjdGRpYWxvZ3Zpc2libGVcIlxuICAgIHRpdGxlPVwie3sgbG5nUmVzb3VyY2VTZXJ2aWNlLkdldFN0cmluZyh2YWxpZGF0aW9uS2V5U2VydmljZS5UaW55TWNlRmlsZXNlbGVjdERpYWxvZ3RpdGxlKSB8IGFzeW5jIH19XCJcbiAgICBzaXplPVwibGFyZ2VcIlxuICAgIGhlaWdodD1cIjUwMHB4XCI+XG4gICAgPG5nLWNvbnRhaW5lciBkaWFsb2dib2R5PlxuICAgICAgICA8c2FjLWZpbGVicm93c2VyXG4gICAgICAgICAgICBbYXBpdXJsXT1cImZpbGVicm93c2VyYXBpdXJsXCJcbiAgICAgICAgICAgIChmaWxlKT1cInNlbGVjdERpYWxvZ1NldHRpbmdzLnZhbHVlID0gJGV2ZW50XCJcbiAgICAgICAgICAgIFthbGxvd2ZvbGRlcmNyZWF0ZV09XCJhbGxvd2ZvbGRlcmNyZWF0ZVwiXG4gICAgICAgICAgICBbYWxsb3dmb2xkZXJyZW5hbWVdPVwiYWxsb3dmb2xkZXJyZW5hbWVcIlxuICAgICAgICAgICAgW2FsbG93Zm9sZGVyZGVsZXRlXT1cImFsbG93Zm9sZGVyZGVsZXRlXCJcbiAgICAgICAgICAgIFthbGxvd2ZpbGV1cGxvYWRdPVwiYWxsb3dmaWxldXBsb2FkXCJcbiAgICAgICAgICAgIFthbGxvd2ZpbGVyZW5hbWVdPVwiYWxsb3dmaWxlcmVuYW1lXCJcbiAgICAgICAgICAgIFthbGxvd2ZpbGVkZWxldGVdPVwiYWxsb3dmaWxlZGVsZXRlXCJcbiAgICAgICAgICAgIFtzZWxlY3RlZGZpbGVdPVwic2VsZWN0RGlhbG9nU2V0dGluZ3MudmFsdWVcIlxuICAgICAgICAgICAgW2FsbG93ZWR0eXBlc109XCJzZWxlY3REaWFsb2dTZXR0aW5ncy5hbGxvd2VkdHlwZXNcIj48L3NhYy1maWxlYnJvd3Nlcj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8bmctY29udGFpbmVyIGRpYWxvZ2Zvb3Rlcj5cbiAgICAgICAgPHNhYy1idXR0b25cbiAgICAgICAgICAgIHJvbGU9XCJwcmltYXJ5XCJcbiAgICAgICAgICAgIFtuYW1lXT1cIm5hbWUgKyAnX21vZGFsT2snXCJcbiAgICAgICAgICAgIHRleHQ9XCJ7eyBsbmdSZXNvdXJjZVNlcnZpY2UuR2V0U3RyaW5nKHZhbGlkYXRpb25LZXlTZXJ2aWNlLlRpbnlNY2VGaWxlc2VsZWN0T2spIHwgYXN5bmMgfX1cIlxuICAgICAgICAgICAgKGNsaWNrZWQpPVwic2V0U2VsZWN0RGlhbG9nUmVzdWx0KClcIj48L3NhYy1idXR0b24+XG4gICAgICAgIDxzYWMtYnV0dG9uXG4gICAgICAgICAgICBbbmFtZV09XCJuYW1lICsgJ19tb2RhbENsb3NlJ1wiXG4gICAgICAgICAgICB0ZXh0PVwie3sgbG5nUmVzb3VyY2VTZXJ2aWNlLkdldFN0cmluZyh2YWxpZGF0aW9uS2V5U2VydmljZS5UaW55TWNlRmlsZXNlbGVjdENhbmNlbCkgfCBhc3luYyB9fVwiXG4gICAgICAgICAgICAoY2xpY2tlZCk9XCJjbG9zZVNlbGVjdERpYWxvZygpXCI+PC9zYWMtYnV0dG9uPlxuICAgIDwvbmctY29udGFpbmVyPlxuPC9zYWMtZGlhbG9nPlxuIl19
@@ -14,4 +14,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
14
14
  exports: [SacTinyMceComponent],
15
15
  }]
16
16
  }] });
17
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGlueW1jZS5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zYWMtYm9vdHN0cmFwNC9zcmMvY29udHJvbHMvdGlueW1jZS90aW55bWNlLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLFdBQVcsQ0FBQzs7QUFFaEQsTUFJYSwwQkFBMEI7K0dBQTFCLDBCQUEwQjtnSEFBMUIsMEJBQTBCLFlBSDNCLG1CQUFtQixhQUNuQixtQkFBbUI7Z0hBRWxCLDBCQUEwQixZQUgzQixtQkFBbUI7O1NBR2xCLDBCQUEwQjs0RkFBMUIsMEJBQTBCO2tCQUp0QyxRQUFRO21CQUFDO29CQUNSLE9BQU8sRUFBRSxDQUFDLG1CQUFtQixDQUFDO29CQUM5QixPQUFPLEVBQUUsQ0FBQyxtQkFBbUIsQ0FBQztpQkFDL0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBTYWNUaW55TWNlQ29tcG9uZW50IH0gZnJvbSAnLi90aW55bWNlJztcclxuXHJcbkBOZ01vZHVsZSh7XHJcbiAgaW1wb3J0czogW1NhY1RpbnlNY2VDb21wb25lbnRdLFxyXG4gIGV4cG9ydHM6IFtTYWNUaW55TWNlQ29tcG9uZW50XSxcclxufSlcclxuZXhwb3J0IGNsYXNzIFNBQ0Jvb3RzdHJhcDRUaW55TWNlTW9kdWxlIHt9XHJcbiJdfQ==
17
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGlueW1jZS5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zYWMtYm9vdHN0cmFwNC9zcmMvY29udHJvbHMvdGlueW1jZS90aW55bWNlLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLFdBQVcsQ0FBQzs7QUFFaEQsTUFJYSwwQkFBMEI7K0dBQTFCLDBCQUEwQjtnSEFBMUIsMEJBQTBCLFlBSDNCLG1CQUFtQixhQUNuQixtQkFBbUI7Z0hBRWxCLDBCQUEwQixZQUgzQixtQkFBbUI7O1NBR2xCLDBCQUEwQjs0RkFBMUIsMEJBQTBCO2tCQUp0QyxRQUFRO21CQUFDO29CQUNSLE9BQU8sRUFBRSxDQUFDLG1CQUFtQixDQUFDO29CQUM5QixPQUFPLEVBQUUsQ0FBQyxtQkFBbUIsQ0FBQztpQkFDL0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU2FjVGlueU1jZUNvbXBvbmVudCB9IGZyb20gJy4vdGlueW1jZSc7XG5cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtTYWNUaW55TWNlQ29tcG9uZW50XSxcbiAgZXhwb3J0czogW1NhY1RpbnlNY2VDb21wb25lbnRdLFxufSlcbmV4cG9ydCBjbGFzcyBTQUNCb290c3RyYXA0VGlueU1jZU1vZHVsZSB7fVxuIl19
@@ -0,0 +1,51 @@
1
+ import { NgIf } from '@angular/common';
2
+ import { Component } from '@angular/core';
3
+ import { SacTestingAttributePipe, SacTooltipCommon } from '@simpleangularcontrols/sac-common';
4
+ import * as i0 from "@angular/core";
5
+ /**
6
+ * Tooltip Komponente
7
+ *
8
+ * @example ToolTip Control
9
+ *
10
+ * <ngTooltip tooltiptext="Mein Tooltip" [inlinemode]="true">
11
+ * <i class="tooltip"></i>
12
+ * </ngTooltip>
13
+ *
14
+ * @example ToolTip Control im Inline Mode. Style auf Icon kann auch in Klasse ausgelagert werden.
15
+ *
16
+ * <div class="form-inline">
17
+ * <ngInputSearch iconname="Suchen"></ngInputSearch>
18
+ * <ngTooltip tooltiptext="Mein Tooltip" [inlinemode]="true">
19
+ * <i class="tooltip" style="position: relative; left: 0; top: 3px; display: inline-block; margin-right: 10px;"></i>
20
+ * </ngTooltip>
21
+ * </div>
22
+ *
23
+ */
24
+ class SacTooltipComponent extends SacTooltipCommon {
25
+ // #region Constructors
26
+ /**
27
+ * Konstrukor
28
+ * @param parent SacFormular Instanz
29
+ * @param injector Component Injector
30
+ */
31
+ constructor(cdRef, ref) {
32
+ super(cdRef, ref);
33
+ }
34
+ // #endregion Constructors
35
+ // #region Protected Methods
36
+ /**
37
+ * Padding Value for Bootstrap5 Tooltip Padding
38
+ * @returns Static Padding Value for BS5
39
+ */
40
+ getTooltipOffset() {
41
+ return 2;
42
+ }
43
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SacTooltipComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
44
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: SacTooltipComponent, isStandalone: true, selector: "sac-tooltip", usesInheritance: true, ngImport: i0, template: "<div\n [style.display]=\"inlinemode ? 'inline' : null\"\n [attr.data-e2e-key]=\"name | testingattribute : e2eidentifier\">\n <div\n #container\n (mouseenter)=\"ShowTooltip()\"\n (mouseleave)=\"HideTooltip()\"\n [style.display]=\"inlinemode ? 'inline' : null\">\n <ng-content></ng-content>\n </div>\n <div\n #tooltip\n *ngIf=\"IsTooltipVisible()\">\n <div\n [class.show]=\"IsTooltipContentVisible\"\n class=\"tooltip bs-tooltip-auto fade\"\n style=\"position: absolute\"\n [style.left.px]=\"LeftPos\"\n [style.top.px]=\"TopPos\"\n [class.top]=\"GetTooltipPosition() === TooltipPosition.top\"\n [class.left]=\"GetTooltipPosition() === TooltipPosition.left\"\n [class.right]=\"GetTooltipPosition() === TooltipPosition.right\"\n [class.bottom]=\"GetTooltipPosition() === TooltipPosition.bottom\"\n [attr.x-placement]=\"\n GetTooltipPosition() === TooltipPosition.right\n ? 'right'\n : GetTooltipPosition() === TooltipPosition.left\n ? 'left'\n : GetTooltipPosition() === TooltipPosition.top\n ? 'top'\n : GetTooltipPosition() === TooltipPosition.bottom\n ? 'bottom'\n : null\n \">\n <div\n class=\"arrow\"\n style=\"position: absolute\"\n [style.top.px]=\"GetTooltipPosition() === TooltipPosition.left || GetTooltipPosition() === TooltipPosition.right ? getToolTipHeight() / 2 - 6.5 : null\"\n [style.left.px]=\"GetTooltipPosition() === TooltipPosition.bottom || GetTooltipPosition() === TooltipPosition.top ? getToolTipWidth() / 2 - 6.5 : null\"></div>\n <div class=\"tooltip-inner\">{{ tooltiptext }}</div>\n </div>\n </div>\n</div>\n", dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: SacTestingAttributePipe, name: "testingattribute" }] }); }
45
+ }
46
+ export { SacTooltipComponent };
47
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SacTooltipComponent, decorators: [{
48
+ type: Component,
49
+ args: [{ selector: 'sac-tooltip', standalone: true, imports: [NgIf, SacTestingAttributePipe], template: "<div\n [style.display]=\"inlinemode ? 'inline' : null\"\n [attr.data-e2e-key]=\"name | testingattribute : e2eidentifier\">\n <div\n #container\n (mouseenter)=\"ShowTooltip()\"\n (mouseleave)=\"HideTooltip()\"\n [style.display]=\"inlinemode ? 'inline' : null\">\n <ng-content></ng-content>\n </div>\n <div\n #tooltip\n *ngIf=\"IsTooltipVisible()\">\n <div\n [class.show]=\"IsTooltipContentVisible\"\n class=\"tooltip bs-tooltip-auto fade\"\n style=\"position: absolute\"\n [style.left.px]=\"LeftPos\"\n [style.top.px]=\"TopPos\"\n [class.top]=\"GetTooltipPosition() === TooltipPosition.top\"\n [class.left]=\"GetTooltipPosition() === TooltipPosition.left\"\n [class.right]=\"GetTooltipPosition() === TooltipPosition.right\"\n [class.bottom]=\"GetTooltipPosition() === TooltipPosition.bottom\"\n [attr.x-placement]=\"\n GetTooltipPosition() === TooltipPosition.right\n ? 'right'\n : GetTooltipPosition() === TooltipPosition.left\n ? 'left'\n : GetTooltipPosition() === TooltipPosition.top\n ? 'top'\n : GetTooltipPosition() === TooltipPosition.bottom\n ? 'bottom'\n : null\n \">\n <div\n class=\"arrow\"\n style=\"position: absolute\"\n [style.top.px]=\"GetTooltipPosition() === TooltipPosition.left || GetTooltipPosition() === TooltipPosition.right ? getToolTipHeight() / 2 - 6.5 : null\"\n [style.left.px]=\"GetTooltipPosition() === TooltipPosition.bottom || GetTooltipPosition() === TooltipPosition.top ? getToolTipWidth() / 2 - 6.5 : null\"></div>\n <div class=\"tooltip-inner\">{{ tooltiptext }}</div>\n </div>\n </div>\n</div>\n" }]
50
+ }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }]; } });
51
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbHRpcC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NhYy1ib290c3RyYXA0L3NyYy9jb250cm9scy90b29sdGlwL3Rvb2x0aXAudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zYWMtYm9vdHN0cmFwNC9zcmMvY29udHJvbHMvdG9vbHRpcC90b29sdGlwLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3ZDLE9BQU8sRUFBcUIsU0FBUyxFQUFjLE1BQU0sZUFBZSxDQUFDO0FBQ3pFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG1DQUFtQyxDQUFDOztBQUU5Rjs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBa0JHO0FBQ0gsTUFNYSxtQkFBb0IsU0FBUSxnQkFBZ0I7SUFDckQsdUJBQXVCO0lBRXZCOzs7O09BSUc7SUFDSCxZQUFZLEtBQXdCLEVBQUUsR0FBZTtRQUNqRCxLQUFLLENBQUMsS0FBSyxFQUFFLEdBQUcsQ0FBQyxDQUFDO0lBQ3RCLENBQUM7SUFFRCwwQkFBMEI7SUFFMUIsNEJBQTRCO0lBRTVCOzs7T0FHRztJQUNPLGdCQUFnQjtRQUN0QixPQUFPLENBQUMsQ0FBQztJQUNiLENBQUM7K0dBdEJRLG1CQUFtQjttR0FBbkIsbUJBQW1CLDhGQzdCaEMsaThEQTJDQSw0Q0RoQmMsSUFBSSx3RkFBRSx1QkFBdUI7O1NBRTlCLG1CQUFtQjs0RkFBbkIsbUJBQW1CO2tCQU4vQixTQUFTOytCQUNJLGFBQWEsY0FFWCxJQUFJLFdBQ1AsQ0FBQyxJQUFJLEVBQUUsdUJBQXVCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ0lmIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIEVsZW1lbnRSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFNhY1Rlc3RpbmdBdHRyaWJ1dGVQaXBlLCBTYWNUb29sdGlwQ29tbW9uIH0gZnJvbSAnQHNpbXBsZWFuZ3VsYXJjb250cm9scy9zYWMtY29tbW9uJztcblxuLyoqXG4gKiBUb29sdGlwIEtvbXBvbmVudGVcbiAqXG4gKiBAZXhhbXBsZSBUb29sVGlwIENvbnRyb2xcbiAqXG4gKiAgPG5nVG9vbHRpcCB0b29sdGlwdGV4dD1cIk1laW4gVG9vbHRpcFwiIFtpbmxpbmVtb2RlXT1cInRydWVcIj5cbiAqICAgIDxpIGNsYXNzPVwidG9vbHRpcFwiPjwvaT5cbiAqICA8L25nVG9vbHRpcD5cbiAqXG4gKiBAZXhhbXBsZSBUb29sVGlwIENvbnRyb2wgaW0gSW5saW5lIE1vZGUuIFN0eWxlIGF1ZiBJY29uIGthbm4gYXVjaCBpbiBLbGFzc2UgYXVzZ2VsYWdlcnQgd2VyZGVuLlxuICpcbiAqICA8ZGl2IGNsYXNzPVwiZm9ybS1pbmxpbmVcIj5cbiAqICAgIDxuZ0lucHV0U2VhcmNoIGljb25uYW1lPVwiU3VjaGVuXCI+PC9uZ0lucHV0U2VhcmNoPlxuICogICAgPG5nVG9vbHRpcCB0b29sdGlwdGV4dD1cIk1laW4gVG9vbHRpcFwiIFtpbmxpbmVtb2RlXT1cInRydWVcIj5cbiAqICAgICAgPGkgY2xhc3M9XCJ0b29sdGlwXCIgc3R5bGU9XCJwb3NpdGlvbjogcmVsYXRpdmU7IGxlZnQ6IDA7IHRvcDogM3B4OyBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IG1hcmdpbi1yaWdodDogMTBweDtcIj48L2k+XG4gKiAgICA8L25nVG9vbHRpcD5cbiAqICA8L2Rpdj5cbiAqXG4gKi9cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnc2FjLXRvb2x0aXAnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi90b29sdGlwLmh0bWwnLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaW1wb3J0czogW05nSWYsIFNhY1Rlc3RpbmdBdHRyaWJ1dGVQaXBlXSxcbn0pXG5leHBvcnQgY2xhc3MgU2FjVG9vbHRpcENvbXBvbmVudCBleHRlbmRzIFNhY1Rvb2x0aXBDb21tb24ge1xuICAgIC8vICNyZWdpb24gQ29uc3RydWN0b3JzXG5cbiAgICAvKipcbiAgICAgKiBLb25zdHJ1a29yXG4gICAgICogQHBhcmFtIHBhcmVudCBTYWNGb3JtdWxhciBJbnN0YW56XG4gICAgICogQHBhcmFtIGluamVjdG9yIENvbXBvbmVudCBJbmplY3RvclxuICAgICAqL1xuICAgIGNvbnN0cnVjdG9yKGNkUmVmOiBDaGFuZ2VEZXRlY3RvclJlZiwgcmVmOiBFbGVtZW50UmVmKSB7XG4gICAgICAgIHN1cGVyKGNkUmVmLCByZWYpO1xuICAgIH1cblxuICAgIC8vICNlbmRyZWdpb24gQ29uc3RydWN0b3JzXG5cbiAgICAvLyAjcmVnaW9uIFByb3RlY3RlZCBNZXRob2RzXG5cbiAgICAvKipcbiAgICAgKiBQYWRkaW5nIFZhbHVlIGZvciBCb290c3RyYXA1IFRvb2x0aXAgUGFkZGluZ1xuICAgICAqIEByZXR1cm5zIFN0YXRpYyBQYWRkaW5nIFZhbHVlIGZvciBCUzVcbiAgICAgKi9cbiAgICBwcm90ZWN0ZWQgZ2V0VG9vbHRpcE9mZnNldCgpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gMjtcbiAgICB9XG5cbiAgICAvLyAjZW5kcmVnaW9uIFByb3RlY3RlZCBNZXRob2RzXG59XG4iLCI8ZGl2XG4gICAgW3N0eWxlLmRpc3BsYXldPVwiaW5saW5lbW9kZSA/ICdpbmxpbmUnIDogbnVsbFwiXG4gICAgW2F0dHIuZGF0YS1lMmUta2V5XT1cIm5hbWUgfCB0ZXN0aW5nYXR0cmlidXRlIDogZTJlaWRlbnRpZmllclwiPlxuICAgIDxkaXZcbiAgICAgICAgI2NvbnRhaW5lclxuICAgICAgICAobW91c2VlbnRlcik9XCJTaG93VG9vbHRpcCgpXCJcbiAgICAgICAgKG1vdXNlbGVhdmUpPVwiSGlkZVRvb2x0aXAoKVwiXG4gICAgICAgIFtzdHlsZS5kaXNwbGF5XT1cImlubGluZW1vZGUgPyAnaW5saW5lJyA6IG51bGxcIj5cbiAgICAgICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICAgIDwvZGl2PlxuICAgIDxkaXZcbiAgICAgICAgI3Rvb2x0aXBcbiAgICAgICAgKm5nSWY9XCJJc1Rvb2x0aXBWaXNpYmxlKClcIj5cbiAgICAgICAgPGRpdlxuICAgICAgICAgICAgW2NsYXNzLnNob3ddPVwiSXNUb29sdGlwQ29udGVudFZpc2libGVcIlxuICAgICAgICAgICAgY2xhc3M9XCJ0b29sdGlwIGJzLXRvb2x0aXAtYXV0byBmYWRlXCJcbiAgICAgICAgICAgIHN0eWxlPVwicG9zaXRpb246IGFic29sdXRlXCJcbiAgICAgICAgICAgIFtzdHlsZS5sZWZ0LnB4XT1cIkxlZnRQb3NcIlxuICAgICAgICAgICAgW3N0eWxlLnRvcC5weF09XCJUb3BQb3NcIlxuICAgICAgICAgICAgW2NsYXNzLnRvcF09XCJHZXRUb29sdGlwUG9zaXRpb24oKSA9PT0gVG9vbHRpcFBvc2l0aW9uLnRvcFwiXG4gICAgICAgICAgICBbY2xhc3MubGVmdF09XCJHZXRUb29sdGlwUG9zaXRpb24oKSA9PT0gVG9vbHRpcFBvc2l0aW9uLmxlZnRcIlxuICAgICAgICAgICAgW2NsYXNzLnJpZ2h0XT1cIkdldFRvb2x0aXBQb3NpdGlvbigpID09PSBUb29sdGlwUG9zaXRpb24ucmlnaHRcIlxuICAgICAgICAgICAgW2NsYXNzLmJvdHRvbV09XCJHZXRUb29sdGlwUG9zaXRpb24oKSA9PT0gVG9vbHRpcFBvc2l0aW9uLmJvdHRvbVwiXG4gICAgICAgICAgICBbYXR0ci54LXBsYWNlbWVudF09XCJcbiAgICAgICAgICAgICAgICBHZXRUb29sdGlwUG9zaXRpb24oKSA9PT0gVG9vbHRpcFBvc2l0aW9uLnJpZ2h0XG4gICAgICAgICAgICAgICAgICAgID8gJ3JpZ2h0J1xuICAgICAgICAgICAgICAgICAgICA6IEdldFRvb2x0aXBQb3NpdGlvbigpID09PSBUb29sdGlwUG9zaXRpb24ubGVmdFxuICAgICAgICAgICAgICAgICAgICA/ICdsZWZ0J1xuICAgICAgICAgICAgICAgICAgICA6IEdldFRvb2x0aXBQb3NpdGlvbigpID09PSBUb29sdGlwUG9zaXRpb24udG9wXG4gICAgICAgICAgICAgICAgICAgID8gJ3RvcCdcbiAgICAgICAgICAgICAgICAgICAgOiBHZXRUb29sdGlwUG9zaXRpb24oKSA9PT0gVG9vbHRpcFBvc2l0aW9uLmJvdHRvbVxuICAgICAgICAgICAgICAgICAgICA/ICdib3R0b20nXG4gICAgICAgICAgICAgICAgICAgIDogbnVsbFxuICAgICAgICAgICAgXCI+XG4gICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgY2xhc3M9XCJhcnJvd1wiXG4gICAgICAgICAgICAgICAgc3R5bGU9XCJwb3NpdGlvbjogYWJzb2x1dGVcIlxuICAgICAgICAgICAgICAgIFtzdHlsZS50b3AucHhdPVwiR2V0VG9vbHRpcFBvc2l0aW9uKCkgPT09IFRvb2x0aXBQb3NpdGlvbi5sZWZ0IHx8IEdldFRvb2x0aXBQb3NpdGlvbigpID09PSBUb29sdGlwUG9zaXRpb24ucmlnaHQgPyBnZXRUb29sVGlwSGVpZ2h0KCkgLyAyIC0gNi41IDogbnVsbFwiXG4gICAgICAgICAgICAgICAgW3N0eWxlLmxlZnQucHhdPVwiR2V0VG9vbHRpcFBvc2l0aW9uKCkgPT09IFRvb2x0aXBQb3NpdGlvbi5ib3R0b20gfHwgR2V0VG9vbHRpcFBvc2l0aW9uKCkgPT09IFRvb2x0aXBQb3NpdGlvbi50b3AgPyBnZXRUb29sVGlwV2lkdGgoKSAvIDIgLSA2LjUgOiBudWxsXCI+PC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwidG9vbHRpcC1pbm5lclwiPnt7IHRvb2x0aXB0ZXh0IH19PC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuPC9kaXY+XG4iXX0=
@@ -0,0 +1,18 @@
1
+ import { CommonModule } from '@angular/common';
2
+ import { NgModule } from '@angular/core';
3
+ import { SacTooltipComponent } from './tooltip';
4
+ import * as i0 from "@angular/core";
5
+ class SACBootstrap4TooltipModule {
6
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SACBootstrap4TooltipModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
7
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: SACBootstrap4TooltipModule, imports: [CommonModule, SacTooltipComponent], exports: [SacTooltipComponent] }); }
8
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SACBootstrap4TooltipModule, imports: [CommonModule] }); }
9
+ }
10
+ export { SACBootstrap4TooltipModule };
11
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SACBootstrap4TooltipModule, decorators: [{
12
+ type: NgModule,
13
+ args: [{
14
+ imports: [CommonModule, SacTooltipComponent],
15
+ exports: [SacTooltipComponent],
16
+ }]
17
+ }] });
18
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbHRpcC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zYWMtYm9vdHN0cmFwNC9zcmMvY29udHJvbHMvdG9vbHRpcC90b29sdGlwLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxXQUFXLENBQUM7O0FBRWhELE1BSWEsMEJBQTBCOytHQUExQiwwQkFBMEI7Z0hBQTFCLDBCQUEwQixZQUgzQixZQUFZLEVBQUUsbUJBQW1CLGFBQ2pDLG1CQUFtQjtnSEFFbEIsMEJBQTBCLFlBSDNCLFlBQVk7O1NBR1gsMEJBQTBCOzRGQUExQiwwQkFBMEI7a0JBSnRDLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFLENBQUMsWUFBWSxFQUFFLG1CQUFtQixDQUFDO29CQUM1QyxPQUFPLEVBQUUsQ0FBQyxtQkFBbUIsQ0FBQztpQkFDL0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFNhY1Rvb2x0aXBDb21wb25lbnQgfSBmcm9tICcuL3Rvb2x0aXAnO1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBTYWNUb29sdGlwQ29tcG9uZW50XSxcbiAgZXhwb3J0czogW1NhY1Rvb2x0aXBDb21wb25lbnRdLFxufSlcbmV4cG9ydCBjbGFzcyBTQUNCb290c3RyYXA0VG9vbHRpcE1vZHVsZSB7fVxuIl19
@@ -0,0 +1,71 @@
1
+ import { SacToControlHeightPipe } from '../layout/tocontrolheight.pipe';
2
+ import { SacToControlWidthCssPipe } from '../layout/tocontrolwidthcss.pipe';
3
+ import { SacToLabelHeightPipe } from '../layout/tolabelheight.pipe';
4
+ import { SacToLabelWidthCssPipe } from '../layout/tolabelwidthcss.pipe';
5
+ import { SacTooltipComponent } from '../tooltip/tooltip';
6
+ import { AsyncPipe, NgClass, NgFor, NgIf, NgTemplateOutlet } from '@angular/common';
7
+ import { Component, Host, Optional, forwardRef } from '@angular/core';
8
+ import { NG_VALIDATORS, NG_VALUE_ACCESSOR } from '@angular/forms';
9
+ import { SacTestingAttributePipe, SacTreeviewCommon } from '@simpleangularcontrols/sac-common';
10
+ import * as i0 from "@angular/core";
11
+ import * as i1 from "../layout/formlayout.directive";
12
+ /**
13
+ * Treeview Compomnent
14
+ */
15
+ class SacTreeviewComponent extends SacTreeviewCommon {
16
+ // #region Constructors
17
+ /**
18
+ * Constructor
19
+ * @param formLayout SacFormLayout to define scoped layout settings
20
+ * @param injector Component Injector
21
+ */
22
+ constructor(formLayout, injector) {
23
+ super(formLayout, injector);
24
+ }
25
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SacTreeviewComponent, deps: [{ token: i1.SacFormLayoutDirective, host: true, optional: true }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component }); }
26
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: SacTreeviewComponent, isStandalone: true, selector: "sac-treeview", providers: [
27
+ {
28
+ provide: NG_VALUE_ACCESSOR,
29
+ multi: true,
30
+ useExisting: SacTreeviewComponent,
31
+ },
32
+ {
33
+ provide: NG_VALIDATORS,
34
+ useExisting: forwardRef(() => SacTreeviewComponent),
35
+ multi: true,
36
+ },
37
+ ], usesInheritance: true, ngImport: i0, template: "<div\n class=\"row mb-3\"\n [class.g-0]=\"disablelabel\"\n [attr.data-e2e-key]=\"name | testingattribute : e2eidentifier\">\n <label\n for=\"{{ name }}\"\n class=\"col-12 col-form-label d-flex\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'sr-only', componentHeight | toLabelHeight]\"\n [class.required]=\"isrequired\">\n <div\n class=\"text flex-grow-0\"\n [class.flex-sm-grow-1]=\"splitlabelandhelptext\">\n {{ label }}\n </div>\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [ngClass]=\"HelptextTooltipIcon\"\n class=\"ml-1\">\n </span>\n </sac-tooltip>\n </label>\n <div\n class=\"col-12\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\">\n <div [class.d-flex]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\n <div\n class=\"w-100\"\n [style.min-width]=\"helptextmode === 'tooltip' && helptext && disablelabel ? 0 : null\"\n [class.mr-1]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\n <ul\n class=\"list-group list-group-flush\"\n id=\"{{ name }}\"\n [class.is-invalid]=\"invalid && (dirty || touched)\"\n [class.border]=\"invalid && (dirty || touched)\"\n [class.border-danger]=\"invalid && (dirty || touched)\">\n <ng-container *ngFor=\"let node of data\">\n <ng-template\n [ngTemplateOutlet]=\"treeItem\"\n [ngTemplateOutletContext]=\"{ node: node, deep: 0, path: '', textpath: '' }\">\n </ng-template>\n </ng-container>\n </ul>\n\n <div\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\"\n class=\"invalid-feedback\">\n {{ GetErrorMessage() | async }}\n </div>\n\n <small\n *ngIf=\"helptextmode === 'text' && helptext\"\n class=\"form-text text-muted\">\n {{ helptext }}\n </small>\n </div>\n\n <div\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\n class=\"form-control-plaintext align-self-top ml-2 mr-1 w-auto\"\n [ngClass]=\"[componentHeight | toControlHeight]\">\n <sac-tooltip\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [ngClass]=\"HelptextTooltipIcon\"\n class=\"ml-1\">\n </span>\n </sac-tooltip>\n </div>\n </div>\n </div>\n</div>\n<ng-template\n #treeItem\n let-node=\"node\"\n let-deep=\"deep\"\n let-path=\"path\"\n let-textpath=\"textpath\">\n <li\n class=\"list-group-item list-group-item-action py-1 px-2 d-flex align-items-center\"\n [class.active]=\"isSelectedState(node)\"\n (mouseenter)=\"setHoverState(node, true)\"\n (mouseleave)=\"setHoverState(node, false)\"\n style=\"cursor: pointer\"\n attr.data-path=\"{{ path }}/{{ getStringField(node, attrid) }}\"\n attr.data-textpath=\"{{ textpath }}/{{ getStringField(node, attrlabel) }}\">\n <div\n class=\"mx-3\"\n *ngFor=\"let i of count(deep)\">\n </div>\n\n <div\n (click)=\"onNodeClicked(node)\"\n *ngIf=\"expandedstate === 'true' || expandedstate === true\"\n class=\"mr-2\"\n [ngClass]=\"!hasChildren(node) ? iconFolderEmpty : !isExpandedState(node) ? iconFolderCollabsed : isExpandedState(node) ? iconFolderOpen : ''\">\n </div>\n\n <div\n (click)=\"onNodeClicked(node)\"\n *ngIf=\"attricon && getStringField(node, attricon)\">\n <ng-template\n [ngTemplateOutlet]=\"templateicon || defaultTemplateIcon\"\n [ngTemplateOutletContext]=\"{ node: node }\">\n </ng-template>\n </div>\n\n <div\n (click)=\"onNodeClicked(node)\"\n class=\"flex-grow-1 py-1\"\n [style.overflow]=\"enableellipsis ? 'hidden' : null\"\n [style.text-overflow]=\"enableellipsis ? 'ellipsis' : null\"\n [style.white-space]=\"enableellipsis ? 'nowrap' : null\">\n <ng-template\n [ngTemplateOutlet]=\"templatelabel || defaultTemplateLabel\"\n [ngTemplateOutletContext]=\"{ node: node, label: getStringField(node, attrlabel) }\">\n </ng-template>\n </div>\n\n <div\n (click)=\"setSelectedState(node)\"\n class=\"flex-shrink-0\"\n *ngIf=\"!isDisabledState(node) && (showactionalways || isSelectedState(node) || isHoverState(node))\">\n <ng-template\n [ngTemplateOutlet]=\"templateaction || defaultTemplateAction\"\n [ngTemplateOutletContext]=\"{ node: node, actionhandler: onActionClicked.bind(this) }\">\n </ng-template>\n </div>\n </li>\n\n <ng-container *ngIf=\"isExpandedState(node)\">\n <ng-template\n *ngFor=\"let child of getChildren(node)\"\n [ngTemplateOutlet]=\"treeItem\"\n [ngTemplateOutletContext]=\"{\n node: child,\n deep: deep + 1,\n path: path + '/' + getStringField(node, attrid),\n textpath: textpath + '/' + getStringField(node, attrlabel)\n }\">\n </ng-template>\n </ng-container>\n</ng-template>\n<ng-template\n #defaultTemplateLabel\n let-label=\"label\"\n let-node=\"node\">\n <span [title]=\"label\">{{ label }}</span>\n</ng-template>\n\n<ng-template\n #defaultTemplateIcon\n let-node=\"node\">\n <div\n class=\"mr-2\"\n [ngClass]=\"getStringField(node, attricon)\">\n </div>\n</ng-template>\n\n<ng-template\n #defaultTemplateAction\n let-node=\"node\"\n let-actionhandler=\"actionhandler\">\n <a\n class=\"btn btn-sm btn-link text-secondary\"\n (click)=\"actionhandler({ action: 'default', node: node })\">\n <i [class]=\"iconAction\"></i>\n </a>\n</ng-template>\n", dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "pipe", type: SacToLabelWidthCssPipe, name: "toLabelWidthCss" }, { kind: "pipe", type: SacToLabelHeightPipe, name: "toLabelHeight" }, { kind: "component", type: SacTooltipComponent, selector: "sac-tooltip" }, { kind: "pipe", type: SacToControlWidthCssPipe, name: "toControlWidthCss" }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "pipe", type: SacToControlHeightPipe, name: "toControlHeight" }, { kind: "pipe", type: SacTestingAttributePipe, name: "testingattribute" }] }); }
38
+ }
39
+ export { SacTreeviewComponent };
40
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SacTreeviewComponent, decorators: [{
41
+ type: Component,
42
+ args: [{ selector: 'sac-treeview', providers: [
43
+ {
44
+ provide: NG_VALUE_ACCESSOR,
45
+ multi: true,
46
+ useExisting: SacTreeviewComponent,
47
+ },
48
+ {
49
+ provide: NG_VALIDATORS,
50
+ useExisting: forwardRef(() => SacTreeviewComponent),
51
+ multi: true,
52
+ },
53
+ ], standalone: true, imports: [
54
+ NgIf,
55
+ NgFor,
56
+ NgTemplateOutlet,
57
+ NgClass,
58
+ SacToLabelWidthCssPipe,
59
+ SacToLabelHeightPipe,
60
+ SacTooltipComponent,
61
+ SacToControlWidthCssPipe,
62
+ AsyncPipe,
63
+ SacToControlHeightPipe,
64
+ SacTestingAttributePipe,
65
+ ], template: "<div\n class=\"row mb-3\"\n [class.g-0]=\"disablelabel\"\n [attr.data-e2e-key]=\"name | testingattribute : e2eidentifier\">\n <label\n for=\"{{ name }}\"\n class=\"col-12 col-form-label d-flex\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'sr-only', componentHeight | toLabelHeight]\"\n [class.required]=\"isrequired\">\n <div\n class=\"text flex-grow-0\"\n [class.flex-sm-grow-1]=\"splitlabelandhelptext\">\n {{ label }}\n </div>\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [ngClass]=\"HelptextTooltipIcon\"\n class=\"ml-1\">\n </span>\n </sac-tooltip>\n </label>\n <div\n class=\"col-12\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\">\n <div [class.d-flex]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\n <div\n class=\"w-100\"\n [style.min-width]=\"helptextmode === 'tooltip' && helptext && disablelabel ? 0 : null\"\n [class.mr-1]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\n <ul\n class=\"list-group list-group-flush\"\n id=\"{{ name }}\"\n [class.is-invalid]=\"invalid && (dirty || touched)\"\n [class.border]=\"invalid && (dirty || touched)\"\n [class.border-danger]=\"invalid && (dirty || touched)\">\n <ng-container *ngFor=\"let node of data\">\n <ng-template\n [ngTemplateOutlet]=\"treeItem\"\n [ngTemplateOutletContext]=\"{ node: node, deep: 0, path: '', textpath: '' }\">\n </ng-template>\n </ng-container>\n </ul>\n\n <div\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\"\n class=\"invalid-feedback\">\n {{ GetErrorMessage() | async }}\n </div>\n\n <small\n *ngIf=\"helptextmode === 'text' && helptext\"\n class=\"form-text text-muted\">\n {{ helptext }}\n </small>\n </div>\n\n <div\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\n class=\"form-control-plaintext align-self-top ml-2 mr-1 w-auto\"\n [ngClass]=\"[componentHeight | toControlHeight]\">\n <sac-tooltip\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [ngClass]=\"HelptextTooltipIcon\"\n class=\"ml-1\">\n </span>\n </sac-tooltip>\n </div>\n </div>\n </div>\n</div>\n<ng-template\n #treeItem\n let-node=\"node\"\n let-deep=\"deep\"\n let-path=\"path\"\n let-textpath=\"textpath\">\n <li\n class=\"list-group-item list-group-item-action py-1 px-2 d-flex align-items-center\"\n [class.active]=\"isSelectedState(node)\"\n (mouseenter)=\"setHoverState(node, true)\"\n (mouseleave)=\"setHoverState(node, false)\"\n style=\"cursor: pointer\"\n attr.data-path=\"{{ path }}/{{ getStringField(node, attrid) }}\"\n attr.data-textpath=\"{{ textpath }}/{{ getStringField(node, attrlabel) }}\">\n <div\n class=\"mx-3\"\n *ngFor=\"let i of count(deep)\">\n </div>\n\n <div\n (click)=\"onNodeClicked(node)\"\n *ngIf=\"expandedstate === 'true' || expandedstate === true\"\n class=\"mr-2\"\n [ngClass]=\"!hasChildren(node) ? iconFolderEmpty : !isExpandedState(node) ? iconFolderCollabsed : isExpandedState(node) ? iconFolderOpen : ''\">\n </div>\n\n <div\n (click)=\"onNodeClicked(node)\"\n *ngIf=\"attricon && getStringField(node, attricon)\">\n <ng-template\n [ngTemplateOutlet]=\"templateicon || defaultTemplateIcon\"\n [ngTemplateOutletContext]=\"{ node: node }\">\n </ng-template>\n </div>\n\n <div\n (click)=\"onNodeClicked(node)\"\n class=\"flex-grow-1 py-1\"\n [style.overflow]=\"enableellipsis ? 'hidden' : null\"\n [style.text-overflow]=\"enableellipsis ? 'ellipsis' : null\"\n [style.white-space]=\"enableellipsis ? 'nowrap' : null\">\n <ng-template\n [ngTemplateOutlet]=\"templatelabel || defaultTemplateLabel\"\n [ngTemplateOutletContext]=\"{ node: node, label: getStringField(node, attrlabel) }\">\n </ng-template>\n </div>\n\n <div\n (click)=\"setSelectedState(node)\"\n class=\"flex-shrink-0\"\n *ngIf=\"!isDisabledState(node) && (showactionalways || isSelectedState(node) || isHoverState(node))\">\n <ng-template\n [ngTemplateOutlet]=\"templateaction || defaultTemplateAction\"\n [ngTemplateOutletContext]=\"{ node: node, actionhandler: onActionClicked.bind(this) }\">\n </ng-template>\n </div>\n </li>\n\n <ng-container *ngIf=\"isExpandedState(node)\">\n <ng-template\n *ngFor=\"let child of getChildren(node)\"\n [ngTemplateOutlet]=\"treeItem\"\n [ngTemplateOutletContext]=\"{\n node: child,\n deep: deep + 1,\n path: path + '/' + getStringField(node, attrid),\n textpath: textpath + '/' + getStringField(node, attrlabel)\n }\">\n </ng-template>\n </ng-container>\n</ng-template>\n<ng-template\n #defaultTemplateLabel\n let-label=\"label\"\n let-node=\"node\">\n <span [title]=\"label\">{{ label }}</span>\n</ng-template>\n\n<ng-template\n #defaultTemplateIcon\n let-node=\"node\">\n <div\n class=\"mr-2\"\n [ngClass]=\"getStringField(node, attricon)\">\n </div>\n</ng-template>\n\n<ng-template\n #defaultTemplateAction\n let-node=\"node\"\n let-actionhandler=\"actionhandler\">\n <a\n class=\"btn btn-sm btn-link text-secondary\"\n (click)=\"actionhandler({ action: 'default', node: node })\">\n <i [class]=\"iconAction\"></i>\n </a>\n</ng-template>\n" }]
66
+ }], ctorParameters: function () { return [{ type: i1.SacFormLayoutDirective, decorators: [{
67
+ type: Host
68
+ }, {
69
+ type: Optional
70
+ }] }, { type: i0.Injector }]; } });
71
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJlZXZpZXcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zYWMtYm9vdHN0cmFwNC9zcmMvY29udHJvbHMvdHJlZXZpZXcvdHJlZXZpZXcudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zYWMtYm9vdHN0cmFwNC9zcmMvY29udHJvbHMvdHJlZXZpZXcvdHJlZXZpZXcuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN4RSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUM1RSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNwRSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN4RSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUN6RCxPQUFPLEVBQUUsU0FBUyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLGdCQUFnQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDcEYsT0FBTyxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQVksUUFBUSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNoRixPQUFPLEVBQUUsYUFBYSxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEUsT0FBTyxFQUFFLHVCQUF1QixFQUFFLGlCQUFpQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7OztBQUUvRjs7R0FFRztBQUNILE1BOEJhLG9CQUFxQixTQUFRLGlCQUFpQjtJQUN2RCx1QkFBdUI7SUFFdkI7Ozs7T0FJRztJQUNILFlBQWdDLFVBQWtDLEVBQUUsUUFBa0I7UUFDbEYsS0FBSyxDQUFDLFVBQVUsRUFBRSxRQUFRLENBQUMsQ0FBQztJQUNoQyxDQUFDOytHQVZRLG9CQUFvQjttR0FBcEIsb0JBQW9CLDJEQTNCbEI7WUFDUDtnQkFDSSxPQUFPLEVBQUUsaUJBQWlCO2dCQUMxQixLQUFLLEVBQUUsSUFBSTtnQkFDWCxXQUFXLEVBQUUsb0JBQW9CO2FBQ3BDO1lBQ0Q7Z0JBQ0ksT0FBTyxFQUFFLGFBQWE7Z0JBQ3RCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsb0JBQW9CLENBQUM7Z0JBQ25ELEtBQUssRUFBRSxJQUFJO2FBQ2Q7U0FDSixpREM1Qkwsb2lOQTRLQSw0Q0Q3SVEsSUFBSSw2RkFDSixLQUFLLG1IQUNMLGdCQUFnQixvSkFDaEIsT0FBTywrRUFDUCxzQkFBc0IsbURBQ3RCLG9CQUFvQixzREFDcEIsbUJBQW1CLG1EQUNuQix3QkFBd0IscURBQ3hCLFNBQVMseUNBQ1Qsc0JBQXNCLG1EQUN0Qix1QkFBdUI7O1NBR2xCLG9CQUFvQjs0RkFBcEIsb0JBQW9CO2tCQTlCaEMsU0FBUzsrQkFDSSxjQUFjLGFBRWI7d0JBQ1A7NEJBQ0ksT0FBTyxFQUFFLGlCQUFpQjs0QkFDMUIsS0FBSyxFQUFFLElBQUk7NEJBQ1gsV0FBVyxzQkFBc0I7eUJBQ3BDO3dCQUNEOzRCQUNJLE9BQU8sRUFBRSxhQUFhOzRCQUN0QixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxxQkFBcUIsQ0FBQzs0QkFDbkQsS0FBSyxFQUFFLElBQUk7eUJBQ2Q7cUJBQ0osY0FDVyxJQUFJLFdBQ1A7d0JBQ0wsSUFBSTt3QkFDSixLQUFLO3dCQUNMLGdCQUFnQjt3QkFDaEIsT0FBTzt3QkFDUCxzQkFBc0I7d0JBQ3RCLG9CQUFvQjt3QkFDcEIsbUJBQW1CO3dCQUNuQix3QkFBd0I7d0JBQ3hCLFNBQVM7d0JBQ1Qsc0JBQXNCO3dCQUN0Qix1QkFBdUI7cUJBQzFCOzswQkFVWSxJQUFJOzswQkFBSSxRQUFRIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU2FjRm9ybUxheW91dERpcmVjdGl2ZSB9IGZyb20gJy4uL2xheW91dC9mb3JtbGF5b3V0LmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBTYWNUb0NvbnRyb2xIZWlnaHRQaXBlIH0gZnJvbSAnLi4vbGF5b3V0L3RvY29udHJvbGhlaWdodC5waXBlJztcbmltcG9ydCB7IFNhY1RvQ29udHJvbFdpZHRoQ3NzUGlwZSB9IGZyb20gJy4uL2xheW91dC90b2NvbnRyb2x3aWR0aGNzcy5waXBlJztcbmltcG9ydCB7IFNhY1RvTGFiZWxIZWlnaHRQaXBlIH0gZnJvbSAnLi4vbGF5b3V0L3RvbGFiZWxoZWlnaHQucGlwZSc7XG5pbXBvcnQgeyBTYWNUb0xhYmVsV2lkdGhDc3NQaXBlIH0gZnJvbSAnLi4vbGF5b3V0L3RvbGFiZWx3aWR0aGNzcy5waXBlJztcbmltcG9ydCB7IFNhY1Rvb2x0aXBDb21wb25lbnQgfSBmcm9tICcuLi90b29sdGlwL3Rvb2x0aXAnO1xuaW1wb3J0IHsgQXN5bmNQaXBlLCBOZ0NsYXNzLCBOZ0ZvciwgTmdJZiwgTmdUZW1wbGF0ZU91dGxldCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDb21wb25lbnQsIEhvc3QsIEluamVjdG9yLCBPcHRpb25hbCwgZm9yd2FyZFJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTkdfVkFMSURBVE9SUywgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBTYWNUZXN0aW5nQXR0cmlidXRlUGlwZSwgU2FjVHJlZXZpZXdDb21tb24gfSBmcm9tICdAc2ltcGxlYW5ndWxhcmNvbnRyb2xzL3NhYy1jb21tb24nO1xuXG4vKipcbiAqIFRyZWV2aWV3IENvbXBvbW5lbnRcbiAqL1xuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdzYWMtdHJlZXZpZXcnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi90cmVldmlldy5odG1sJyxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgICAgICAgICBtdWx0aTogdHJ1ZSxcbiAgICAgICAgICAgIHVzZUV4aXN0aW5nOiBTYWNUcmVldmlld0NvbXBvbmVudCxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogTkdfVkFMSURBVE9SUyxcbiAgICAgICAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFNhY1RyZWV2aWV3Q29tcG9uZW50KSxcbiAgICAgICAgICAgIG11bHRpOiB0cnVlLFxuICAgICAgICB9LFxuICAgIF0sXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbXG4gICAgICAgIE5nSWYsXG4gICAgICAgIE5nRm9yLFxuICAgICAgICBOZ1RlbXBsYXRlT3V0bGV0LFxuICAgICAgICBOZ0NsYXNzLFxuICAgICAgICBTYWNUb0xhYmVsV2lkdGhDc3NQaXBlLFxuICAgICAgICBTYWNUb0xhYmVsSGVpZ2h0UGlwZSxcbiAgICAgICAgU2FjVG9vbHRpcENvbXBvbmVudCxcbiAgICAgICAgU2FjVG9Db250cm9sV2lkdGhDc3NQaXBlLFxuICAgICAgICBBc3luY1BpcGUsXG4gICAgICAgIFNhY1RvQ29udHJvbEhlaWdodFBpcGUsXG4gICAgICAgIFNhY1Rlc3RpbmdBdHRyaWJ1dGVQaXBlLFxuICAgIF0sXG59KVxuZXhwb3J0IGNsYXNzIFNhY1RyZWV2aWV3Q29tcG9uZW50IGV4dGVuZHMgU2FjVHJlZXZpZXdDb21tb24ge1xuICAgIC8vICNyZWdpb24gQ29uc3RydWN0b3JzXG5cbiAgICAvKipcbiAgICAgKiBDb25zdHJ1Y3RvclxuICAgICAqIEBwYXJhbSBmb3JtTGF5b3V0IFNhY0Zvcm1MYXlvdXQgdG8gZGVmaW5lIHNjb3BlZCBsYXlvdXQgc2V0dGluZ3NcbiAgICAgKiBAcGFyYW0gaW5qZWN0b3IgQ29tcG9uZW50IEluamVjdG9yXG4gICAgICovXG4gICAgY29uc3RydWN0b3IoQEhvc3QoKSBAT3B0aW9uYWwoKSBmb3JtTGF5b3V0OiBTYWNGb3JtTGF5b3V0RGlyZWN0aXZlLCBpbmplY3RvcjogSW5qZWN0b3IpIHtcbiAgICAgICAgc3VwZXIoZm9ybUxheW91dCwgaW5qZWN0b3IpO1xuICAgIH1cblxuICAgIC8vICNlbmRyZWdpb24gQ29uc3RydWN0b3JzXG59XG4iLCI8ZGl2XG4gICAgY2xhc3M9XCJyb3cgbWItM1wiXG4gICAgW2NsYXNzLmctMF09XCJkaXNhYmxlbGFiZWxcIlxuICAgIFthdHRyLmRhdGEtZTJlLWtleV09XCJuYW1lIHwgdGVzdGluZ2F0dHJpYnV0ZSA6IGUyZWlkZW50aWZpZXJcIj5cbiAgICA8bGFiZWxcbiAgICAgICAgZm9yPVwie3sgbmFtZSB9fVwiXG4gICAgICAgIGNsYXNzPVwiY29sLTEyIGNvbC1mb3JtLWxhYmVsIGQtZmxleFwiXG4gICAgICAgIFtuZ0NsYXNzXT1cIltkaXNhYmxlbGFiZWwgPT09IGZhbHNlID8gKHRoaXMubGFiZWxTaXplcyB8IHRvTGFiZWxXaWR0aENzcykgOiAnc3Itb25seScsIGNvbXBvbmVudEhlaWdodCB8IHRvTGFiZWxIZWlnaHRdXCJcbiAgICAgICAgW2NsYXNzLnJlcXVpcmVkXT1cImlzcmVxdWlyZWRcIj5cbiAgICAgICAgPGRpdlxuICAgICAgICAgICAgY2xhc3M9XCJ0ZXh0IGZsZXgtZ3Jvdy0wXCJcbiAgICAgICAgICAgIFtjbGFzcy5mbGV4LXNtLWdyb3ctMV09XCJzcGxpdGxhYmVsYW5kaGVscHRleHRcIj5cbiAgICAgICAgICAgIHt7IGxhYmVsIH19XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8c2FjLXRvb2x0aXBcbiAgICAgICAgICAgICpuZ0lmPVwiaGVscHRleHRtb2RlID09PSAndG9vbHRpcCcgJiYgaGVscHRleHRcIlxuICAgICAgICAgICAgW3Rvb2x0aXB0ZXh0XT1cImhlbHB0ZXh0XCJcbiAgICAgICAgICAgIFtpbmxpbmVtb2RlXT1cInRydWVcIj5cbiAgICAgICAgICAgIDxzcGFuXG4gICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwiSGVscHRleHRUb29sdGlwSWNvblwiXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJtbC0xXCI+XG4gICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgIDwvc2FjLXRvb2x0aXA+XG4gICAgPC9sYWJlbD5cbiAgICA8ZGl2XG4gICAgICAgIGNsYXNzPVwiY29sLTEyXCJcbiAgICAgICAgW25nQ2xhc3NdPVwiW2Rpc2FibGVsYWJlbCA9PT0gZmFsc2UgPyAodGhpcy5sYWJlbFNpemVzIHwgdG9Db250cm9sV2lkdGhDc3MpIDogJyddXCI+XG4gICAgICAgIDxkaXYgW2NsYXNzLmQtZmxleF09XCJoZWxwdGV4dG1vZGUgPT09ICd0b29sdGlwJyAmJiBoZWxwdGV4dCAmJiBkaXNhYmxlbGFiZWxcIj5cbiAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICBjbGFzcz1cInctMTAwXCJcbiAgICAgICAgICAgICAgICBbc3R5bGUubWluLXdpZHRoXT1cImhlbHB0ZXh0bW9kZSA9PT0gJ3Rvb2x0aXAnICYmIGhlbHB0ZXh0ICYmIGRpc2FibGVsYWJlbCA/IDAgOiBudWxsXCJcbiAgICAgICAgICAgICAgICBbY2xhc3MubXItMV09XCJoZWxwdGV4dG1vZGUgPT09ICd0b29sdGlwJyAmJiBoZWxwdGV4dCAmJiBkaXNhYmxlbGFiZWxcIj5cbiAgICAgICAgICAgICAgICA8dWxcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJsaXN0LWdyb3VwIGxpc3QtZ3JvdXAtZmx1c2hcIlxuICAgICAgICAgICAgICAgICAgICBpZD1cInt7IG5hbWUgfX1cIlxuICAgICAgICAgICAgICAgICAgICBbY2xhc3MuaXMtaW52YWxpZF09XCJpbnZhbGlkICYmIChkaXJ0eSB8fCB0b3VjaGVkKVwiXG4gICAgICAgICAgICAgICAgICAgIFtjbGFzcy5ib3JkZXJdPVwiaW52YWxpZCAmJiAoZGlydHkgfHwgdG91Y2hlZClcIlxuICAgICAgICAgICAgICAgICAgICBbY2xhc3MuYm9yZGVyLWRhbmdlcl09XCJpbnZhbGlkICYmIChkaXJ0eSB8fCB0b3VjaGVkKVwiPlxuICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBub2RlIG9mIGRhdGFcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cInRyZWVJdGVtXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyBub2RlOiBub2RlLCBkZWVwOiAwLCBwYXRoOiAnJywgdGV4dHBhdGg6ICcnIH1cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgIDwvdWw+XG5cbiAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiaXNpbmxpbmVlcnJvcmVuYWJsZWQgJiYgaW52YWxpZCAmJiAoZGlydHkgfHwgdG91Y2hlZClcIlxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImludmFsaWQtZmVlZGJhY2tcIj5cbiAgICAgICAgICAgICAgICAgICAge3sgR2V0RXJyb3JNZXNzYWdlKCkgfCBhc3luYyB9fVxuICAgICAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICAgICAgPHNtYWxsXG4gICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiaGVscHRleHRtb2RlID09PSAndGV4dCcgJiYgaGVscHRleHRcIlxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImZvcm0tdGV4dCB0ZXh0LW11dGVkXCI+XG4gICAgICAgICAgICAgICAgICAgIHt7IGhlbHB0ZXh0IH19XG4gICAgICAgICAgICAgICAgPC9zbWFsbD5cbiAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgKm5nSWY9XCJoZWxwdGV4dG1vZGUgPT09ICd0b29sdGlwJyAmJiBoZWxwdGV4dCAmJiBkaXNhYmxlbGFiZWxcIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sLXBsYWludGV4dCBhbGlnbi1zZWxmLXRvcCBtbC0yIG1yLTEgdy1hdXRvXCJcbiAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJbY29tcG9uZW50SGVpZ2h0IHwgdG9Db250cm9sSGVpZ2h0XVwiPlxuICAgICAgICAgICAgICAgIDxzYWMtdG9vbHRpcFxuICAgICAgICAgICAgICAgICAgICBbdG9vbHRpcHRleHRdPVwiaGVscHRleHRcIlxuICAgICAgICAgICAgICAgICAgICBbaW5saW5lbW9kZV09XCJ0cnVlXCI+XG4gICAgICAgICAgICAgICAgICAgIDxzcGFuXG4gICAgICAgICAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJIZWxwdGV4dFRvb2x0aXBJY29uXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwibWwtMVwiPlxuICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgPC9zYWMtdG9vbHRpcD5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbjwvZGl2PlxuPG5nLXRlbXBsYXRlXG4gICAgI3RyZWVJdGVtXG4gICAgbGV0LW5vZGU9XCJub2RlXCJcbiAgICBsZXQtZGVlcD1cImRlZXBcIlxuICAgIGxldC1wYXRoPVwicGF0aFwiXG4gICAgbGV0LXRleHRwYXRoPVwidGV4dHBhdGhcIj5cbiAgICA8bGlcbiAgICAgICAgY2xhc3M9XCJsaXN0LWdyb3VwLWl0ZW0gbGlzdC1ncm91cC1pdGVtLWFjdGlvbiBweS0xIHB4LTIgZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlclwiXG4gICAgICAgIFtjbGFzcy5hY3RpdmVdPVwiaXNTZWxlY3RlZFN0YXRlKG5vZGUpXCJcbiAgICAgICAgKG1vdXNlZW50ZXIpPVwic2V0SG92ZXJTdGF0ZShub2RlLCB0cnVlKVwiXG4gICAgICAgIChtb3VzZWxlYXZlKT1cInNldEhvdmVyU3RhdGUobm9kZSwgZmFsc2UpXCJcbiAgICAgICAgc3R5bGU9XCJjdXJzb3I6IHBvaW50ZXJcIlxuICAgICAgICBhdHRyLmRhdGEtcGF0aD1cInt7IHBhdGggfX0ve3sgZ2V0U3RyaW5nRmllbGQobm9kZSwgYXR0cmlkKSB9fVwiXG4gICAgICAgIGF0dHIuZGF0YS10ZXh0cGF0aD1cInt7IHRleHRwYXRoIH19L3t7IGdldFN0cmluZ0ZpZWxkKG5vZGUsIGF0dHJsYWJlbCkgfX1cIj5cbiAgICAgICAgPGRpdlxuICAgICAgICAgICAgY2xhc3M9XCJteC0zXCJcbiAgICAgICAgICAgICpuZ0Zvcj1cImxldCBpIG9mIGNvdW50KGRlZXApXCI+XG4gICAgICAgIDwvZGl2PlxuXG4gICAgICAgIDxkaXZcbiAgICAgICAgICAgIChjbGljayk9XCJvbk5vZGVDbGlja2VkKG5vZGUpXCJcbiAgICAgICAgICAgICpuZ0lmPVwiZXhwYW5kZWRzdGF0ZSA9PT0gJ3RydWUnIHx8IGV4cGFuZGVkc3RhdGUgPT09IHRydWVcIlxuICAgICAgICAgICAgY2xhc3M9XCJtci0yXCJcbiAgICAgICAgICAgIFtuZ0NsYXNzXT1cIiFoYXNDaGlsZHJlbihub2RlKSA/IGljb25Gb2xkZXJFbXB0eSA6ICFpc0V4cGFuZGVkU3RhdGUobm9kZSkgPyBpY29uRm9sZGVyQ29sbGFic2VkIDogaXNFeHBhbmRlZFN0YXRlKG5vZGUpID8gaWNvbkZvbGRlck9wZW4gOiAnJ1wiPlxuICAgICAgICA8L2Rpdj5cblxuICAgICAgICA8ZGl2XG4gICAgICAgICAgICAoY2xpY2spPVwib25Ob2RlQ2xpY2tlZChub2RlKVwiXG4gICAgICAgICAgICAqbmdJZj1cImF0dHJpY29uICYmIGdldFN0cmluZ0ZpZWxkKG5vZGUsIGF0dHJpY29uKVwiPlxuICAgICAgICAgICAgPG5nLXRlbXBsYXRlXG4gICAgICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwidGVtcGxhdGVpY29uIHx8IGRlZmF1bHRUZW1wbGF0ZUljb25cIlxuICAgICAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7IG5vZGU6IG5vZGUgfVwiPlxuICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgPGRpdlxuICAgICAgICAgICAgKGNsaWNrKT1cIm9uTm9kZUNsaWNrZWQobm9kZSlcIlxuICAgICAgICAgICAgY2xhc3M9XCJmbGV4LWdyb3ctMSBweS0xXCJcbiAgICAgICAgICAgIFtzdHlsZS5vdmVyZmxvd109XCJlbmFibGVlbGxpcHNpcyA/ICdoaWRkZW4nIDogbnVsbFwiXG4gICAgICAgICAgICBbc3R5bGUudGV4dC1vdmVyZmxvd109XCJlbmFibGVlbGxpcHNpcyA/ICdlbGxpcHNpcycgOiBudWxsXCJcbiAgICAgICAgICAgIFtzdHlsZS53aGl0ZS1zcGFjZV09XCJlbmFibGVlbGxpcHNpcyA/ICdub3dyYXAnIDogbnVsbFwiPlxuICAgICAgICAgICAgPG5nLXRlbXBsYXRlXG4gICAgICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwidGVtcGxhdGVsYWJlbCB8fCBkZWZhdWx0VGVtcGxhdGVMYWJlbFwiXG4gICAgICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cInsgbm9kZTogbm9kZSwgbGFiZWw6IGdldFN0cmluZ0ZpZWxkKG5vZGUsIGF0dHJsYWJlbCkgfVwiPlxuICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgPGRpdlxuICAgICAgICAgICAgKGNsaWNrKT1cInNldFNlbGVjdGVkU3RhdGUobm9kZSlcIlxuICAgICAgICAgICAgY2xhc3M9XCJmbGV4LXNocmluay0wXCJcbiAgICAgICAgICAgICpuZ0lmPVwiIWlzRGlzYWJsZWRTdGF0ZShub2RlKSAmJiAoc2hvd2FjdGlvbmFsd2F5cyB8fCBpc1NlbGVjdGVkU3RhdGUobm9kZSkgfHwgaXNIb3ZlclN0YXRlKG5vZGUpKVwiPlxuICAgICAgICAgICAgPG5nLXRlbXBsYXRlXG4gICAgICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwidGVtcGxhdGVhY3Rpb24gfHwgZGVmYXVsdFRlbXBsYXRlQWN0aW9uXCJcbiAgICAgICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyBub2RlOiBub2RlLCBhY3Rpb25oYW5kbGVyOiBvbkFjdGlvbkNsaWNrZWQuYmluZCh0aGlzKSB9XCI+XG4gICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICA8L2Rpdj5cbiAgICA8L2xpPlxuXG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImlzRXhwYW5kZWRTdGF0ZShub2RlKVwiPlxuICAgICAgICA8bmctdGVtcGxhdGVcbiAgICAgICAgICAgICpuZ0Zvcj1cImxldCBjaGlsZCBvZiBnZXRDaGlsZHJlbihub2RlKVwiXG4gICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJ0cmVlSXRlbVwiXG4gICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwie1xuICAgICAgICAgICAgICAgIG5vZGU6IGNoaWxkLFxuICAgICAgICAgICAgICAgIGRlZXA6IGRlZXAgKyAxLFxuICAgICAgICAgICAgICAgIHBhdGg6IHBhdGggKyAnLycgKyBnZXRTdHJpbmdGaWVsZChub2RlLCBhdHRyaWQpLFxuICAgICAgICAgICAgICAgIHRleHRwYXRoOiB0ZXh0cGF0aCArICcvJyArIGdldFN0cmluZ0ZpZWxkKG5vZGUsIGF0dHJsYWJlbClcbiAgICAgICAgICAgIH1cIj5cbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICA8L25nLWNvbnRhaW5lcj5cbjwvbmctdGVtcGxhdGU+XG48bmctdGVtcGxhdGVcbiAgICAjZGVmYXVsdFRlbXBsYXRlTGFiZWxcbiAgICBsZXQtbGFiZWw9XCJsYWJlbFwiXG4gICAgbGV0LW5vZGU9XCJub2RlXCI+XG4gICAgPHNwYW4gW3RpdGxlXT1cImxhYmVsXCI+e3sgbGFiZWwgfX08L3NwYW4+XG48L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGVcbiAgICAjZGVmYXVsdFRlbXBsYXRlSWNvblxuICAgIGxldC1ub2RlPVwibm9kZVwiPlxuICAgIDxkaXZcbiAgICAgICAgY2xhc3M9XCJtci0yXCJcbiAgICAgICAgW25nQ2xhc3NdPVwiZ2V0U3RyaW5nRmllbGQobm9kZSwgYXR0cmljb24pXCI+XG4gICAgPC9kaXY+XG48L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGVcbiAgICAjZGVmYXVsdFRlbXBsYXRlQWN0aW9uXG4gICAgbGV0LW5vZGU9XCJub2RlXCJcbiAgICBsZXQtYWN0aW9uaGFuZGxlcj1cImFjdGlvbmhhbmRsZXJcIj5cbiAgICA8YVxuICAgICAgICBjbGFzcz1cImJ0biBidG4tc20gYnRuLWxpbmsgdGV4dC1zZWNvbmRhcnlcIlxuICAgICAgICAoY2xpY2spPVwiYWN0aW9uaGFuZGxlcih7IGFjdGlvbjogJ2RlZmF1bHQnLCBub2RlOiBub2RlIH0pXCI+XG4gICAgICAgIDxpIFtjbGFzc109XCJpY29uQWN0aW9uXCI+PC9pPlxuICAgIDwvYT5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
@@ -0,0 +1,18 @@
1
+ import { SacTreeviewComponent } from './treeview';
2
+ import { CommonModule } from '@angular/common';
3
+ import { NgModule } from '@angular/core';
4
+ import * as i0 from "@angular/core";
5
+ class SACBootstrap4TreeviewModule {
6
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SACBootstrap4TreeviewModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
7
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: SACBootstrap4TreeviewModule, imports: [CommonModule, SacTreeviewComponent], exports: [SacTreeviewComponent] }); }
8
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SACBootstrap4TreeviewModule, imports: [CommonModule] }); }
9
+ }
10
+ export { SACBootstrap4TreeviewModule };
11
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SACBootstrap4TreeviewModule, decorators: [{
12
+ type: NgModule,
13
+ args: [{
14
+ imports: [CommonModule, SacTreeviewComponent],
15
+ exports: [SacTreeviewComponent],
16
+ }]
17
+ }] });
18
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJlZXZpZXcubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2FjLWJvb3RzdHJhcDQvc3JjL2NvbnRyb2xzL3RyZWV2aWV3L3RyZWV2aWV3Lm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDbEQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBRXpDLE1BSWEsMkJBQTJCOytHQUEzQiwyQkFBMkI7Z0hBQTNCLDJCQUEyQixZQUgxQixZQUFZLEVBQUUsb0JBQW9CLGFBQ2xDLG9CQUFvQjtnSEFFckIsMkJBQTJCLFlBSDFCLFlBQVk7O1NBR2IsMkJBQTJCOzRGQUEzQiwyQkFBMkI7a0JBSnZDLFFBQVE7bUJBQUM7b0JBQ04sT0FBTyxFQUFFLENBQUMsWUFBWSxFQUFFLG9CQUFvQixDQUFDO29CQUM3QyxPQUFPLEVBQUUsQ0FBQyxvQkFBb0IsQ0FBQztpQkFDbEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTYWNUcmVldmlld0NvbXBvbmVudCB9IGZyb20gJy4vdHJlZXZpZXcnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBOZ01vZHVsZSh7XG4gICAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgU2FjVHJlZXZpZXdDb21wb25lbnRdLFxuICAgIGV4cG9ydHM6IFtTYWNUcmVldmlld0NvbXBvbmVudF0sXG59KVxuZXhwb3J0IGNsYXNzIFNBQ0Jvb3RzdHJhcDRUcmVldmlld01vZHVsZSB7fVxuIl19