@simpleangularcontrols/sac-bootstrap3 13.0.0-rc.19 → 13.0.0-rc.20

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (186) hide show
  1. package/controls/buttons/button.d.ts.map +1 -1
  2. package/controls/buttons/button.module.d.ts +2 -1
  3. package/controls/buttons/button.module.d.ts.map +1 -1
  4. package/controls/checkbox/checkbox.d.ts.map +1 -1
  5. package/controls/checkbox/checkbox.module.d.ts +2 -1
  6. package/controls/checkbox/checkbox.module.d.ts.map +1 -1
  7. package/controls/checkbox/radiobuttons.d.ts.map +1 -1
  8. package/controls/confirm/confirm.module.d.ts +2 -1
  9. package/controls/confirm/confirm.module.d.ts.map +1 -1
  10. package/controls/contextmenu/contextmenu.d.ts.map +1 -1
  11. package/controls/contextmenu/contextmenu.module.d.ts +2 -1
  12. package/controls/contextmenu/contextmenu.module.d.ts.map +1 -1
  13. package/controls/datetime/date.d.ts.map +1 -1
  14. package/controls/datetime/dateselector.d.ts.map +1 -1
  15. package/controls/datetime/datetime.d.ts.map +1 -1
  16. package/controls/datetime/datetime.module.d.ts +2 -1
  17. package/controls/datetime/datetime.module.d.ts.map +1 -1
  18. package/controls/datetime/time.d.ts.map +1 -1
  19. package/controls/dialog/dialog.d.ts +3 -3
  20. package/controls/dialog/dialog.d.ts.map +1 -1
  21. package/controls/dialog/dialog.module.d.ts +2 -1
  22. package/controls/dialog/dialog.module.d.ts.map +1 -1
  23. package/controls/form/index.d.ts +3 -0
  24. package/controls/form/index.d.ts.map +1 -0
  25. package/controls/form/index.ngfactory.d.ts +2 -0
  26. package/controls/form/index.ngfactory.d.ts.map +1 -0
  27. package/controls/form/index.ngsummary.d.ts +2 -0
  28. package/controls/form/index.ngsummary.d.ts.map +1 -0
  29. package/controls/grid/grid.d.ts +1 -1
  30. package/controls/grid/grid.d.ts.map +1 -1
  31. package/controls/grid/grid.module.d.ts +2 -1
  32. package/controls/grid/grid.module.d.ts.map +1 -1
  33. package/controls/grid/gridbutton.d.ts +5 -2
  34. package/controls/grid/gridbutton.d.ts.map +1 -1
  35. package/controls/grid/gridcolumn.d.ts +1 -1
  36. package/controls/grid/gridcolumn.d.ts.map +1 -1
  37. package/controls/grid/gridcolumnaction.d.ts +1 -1
  38. package/controls/grid/gridcolumnaction.d.ts.map +1 -1
  39. package/controls/grid/gridimage.d.ts +0 -1
  40. package/controls/grid/gridimage.d.ts.map +1 -1
  41. package/controls/grid/paging.d.ts.map +1 -1
  42. package/controls/input/input.d.ts.map +1 -1
  43. package/controls/input/input.module.d.ts +2 -1
  44. package/controls/input/input.module.d.ts.map +1 -1
  45. package/controls/input/inputarea.d.ts.map +1 -1
  46. package/controls/input/inputcurrency.d.ts.map +1 -1
  47. package/controls/input/inputdecimal.d.ts.map +1 -1
  48. package/controls/input/inputemail.d.ts.map +1 -1
  49. package/controls/input/inputinteger.d.ts.map +1 -1
  50. package/controls/input/inputpassword.d.ts.map +1 -1
  51. package/controls/input/inputsearch.d.ts.map +1 -1
  52. package/controls/list/dropdown.d.ts +2 -13
  53. package/controls/list/dropdown.d.ts.map +1 -1
  54. package/controls/list/dropdown.ngfactory.d.ts +0 -1
  55. package/controls/list/dropdown.ngfactory.d.ts.map +1 -1
  56. package/controls/list/dropdown.ngsummary.d.ts +0 -1
  57. package/controls/list/dropdown.ngsummary.d.ts.map +1 -1
  58. package/controls/list/dropdownoption.directive.d.ts +15 -0
  59. package/controls/list/dropdownoption.directive.d.ts.map +1 -0
  60. package/controls/list/dropdownoption.directive.ngfactory.d.ts +4 -0
  61. package/controls/list/dropdownoption.directive.ngfactory.d.ts.map +1 -0
  62. package/controls/list/dropdownoption.directive.ngsummary.d.ts +2 -0
  63. package/controls/list/dropdownoption.directive.ngsummary.d.ts.map +1 -0
  64. package/controls/list/list.module.d.ts +9 -7
  65. package/controls/list/list.module.d.ts.map +1 -1
  66. package/controls/list/list.token.d.ts +4 -0
  67. package/controls/list/list.token.d.ts.map +1 -0
  68. package/controls/list/list.token.ngfactory.d.ts +2 -0
  69. package/controls/list/list.token.ngfactory.d.ts.map +1 -0
  70. package/controls/list/list.token.ngsummary.d.ts +2 -0
  71. package/controls/list/list.token.ngsummary.d.ts.map +1 -0
  72. package/controls/list/listbox.d.ts +4 -1
  73. package/controls/list/listbox.d.ts.map +1 -1
  74. package/controls/list/listboxoption.directive.d.ts +15 -0
  75. package/controls/list/listboxoption.directive.d.ts.map +1 -0
  76. package/controls/list/listboxoption.directive.ngfactory.d.ts +4 -0
  77. package/controls/list/listboxoption.directive.ngfactory.d.ts.map +1 -0
  78. package/controls/list/listboxoption.directive.ngsummary.d.ts +2 -0
  79. package/controls/list/listboxoption.directive.ngsummary.d.ts.map +1 -0
  80. package/controls/static/formcontainer.d.ts.map +1 -1
  81. package/controls/static/staticlabel.d.ts.map +1 -1
  82. package/controls/static/staticlabel.module.d.ts +2 -1
  83. package/controls/static/staticlabel.module.d.ts.map +1 -1
  84. package/controls/tabs/tab.d.ts +1 -1
  85. package/controls/tabs/tab.d.ts.map +1 -1
  86. package/controls/tabs/tabs.module.d.ts +2 -1
  87. package/controls/tabs/tabs.module.d.ts.map +1 -1
  88. package/controls/tinymce/tinymce.d.ts.map +1 -1
  89. package/controls/tinymce/tinymce.module.d.ts +2 -1
  90. package/controls/tinymce/tinymce.module.d.ts.map +1 -1
  91. package/controls/tooltip/tooltip.d.ts.map +1 -1
  92. package/controls/tooltip/tooltip.module.d.ts +2 -1
  93. package/controls/tooltip/tooltip.module.d.ts.map +1 -1
  94. package/controls/treeview/treeview.d.ts.map +1 -1
  95. package/controls/treeview/treeview.module.d.ts +2 -1
  96. package/controls/treeview/treeview.module.d.ts.map +1 -1
  97. package/controls/upload/dropzonemultiple.d.ts.map +1 -1
  98. package/controls/upload/upload.d.ts +1 -1
  99. package/controls/upload/upload.d.ts.map +1 -1
  100. package/controls/upload/upload.module.d.ts +2 -1
  101. package/controls/upload/upload.module.d.ts.map +1 -1
  102. package/controls/upload/uploadmultiple.d.ts.map +1 -1
  103. package/controls/validation/validationsummary.d.ts +1 -1
  104. package/controls/validation/validationsummary.d.ts.map +1 -1
  105. package/controls/validation/validationsummary.module.d.ts +2 -1
  106. package/controls/validation/validationsummary.module.d.ts.map +1 -1
  107. package/controls/wizard/wizard.module.d.ts +2 -1
  108. package/controls/wizard/wizard.module.d.ts.map +1 -1
  109. package/esm2020/controls/buttons/button.mjs +4 -3
  110. package/esm2020/controls/buttons/button.module.mjs +7 -10
  111. package/esm2020/controls/checkbox/checkbox.mjs +7 -6
  112. package/esm2020/controls/checkbox/checkbox.module.mjs +9 -30
  113. package/esm2020/controls/checkbox/radiobutton.mjs +3 -3
  114. package/esm2020/controls/checkbox/radiobuttons.mjs +6 -5
  115. package/esm2020/controls/confirm/confirm.module.mjs +13 -11
  116. package/esm2020/controls/contextmenu/contextmenu.mjs +4 -3
  117. package/esm2020/controls/contextmenu/contextmenu.module.mjs +5 -4
  118. package/esm2020/controls/datetime/date.mjs +11 -10
  119. package/esm2020/controls/datetime/dateselector.mjs +4 -3
  120. package/esm2020/controls/datetime/datetime.mjs +7 -6
  121. package/esm2020/controls/datetime/datetime.module.mjs +12 -24
  122. package/esm2020/controls/datetime/time.mjs +7 -6
  123. package/esm2020/controls/dialog/dialog.mjs +16 -10
  124. package/esm2020/controls/dialog/dialog.module.mjs +8 -11
  125. package/esm2020/controls/form/index.mjs +3 -0
  126. package/esm2020/controls/form/index.ngfactory.mjs +2 -0
  127. package/esm2020/controls/form/index.ngsummary.mjs +2 -0
  128. package/esm2020/controls/grid/grid.mjs +9 -7
  129. package/esm2020/controls/grid/grid.module.mjs +8 -7
  130. package/esm2020/controls/grid/gridbutton.mjs +11 -27
  131. package/esm2020/controls/grid/gridcolumn.mjs +5 -4
  132. package/esm2020/controls/grid/gridcolumnaction.mjs +5 -4
  133. package/esm2020/controls/grid/gridimage.mjs +4 -13
  134. package/esm2020/controls/grid/paging.mjs +10 -6
  135. package/esm2020/controls/input/input.mjs +7 -6
  136. package/esm2020/controls/input/input.module.mjs +10 -6
  137. package/esm2020/controls/input/inputarea.mjs +7 -6
  138. package/esm2020/controls/input/inputcurrency.mjs +7 -6
  139. package/esm2020/controls/input/inputdecimal.mjs +7 -6
  140. package/esm2020/controls/input/inputemail.mjs +7 -6
  141. package/esm2020/controls/input/inputinteger.mjs +7 -6
  142. package/esm2020/controls/input/inputpassword.mjs +7 -6
  143. package/esm2020/controls/input/inputsearch.mjs +7 -6
  144. package/esm2020/controls/list/dropdown.mjs +15 -32
  145. package/esm2020/controls/list/dropdown.ngfactory.mjs +2 -2
  146. package/esm2020/controls/list/dropdown.ngsummary.mjs +1 -2
  147. package/esm2020/controls/list/dropdownoption.directive.mjs +28 -0
  148. package/esm2020/controls/list/dropdownoption.directive.ngfactory.mjs +4 -0
  149. package/esm2020/controls/list/dropdownoption.directive.ngsummary.mjs +2 -0
  150. package/esm2020/controls/list/list.module.mjs +15 -22
  151. package/esm2020/controls/list/list.token.mjs +6 -0
  152. package/esm2020/controls/list/list.token.ngfactory.mjs +2 -0
  153. package/esm2020/controls/list/list.token.ngsummary.mjs +2 -0
  154. package/esm2020/controls/list/listbox.mjs +16 -10
  155. package/esm2020/controls/list/listboxoption.directive.mjs +28 -0
  156. package/esm2020/controls/list/listboxoption.directive.ngfactory.mjs +4 -0
  157. package/esm2020/controls/list/listboxoption.directive.ngsummary.mjs +2 -0
  158. package/esm2020/controls/static/formcontainer.mjs +6 -5
  159. package/esm2020/controls/static/staticlabel.mjs +6 -5
  160. package/esm2020/controls/static/staticlabel.module.mjs +7 -16
  161. package/esm2020/controls/tabs/tab.mjs +7 -4
  162. package/esm2020/controls/tabs/tabs.module.mjs +8 -11
  163. package/esm2020/controls/tinymce/tinymce.mjs +6 -5
  164. package/esm2020/controls/tinymce/tinymce.module.mjs +10 -6
  165. package/esm2020/controls/tooltip/tooltip.mjs +4 -3
  166. package/esm2020/controls/tooltip/tooltip.module.mjs +6 -5
  167. package/esm2020/controls/treeview/treeview.mjs +6 -5
  168. package/esm2020/controls/treeview/treeview.module.mjs +21 -4
  169. package/esm2020/controls/upload/dropzonemultiple.mjs +6 -5
  170. package/esm2020/controls/upload/dropzonesingle.mjs +6 -5
  171. package/esm2020/controls/upload/upload.mjs +7 -6
  172. package/esm2020/controls/upload/upload.module.mjs +21 -4
  173. package/esm2020/controls/upload/uploadmultiple.mjs +6 -5
  174. package/esm2020/controls/validation/validationsummary.mjs +6 -5
  175. package/esm2020/controls/validation/validationsummary.module.mjs +7 -10
  176. package/esm2020/controls/wizard/wizard.module.mjs +8 -11
  177. package/esm2020/public_api.mjs +3 -1
  178. package/fesm2015/simpleangularcontrols-sac-bootstrap3.mjs +358 -366
  179. package/fesm2015/simpleangularcontrols-sac-bootstrap3.mjs.map +1 -1
  180. package/fesm2020/simpleangularcontrols-sac-bootstrap3.mjs +354 -364
  181. package/fesm2020/simpleangularcontrols-sac-bootstrap3.mjs.map +1 -1
  182. package/package.json +2 -2
  183. package/public_api.d.ts +2 -0
  184. package/public_api.d.ts.map +1 -1
  185. package/simpleangularcontrols-sac-bootstrap3-13.0.0-rc.20.tgz +0 -0
  186. package/simpleangularcontrols-sac-bootstrap3-13.0.0-rc.19.tgz +0 -0
@@ -1,42 +1,39 @@
1
1
  import * as i0 from '@angular/core';
2
- import { Component, ViewEncapsulation, NgModule, Directive, Pipe, forwardRef, Host, Optional, Input, ComponentFactoryResolver, Injectable, Inject, TemplateRef, ContentChild, ContentChildren, HostBinding, SkipSelf } from '@angular/core';
3
- import { SacButtonCommon, SacFormLayoutCommon, ControlHeight, SacTooltipCommon, SacCheckboxCommon, SacRadiobuttonsCommon, SacRadiobuttonCommon, SacDialogCommon, SacConfirmCommon, ServiceConfirmCommon, isDefined, SacConfirmButton, SacContextMenuContrainerCommon, SacContextmenuAnchorCommon, SacContextmenuCommon, SacContextmenuItemButtonCommon, SacContextmenuItemCommon, SacDateSelectorCommon, SacDateCommon, SacDateTimeCommon, SacTimeCommon, SacPagingCommon, SacGridCommon, SacGridButtonCommon, SacGridColumnCommon, SacGridColumnBaseCommon, SacGridColumnActionCommon, SacGridImageCommon, SacInputCommon, SacInputAreaCommon, SacInputCurrencyCommon, SacInputDecimalCommon, SacInputEmailCommon, SacInputIntegerCommon, SacInputPasswordCommon, SacInputSearchCommon, SacDropdownCommon, SacDropdownOptionCommon, SacListboxCommon, SACCommonListboxOptionModule, SacStaticFormContainerCommon, SacStaticLabelCommon, SacTabItemCommon, SacTabCommon, SacTinyMceCommon, SacTreeviewCommon, SacDropzoneMultipleCommon, SacDropzoneSingleCommon, SacUploadSingleCommon, SacUploadMultipleCommon, SacFormCommon, SacValidationSummaryCommon, SacWizardItemCommon, SacWizardCommon } from '@simpleangularcontrols/sac-common';
2
+ import { Component, ViewEncapsulation, NgModule, Directive, Pipe, forwardRef, Host, Optional, Input, ComponentFactoryResolver, Injectable, Inject, TemplateRef, ContentChild, InjectionToken, ContentChildren, HostBinding, SkipSelf } from '@angular/core';
3
+ import * as i5 from '@simpleangularcontrols/sac-common';
4
+ import { SacButtonCommon, SACCommonUtliltiesModule, SacFormLayoutCommon, ControlHeight, SacTooltipCommon, SacCheckboxCommon, SacRadiobuttonsCommon, SacRadiobuttonCommon, SacDialogCommon, SacConfirmCommon, ServiceConfirmCommon, isDefined, SacConfirmButton, SacContextMenuContrainerCommon, SacContextmenuAnchorCommon, SacContextmenuCommon, SacContextmenuItemButtonCommon, SacContextmenuItemCommon, SacDateSelectorCommon, SacDateCommon, SacDateTimeCommon, SacTimeCommon, SacPagingCommon, SacGridCommon, SacGridButtonCommon, SacGridColumnCommon, SacGridColumnBaseCommon, SacGridColumnActionCommon, SacGridImageCommon, SacInputCommon, SacInputAreaCommon, SacInputCurrencyCommon, SacInputDecimalCommon, SacInputEmailCommon, SacInputIntegerCommon, SacInputPasswordCommon, SacInputSearchCommon, SacDropdownOptionCommon, SacListboxOptionCommon, SacDropdownCommon, SacListboxCommon, SACCommonListboxOptionModule, SacStaticFormContainerCommon, SacStaticLabelCommon, SacTabItemCommon, SacTabCommon, SacTinyMceCommon, SacTreeviewCommon, SacDropzoneMultipleCommon, SacDropzoneSingleCommon, SacUploadSingleCommon, SacUploadMultipleCommon, SacFormCommon, SacValidationSummaryCommon, SacWizardItemCommon, SacWizardCommon } from '@simpleangularcontrols/sac-common';
4
5
  import * as i3 from '@angular/common';
5
6
  import { CommonModule, DOCUMENT } from '@angular/common';
6
7
  import * as i2 from '@angular/forms';
7
- import { NG_VALUE_ACCESSOR, NG_VALIDATORS, FormsModule, ControlContainer, NgForm } from '@angular/forms';
8
+ import { NG_VALUE_ACCESSOR, NG_VALIDATORS, FormsModule, NgForm, ControlContainer } from '@angular/forms';
8
9
  import { forkJoin } from 'rxjs';
9
10
  import { take } from 'rxjs/operators';
10
- import * as i5 from 'angular-imask';
11
- import { IMaskModule } from 'angular-imask';
12
11
  import * as moment_ from 'moment';
12
+ import * as i5$1 from 'angular-imask';
13
+ import { IMaskModule } from 'angular-imask';
13
14
  import * as i3$1 from '@tinymce/tinymce-angular';
14
15
  import { EditorModule } from '@tinymce/tinymce-angular';
15
16
 
16
17
  class SacButtonComponent extends SacButtonCommon {
17
18
  }
18
19
  SacButtonComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SacButtonComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
19
- SacButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.7", type: SacButtonComponent, selector: "sac-button", usesInheritance: true, ngImport: i0, template: "<a\n [id]=\"name\"\n class=\"btn\"\n [class.btn-primary]=\"role === 'primary'\"\n [class.btn-secondary]=\"role === 'secondary'\"\n [class.btn-success]=\"role === 'success'\"\n [class.btn-danger]=\"role === 'danger'\"\n [class.btn-warning]=\"role === 'warning'\"\n [class.btn-info]=\"role === 'info'\"\n [class.btn-default]=\"role === 'default'\"\n [class.btn-link]=\"role === 'link'\"\n [attr.disabled]=\"_isdisabled ? 'disabled' : null\"\n (click)=\"buttonClick()\"\n>\n <i\n *ngIf=\"isloading\"\n class=\"\"\n role=\"status\"\n aria-hidden=\"true\"\n class=\"glyphicon glyphicon-repeat spin\"\n [ngStyle]=\"{ 'margin-right': text ? '0.5rem': null}\"\n ></i>\n <i\n *ngIf=\"!isloading && icon !== ''\"\n [ngClass]=\"icon\"\n [ngStyle]=\"{ 'margin-right': text ? '0.5rem': null}\"\n ></i>\n {{text}}\n</a>\n", styles: ["sac-button+sac-button{margin-left:5px}\n", ".spin{animation:spin 1.5s infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}\n"], directives: [{ type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], encapsulation: i0.ViewEncapsulation.None });
20
+ SacButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.7", type: SacButtonComponent, selector: "sac-button", usesInheritance: true, ngImport: i0, template: "<a\n [id]=\"name\"\n class=\"btn\"\n [class.btn-primary]=\"role === 'primary'\"\n [class.btn-secondary]=\"role === 'secondary'\"\n [class.btn-success]=\"role === 'success'\"\n [class.btn-danger]=\"role === 'danger'\"\n [class.btn-warning]=\"role === 'warning'\"\n [class.btn-info]=\"role === 'info'\"\n [class.btn-default]=\"role === 'default'\"\n [class.btn-link]=\"role === 'link'\"\n [attr.disabled]=\"_isdisabled || isloading ? 'disabled' : null\"\n [attr.data-e2e-key]=\"name | testingattribute : e2eidentifier\"\n (click)=\"buttonClick()\">\n <i\n *ngIf=\"isloading\"\n role=\"status\"\n aria-hidden=\"true\"\n class=\"glyphicon glyphicon-repeat spin\"\n [ngStyle]=\"{ 'margin-right': text ? '0.5rem' : null }\"></i>\n <i\n *ngIf=\"!isloading && icon !== ''\"\n [ngClass]=\"icon\"\n [ngStyle]=\"{ 'margin-right': text ? '0.5rem' : null }\"></i\n >{{ text }}\n</a>\n", styles: ["sac-button+sac-button{margin-left:5px}\n", ".spin{animation:spin 1.5s infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}\n"], directives: [{ type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], pipes: { "testingattribute": i5.SacTestingAttributePipe }, encapsulation: i0.ViewEncapsulation.None });
20
21
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SacButtonComponent, decorators: [{
21
22
  type: Component,
22
- args: [{ selector: 'sac-button', styles: ['sac-button+sac-button {margin-left: 5px}', '.spin { animation: spin 1.5s infinite; } @keyframes spin { 0% { transform: rotate(0); } 100% { transform: rotate(360deg); } }'], encapsulation: ViewEncapsulation.None, template: "<a\n [id]=\"name\"\n class=\"btn\"\n [class.btn-primary]=\"role === 'primary'\"\n [class.btn-secondary]=\"role === 'secondary'\"\n [class.btn-success]=\"role === 'success'\"\n [class.btn-danger]=\"role === 'danger'\"\n [class.btn-warning]=\"role === 'warning'\"\n [class.btn-info]=\"role === 'info'\"\n [class.btn-default]=\"role === 'default'\"\n [class.btn-link]=\"role === 'link'\"\n [attr.disabled]=\"_isdisabled ? 'disabled' : null\"\n (click)=\"buttonClick()\"\n>\n <i\n *ngIf=\"isloading\"\n class=\"\"\n role=\"status\"\n aria-hidden=\"true\"\n class=\"glyphicon glyphicon-repeat spin\"\n [ngStyle]=\"{ 'margin-right': text ? '0.5rem': null}\"\n ></i>\n <i\n *ngIf=\"!isloading && icon !== ''\"\n [ngClass]=\"icon\"\n [ngStyle]=\"{ 'margin-right': text ? '0.5rem': null}\"\n ></i>\n {{text}}\n</a>\n" }]
23
+ args: [{ selector: 'sac-button', styles: ['sac-button+sac-button {margin-left: 5px}', '.spin { animation: spin 1.5s infinite; } @keyframes spin { 0% { transform: rotate(0); } 100% { transform: rotate(360deg); } }'], encapsulation: ViewEncapsulation.None, template: "<a\n [id]=\"name\"\n class=\"btn\"\n [class.btn-primary]=\"role === 'primary'\"\n [class.btn-secondary]=\"role === 'secondary'\"\n [class.btn-success]=\"role === 'success'\"\n [class.btn-danger]=\"role === 'danger'\"\n [class.btn-warning]=\"role === 'warning'\"\n [class.btn-info]=\"role === 'info'\"\n [class.btn-default]=\"role === 'default'\"\n [class.btn-link]=\"role === 'link'\"\n [attr.disabled]=\"_isdisabled || isloading ? 'disabled' : null\"\n [attr.data-e2e-key]=\"name | testingattribute : e2eidentifier\"\n (click)=\"buttonClick()\">\n <i\n *ngIf=\"isloading\"\n role=\"status\"\n aria-hidden=\"true\"\n class=\"glyphicon glyphicon-repeat spin\"\n [ngStyle]=\"{ 'margin-right': text ? '0.5rem' : null }\"></i>\n <i\n *ngIf=\"!isloading && icon !== ''\"\n [ngClass]=\"icon\"\n [ngStyle]=\"{ 'margin-right': text ? '0.5rem' : null }\"></i\n >{{ text }}\n</a>\n" }]
23
24
  }] });
24
25
 
25
26
  class SACBootstrap3ButtonModule {
26
27
  }
27
28
  SACBootstrap3ButtonModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SACBootstrap3ButtonModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
28
- SACBootstrap3ButtonModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SACBootstrap3ButtonModule, declarations: [SacButtonComponent], imports: [CommonModule], exports: [SacButtonComponent] });
29
- SACBootstrap3ButtonModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SACBootstrap3ButtonModule, imports: [[
30
- CommonModule
31
- ]] });
29
+ SACBootstrap3ButtonModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SACBootstrap3ButtonModule, declarations: [SacButtonComponent], imports: [CommonModule, SACCommonUtliltiesModule], exports: [SacButtonComponent] });
30
+ SACBootstrap3ButtonModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SACBootstrap3ButtonModule, imports: [[CommonModule, SACCommonUtliltiesModule]] });
32
31
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SACBootstrap3ButtonModule, decorators: [{
33
32
  type: NgModule,
34
33
  args: [{
35
34
  declarations: [SacButtonComponent],
36
- imports: [
37
- CommonModule
38
- ],
39
- exports: [SacButtonComponent]
35
+ imports: [CommonModule, SACCommonUtliltiesModule],
36
+ exports: [SacButtonComponent],
40
37
  }]
41
38
  }] });
42
39
 
@@ -267,22 +264,22 @@ class SacTooltipComponent extends SacTooltipCommon {
267
264
  }
268
265
  }
269
266
  SacTooltipComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SacTooltipComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
270
- SacTooltipComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.7", type: SacTooltipComponent, selector: "sac-tooltip", usesInheritance: true, ngImport: i0, template: "<div [style.display]=\"inlinemode ? 'inline' : null\">\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 *ngIf=\"IsTooltipVisible()\"\n #tooltip>\n <div\n [style.visibility]=\"IsTooltipContentVisible ? 'visible' : 'hidden'\"\n class=\"tooltip in\"\n style=\"display: block\"\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 <div class=\"tooltip-arrow\"></div>\n <div class=\"tooltip-inner\">{{ tooltiptext }}</div>\n </div>\n </div>\n</div>\n", directives: [{ type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
267
+ SacTooltipComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.7", type: SacTooltipComponent, 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 *ngIf=\"IsTooltipVisible()\"\n #tooltip>\n <div\n [style.visibility]=\"IsTooltipContentVisible ? 'visible' : 'hidden'\"\n class=\"tooltip in\"\n style=\"display: block\"\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 <div class=\"tooltip-arrow\"></div>\n <div class=\"tooltip-inner\">{{ tooltiptext }}</div>\n </div>\n </div>\n</div>\n", directives: [{ type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "testingattribute": i5.SacTestingAttributePipe } });
271
268
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SacTooltipComponent, decorators: [{
272
269
  type: Component,
273
- args: [{ selector: 'sac-tooltip', template: "<div [style.display]=\"inlinemode ? 'inline' : null\">\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 *ngIf=\"IsTooltipVisible()\"\n #tooltip>\n <div\n [style.visibility]=\"IsTooltipContentVisible ? 'visible' : 'hidden'\"\n class=\"tooltip in\"\n style=\"display: block\"\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 <div class=\"tooltip-arrow\"></div>\n <div class=\"tooltip-inner\">{{ tooltiptext }}</div>\n </div>\n </div>\n</div>\n" }]
270
+ args: [{ selector: 'sac-tooltip', 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 *ngIf=\"IsTooltipVisible()\"\n #tooltip>\n <div\n [style.visibility]=\"IsTooltipContentVisible ? 'visible' : 'hidden'\"\n class=\"tooltip in\"\n style=\"display: block\"\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 <div class=\"tooltip-arrow\"></div>\n <div class=\"tooltip-inner\">{{ tooltiptext }}</div>\n </div>\n </div>\n</div>\n" }]
274
271
  }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }]; } });
275
272
 
276
273
  class SACBootstrap3TooltipModule {
277
274
  }
278
275
  SACBootstrap3TooltipModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SACBootstrap3TooltipModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
279
- SACBootstrap3TooltipModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SACBootstrap3TooltipModule, declarations: [SacTooltipComponent], imports: [CommonModule], exports: [SacTooltipComponent] });
280
- SACBootstrap3TooltipModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SACBootstrap3TooltipModule, imports: [[CommonModule]] });
276
+ SACBootstrap3TooltipModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SACBootstrap3TooltipModule, declarations: [SacTooltipComponent], imports: [CommonModule, SACCommonUtliltiesModule], exports: [SacTooltipComponent] });
277
+ SACBootstrap3TooltipModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SACBootstrap3TooltipModule, imports: [[CommonModule, SACCommonUtliltiesModule]] });
281
278
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SACBootstrap3TooltipModule, decorators: [{
282
279
  type: NgModule,
283
280
  args: [{
284
281
  declarations: [SacTooltipComponent],
285
- imports: [CommonModule],
282
+ imports: [CommonModule, SACCommonUtliltiesModule],
286
283
  exports: [SacTooltipComponent],
287
284
  }]
288
285
  }] });
@@ -310,7 +307,7 @@ SacCheckboxComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", v
310
307
  useExisting: forwardRef(() => SacCheckboxComponent),
311
308
  multi: true,
312
309
  },
313
- ], usesInheritance: true, ngImport: i0, template: "<div\n class=\"row\"\n [class.form-group]=\"!stacked\"\n [class.has-error]=\"invalid && (dirty || touched)\"\n [ngClass]=\"componentHeight | toLabelHeight\">\n <label\n *ngIf=\"!disablelabel && !stacked\"\n for=\"{{ name }}\"\n class=\"col-xs-12 control-label\"\n [ngClass]=\"[!disablelabel && !stacked ? (this.labelSizes | toLabelWidthCss) : 'sr-only']\">\n <span class=\"text\">{{ label }}</span>\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [class]=\"HelptextTooltipIcon\"\n style=\"margin-left: 5px\">\n </span>\n </sac-tooltip>\n </label>\n <div\n class=\"col-xs-12\"\n [ngClass]=\"[!disablelabel && !stacked ? (this.labelSizes | toControlWidthCss) : '']\">\n <div\n class=\"checkbox\"\n [class.checkbox-sm]=\"componentHeight === ControlHeight.Small\"\n [class.checkbox-lg]=\"componentHeight === ControlHeight.Large\">\n <label for=\"{{ name }}\">\n <input\n id=\"{{ name }}\"\n name=\"{{ name }}\"\n type=\"checkbox\"\n class=\"visible-checkbox\"\n [checked]=\"value\"\n [disabled]=\"isdisabled\"\n (blur)=\"onTouch()\"\n (change)=\"setValue($event.target.checked)\" />\n <ng-container *ngIf=\"checkboxtext\">\n <span>{{ checkboxtext }}</span>\n </ng-container>\n </label>\n\n <div\n *ngIf=\"helptextmode === 'tooltip' && helptext && (disablelabel || stacked)\"\n class=\"form-control-static\"\n style=\"display: inline\">\n <sac-tooltip\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [class]=\"HelptextTooltipIcon\"\n style=\"margin-left: 5px; margin-right: 5px\">\n </span>\n </sac-tooltip>\n </div>\n </div>\n <p\n *ngIf=\"helptextmode === 'text' && helptext\"\n class=\"help-block\">\n {{ helptext }}\n </p>\n </div>\n</div>\n", styles: [".checkbox-sm{padding-top:2px}.checkbox-sm input{height:12px;width:12px;margin-top:2px}.checkbox-sm label{font-size:12px;padding-top:2px}.checkbox-lg input{height:20px;width:20px;margin-top:2px}.checkbox-lg label{font-size:18px;padding-top:4px}\n"], components: [{ type: SacTooltipComponent, selector: "sac-tooltip" }], directives: [{ type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "toLabelHeight": SacToLabelHeightPipe, "toLabelWidthCss": SacToLabelWidthCssPipe, "toControlWidthCss": SacToControlWidthCssPipe } });
310
+ ], usesInheritance: true, ngImport: i0, template: "<div\n class=\"row\"\n [class.form-group]=\"!stacked\"\n [class.has-error]=\"invalid && (dirty || touched)\"\n [attr.data-e2e-key]=\"name | testingattribute : e2eidentifier\"\n [ngClass]=\"componentHeight | toLabelHeight\">\n <label\n *ngIf=\"!disablelabel && !stacked\"\n for=\"{{ name }}\"\n class=\"col-xs-12 control-label\"\n [ngClass]=\"[!disablelabel && !stacked ? (this.labelSizes | toLabelWidthCss) : 'sr-only']\">\n <span class=\"text\">{{ label }}</span>\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [class]=\"HelptextTooltipIcon\"\n style=\"margin-left: 5px\">\n </span>\n </sac-tooltip>\n </label>\n <div\n class=\"col-xs-12\"\n [ngClass]=\"[!disablelabel && !stacked ? (this.labelSizes | toControlWidthCss) : '']\">\n <div\n class=\"checkbox\"\n [class.checkbox-sm]=\"componentHeight === ControlHeight.Small\"\n [class.checkbox-lg]=\"componentHeight === ControlHeight.Large\">\n <label for=\"{{ name }}\">\n <input\n id=\"{{ name }}\"\n name=\"{{ name }}\"\n type=\"checkbox\"\n class=\"visible-checkbox\"\n [checked]=\"value\"\n [disabled]=\"isdisabled\"\n (blur)=\"onTouch()\"\n (change)=\"setValue($event.target.checked)\" />\n <ng-container *ngIf=\"checkboxtext\">\n <span>{{ checkboxtext }}</span>\n </ng-container>\n </label>\n\n <div\n *ngIf=\"helptextmode === 'tooltip' && helptext && (disablelabel || stacked)\"\n class=\"form-control-static\"\n style=\"display: inline\">\n <sac-tooltip\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [class]=\"HelptextTooltipIcon\"\n style=\"margin-left: 5px; margin-right: 5px\">\n </span>\n </sac-tooltip>\n </div>\n </div>\n <p\n *ngIf=\"helptextmode === 'text' && helptext\"\n class=\"help-block\">\n {{ helptext }}\n </p>\n </div>\n</div>\n", styles: [".checkbox-sm{padding-top:2px}.checkbox-sm input{height:12px;width:12px;margin-top:2px}.checkbox-sm label{font-size:12px;padding-top:2px}.checkbox-lg input{height:20px;width:20px;margin-top:2px}.checkbox-lg label{font-size:18px;padding-top:4px}\n"], components: [{ type: SacTooltipComponent, selector: "sac-tooltip" }], directives: [{ type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "testingattribute": i5.SacTestingAttributePipe, "toLabelHeight": SacToLabelHeightPipe, "toLabelWidthCss": SacToLabelWidthCssPipe, "toControlWidthCss": SacToControlWidthCssPipe } });
314
311
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SacCheckboxComponent, decorators: [{
315
312
  type: Component,
316
313
  args: [{ selector: 'sac-checkbox', providers: [
@@ -324,7 +321,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImpor
324
321
  useExisting: forwardRef(() => SacCheckboxComponent),
325
322
  multi: true,
326
323
  },
327
- ], template: "<div\n class=\"row\"\n [class.form-group]=\"!stacked\"\n [class.has-error]=\"invalid && (dirty || touched)\"\n [ngClass]=\"componentHeight | toLabelHeight\">\n <label\n *ngIf=\"!disablelabel && !stacked\"\n for=\"{{ name }}\"\n class=\"col-xs-12 control-label\"\n [ngClass]=\"[!disablelabel && !stacked ? (this.labelSizes | toLabelWidthCss) : 'sr-only']\">\n <span class=\"text\">{{ label }}</span>\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [class]=\"HelptextTooltipIcon\"\n style=\"margin-left: 5px\">\n </span>\n </sac-tooltip>\n </label>\n <div\n class=\"col-xs-12\"\n [ngClass]=\"[!disablelabel && !stacked ? (this.labelSizes | toControlWidthCss) : '']\">\n <div\n class=\"checkbox\"\n [class.checkbox-sm]=\"componentHeight === ControlHeight.Small\"\n [class.checkbox-lg]=\"componentHeight === ControlHeight.Large\">\n <label for=\"{{ name }}\">\n <input\n id=\"{{ name }}\"\n name=\"{{ name }}\"\n type=\"checkbox\"\n class=\"visible-checkbox\"\n [checked]=\"value\"\n [disabled]=\"isdisabled\"\n (blur)=\"onTouch()\"\n (change)=\"setValue($event.target.checked)\" />\n <ng-container *ngIf=\"checkboxtext\">\n <span>{{ checkboxtext }}</span>\n </ng-container>\n </label>\n\n <div\n *ngIf=\"helptextmode === 'tooltip' && helptext && (disablelabel || stacked)\"\n class=\"form-control-static\"\n style=\"display: inline\">\n <sac-tooltip\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [class]=\"HelptextTooltipIcon\"\n style=\"margin-left: 5px; margin-right: 5px\">\n </span>\n </sac-tooltip>\n </div>\n </div>\n <p\n *ngIf=\"helptextmode === 'text' && helptext\"\n class=\"help-block\">\n {{ helptext }}\n </p>\n </div>\n</div>\n", styles: [".checkbox-sm{padding-top:2px}.checkbox-sm input{height:12px;width:12px;margin-top:2px}.checkbox-sm label{font-size:12px;padding-top:2px}.checkbox-lg input{height:20px;width:20px;margin-top:2px}.checkbox-lg label{font-size:18px;padding-top:4px}\n"] }]
324
+ ], template: "<div\n class=\"row\"\n [class.form-group]=\"!stacked\"\n [class.has-error]=\"invalid && (dirty || touched)\"\n [attr.data-e2e-key]=\"name | testingattribute : e2eidentifier\"\n [ngClass]=\"componentHeight | toLabelHeight\">\n <label\n *ngIf=\"!disablelabel && !stacked\"\n for=\"{{ name }}\"\n class=\"col-xs-12 control-label\"\n [ngClass]=\"[!disablelabel && !stacked ? (this.labelSizes | toLabelWidthCss) : 'sr-only']\">\n <span class=\"text\">{{ label }}</span>\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [class]=\"HelptextTooltipIcon\"\n style=\"margin-left: 5px\">\n </span>\n </sac-tooltip>\n </label>\n <div\n class=\"col-xs-12\"\n [ngClass]=\"[!disablelabel && !stacked ? (this.labelSizes | toControlWidthCss) : '']\">\n <div\n class=\"checkbox\"\n [class.checkbox-sm]=\"componentHeight === ControlHeight.Small\"\n [class.checkbox-lg]=\"componentHeight === ControlHeight.Large\">\n <label for=\"{{ name }}\">\n <input\n id=\"{{ name }}\"\n name=\"{{ name }}\"\n type=\"checkbox\"\n class=\"visible-checkbox\"\n [checked]=\"value\"\n [disabled]=\"isdisabled\"\n (blur)=\"onTouch()\"\n (change)=\"setValue($event.target.checked)\" />\n <ng-container *ngIf=\"checkboxtext\">\n <span>{{ checkboxtext }}</span>\n </ng-container>\n </label>\n\n <div\n *ngIf=\"helptextmode === 'tooltip' && helptext && (disablelabel || stacked)\"\n class=\"form-control-static\"\n style=\"display: inline\">\n <sac-tooltip\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [class]=\"HelptextTooltipIcon\"\n style=\"margin-left: 5px; margin-right: 5px\">\n </span>\n </sac-tooltip>\n </div>\n </div>\n <p\n *ngIf=\"helptextmode === 'text' && helptext\"\n class=\"help-block\">\n {{ helptext }}\n </p>\n </div>\n</div>\n", styles: [".checkbox-sm{padding-top:2px}.checkbox-sm input{height:12px;width:12px;margin-top:2px}.checkbox-sm label{font-size:12px;padding-top:2px}.checkbox-lg input{height:20px;width:20px;margin-top:2px}.checkbox-lg label{font-size:18px;padding-top:4px}\n"] }]
328
325
  }], ctorParameters: function () { return [{ type: SacFormLayoutDirective, decorators: [{
329
326
  type: Host
330
327
  }, {
@@ -354,7 +351,7 @@ SacRadiobuttonsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0
354
351
  useExisting: forwardRef(() => SacRadiobuttonsComponent),
355
352
  multi: true,
356
353
  },
357
- ], usesInheritance: true, ngImport: i0, template: "<div\n class=\"row form-group\"\n [class.has-error]=\"invalid && (dirty || touched)\"\n [ngClass]=\"componentHeight | toLabelHeight\">\n <label\n *ngIf=\"disablelabel === false\"\n for=\"{{ name }}\"\n class=\"col-xs-12 control-label\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'sr-only']\">\n <span class=\"text\">{{ label }}</span>\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [class]=\"HelptextTooltipIcon\"\n style=\"margin-left: 5px\">\n </span>\n </sac-tooltip>\n </label>\n <div\n class=\"col-xs-12\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\">\n <div>\n <ng-content></ng-content>\n </div>\n <p\n *ngIf=\"helptextmode === 'text' && helptext\"\n class=\"help-block\">\n {{ helptext }}\n </p>\n </div>\n</div>\n", components: [{ type: SacTooltipComponent, selector: "sac-tooltip" }], directives: [{ type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "toLabelHeight": SacToLabelHeightPipe, "toLabelWidthCss": SacToLabelWidthCssPipe, "toControlWidthCss": SacToControlWidthCssPipe } });
354
+ ], usesInheritance: true, ngImport: i0, template: "<div\n class=\"row form-group\"\n [class.has-error]=\"invalid && (dirty || touched)\"\n [ngClass]=\"componentHeight | toLabelHeight\"\n [attr.data-e2e-key]=\"name | testingattribute : e2eidentifier\">\n <label\n *ngIf=\"disablelabel === false\"\n for=\"{{ name }}\"\n class=\"col-xs-12 control-label\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'sr-only']\">\n <span class=\"text\">{{ label }}</span>\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [class]=\"HelptextTooltipIcon\"\n style=\"margin-left: 5px\">\n </span>\n </sac-tooltip>\n </label>\n <div\n class=\"col-xs-12\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\">\n <div>\n <ng-content></ng-content>\n </div>\n <p\n *ngIf=\"helptextmode === 'text' && helptext\"\n class=\"help-block\"\n >{{ helptext }}</p\n >\n </div>\n</div>\n", components: [{ type: SacTooltipComponent, selector: "sac-tooltip" }], directives: [{ type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "toLabelHeight": SacToLabelHeightPipe, "testingattribute": i5.SacTestingAttributePipe, "toLabelWidthCss": SacToLabelWidthCssPipe, "toControlWidthCss": SacToControlWidthCssPipe } });
358
355
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SacRadiobuttonsComponent, decorators: [{
359
356
  type: Component,
360
357
  args: [{ selector: 'sac-radiobuttons', providers: [
@@ -368,7 +365,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImpor
368
365
  useExisting: forwardRef(() => SacRadiobuttonsComponent),
369
366
  multi: true,
370
367
  },
371
- ], template: "<div\n class=\"row form-group\"\n [class.has-error]=\"invalid && (dirty || touched)\"\n [ngClass]=\"componentHeight | toLabelHeight\">\n <label\n *ngIf=\"disablelabel === false\"\n for=\"{{ name }}\"\n class=\"col-xs-12 control-label\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'sr-only']\">\n <span class=\"text\">{{ label }}</span>\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [class]=\"HelptextTooltipIcon\"\n style=\"margin-left: 5px\">\n </span>\n </sac-tooltip>\n </label>\n <div\n class=\"col-xs-12\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\">\n <div>\n <ng-content></ng-content>\n </div>\n <p\n *ngIf=\"helptextmode === 'text' && helptext\"\n class=\"help-block\">\n {{ helptext }}\n </p>\n </div>\n</div>\n" }]
368
+ ], template: "<div\n class=\"row form-group\"\n [class.has-error]=\"invalid && (dirty || touched)\"\n [ngClass]=\"componentHeight | toLabelHeight\"\n [attr.data-e2e-key]=\"name | testingattribute : e2eidentifier\">\n <label\n *ngIf=\"disablelabel === false\"\n for=\"{{ name }}\"\n class=\"col-xs-12 control-label\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'sr-only']\">\n <span class=\"text\">{{ label }}</span>\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [class]=\"HelptextTooltipIcon\"\n style=\"margin-left: 5px\">\n </span>\n </sac-tooltip>\n </label>\n <div\n class=\"col-xs-12\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\">\n <div>\n <ng-content></ng-content>\n </div>\n <p\n *ngIf=\"helptextmode === 'text' && helptext\"\n class=\"help-block\"\n >{{ helptext }}</p\n >\n </div>\n</div>\n" }]
372
369
  }], ctorParameters: function () { return [{ type: SacFormLayoutDirective, decorators: [{
373
370
  type: Host
374
371
  }, {
@@ -382,10 +379,10 @@ class SacRadiobuttonComponent extends SacRadiobuttonCommon {
382
379
  }
383
380
  }
384
381
  SacRadiobuttonComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SacRadiobuttonComponent, deps: [{ token: SacRadiobuttonsComponent, host: true }, { token: SacFormLayoutDirective, host: true, optional: true }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component });
385
- SacRadiobuttonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.7", type: SacRadiobuttonComponent, selector: "sac-radiobutton", usesInheritance: true, ngImport: i0, template: "<div\n class=\"radio\"\n *ngIf=\"hidden === false\"\n [class.radio-sm]=\"componentHeight === ControlHeight.Small\"\n [class.radio-lg]=\"componentHeight === ControlHeight.Large\">\n <label for=\"{{ getName }}_{{ getIndex }}\">\n <input\n id=\"{{ getName }}_{{ getIndex }}\"\n name=\"{{ getName }}\"\n type=\"radio\"\n [value]=\"value\"\n [checked]=\"checked\"\n (change)=\"ChangeEvent()\"\n [disabled]=\"isDisabled\" />\n <ng-template *ngTemplateOutlet=\"labeltemplate || defaultItemLabelTemplate; context: { label: label }\"></ng-template>\n <p\n *ngIf=\"helptextmode === 'text' && helptext\"\n class=\"help-block\">\n {{ helptext }}\n </p>\n </label>\n\n <div\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n class=\"form-control-static\"\n style=\"display: inline\">\n <sac-tooltip\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [class]=\"HelptextTooltipIcon\"\n style=\"margin-left: 5px; margin-right: 5px\">\n </span>\n </sac-tooltip>\n </div>\n</div>\n\n<ng-template\n #defaultItemLabelTemplate\n let-label=\"label\">\n <span>{{ label }}</span>\n</ng-template>\n", styles: [".radio-lg label{font-size:18px;padding-top:2px}.radio-lg label input{width:20px;height:20px;margin-top:2px}.radio-sm{padding-top:2px}.radio-sm label{font-size:12px;min-height:14px;padding-top:2px}.radio-sm label input{width:12px;height:12px;margin-top:2px}\n"], components: [{ type: SacTooltipComponent, selector: "sac-tooltip" }], directives: [{ type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }] });
382
+ SacRadiobuttonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.7", type: SacRadiobuttonComponent, selector: "sac-radiobutton", usesInheritance: true, ngImport: i0, template: "<div\n class=\"radio\"\n *ngIf=\"hidden === false\"\n [class.radio-sm]=\"componentHeight === ControlHeight.Small\"\n [class.radio-lg]=\"componentHeight === ControlHeight.Large\">\n <label for=\"{{ getName }}_{{ getIndex }}\">\n <input\n id=\"{{ getName }}_{{ getIndex }}\"\n name=\"{{ getName }}\"\n type=\"radio\"\n [value]=\"value\"\n [checked]=\"checked\"\n (change)=\"ChangeEvent()\"\n [disabled]=\"isDisabled\" />\n <ng-template *ngTemplateOutlet=\"labeltemplate || defaultItemLabelTemplate; context: { label: label }\"></ng-template>\n <p\n *ngIf=\"helptextmode === 'text' && helptext\"\n class=\"help-block\"\n >{{ helptext }}</p\n >\n </label>\n\n <div\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n class=\"form-control-static\"\n style=\"display: inline\">\n <sac-tooltip\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [class]=\"HelptextTooltipIcon\"\n style=\"margin-left: 5px; margin-right: 5px\">\n </span>\n </sac-tooltip>\n </div>\n</div>\n\n<ng-template\n #defaultItemLabelTemplate\n let-label=\"label\">\n <span>{{ label }}</span>\n</ng-template>\n", styles: [".radio-lg label{font-size:18px;padding-top:2px}.radio-lg label input{width:20px;height:20px;margin-top:2px}.radio-sm{padding-top:2px}.radio-sm label{font-size:12px;min-height:14px;padding-top:2px}.radio-sm label input{width:12px;height:12px;margin-top:2px}\n"], components: [{ type: SacTooltipComponent, selector: "sac-tooltip" }], directives: [{ type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }] });
386
383
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SacRadiobuttonComponent, decorators: [{
387
384
  type: Component,
388
- args: [{ selector: 'sac-radiobutton', template: "<div\n class=\"radio\"\n *ngIf=\"hidden === false\"\n [class.radio-sm]=\"componentHeight === ControlHeight.Small\"\n [class.radio-lg]=\"componentHeight === ControlHeight.Large\">\n <label for=\"{{ getName }}_{{ getIndex }}\">\n <input\n id=\"{{ getName }}_{{ getIndex }}\"\n name=\"{{ getName }}\"\n type=\"radio\"\n [value]=\"value\"\n [checked]=\"checked\"\n (change)=\"ChangeEvent()\"\n [disabled]=\"isDisabled\" />\n <ng-template *ngTemplateOutlet=\"labeltemplate || defaultItemLabelTemplate; context: { label: label }\"></ng-template>\n <p\n *ngIf=\"helptextmode === 'text' && helptext\"\n class=\"help-block\">\n {{ helptext }}\n </p>\n </label>\n\n <div\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n class=\"form-control-static\"\n style=\"display: inline\">\n <sac-tooltip\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [class]=\"HelptextTooltipIcon\"\n style=\"margin-left: 5px; margin-right: 5px\">\n </span>\n </sac-tooltip>\n </div>\n</div>\n\n<ng-template\n #defaultItemLabelTemplate\n let-label=\"label\">\n <span>{{ label }}</span>\n</ng-template>\n", styles: [".radio-lg label{font-size:18px;padding-top:2px}.radio-lg label input{width:20px;height:20px;margin-top:2px}.radio-sm{padding-top:2px}.radio-sm label{font-size:12px;min-height:14px;padding-top:2px}.radio-sm label input{width:12px;height:12px;margin-top:2px}\n"] }]
385
+ args: [{ selector: 'sac-radiobutton', template: "<div\n class=\"radio\"\n *ngIf=\"hidden === false\"\n [class.radio-sm]=\"componentHeight === ControlHeight.Small\"\n [class.radio-lg]=\"componentHeight === ControlHeight.Large\">\n <label for=\"{{ getName }}_{{ getIndex }}\">\n <input\n id=\"{{ getName }}_{{ getIndex }}\"\n name=\"{{ getName }}\"\n type=\"radio\"\n [value]=\"value\"\n [checked]=\"checked\"\n (change)=\"ChangeEvent()\"\n [disabled]=\"isDisabled\" />\n <ng-template *ngTemplateOutlet=\"labeltemplate || defaultItemLabelTemplate; context: { label: label }\"></ng-template>\n <p\n *ngIf=\"helptextmode === 'text' && helptext\"\n class=\"help-block\"\n >{{ helptext }}</p\n >\n </label>\n\n <div\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n class=\"form-control-static\"\n style=\"display: inline\">\n <sac-tooltip\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [class]=\"HelptextTooltipIcon\"\n style=\"margin-left: 5px; margin-right: 5px\">\n </span>\n </sac-tooltip>\n </div>\n</div>\n\n<ng-template\n #defaultItemLabelTemplate\n let-label=\"label\">\n <span>{{ label }}</span>\n</ng-template>\n", styles: [".radio-lg label{font-size:18px;padding-top:2px}.radio-lg label input{width:20px;height:20px;margin-top:2px}.radio-sm{padding-top:2px}.radio-sm label{font-size:12px;min-height:14px;padding-top:2px}.radio-sm label input{width:12px;height:12px;margin-top:2px}\n"] }]
389
386
  }], ctorParameters: function () { return [{ type: SacRadiobuttonsComponent, decorators: [{
390
387
  type: Host
391
388
  }] }, { type: SacFormLayoutDirective, decorators: [{
@@ -397,47 +394,29 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImpor
397
394
  class SACBootstrap3CheckboxModule {
398
395
  }
399
396
  SACBootstrap3CheckboxModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SACBootstrap3CheckboxModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
400
- SACBootstrap3CheckboxModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SACBootstrap3CheckboxModule, declarations: [SacCheckboxComponent,
401
- SacRadiobuttonComponent,
402
- SacRadiobuttonsComponent], imports: [CommonModule,
403
- SACBootstrap3LayoutModule,
404
- SACBootstrap3TooltipModule], exports: [SacCheckboxComponent,
405
- SacRadiobuttonComponent,
406
- SacRadiobuttonsComponent] });
407
- SACBootstrap3CheckboxModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SACBootstrap3CheckboxModule, imports: [[
408
- CommonModule,
409
- SACBootstrap3LayoutModule,
410
- SACBootstrap3TooltipModule,
411
- ]] });
397
+ SACBootstrap3CheckboxModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SACBootstrap3CheckboxModule, declarations: [SacCheckboxComponent, SacRadiobuttonComponent, SacRadiobuttonsComponent], imports: [CommonModule, SACBootstrap3LayoutModule, SACBootstrap3TooltipModule, SACCommonUtliltiesModule], exports: [SacCheckboxComponent, SacRadiobuttonComponent, SacRadiobuttonsComponent] });
398
+ SACBootstrap3CheckboxModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SACBootstrap3CheckboxModule, imports: [[CommonModule, SACBootstrap3LayoutModule, SACBootstrap3TooltipModule, SACCommonUtliltiesModule]] });
412
399
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SACBootstrap3CheckboxModule, decorators: [{
413
400
  type: NgModule,
414
401
  args: [{
415
- declarations: [
416
- SacCheckboxComponent,
417
- SacRadiobuttonComponent,
418
- SacRadiobuttonsComponent,
419
- ],
420
- imports: [
421
- CommonModule,
422
- SACBootstrap3LayoutModule,
423
- SACBootstrap3TooltipModule,
424
- ],
425
- exports: [
426
- SacCheckboxComponent,
427
- SacRadiobuttonComponent,
428
- SacRadiobuttonsComponent,
429
- ],
402
+ declarations: [SacCheckboxComponent, SacRadiobuttonComponent, SacRadiobuttonsComponent],
403
+ imports: [CommonModule, SACBootstrap3LayoutModule, SACBootstrap3TooltipModule, SACCommonUtliltiesModule],
404
+ exports: [SacCheckboxComponent, SacRadiobuttonComponent, SacRadiobuttonsComponent],
430
405
  }]
431
406
  }] });
432
407
 
433
408
  class SacDialogComponent extends SacDialogCommon {
409
+ // #endregion Properties
410
+ // #region Constructors
434
411
  constructor(el, cdRef) {
435
412
  super(cdRef);
436
- //#region Bootstrap 3 Spezifische Properites
437
- this.zindex = 20002;
413
+ // #region Properties
438
414
  this._lastDialogMarginTop = 0;
415
+ this.zindex = 20002;
439
416
  this.element = el.nativeElement;
440
417
  }
418
+ // #endregion Constructors
419
+ // #region Public Getters And Setters
441
420
  // Margin Top für Center Position des Dialogs berechnen
442
421
  get dialogMarginTop() {
443
422
  let result = 0;
@@ -452,11 +431,8 @@ class SacDialogComponent extends SacDialogCommon {
452
431
  }
453
432
  return result;
454
433
  }
455
- //#endregion
456
- ngOnInit() {
457
- // Element an Body für korrektes Styling unter Bootstrap 3 verschieben
458
- document.body.appendChild(this.element);
459
- }
434
+ // #endregion Public Getters And Setters
435
+ // #region Public Methods
460
436
  ngOnDestroy() {
461
437
  this.hide();
462
438
  if (document.body.contains(this.element)) {
@@ -464,16 +440,34 @@ class SacDialogComponent extends SacDialogCommon {
464
440
  }
465
441
  super.ngOnDestroy();
466
442
  }
443
+ ngOnInit() {
444
+ // Element an Body für korrektes Styling unter Bootstrap 3 verschieben
445
+ document.body.appendChild(this.element);
446
+ }
467
447
  }
468
448
  SacDialogComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SacDialogComponent, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
469
- SacDialogComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.7", type: SacDialogComponent, selector: "sac-dialog", inputs: { zindex: "zindex" }, usesInheritance: true, ngImport: i0, template: "<div [id]=\"name\" *ngIf=\"_show\" [ngStyle]=\"{'z-index': zindex}\">\n <div\n class=\"modal in\"\n style=\"display: block\"\n tabindex=\"-1\"\n role=\"dialog\"\n #dialog\n >\n <div\n class=\"modal-dialog\"\n [class.modal-sm]=\"_size==='small'\"\n [class.modal-lg]=\"_size === 'large' || _size === 'extralarge'\"\n role=\"document\"\n >\n <div class=\"modal-content\">\n <div class=\"modal-header\">\n <button\n type=\"button\"\n class=\"close\"\n data-dismiss=\"modal\"\n aria-label=\"Close\"\n (click)=\"hide()\"\n *ngIf=\"closebutton\"\n >\n <span aria-hidden=\"true\">&times;</span>\n </button>\n <span class=\"modal-title\">{{title}}</span>\n </div>\n <div class=\"modal-body\">\n <ng-content select=\"[dialogbody]\"></ng-content>\n </div>\n <div class=\"modal-footer\">\n <ng-content select=\"[dialogfooter]\"></ng-content>\n </div>\n </div>\n <!-- /.modal-content -->\n </div>\n <!-- /.modal-dialog -->\n </div>\n <!-- /.modal -->\n</div>\n<div class=\"modal-backdrop in\" *ngIf=\"_show && backdrop\" #backdrop></div>\n", directives: [{ type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }] });
449
+ SacDialogComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.7", type: SacDialogComponent, selector: "sac-dialog", inputs: { zindex: "zindex" }, usesInheritance: true, ngImport: i0, template: "<div\n [id]=\"name\"\n *ngIf=\"_show\"\n [ngStyle]=\"{ 'z-index': zindex }\"\n [attr.data-e2e-key]=\"name | testingattribute : e2eidentifier\">\n <div\n class=\"modal in\"\n style=\"display: block\"\n tabindex=\"-1\"\n role=\"dialog\"\n #dialog>\n <div\n class=\"modal-dialog\"\n [class.modal-sm]=\"_size === 'small'\"\n [class.modal-lg]=\"_size === 'large' || _size === 'extralarge'\"\n role=\"document\">\n <div class=\"modal-content\">\n <div class=\"modal-header\">\n <button\n type=\"button\"\n class=\"close\"\n data-dismiss=\"modal\"\n aria-label=\"Close\"\n (click)=\"hide()\"\n *ngIf=\"closebutton\">\n <span aria-hidden=\"true\">&times;</span>\n </button>\n <span class=\"modal-title\">{{ title }}</span>\n </div>\n <div class=\"modal-body\">\n <ng-content select=\"[dialogbody]\"></ng-content>\n </div>\n <div class=\"modal-footer\">\n <ng-content select=\"[dialogfooter]\"></ng-content>\n </div>\n </div>\n <!-- /.modal-content -->\n </div>\n <!-- /.modal-dialog -->\n </div>\n <!-- /.modal -->\n</div>\n<div\n class=\"modal-backdrop in\"\n *ngIf=\"_show && backdrop\"\n #backdrop></div>\n", directives: [{ type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }], pipes: { "testingattribute": i5.SacTestingAttributePipe } });
470
450
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SacDialogComponent, decorators: [{
471
451
  type: Component,
472
- args: [{ selector: 'sac-dialog', template: "<div [id]=\"name\" *ngIf=\"_show\" [ngStyle]=\"{'z-index': zindex}\">\n <div\n class=\"modal in\"\n style=\"display: block\"\n tabindex=\"-1\"\n role=\"dialog\"\n #dialog\n >\n <div\n class=\"modal-dialog\"\n [class.modal-sm]=\"_size==='small'\"\n [class.modal-lg]=\"_size === 'large' || _size === 'extralarge'\"\n role=\"document\"\n >\n <div class=\"modal-content\">\n <div class=\"modal-header\">\n <button\n type=\"button\"\n class=\"close\"\n data-dismiss=\"modal\"\n aria-label=\"Close\"\n (click)=\"hide()\"\n *ngIf=\"closebutton\"\n >\n <span aria-hidden=\"true\">&times;</span>\n </button>\n <span class=\"modal-title\">{{title}}</span>\n </div>\n <div class=\"modal-body\">\n <ng-content select=\"[dialogbody]\"></ng-content>\n </div>\n <div class=\"modal-footer\">\n <ng-content select=\"[dialogfooter]\"></ng-content>\n </div>\n </div>\n <!-- /.modal-content -->\n </div>\n <!-- /.modal-dialog -->\n </div>\n <!-- /.modal -->\n</div>\n<div class=\"modal-backdrop in\" *ngIf=\"_show && backdrop\" #backdrop></div>\n" }]
452
+ args: [{ selector: 'sac-dialog', template: "<div\n [id]=\"name\"\n *ngIf=\"_show\"\n [ngStyle]=\"{ 'z-index': zindex }\"\n [attr.data-e2e-key]=\"name | testingattribute : e2eidentifier\">\n <div\n class=\"modal in\"\n style=\"display: block\"\n tabindex=\"-1\"\n role=\"dialog\"\n #dialog>\n <div\n class=\"modal-dialog\"\n [class.modal-sm]=\"_size === 'small'\"\n [class.modal-lg]=\"_size === 'large' || _size === 'extralarge'\"\n role=\"document\">\n <div class=\"modal-content\">\n <div class=\"modal-header\">\n <button\n type=\"button\"\n class=\"close\"\n data-dismiss=\"modal\"\n aria-label=\"Close\"\n (click)=\"hide()\"\n *ngIf=\"closebutton\">\n <span aria-hidden=\"true\">&times;</span>\n </button>\n <span class=\"modal-title\">{{ title }}</span>\n </div>\n <div class=\"modal-body\">\n <ng-content select=\"[dialogbody]\"></ng-content>\n </div>\n <div class=\"modal-footer\">\n <ng-content select=\"[dialogfooter]\"></ng-content>\n </div>\n </div>\n <!-- /.modal-content -->\n </div>\n <!-- /.modal-dialog -->\n </div>\n <!-- /.modal -->\n</div>\n<div\n class=\"modal-backdrop in\"\n *ngIf=\"_show && backdrop\"\n #backdrop></div>\n" }]
473
453
  }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { zindex: [{
474
454
  type: Input
475
455
  }] } });
476
456
 
457
+ class SACBootstrap3DialogModule {
458
+ }
459
+ SACBootstrap3DialogModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SACBootstrap3DialogModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
460
+ SACBootstrap3DialogModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SACBootstrap3DialogModule, declarations: [SacDialogComponent], imports: [CommonModule, SACCommonUtliltiesModule], exports: [SacDialogComponent] });
461
+ SACBootstrap3DialogModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SACBootstrap3DialogModule, imports: [[CommonModule, SACCommonUtliltiesModule]] });
462
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SACBootstrap3DialogModule, decorators: [{
463
+ type: NgModule,
464
+ args: [{
465
+ declarations: [SacDialogComponent],
466
+ imports: [CommonModule, SACCommonUtliltiesModule],
467
+ exports: [SacDialogComponent],
468
+ }]
469
+ }] });
470
+
477
471
  class SacConfirmComponent extends SacConfirmCommon {
478
472
  }
479
473
  SacConfirmComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SacConfirmComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
@@ -580,24 +574,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImpor
580
574
  args: [ComponentFactoryResolver]
581
575
  }] }, { type: i0.ApplicationRef }, { type: i0.Injector }]; } });
582
576
 
583
- class SACBootstrap3DialogModule {
584
- }
585
- SACBootstrap3DialogModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SACBootstrap3DialogModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
586
- SACBootstrap3DialogModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SACBootstrap3DialogModule, declarations: [SacDialogComponent], imports: [CommonModule], exports: [SacDialogComponent] });
587
- SACBootstrap3DialogModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SACBootstrap3DialogModule, imports: [[
588
- CommonModule
589
- ]] });
590
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SACBootstrap3DialogModule, decorators: [{
591
- type: NgModule,
592
- args: [{
593
- declarations: [SacDialogComponent],
594
- imports: [
595
- CommonModule
596
- ],
597
- exports: [SacDialogComponent]
598
- }]
599
- }] });
600
-
601
577
  /**
602
578
  * Module für Confirm Messages
603
579
  *
@@ -605,22 +581,23 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImpor
605
581
  *
606
582
  */
607
583
  class SACBootstrap3ConfirmModule {
584
+ // #region Public Static Methods
608
585
  static forRoot() {
609
586
  return {
610
587
  ngModule: SACBootstrap3ConfirmModule,
611
- providers: [ServiceConfirm]
588
+ providers: [ServiceConfirm],
612
589
  };
613
590
  }
614
591
  }
615
592
  SACBootstrap3ConfirmModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SACBootstrap3ConfirmModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
616
- SACBootstrap3ConfirmModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SACBootstrap3ConfirmModule, declarations: [SacConfirmComponent], imports: [CommonModule, SACBootstrap3DialogModule, SACBootstrap3ButtonModule], exports: [SacConfirmComponent] });
617
- SACBootstrap3ConfirmModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SACBootstrap3ConfirmModule, imports: [[CommonModule, SACBootstrap3DialogModule, SACBootstrap3ButtonModule]] });
593
+ SACBootstrap3ConfirmModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SACBootstrap3ConfirmModule, declarations: [SacConfirmComponent], imports: [CommonModule, SACBootstrap3DialogModule, SACBootstrap3ButtonModule, SACCommonUtliltiesModule], exports: [SacConfirmComponent] });
594
+ SACBootstrap3ConfirmModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SACBootstrap3ConfirmModule, imports: [[CommonModule, SACBootstrap3DialogModule, SACBootstrap3ButtonModule, SACCommonUtliltiesModule]] });
618
595
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SACBootstrap3ConfirmModule, decorators: [{
619
596
  type: NgModule,
620
597
  args: [{
621
598
  declarations: [SacConfirmComponent],
622
- imports: [CommonModule, SACBootstrap3DialogModule, SACBootstrap3ButtonModule],
623
- exports: [SacConfirmComponent]
599
+ imports: [CommonModule, SACBootstrap3DialogModule, SACBootstrap3ButtonModule, SACCommonUtliltiesModule],
600
+ exports: [SacConfirmComponent],
624
601
  }]
625
602
  }] });
626
603
 
@@ -708,10 +685,10 @@ class SacContextmenuComponent extends SacContextmenuCommon {
708
685
  }
709
686
  }
710
687
  SacContextmenuComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SacContextmenuComponent, deps: [{ token: DOCUMENT }, { token: i0.NgZone }, { token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component });
711
- SacContextmenuComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.7", type: SacContextmenuComponent, selector: "sac-contextmenu", usesInheritance: true, ngImport: i0, template: "<div\n class=\"dropdown\"\n [ngClass]=\"cssclass\">\n <ng-container [ngTemplateOutlet]=\"buttontemplate || defaultButtonTemplate\"></ng-container>\n\n <ul\n class=\"dropdown-menu dropdown-menu-right\"\n sacContextMenuContainer\n [class.show]=\"isopen\">\n <ng-content></ng-content>\n </ul>\n</div>\n\n<ng-template #defaultButtonTemplate>\n <button\n sacContextMenuAnchor\n class=\"btn btn-link\"\n type=\"button\"\n (click)=\"toggle()\">\n <i [class]=\"IconContextMenu\"></i>\n </button>\n</ng-template>\n", directives: [{ type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: SacContextmenuContainerDirective, selector: "[sacContextMenuContainer]" }, { type: SacContextmenuAnchorDirective, selector: "[sacContextMenuAnchor]" }] });
688
+ SacContextmenuComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.7", type: SacContextmenuComponent, selector: "sac-contextmenu", usesInheritance: true, ngImport: i0, template: "<div\n class=\"dropdown\"\n [ngClass]=\"cssclass\"\n [attr.data-e2e-key]=\"name | testingattribute : e2eidentifier\">\n <ng-container [ngTemplateOutlet]=\"buttontemplate || defaultButtonTemplate\"></ng-container>\n\n <ul\n class=\"dropdown-menu dropdown-menu-right\"\n sacContextMenuContainer\n [class.show]=\"isopen\">\n <ng-content></ng-content>\n </ul>\n</div>\n\n<ng-template #defaultButtonTemplate>\n <button\n sacContextMenuAnchor\n class=\"btn btn-link\"\n type=\"button\"\n (click)=\"toggle()\">\n <i [class]=\"IconContextMenu\"></i>\n </button>\n</ng-template>\n", directives: [{ type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: SacContextmenuContainerDirective, selector: "[sacContextMenuContainer]" }, { type: SacContextmenuAnchorDirective, selector: "[sacContextMenuAnchor]" }], pipes: { "testingattribute": i5.SacTestingAttributePipe } });
712
689
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SacContextmenuComponent, decorators: [{
713
690
  type: Component,
714
- args: [{ selector: 'sac-contextmenu', template: "<div\n class=\"dropdown\"\n [ngClass]=\"cssclass\">\n <ng-container [ngTemplateOutlet]=\"buttontemplate || defaultButtonTemplate\"></ng-container>\n\n <ul\n class=\"dropdown-menu dropdown-menu-right\"\n sacContextMenuContainer\n [class.show]=\"isopen\">\n <ng-content></ng-content>\n </ul>\n</div>\n\n<ng-template #defaultButtonTemplate>\n <button\n sacContextMenuAnchor\n class=\"btn btn-link\"\n type=\"button\"\n (click)=\"toggle()\">\n <i [class]=\"IconContextMenu\"></i>\n </button>\n</ng-template>\n" }]
691
+ args: [{ selector: 'sac-contextmenu', template: "<div\n class=\"dropdown\"\n [ngClass]=\"cssclass\"\n [attr.data-e2e-key]=\"name | testingattribute : e2eidentifier\">\n <ng-container [ngTemplateOutlet]=\"buttontemplate || defaultButtonTemplate\"></ng-container>\n\n <ul\n class=\"dropdown-menu dropdown-menu-right\"\n sacContextMenuContainer\n [class.show]=\"isopen\">\n <ng-content></ng-content>\n </ul>\n</div>\n\n<ng-template #defaultButtonTemplate>\n <button\n sacContextMenuAnchor\n class=\"btn btn-link\"\n type=\"button\"\n (click)=\"toggle()\">\n <i [class]=\"IconContextMenu\"></i>\n </button>\n</ng-template>\n" }]
715
692
  }], ctorParameters: function () { return [{ type: undefined, decorators: [{
716
693
  type: Inject,
717
694
  args: [DOCUMENT]
@@ -796,11 +773,11 @@ SACBootstrap3ContextmenuModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "1
796
773
  SacContextmenuItemButtonComponent,
797
774
  SacContextmenuItemSplitterComponent,
798
775
  SacContextmenuAnchorDirective,
799
- SacContextmenuContainerDirective], imports: [CommonModule], exports: [SacContextmenuComponent,
776
+ SacContextmenuContainerDirective], imports: [CommonModule, SACCommonUtliltiesModule], exports: [SacContextmenuComponent,
800
777
  SacContextmenuItemButtonComponent,
801
778
  SacContextmenuItemSplitterComponent,
802
779
  SacContextmenuAnchorDirective] });
803
- SACBootstrap3ContextmenuModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SACBootstrap3ContextmenuModule, imports: [[CommonModule]] });
780
+ SACBootstrap3ContextmenuModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SACBootstrap3ContextmenuModule, imports: [[CommonModule, SACCommonUtliltiesModule]] });
804
781
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SACBootstrap3ContextmenuModule, decorators: [{
805
782
  type: NgModule,
806
783
  args: [{
@@ -811,7 +788,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImpor
811
788
  SacContextmenuAnchorDirective,
812
789
  SacContextmenuContainerDirective,
813
790
  ],
814
- imports: [CommonModule],
791
+ imports: [CommonModule, SACCommonUtliltiesModule],
815
792
  exports: [
816
793
  SacContextmenuComponent,
817
794
  SacContextmenuItemButtonComponent,
@@ -824,13 +801,16 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImpor
824
801
  class SacDateSelectorComponent extends SacDateSelectorCommon {
825
802
  }
826
803
  SacDateSelectorComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SacDateSelectorComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
827
- SacDateSelectorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.7", type: SacDateSelectorComponent, selector: "sac-dateselector", usesInheritance: true, ngImport: i0, template: "<div\n class=\"calendar-selector\"\n style=\"min-width: 265px\">\n <table\n class=\"table-condensed\"\n style=\"width: 100%\"\n *ngIf=\"dateselection\">\n <thead>\n <tr>\n <th\n class=\"prev text-left\"\n (click)=\"monthBack()\">\n <i [class]=\"iconMonthPrev\"></i>\n </th>\n <th\n colspan=\"5\"\n class=\"switch text-center\"\n >{{ month + 1 }}/{{ year }}</th\n >\n <th\n class=\"next text-right\"\n (click)=\"monthNext()\">\n <i [class]=\"iconMonthNext\"></i>\n </th>\n </tr>\n <tr>\n <th class=\"dow text-center\">Mo</th>\n <th class=\"dow text-center\">Di</th>\n <th class=\"dow text-center\">Mi</th>\n <th class=\"dow text-center\">Do</th>\n <th class=\"dow text-center\">Fr</th>\n <th class=\"dow text-center\">Sa</th>\n <th class=\"dow text-center\">So</th>\n </tr>\n </thead>\n <tbody>\n <ng-container *ngFor=\"let week of dates; let i = index\">\n <tr>\n <td\n class=\"text-center\"\n *ngFor=\"let item of week\"\n [ngStyle]=\"{ cursor: item.isenabled ? 'pointer' : null }\"\n [ngClass]=\"{ 'day-current': item.iscurrent, 'day-selected': item.isselected, 'day-new': item.isnew, 'day-disabled': !item.isenabled }\"\n (click)=\"selectDate(item)\">\n {{ item.displaytext }}\n </td>\n </tr>\n </ng-container>\n </tbody>\n </table>\n <div\n *ngIf=\"timeselection\"\n style=\"margin-top: 10px\">\n <div class=\"row\">\n <div\n class=\"col-xs-6\"\n style=\"padding-right: 20px\">\n <div class=\"form-group\">\n <label>Stunde</label>\n <input\n type=\"number\"\n class=\"form-control\"\n [value]=\"getHours()\"\n (input)=\"setHours($event.target.value)\"\n min=\"0\"\n max=\"23\" />\n </div>\n </div>\n <div\n class=\"col-xs-6\"\n style=\"padding-left: 20px\">\n <div class=\"form-group\">\n <label>Minute</label>\n <input\n type=\"number\"\n class=\"form-control\"\n [value]=\"getMinutes()\"\n (input)=\"setMinutes($event.target.value)\"\n min=\"0\"\n max=\"59\" />\n </div>\n </div>\n </div>\n </div>\n <div\n class=\"row\"\n style=\"margin-top: 10px\">\n <div class=\"col-xs-4 text-left\">\n <button\n type=\"button\"\n class=\"btn btn-default\"\n (click)=\"setToday()\">\n Heute\n </button>\n </div>\n <div class=\"col-xs-8 text-right\">\n <button\n type=\"button\"\n class=\"btn btn-default\"\n (click)=\"resetSelection()\">\n Reset\n </button>\n <button\n type=\"button\"\n class=\"btn btn-primary\"\n style=\"margin-left: 10px\"\n (click)=\"applySelection()\">\n Apply\n </button>\n </div>\n </div>\n</div>\n", directives: [{ type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i3.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] });
804
+ SacDateSelectorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.7", type: SacDateSelectorComponent, selector: "sac-dateselector", usesInheritance: true, ngImport: i0, template: "<div\n class=\"calendar-selector\"\n style=\"min-width: 265px\"\n [attr.data-e2e-key]=\"name | testingattribute : e2eidentifier\">\n <table\n class=\"table-condensed\"\n style=\"width: 100%\"\n *ngIf=\"dateselection\">\n <thead>\n <tr>\n <th\n class=\"prev text-left\"\n (click)=\"monthBack()\">\n <i [class]=\"iconMonthPrev\"></i>\n </th>\n <th\n colspan=\"5\"\n class=\"switch text-center\"\n >{{ month + 1 }}/{{ year }}</th\n >\n <th\n class=\"next text-right\"\n (click)=\"monthNext()\">\n <i [class]=\"iconMonthNext\"></i>\n </th>\n </tr>\n <tr>\n <th class=\"dow text-center\">Mo</th>\n <th class=\"dow text-center\">Di</th>\n <th class=\"dow text-center\">Mi</th>\n <th class=\"dow text-center\">Do</th>\n <th class=\"dow text-center\">Fr</th>\n <th class=\"dow text-center\">Sa</th>\n <th class=\"dow text-center\">So</th>\n </tr>\n </thead>\n <tbody>\n <ng-container *ngFor=\"let week of dates; let i = index\">\n <tr>\n <td\n class=\"text-center\"\n *ngFor=\"let item of week\"\n [ngStyle]=\"{ cursor: item.isenabled ? 'pointer' : null }\"\n [ngClass]=\"{ 'day-current': item.iscurrent, 'day-selected': item.isselected, 'day-new': item.isnew, 'day-disabled': !item.isenabled }\"\n (click)=\"selectDate(item)\"\n >{{ item.displaytext }}</td\n >\n </tr>\n </ng-container>\n </tbody>\n </table>\n <div\n *ngIf=\"timeselection\"\n style=\"margin-top: 10px\">\n <div class=\"row\">\n <div\n class=\"col-xs-6\"\n style=\"padding-right: 20px\">\n <div class=\"form-group\">\n <label>Stunde</label>\n <input\n type=\"number\"\n class=\"form-control\"\n [value]=\"getHours()\"\n (input)=\"setHours($event.target.value)\"\n min=\"0\"\n max=\"23\" />\n </div>\n </div>\n <div\n class=\"col-xs-6\"\n style=\"padding-left: 20px\">\n <div class=\"form-group\">\n <label>Minute</label>\n <input\n type=\"number\"\n class=\"form-control\"\n [value]=\"getMinutes()\"\n (input)=\"setMinutes($event.target.value)\"\n min=\"0\"\n max=\"59\" />\n </div>\n </div>\n </div>\n </div>\n <div\n class=\"row\"\n style=\"margin-top: 10px\">\n <div class=\"col-xs-4 text-left\">\n <button\n type=\"button\"\n class=\"btn btn-default\"\n (click)=\"setToday()\">\n Heute\n </button>\n </div>\n <div class=\"col-xs-8 text-right\">\n <button\n type=\"button\"\n class=\"btn btn-default\"\n (click)=\"resetSelection()\">\n Reset\n </button>\n <button\n type=\"button\"\n class=\"btn btn-primary\"\n style=\"margin-left: 10px\"\n (click)=\"applySelection()\">\n Apply\n </button>\n </div>\n </div>\n</div>\n", directives: [{ type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i3.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], pipes: { "testingattribute": i5.SacTestingAttributePipe } });
828
805
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SacDateSelectorComponent, decorators: [{
829
806
  type: Component,
830
- args: [{ selector: 'sac-dateselector', template: "<div\n class=\"calendar-selector\"\n style=\"min-width: 265px\">\n <table\n class=\"table-condensed\"\n style=\"width: 100%\"\n *ngIf=\"dateselection\">\n <thead>\n <tr>\n <th\n class=\"prev text-left\"\n (click)=\"monthBack()\">\n <i [class]=\"iconMonthPrev\"></i>\n </th>\n <th\n colspan=\"5\"\n class=\"switch text-center\"\n >{{ month + 1 }}/{{ year }}</th\n >\n <th\n class=\"next text-right\"\n (click)=\"monthNext()\">\n <i [class]=\"iconMonthNext\"></i>\n </th>\n </tr>\n <tr>\n <th class=\"dow text-center\">Mo</th>\n <th class=\"dow text-center\">Di</th>\n <th class=\"dow text-center\">Mi</th>\n <th class=\"dow text-center\">Do</th>\n <th class=\"dow text-center\">Fr</th>\n <th class=\"dow text-center\">Sa</th>\n <th class=\"dow text-center\">So</th>\n </tr>\n </thead>\n <tbody>\n <ng-container *ngFor=\"let week of dates; let i = index\">\n <tr>\n <td\n class=\"text-center\"\n *ngFor=\"let item of week\"\n [ngStyle]=\"{ cursor: item.isenabled ? 'pointer' : null }\"\n [ngClass]=\"{ 'day-current': item.iscurrent, 'day-selected': item.isselected, 'day-new': item.isnew, 'day-disabled': !item.isenabled }\"\n (click)=\"selectDate(item)\">\n {{ item.displaytext }}\n </td>\n </tr>\n </ng-container>\n </tbody>\n </table>\n <div\n *ngIf=\"timeselection\"\n style=\"margin-top: 10px\">\n <div class=\"row\">\n <div\n class=\"col-xs-6\"\n style=\"padding-right: 20px\">\n <div class=\"form-group\">\n <label>Stunde</label>\n <input\n type=\"number\"\n class=\"form-control\"\n [value]=\"getHours()\"\n (input)=\"setHours($event.target.value)\"\n min=\"0\"\n max=\"23\" />\n </div>\n </div>\n <div\n class=\"col-xs-6\"\n style=\"padding-left: 20px\">\n <div class=\"form-group\">\n <label>Minute</label>\n <input\n type=\"number\"\n class=\"form-control\"\n [value]=\"getMinutes()\"\n (input)=\"setMinutes($event.target.value)\"\n min=\"0\"\n max=\"59\" />\n </div>\n </div>\n </div>\n </div>\n <div\n class=\"row\"\n style=\"margin-top: 10px\">\n <div class=\"col-xs-4 text-left\">\n <button\n type=\"button\"\n class=\"btn btn-default\"\n (click)=\"setToday()\">\n Heute\n </button>\n </div>\n <div class=\"col-xs-8 text-right\">\n <button\n type=\"button\"\n class=\"btn btn-default\"\n (click)=\"resetSelection()\">\n Reset\n </button>\n <button\n type=\"button\"\n class=\"btn btn-primary\"\n style=\"margin-left: 10px\"\n (click)=\"applySelection()\">\n Apply\n </button>\n </div>\n </div>\n</div>\n" }]
807
+ args: [{ selector: 'sac-dateselector', template: "<div\n class=\"calendar-selector\"\n style=\"min-width: 265px\"\n [attr.data-e2e-key]=\"name | testingattribute : e2eidentifier\">\n <table\n class=\"table-condensed\"\n style=\"width: 100%\"\n *ngIf=\"dateselection\">\n <thead>\n <tr>\n <th\n class=\"prev text-left\"\n (click)=\"monthBack()\">\n <i [class]=\"iconMonthPrev\"></i>\n </th>\n <th\n colspan=\"5\"\n class=\"switch text-center\"\n >{{ month + 1 }}/{{ year }}</th\n >\n <th\n class=\"next text-right\"\n (click)=\"monthNext()\">\n <i [class]=\"iconMonthNext\"></i>\n </th>\n </tr>\n <tr>\n <th class=\"dow text-center\">Mo</th>\n <th class=\"dow text-center\">Di</th>\n <th class=\"dow text-center\">Mi</th>\n <th class=\"dow text-center\">Do</th>\n <th class=\"dow text-center\">Fr</th>\n <th class=\"dow text-center\">Sa</th>\n <th class=\"dow text-center\">So</th>\n </tr>\n </thead>\n <tbody>\n <ng-container *ngFor=\"let week of dates; let i = index\">\n <tr>\n <td\n class=\"text-center\"\n *ngFor=\"let item of week\"\n [ngStyle]=\"{ cursor: item.isenabled ? 'pointer' : null }\"\n [ngClass]=\"{ 'day-current': item.iscurrent, 'day-selected': item.isselected, 'day-new': item.isnew, 'day-disabled': !item.isenabled }\"\n (click)=\"selectDate(item)\"\n >{{ item.displaytext }}</td\n >\n </tr>\n </ng-container>\n </tbody>\n </table>\n <div\n *ngIf=\"timeselection\"\n style=\"margin-top: 10px\">\n <div class=\"row\">\n <div\n class=\"col-xs-6\"\n style=\"padding-right: 20px\">\n <div class=\"form-group\">\n <label>Stunde</label>\n <input\n type=\"number\"\n class=\"form-control\"\n [value]=\"getHours()\"\n (input)=\"setHours($event.target.value)\"\n min=\"0\"\n max=\"23\" />\n </div>\n </div>\n <div\n class=\"col-xs-6\"\n style=\"padding-left: 20px\">\n <div class=\"form-group\">\n <label>Minute</label>\n <input\n type=\"number\"\n class=\"form-control\"\n [value]=\"getMinutes()\"\n (input)=\"setMinutes($event.target.value)\"\n min=\"0\"\n max=\"59\" />\n </div>\n </div>\n </div>\n </div>\n <div\n class=\"row\"\n style=\"margin-top: 10px\">\n <div class=\"col-xs-4 text-left\">\n <button\n type=\"button\"\n class=\"btn btn-default\"\n (click)=\"setToday()\">\n Heute\n </button>\n </div>\n <div class=\"col-xs-8 text-right\">\n <button\n type=\"button\"\n class=\"btn btn-default\"\n (click)=\"resetSelection()\">\n Reset\n </button>\n <button\n type=\"button\"\n class=\"btn btn-primary\"\n style=\"margin-left: 10px\"\n (click)=\"applySelection()\">\n Apply\n </button>\n </div>\n </div>\n</div>\n" }]
831
808
  }] });
832
809
 
833
- // #region Classes
810
+ // #region Variables
811
+ const moment = moment_['default'];
812
+ // #endregion Variables
813
+ // #region Exported Classes
834
814
  class SacDateComponent extends SacDateCommon {
835
815
  // #region Constructors
836
816
  /**
@@ -856,7 +836,7 @@ SacDateComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", versi
856
836
  multi: true,
857
837
  useExisting: forwardRef(() => SacDateComponent),
858
838
  },
859
- ], usesInheritance: true, ngImport: i0, template: "<div\n class=\"row form-group\"\n [class.has-error]=\"invalid && (dirty || touched)\"\n [ngClass]=\"componentHeight | toLabelHeight\">\n <label\n *ngIf=\"disablelabel === false && !isAdaptiveLabel\"\n id=\"{{ name }}label\"\n for=\"{{ name }}\"\n class=\"col-xs-12 control-label\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'sr-only']\"\n [class.required]=\"isrequired\">\n <span class=\"text\">{{ label }}</span>\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [class]=\"HelptextTooltipIcon\"\n style=\"margin-left: 5px\">\n </span>\n </sac-tooltip>\n </label>\n <div\n class=\"col-xs-12\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\n [style.display]=\"helptextmode === 'tooltip' && helptext && disablelabel ? 'flex' : null\">\n <div\n style=\"position: relative\"\n [style.width.px]=\"componentHeight === ControlHeight.Small ? 120 : componentHeight === ControlHeight.Large ? 180 : 140\">\n <div\n class=\"datetime-textbox input-group\"\n [class.input-group-sm]=\"componentHeight === ControlHeight.Small\"\n [class.input-group-lg]=\"componentHeight === ControlHeight.Large\">\n <!-- this class comes in the div above when disabled [ngClass]=\"[disablelabel === false ? 'col-md-' + _inputsize : 'col-md-12']\" -->\n <input\n id=\"{{ name }}\"\n name=\"{{ name }}\"\n type=\"text\"\n class=\"form-control date-control\"\n [class.is-invalid]=\"invalid && (dirty || touched)\"\n [ngClass]=\"[componentHeight | toControlHeight]\"\n [imask]=\"imaskDate\"\n [attr.placeholder]=\"placeholder\"\n [value]=\"valuestring\"\n (blur)=\"onTouch()\"\n (accept)=\"setValueString($event)\"\n [disabled]=\"isdisabled\"\n (click)=\"showDateSelector()\" />\n <span class=\"input-group-btn\">\n <button\n #pickerbutton\n class=\"btn btn-default\"\n type=\"button\"\n (click)=\"showDateSelector()\"\n [disabled]=\"isdisabled\">\n <i [class]=\"IconSelector\"></i>\n </button>\n </span>\n </div>\n <p\n *ngIf=\"helptextmode === 'text' && helptext\"\n class=\"help-block\">\n {{ helptext }}\n </p>\n <div\n class=\"help-block help-block-error\"\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\">\n {{ GetErrorMessage() | async }}\n </div>\n\n <div\n #picker\n *ngIf=\"_showselector\">\n <div\n class=\"popover in\"\n role=\"tooltip\"\n style=\"display: block; max-width: unset; margin: 0\"\n [class.bottom]=\"GetPickerPosition() == TooltipPosition.bottom || GetPickerPosition() == TooltipPosition.bottomend\"\n [class.top]=\"GetPickerPosition() == TooltipPosition.top || GetPickerPosition() == TooltipPosition.topend\"\n [style.left.px]=\"posPopupLeft\"\n [style.top.px]=\"posPopupTop\">\n <div\n #pickerarrow\n style=\"margin: 0\"\n class=\"arrow\"\n [style.top.px]=\"posArrowTop\"\n [style.left.px]=\"posArrowLeft\">\n </div>\n\n <div class=\"popover-content\">\n <sac-dateselector\n *ngIf=\"_showselector\"\n [initialvalue]=\"value\"\n (selectdate)=\"dateselect($event)\"\n dateselection=\"true\">\n </sac-dateselector>\n </div>\n </div>\n </div>\n </div>\n\n <div\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\n class=\"form-control-static\"\n style=\"margin-left: 5px\">\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [class]=\"HelptextTooltipIcon\"\n style=\"margin-left: 5px; margin-right: 5px\">\n </span>\n </sac-tooltip>\n </div>\n </div>\n</div>\n", components: [{ type: SacTooltipComponent, selector: "sac-tooltip" }, { type: SacDateSelectorComponent, selector: "sac-dateselector" }], directives: [{ type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i5.IMaskDirective, selector: "[imask]", inputs: ["imaskElement", "imask", "unmask"], outputs: ["accept", "complete"], exportAs: ["imask"] }], pipes: { "toLabelHeight": SacToLabelHeightPipe, "toLabelWidthCss": SacToLabelWidthCssPipe, "toControlWidthCss": SacToControlWidthCssPipe, "toControlHeight": SacToControlHeightPipe, "async": i3.AsyncPipe } });
839
+ ], usesInheritance: true, ngImport: i0, template: "<div\n class=\"row form-group\"\n [class.has-error]=\"invalid && (dirty || touched)\"\n [ngClass]=\"componentHeight | toLabelHeight\"\n [attr.data-e2e-key]=\"name | testingattribute : e2eidentifier\">\n <label\n *ngIf=\"disablelabel === false && !isAdaptiveLabel\"\n id=\"{{ name }}label\"\n for=\"{{ name }}\"\n class=\"col-xs-12 control-label\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'sr-only']\"\n [class.required]=\"isrequired\">\n <span class=\"text\">{{ label }}</span>\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [class]=\"HelptextTooltipIcon\"\n style=\"margin-left: 5px\">\n </span>\n </sac-tooltip>\n </label>\n <div\n class=\"col-xs-12\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\n [style.display]=\"helptextmode === 'tooltip' && helptext && disablelabel ? 'flex' : null\">\n <div\n style=\"position: relative\"\n [style.width.px]=\"componentHeight === ControlHeight.Small ? 120 : componentHeight === ControlHeight.Large ? 180 : 140\">\n <div\n class=\"datetime-textbox input-group\"\n [class.input-group-sm]=\"componentHeight === ControlHeight.Small\"\n [class.input-group-lg]=\"componentHeight === ControlHeight.Large\">\n <!-- this class comes in the div above when disabled [ngClass]=\"[disablelabel === false ? 'col-md-' + _inputsize : 'col-md-12']\" -->\n <input\n id=\"{{ name }}\"\n name=\"{{ name }}\"\n type=\"text\"\n class=\"form-control date-control\"\n [class.is-invalid]=\"invalid && (dirty || touched)\"\n [ngClass]=\"[componentHeight | toControlHeight]\"\n [imask]=\"imaskDate\"\n [attr.placeholder]=\"placeholder\"\n [value]=\"valuestring\"\n (blur)=\"onTouch()\"\n (accept)=\"setValueString($event)\"\n [disabled]=\"isdisabled\"\n (click)=\"showDateSelector()\" />\n <span class=\"input-group-btn\">\n <button\n #pickerbutton\n class=\"btn btn-default\"\n type=\"button\"\n (click)=\"showDateSelector()\"\n [disabled]=\"isdisabled\">\n <i [class]=\"IconSelector\"></i>\n </button>\n </span>\n </div>\n <p\n *ngIf=\"helptextmode === 'text' && helptext\"\n class=\"help-block\">\n {{ helptext }}\n </p>\n <div\n class=\"help-block help-block-error\"\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\">\n {{ GetErrorMessage() | async }}\n </div>\n\n <div\n #picker\n *ngIf=\"_showselector\">\n <div\n class=\"popover in\"\n role=\"tooltip\"\n style=\"display: block; max-width: unset; margin: 0\"\n [class.bottom]=\"GetPickerPosition() === TooltipPosition.bottom || GetPickerPosition() === TooltipPosition.bottomend\"\n [class.top]=\"GetPickerPosition() === TooltipPosition.top || GetPickerPosition() === TooltipPosition.topend\"\n [style.left.px]=\"posPopupLeft\"\n [style.top.px]=\"posPopupTop\">\n <div\n #pickerarrow\n style=\"margin: 0\"\n class=\"arrow\"\n [style.top.px]=\"posArrowTop\"\n [style.left.px]=\"posArrowLeft\">\n </div>\n\n <div class=\"popover-content\">\n <sac-dateselector\n *ngIf=\"_showselector\"\n [initialvalue]=\"value\"\n (selectdate)=\"dateselect($event)\"\n dateselection=\"true\">\n </sac-dateselector>\n </div>\n </div>\n </div>\n </div>\n\n <div\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\n class=\"form-control-static\"\n style=\"margin-left: 5px\">\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [class]=\"HelptextTooltipIcon\"\n style=\"margin-left: 5px; margin-right: 5px\">\n </span>\n </sac-tooltip>\n </div>\n </div>\n</div>\n", components: [{ type: SacTooltipComponent, selector: "sac-tooltip" }, { type: SacDateSelectorComponent, selector: "sac-dateselector" }], directives: [{ type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i5$1.IMaskDirective, selector: "[imask]", inputs: ["imaskElement", "imask", "unmask"], outputs: ["accept", "complete"], exportAs: ["imask"] }], pipes: { "toLabelHeight": SacToLabelHeightPipe, "testingattribute": i5.SacTestingAttributePipe, "toLabelWidthCss": SacToLabelWidthCssPipe, "toControlWidthCss": SacToControlWidthCssPipe, "toControlHeight": SacToControlHeightPipe, "async": i3.AsyncPipe } });
860
840
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SacDateComponent, decorators: [{
861
841
  type: Component,
862
842
  args: [{ selector: 'sac-date', providers: [
@@ -870,15 +850,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImpor
870
850
  multi: true,
871
851
  useExisting: forwardRef(() => SacDateComponent),
872
852
  },
873
- ], template: "<div\n class=\"row form-group\"\n [class.has-error]=\"invalid && (dirty || touched)\"\n [ngClass]=\"componentHeight | toLabelHeight\">\n <label\n *ngIf=\"disablelabel === false && !isAdaptiveLabel\"\n id=\"{{ name }}label\"\n for=\"{{ name }}\"\n class=\"col-xs-12 control-label\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'sr-only']\"\n [class.required]=\"isrequired\">\n <span class=\"text\">{{ label }}</span>\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [class]=\"HelptextTooltipIcon\"\n style=\"margin-left: 5px\">\n </span>\n </sac-tooltip>\n </label>\n <div\n class=\"col-xs-12\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\n [style.display]=\"helptextmode === 'tooltip' && helptext && disablelabel ? 'flex' : null\">\n <div\n style=\"position: relative\"\n [style.width.px]=\"componentHeight === ControlHeight.Small ? 120 : componentHeight === ControlHeight.Large ? 180 : 140\">\n <div\n class=\"datetime-textbox input-group\"\n [class.input-group-sm]=\"componentHeight === ControlHeight.Small\"\n [class.input-group-lg]=\"componentHeight === ControlHeight.Large\">\n <!-- this class comes in the div above when disabled [ngClass]=\"[disablelabel === false ? 'col-md-' + _inputsize : 'col-md-12']\" -->\n <input\n id=\"{{ name }}\"\n name=\"{{ name }}\"\n type=\"text\"\n class=\"form-control date-control\"\n [class.is-invalid]=\"invalid && (dirty || touched)\"\n [ngClass]=\"[componentHeight | toControlHeight]\"\n [imask]=\"imaskDate\"\n [attr.placeholder]=\"placeholder\"\n [value]=\"valuestring\"\n (blur)=\"onTouch()\"\n (accept)=\"setValueString($event)\"\n [disabled]=\"isdisabled\"\n (click)=\"showDateSelector()\" />\n <span class=\"input-group-btn\">\n <button\n #pickerbutton\n class=\"btn btn-default\"\n type=\"button\"\n (click)=\"showDateSelector()\"\n [disabled]=\"isdisabled\">\n <i [class]=\"IconSelector\"></i>\n </button>\n </span>\n </div>\n <p\n *ngIf=\"helptextmode === 'text' && helptext\"\n class=\"help-block\">\n {{ helptext }}\n </p>\n <div\n class=\"help-block help-block-error\"\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\">\n {{ GetErrorMessage() | async }}\n </div>\n\n <div\n #picker\n *ngIf=\"_showselector\">\n <div\n class=\"popover in\"\n role=\"tooltip\"\n style=\"display: block; max-width: unset; margin: 0\"\n [class.bottom]=\"GetPickerPosition() == TooltipPosition.bottom || GetPickerPosition() == TooltipPosition.bottomend\"\n [class.top]=\"GetPickerPosition() == TooltipPosition.top || GetPickerPosition() == TooltipPosition.topend\"\n [style.left.px]=\"posPopupLeft\"\n [style.top.px]=\"posPopupTop\">\n <div\n #pickerarrow\n style=\"margin: 0\"\n class=\"arrow\"\n [style.top.px]=\"posArrowTop\"\n [style.left.px]=\"posArrowLeft\">\n </div>\n\n <div class=\"popover-content\">\n <sac-dateselector\n *ngIf=\"_showselector\"\n [initialvalue]=\"value\"\n (selectdate)=\"dateselect($event)\"\n dateselection=\"true\">\n </sac-dateselector>\n </div>\n </div>\n </div>\n </div>\n\n <div\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\n class=\"form-control-static\"\n style=\"margin-left: 5px\">\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [class]=\"HelptextTooltipIcon\"\n style=\"margin-left: 5px; margin-right: 5px\">\n </span>\n </sac-tooltip>\n </div>\n </div>\n</div>\n" }]
853
+ ], template: "<div\n class=\"row form-group\"\n [class.has-error]=\"invalid && (dirty || touched)\"\n [ngClass]=\"componentHeight | toLabelHeight\"\n [attr.data-e2e-key]=\"name | testingattribute : e2eidentifier\">\n <label\n *ngIf=\"disablelabel === false && !isAdaptiveLabel\"\n id=\"{{ name }}label\"\n for=\"{{ name }}\"\n class=\"col-xs-12 control-label\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'sr-only']\"\n [class.required]=\"isrequired\">\n <span class=\"text\">{{ label }}</span>\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [class]=\"HelptextTooltipIcon\"\n style=\"margin-left: 5px\">\n </span>\n </sac-tooltip>\n </label>\n <div\n class=\"col-xs-12\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\n [style.display]=\"helptextmode === 'tooltip' && helptext && disablelabel ? 'flex' : null\">\n <div\n style=\"position: relative\"\n [style.width.px]=\"componentHeight === ControlHeight.Small ? 120 : componentHeight === ControlHeight.Large ? 180 : 140\">\n <div\n class=\"datetime-textbox input-group\"\n [class.input-group-sm]=\"componentHeight === ControlHeight.Small\"\n [class.input-group-lg]=\"componentHeight === ControlHeight.Large\">\n <!-- this class comes in the div above when disabled [ngClass]=\"[disablelabel === false ? 'col-md-' + _inputsize : 'col-md-12']\" -->\n <input\n id=\"{{ name }}\"\n name=\"{{ name }}\"\n type=\"text\"\n class=\"form-control date-control\"\n [class.is-invalid]=\"invalid && (dirty || touched)\"\n [ngClass]=\"[componentHeight | toControlHeight]\"\n [imask]=\"imaskDate\"\n [attr.placeholder]=\"placeholder\"\n [value]=\"valuestring\"\n (blur)=\"onTouch()\"\n (accept)=\"setValueString($event)\"\n [disabled]=\"isdisabled\"\n (click)=\"showDateSelector()\" />\n <span class=\"input-group-btn\">\n <button\n #pickerbutton\n class=\"btn btn-default\"\n type=\"button\"\n (click)=\"showDateSelector()\"\n [disabled]=\"isdisabled\">\n <i [class]=\"IconSelector\"></i>\n </button>\n </span>\n </div>\n <p\n *ngIf=\"helptextmode === 'text' && helptext\"\n class=\"help-block\">\n {{ helptext }}\n </p>\n <div\n class=\"help-block help-block-error\"\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\">\n {{ GetErrorMessage() | async }}\n </div>\n\n <div\n #picker\n *ngIf=\"_showselector\">\n <div\n class=\"popover in\"\n role=\"tooltip\"\n style=\"display: block; max-width: unset; margin: 0\"\n [class.bottom]=\"GetPickerPosition() === TooltipPosition.bottom || GetPickerPosition() === TooltipPosition.bottomend\"\n [class.top]=\"GetPickerPosition() === TooltipPosition.top || GetPickerPosition() === TooltipPosition.topend\"\n [style.left.px]=\"posPopupLeft\"\n [style.top.px]=\"posPopupTop\">\n <div\n #pickerarrow\n style=\"margin: 0\"\n class=\"arrow\"\n [style.top.px]=\"posArrowTop\"\n [style.left.px]=\"posArrowLeft\">\n </div>\n\n <div class=\"popover-content\">\n <sac-dateselector\n *ngIf=\"_showselector\"\n [initialvalue]=\"value\"\n (selectdate)=\"dateselect($event)\"\n dateselection=\"true\">\n </sac-dateselector>\n </div>\n </div>\n </div>\n </div>\n\n <div\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\n class=\"form-control-static\"\n style=\"margin-left: 5px\">\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [class]=\"HelptextTooltipIcon\"\n style=\"margin-left: 5px; margin-right: 5px\">\n </span>\n </sac-tooltip>\n </div>\n </div>\n</div>\n" }]
874
854
  }], ctorParameters: function () { return [{ type: SacFormLayoutDirective, decorators: [{
875
855
  type: Host
876
856
  }, {
877
857
  type: Optional
878
858
  }] }, { type: i0.Injector }, { type: i0.ElementRef }, { type: i0.ChangeDetectorRef }]; } });
879
- // #endregion Classes
880
- // #region Variables
881
- const moment = moment_['default'];
882
859
 
883
860
  class SacDateTimeComponent extends SacDateTimeCommon {
884
861
  // #region Constructors
@@ -905,7 +882,7 @@ SacDateTimeComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", v
905
882
  multi: true,
906
883
  useExisting: forwardRef(() => SacDateTimeComponent),
907
884
  },
908
- ], usesInheritance: true, ngImport: i0, template: "<div\n class=\"row form-group\"\n [class.has-error]=\"invalid && (dirty || touched)\"\n [ngClass]=\"componentHeight | toLabelHeight\">\n <label\n *ngIf=\"disablelabel === false && !isAdaptiveLabel\"\n id=\"{{ name }}label\"\n for=\"{{ name }}\"\n class=\"col-xs-12 control-label\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'sr-only']\"\n [class.required]=\"isrequired\">\n <span class=\"text\">{{ label }}</span>\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [class]=\"HelptextTooltipIcon\"\n style=\"margin-left: 5px\">\n </span>\n </sac-tooltip>\n </label>\n <div\n class=\"col-xs-12\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\n [style.display]=\"helptextmode === 'tooltip' && helptext && disablelabel ? 'flex' : null\">\n <div\n style=\"position: relative\"\n [style.width.px]=\"componentHeight === ControlHeight.Small ? 160 : componentHeight === ControlHeight.Large ? 230 : 180\">\n <div\n class=\"datetime-textbox input-group\"\n [class.input-group-sm]=\"componentHeight === ControlHeight.Small\"\n [class.input-group-lg]=\"componentHeight === ControlHeight.Large\">\n <input\n id=\"{{ name }}\"\n name=\"{{ name }}\"\n type=\"text\"\n class=\"form-control date-control\"\n [class.is-invalid]=\"invalid && (dirty || touched)\"\n [ngClass]=\"[componentHeight | toControlHeight]\"\n [imask]=\"imaskDate\"\n [attr.placeholder]=\"placeholder\"\n [value]=\"valuestring\"\n (blur)=\"onTouch()\"\n (accept)=\"setValueString($event)\"\n [disabled]=\"isdisabled\"\n (click)=\"showDateSelector()\" />\n <span class=\"input-group-btn\">\n <button\n #pickerbutton\n class=\"btn btn-default\"\n type=\"button\"\n (click)=\"showDateSelector()\"\n [disabled]=\"isdisabled\">\n <i [class]=\"IconSelector\"></i>\n </button>\n </span>\n </div>\n <p\n *ngIf=\"helptextmode === 'text' && helptext\"\n class=\"help-block\">\n {{ helptext }}\n </p>\n <div\n class=\"help-block help-block-error\"\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\">\n {{ GetErrorMessage() | async }}\n </div>\n\n <div\n #picker\n *ngIf=\"_showselector\">\n <div\n class=\"popover in\"\n role=\"tooltip\"\n style=\"display: block; max-width: unset; margin: 0\"\n [class.bottom]=\"GetPickerPosition() == TooltipPosition.bottom || GetPickerPosition() == TooltipPosition.bottomend\"\n [class.top]=\"GetPickerPosition() == TooltipPosition.top || GetPickerPosition() == TooltipPosition.topend\"\n [style.left.px]=\"posPopupLeft\"\n [style.top.px]=\"posPopupTop\">\n <div\n #pickerarrow\n style=\"margin: 0\"\n class=\"arrow\"\n [style.top.px]=\"posArrowTop\"\n [style.left.px]=\"posArrowLeft\">\n </div>\n\n <div class=\"popover-content\">\n <sac-dateselector\n *ngIf=\"_showselector\"\n [initialvalue]=\"value\"\n (selectdate)=\"dateselect($event)\"\n dateselection=\"true\"\n timeselection=\"true\"></sac-dateselector>\n </div>\n </div>\n </div>\n </div>\n\n <div\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\n class=\"form-control-static\"\n style=\"margin-left: 5px\">\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [class]=\"HelptextTooltipIcon\"\n style=\"margin-left: 5px; margin-right: 5px\">\n </span>\n </sac-tooltip>\n </div>\n </div>\n</div>\n", components: [{ type: SacTooltipComponent, selector: "sac-tooltip" }, { type: SacDateSelectorComponent, selector: "sac-dateselector" }], directives: [{ type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i5.IMaskDirective, selector: "[imask]", inputs: ["imaskElement", "imask", "unmask"], outputs: ["accept", "complete"], exportAs: ["imask"] }], pipes: { "toLabelHeight": SacToLabelHeightPipe, "toLabelWidthCss": SacToLabelWidthCssPipe, "toControlWidthCss": SacToControlWidthCssPipe, "toControlHeight": SacToControlHeightPipe, "async": i3.AsyncPipe } });
885
+ ], usesInheritance: true, ngImport: i0, template: "<div\n class=\"row form-group\"\n [class.has-error]=\"invalid && (dirty || touched)\"\n [ngClass]=\"componentHeight | toLabelHeight\"\n [attr.data-e2e-key]=\"name | testingattribute : e2eidentifier\">\n <label\n *ngIf=\"disablelabel === false && !isAdaptiveLabel\"\n id=\"{{ name }}label\"\n for=\"{{ name }}\"\n class=\"col-xs-12 control-label\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'sr-only']\"\n [class.required]=\"isrequired\">\n <span class=\"text\">{{ label }}</span>\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [class]=\"HelptextTooltipIcon\"\n style=\"margin-left: 5px\">\n </span>\n </sac-tooltip>\n </label>\n <div\n class=\"col-xs-12\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\n [style.display]=\"helptextmode === 'tooltip' && helptext && disablelabel ? 'flex' : null\">\n <div\n style=\"position: relative\"\n [style.width.px]=\"componentHeight === ControlHeight.Small ? 160 : componentHeight === ControlHeight.Large ? 230 : 180\">\n <div\n class=\"datetime-textbox input-group\"\n [class.input-group-sm]=\"componentHeight === ControlHeight.Small\"\n [class.input-group-lg]=\"componentHeight === ControlHeight.Large\">\n <input\n id=\"{{ name }}\"\n name=\"{{ name }}\"\n type=\"text\"\n class=\"form-control date-control\"\n [class.is-invalid]=\"invalid && (dirty || touched)\"\n [ngClass]=\"[componentHeight | toControlHeight]\"\n [imask]=\"imaskDate\"\n [attr.placeholder]=\"placeholder\"\n [value]=\"valuestring\"\n (blur)=\"onTouch()\"\n (accept)=\"setValueString($event)\"\n [disabled]=\"isdisabled\"\n (click)=\"showDateSelector()\" />\n <span class=\"input-group-btn\">\n <button\n #pickerbutton\n class=\"btn btn-default\"\n type=\"button\"\n (click)=\"showDateSelector()\"\n [disabled]=\"isdisabled\">\n <i [class]=\"IconSelector\"></i>\n </button>\n </span>\n </div>\n <p\n *ngIf=\"helptextmode === 'text' && helptext\"\n class=\"help-block\">\n {{ helptext }}\n </p>\n <div\n class=\"help-block help-block-error\"\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\">\n {{ GetErrorMessage() | async }}\n </div>\n\n <div\n #picker\n *ngIf=\"_showselector\">\n <div\n class=\"popover in\"\n role=\"tooltip\"\n style=\"display: block; max-width: unset; margin: 0\"\n [class.bottom]=\"GetPickerPosition() === TooltipPosition.bottom || GetPickerPosition() === TooltipPosition.bottomend\"\n [class.top]=\"GetPickerPosition() === TooltipPosition.top || GetPickerPosition() === TooltipPosition.topend\"\n [style.left.px]=\"posPopupLeft\"\n [style.top.px]=\"posPopupTop\">\n <div\n #pickerarrow\n style=\"margin: 0\"\n class=\"arrow\"\n [style.top.px]=\"posArrowTop\"\n [style.left.px]=\"posArrowLeft\">\n </div>\n\n <div class=\"popover-content\">\n <sac-dateselector\n *ngIf=\"_showselector\"\n [initialvalue]=\"value\"\n (selectdate)=\"dateselect($event)\"\n dateselection=\"true\"\n timeselection=\"true\"></sac-dateselector>\n </div>\n </div>\n </div>\n </div>\n\n <div\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\n class=\"form-control-static\"\n style=\"margin-left: 5px\">\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [class]=\"HelptextTooltipIcon\"\n style=\"margin-left: 5px; margin-right: 5px\">\n </span>\n </sac-tooltip>\n </div>\n </div>\n</div>\n", components: [{ type: SacTooltipComponent, selector: "sac-tooltip" }, { type: SacDateSelectorComponent, selector: "sac-dateselector" }], directives: [{ type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i5$1.IMaskDirective, selector: "[imask]", inputs: ["imaskElement", "imask", "unmask"], outputs: ["accept", "complete"], exportAs: ["imask"] }], pipes: { "toLabelHeight": SacToLabelHeightPipe, "testingattribute": i5.SacTestingAttributePipe, "toLabelWidthCss": SacToLabelWidthCssPipe, "toControlWidthCss": SacToControlWidthCssPipe, "toControlHeight": SacToControlHeightPipe, "async": i3.AsyncPipe } });
909
886
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SacDateTimeComponent, decorators: [{
910
887
  type: Component,
911
888
  args: [{ selector: 'sac-datetime', providers: [
@@ -919,7 +896,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImpor
919
896
  multi: true,
920
897
  useExisting: forwardRef(() => SacDateTimeComponent),
921
898
  },
922
- ], template: "<div\n class=\"row form-group\"\n [class.has-error]=\"invalid && (dirty || touched)\"\n [ngClass]=\"componentHeight | toLabelHeight\">\n <label\n *ngIf=\"disablelabel === false && !isAdaptiveLabel\"\n id=\"{{ name }}label\"\n for=\"{{ name }}\"\n class=\"col-xs-12 control-label\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'sr-only']\"\n [class.required]=\"isrequired\">\n <span class=\"text\">{{ label }}</span>\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [class]=\"HelptextTooltipIcon\"\n style=\"margin-left: 5px\">\n </span>\n </sac-tooltip>\n </label>\n <div\n class=\"col-xs-12\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\n [style.display]=\"helptextmode === 'tooltip' && helptext && disablelabel ? 'flex' : null\">\n <div\n style=\"position: relative\"\n [style.width.px]=\"componentHeight === ControlHeight.Small ? 160 : componentHeight === ControlHeight.Large ? 230 : 180\">\n <div\n class=\"datetime-textbox input-group\"\n [class.input-group-sm]=\"componentHeight === ControlHeight.Small\"\n [class.input-group-lg]=\"componentHeight === ControlHeight.Large\">\n <input\n id=\"{{ name }}\"\n name=\"{{ name }}\"\n type=\"text\"\n class=\"form-control date-control\"\n [class.is-invalid]=\"invalid && (dirty || touched)\"\n [ngClass]=\"[componentHeight | toControlHeight]\"\n [imask]=\"imaskDate\"\n [attr.placeholder]=\"placeholder\"\n [value]=\"valuestring\"\n (blur)=\"onTouch()\"\n (accept)=\"setValueString($event)\"\n [disabled]=\"isdisabled\"\n (click)=\"showDateSelector()\" />\n <span class=\"input-group-btn\">\n <button\n #pickerbutton\n class=\"btn btn-default\"\n type=\"button\"\n (click)=\"showDateSelector()\"\n [disabled]=\"isdisabled\">\n <i [class]=\"IconSelector\"></i>\n </button>\n </span>\n </div>\n <p\n *ngIf=\"helptextmode === 'text' && helptext\"\n class=\"help-block\">\n {{ helptext }}\n </p>\n <div\n class=\"help-block help-block-error\"\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\">\n {{ GetErrorMessage() | async }}\n </div>\n\n <div\n #picker\n *ngIf=\"_showselector\">\n <div\n class=\"popover in\"\n role=\"tooltip\"\n style=\"display: block; max-width: unset; margin: 0\"\n [class.bottom]=\"GetPickerPosition() == TooltipPosition.bottom || GetPickerPosition() == TooltipPosition.bottomend\"\n [class.top]=\"GetPickerPosition() == TooltipPosition.top || GetPickerPosition() == TooltipPosition.topend\"\n [style.left.px]=\"posPopupLeft\"\n [style.top.px]=\"posPopupTop\">\n <div\n #pickerarrow\n style=\"margin: 0\"\n class=\"arrow\"\n [style.top.px]=\"posArrowTop\"\n [style.left.px]=\"posArrowLeft\">\n </div>\n\n <div class=\"popover-content\">\n <sac-dateselector\n *ngIf=\"_showselector\"\n [initialvalue]=\"value\"\n (selectdate)=\"dateselect($event)\"\n dateselection=\"true\"\n timeselection=\"true\"></sac-dateselector>\n </div>\n </div>\n </div>\n </div>\n\n <div\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\n class=\"form-control-static\"\n style=\"margin-left: 5px\">\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [class]=\"HelptextTooltipIcon\"\n style=\"margin-left: 5px; margin-right: 5px\">\n </span>\n </sac-tooltip>\n </div>\n </div>\n</div>\n" }]
899
+ ], template: "<div\n class=\"row form-group\"\n [class.has-error]=\"invalid && (dirty || touched)\"\n [ngClass]=\"componentHeight | toLabelHeight\"\n [attr.data-e2e-key]=\"name | testingattribute : e2eidentifier\">\n <label\n *ngIf=\"disablelabel === false && !isAdaptiveLabel\"\n id=\"{{ name }}label\"\n for=\"{{ name }}\"\n class=\"col-xs-12 control-label\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'sr-only']\"\n [class.required]=\"isrequired\">\n <span class=\"text\">{{ label }}</span>\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [class]=\"HelptextTooltipIcon\"\n style=\"margin-left: 5px\">\n </span>\n </sac-tooltip>\n </label>\n <div\n class=\"col-xs-12\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\n [style.display]=\"helptextmode === 'tooltip' && helptext && disablelabel ? 'flex' : null\">\n <div\n style=\"position: relative\"\n [style.width.px]=\"componentHeight === ControlHeight.Small ? 160 : componentHeight === ControlHeight.Large ? 230 : 180\">\n <div\n class=\"datetime-textbox input-group\"\n [class.input-group-sm]=\"componentHeight === ControlHeight.Small\"\n [class.input-group-lg]=\"componentHeight === ControlHeight.Large\">\n <input\n id=\"{{ name }}\"\n name=\"{{ name }}\"\n type=\"text\"\n class=\"form-control date-control\"\n [class.is-invalid]=\"invalid && (dirty || touched)\"\n [ngClass]=\"[componentHeight | toControlHeight]\"\n [imask]=\"imaskDate\"\n [attr.placeholder]=\"placeholder\"\n [value]=\"valuestring\"\n (blur)=\"onTouch()\"\n (accept)=\"setValueString($event)\"\n [disabled]=\"isdisabled\"\n (click)=\"showDateSelector()\" />\n <span class=\"input-group-btn\">\n <button\n #pickerbutton\n class=\"btn btn-default\"\n type=\"button\"\n (click)=\"showDateSelector()\"\n [disabled]=\"isdisabled\">\n <i [class]=\"IconSelector\"></i>\n </button>\n </span>\n </div>\n <p\n *ngIf=\"helptextmode === 'text' && helptext\"\n class=\"help-block\">\n {{ helptext }}\n </p>\n <div\n class=\"help-block help-block-error\"\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\">\n {{ GetErrorMessage() | async }}\n </div>\n\n <div\n #picker\n *ngIf=\"_showselector\">\n <div\n class=\"popover in\"\n role=\"tooltip\"\n style=\"display: block; max-width: unset; margin: 0\"\n [class.bottom]=\"GetPickerPosition() === TooltipPosition.bottom || GetPickerPosition() === TooltipPosition.bottomend\"\n [class.top]=\"GetPickerPosition() === TooltipPosition.top || GetPickerPosition() === TooltipPosition.topend\"\n [style.left.px]=\"posPopupLeft\"\n [style.top.px]=\"posPopupTop\">\n <div\n #pickerarrow\n style=\"margin: 0\"\n class=\"arrow\"\n [style.top.px]=\"posArrowTop\"\n [style.left.px]=\"posArrowLeft\">\n </div>\n\n <div class=\"popover-content\">\n <sac-dateselector\n *ngIf=\"_showselector\"\n [initialvalue]=\"value\"\n (selectdate)=\"dateselect($event)\"\n dateselection=\"true\"\n timeselection=\"true\"></sac-dateselector>\n </div>\n </div>\n </div>\n </div>\n\n <div\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\n class=\"form-control-static\"\n style=\"margin-left: 5px\">\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [class]=\"HelptextTooltipIcon\"\n style=\"margin-left: 5px; margin-right: 5px\">\n </span>\n </sac-tooltip>\n </div>\n </div>\n</div>\n" }]
923
900
  }], ctorParameters: function () { return [{ type: SacFormLayoutDirective, decorators: [{
924
901
  type: Host
925
902
  }, {
@@ -951,7 +928,7 @@ SacTimeComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", versi
951
928
  multi: true,
952
929
  useExisting: forwardRef(() => SacTimeComponent),
953
930
  },
954
- ], usesInheritance: true, ngImport: i0, template: "<div\n class=\"row form-group\"\n [class.has-error]=\"invalid && (dirty || touched)\"\n [ngClass]=\"componentHeight | toLabelHeight\">\n <label\n *ngIf=\"disablelabel === false && !isAdaptiveLabel\"\n id=\"{{ name }}label\"\n for=\"{{ name }}\"\n class=\"col-xs-12 control-label\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'sr-only']\"\n [class.required]=\"isrequired\">\n <span class=\"text\">{{ label }}</span>\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [class]=\"HelptextTooltipIcon\"\n style=\"margin-left: 5px\">\n </span>\n </sac-tooltip>\n </label>\n <div\n class=\"col-xs-12\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\n [style.display]=\"helptextmode === 'tooltip' && helptext && disablelabel ? 'flex' : null\">\n <div\n style=\"position: relative\"\n [style.width.px]=\"componentHeight === ControlHeight.Small ? 120 : componentHeight === ControlHeight.Large ? 160 : 140\">\n <div\n class=\"datetime-textbox input-group\"\n [class.input-group-sm]=\"componentHeight === ControlHeight.Small\"\n [class.input-group-lg]=\"componentHeight === ControlHeight.Large\">\n <input\n id=\"{{ name }}\"\n name=\"{{ name }}\"\n type=\"text\"\n class=\"form-control time-control\"\n [class.is-invalid]=\"invalid && (dirty || touched)\"\n [ngClass]=\"[componentHeight | toControlHeight]\"\n [imask]=\"imaskDate\"\n [attr.placeholder]=\"placeholder\"\n [value]=\"valuestring\"\n (blur)=\"onTouch()\"\n (accept)=\"setValueString($event)\"\n [disabled]=\"isdisabled\"\n (click)=\"showTimeSelector()\"\n maxlength=\"6\"\n size=\"6\" />\n <span class=\"input-group-btn\">\n <button\n #pickerbutton\n class=\"btn btn-default\"\n type=\"button\"\n (click)=\"showTimeSelector()\"\n [disabled]=\"isdisabled\">\n <i [class]=\"IconSelector\"></i>\n </button>\n </span>\n </div>\n <p\n *ngIf=\"helptextmode === 'text' && helptext\"\n class=\"help-block\">\n {{ helptext }}\n </p>\n <div\n class=\"help-block help-block-error\"\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\">\n {{ GetErrorMessage() | async }}\n </div>\n\n <div\n #picker\n *ngIf=\"_showselector\">\n <div\n class=\"popover in\"\n role=\"tooltip\"\n style=\"display: block; max-width: unset; margin: 0\"\n [class.bottom]=\"GetPickerPosition() == TooltipPosition.bottom || GetPickerPosition() == TooltipPosition.bottomend\"\n [class.top]=\"GetPickerPosition() == TooltipPosition.top || GetPickerPosition() == TooltipPosition.topend\"\n [style.left.px]=\"posPopupLeft\"\n [style.top.px]=\"posPopupTop\">\n <div\n #pickerarrow\n style=\"margin: 0\"\n class=\"arrow\"\n [style.top.px]=\"posArrowTop\"\n [style.left.px]=\"posArrowLeft\">\n </div>\n\n <div class=\"popover-content\">\n <sac-dateselector\n *ngIf=\"_showselector\"\n [initialvalue]=\"value\"\n (selectdate)=\"timeselect($event)\"\n timeselection=\"true\"></sac-dateselector>\n </div>\n </div>\n </div>\n </div>\n\n <div\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\n class=\"form-control-static\"\n style=\"margin-left: 5px\">\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [class]=\"HelptextTooltipIcon\"\n style=\"margin-left: 5px; margin-right: 5px\">\n </span>\n </sac-tooltip>\n </div>\n </div>\n</div>\n", components: [{ type: SacTooltipComponent, selector: "sac-tooltip" }, { type: SacDateSelectorComponent, selector: "sac-dateselector" }], directives: [{ type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i5.IMaskDirective, selector: "[imask]", inputs: ["imaskElement", "imask", "unmask"], outputs: ["accept", "complete"], exportAs: ["imask"] }], pipes: { "toLabelHeight": SacToLabelHeightPipe, "toLabelWidthCss": SacToLabelWidthCssPipe, "toControlWidthCss": SacToControlWidthCssPipe, "toControlHeight": SacToControlHeightPipe, "async": i3.AsyncPipe } });
931
+ ], usesInheritance: true, ngImport: i0, template: "<div\n class=\"row form-group\"\n [class.has-error]=\"invalid && (dirty || touched)\"\n [ngClass]=\"componentHeight | toLabelHeight\"\n [attr.data-e2e-key]=\"name | testingattribute : e2eidentifier\">\n <label\n *ngIf=\"disablelabel === false && !isAdaptiveLabel\"\n id=\"{{ name }}label\"\n for=\"{{ name }}\"\n class=\"col-xs-12 control-label\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'sr-only']\"\n [class.required]=\"isrequired\">\n <span class=\"text\">{{ label }}</span>\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [class]=\"HelptextTooltipIcon\"\n style=\"margin-left: 5px\">\n </span>\n </sac-tooltip>\n </label>\n <div\n class=\"col-xs-12\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\n [style.display]=\"helptextmode === 'tooltip' && helptext && disablelabel ? 'flex' : null\">\n <div\n style=\"position: relative\"\n [style.width.px]=\"componentHeight === ControlHeight.Small ? 120 : componentHeight === ControlHeight.Large ? 160 : 140\">\n <div\n class=\"datetime-textbox input-group\"\n [class.input-group-sm]=\"componentHeight === ControlHeight.Small\"\n [class.input-group-lg]=\"componentHeight === ControlHeight.Large\">\n <input\n id=\"{{ name }}\"\n name=\"{{ name }}\"\n type=\"text\"\n class=\"form-control time-control\"\n [class.is-invalid]=\"invalid && (dirty || touched)\"\n [ngClass]=\"[componentHeight | toControlHeight]\"\n [imask]=\"imaskDate\"\n [attr.placeholder]=\"placeholder\"\n [value]=\"valuestring\"\n (blur)=\"onTouch()\"\n (accept)=\"setValueString($event)\"\n [disabled]=\"isdisabled\"\n (click)=\"showTimeSelector()\"\n maxlength=\"6\"\n size=\"6\" />\n <span class=\"input-group-btn\">\n <button\n #pickerbutton\n class=\"btn btn-default\"\n type=\"button\"\n (click)=\"showTimeSelector()\"\n [disabled]=\"isdisabled\">\n <i [class]=\"IconSelector\"></i>\n </button>\n </span>\n </div>\n <p\n *ngIf=\"helptextmode === 'text' && helptext\"\n class=\"help-block\">\n {{ helptext }}\n </p>\n <div\n class=\"help-block help-block-error\"\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\">\n {{ GetErrorMessage() | async }}\n </div>\n\n <div\n #picker\n *ngIf=\"_showselector\">\n <div\n class=\"popover in\"\n role=\"tooltip\"\n style=\"display: block; max-width: unset; margin: 0\"\n [class.bottom]=\"GetPickerPosition() === TooltipPosition.bottom || GetPickerPosition() === TooltipPosition.bottomend\"\n [class.top]=\"GetPickerPosition() === TooltipPosition.top || GetPickerPosition() === TooltipPosition.topend\"\n [style.left.px]=\"posPopupLeft\"\n [style.top.px]=\"posPopupTop\">\n <div\n #pickerarrow\n style=\"margin: 0\"\n class=\"arrow\"\n [style.top.px]=\"posArrowTop\"\n [style.left.px]=\"posArrowLeft\">\n </div>\n\n <div class=\"popover-content\">\n <sac-dateselector\n *ngIf=\"_showselector\"\n [initialvalue]=\"value\"\n (selectdate)=\"timeselect($event)\"\n timeselection=\"true\"></sac-dateselector>\n </div>\n </div>\n </div>\n </div>\n\n <div\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\n class=\"form-control-static\"\n style=\"margin-left: 5px\">\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [class]=\"HelptextTooltipIcon\"\n style=\"margin-left: 5px; margin-right: 5px\">\n </span>\n </sac-tooltip>\n </div>\n </div>\n</div>\n", components: [{ type: SacTooltipComponent, selector: "sac-tooltip" }, { type: SacDateSelectorComponent, selector: "sac-dateselector" }], directives: [{ type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i5$1.IMaskDirective, selector: "[imask]", inputs: ["imaskElement", "imask", "unmask"], outputs: ["accept", "complete"], exportAs: ["imask"] }], pipes: { "toLabelHeight": SacToLabelHeightPipe, "testingattribute": i5.SacTestingAttributePipe, "toLabelWidthCss": SacToLabelWidthCssPipe, "toControlWidthCss": SacToControlWidthCssPipe, "toControlHeight": SacToControlHeightPipe, "async": i3.AsyncPipe } });
955
932
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SacTimeComponent, decorators: [{
956
933
  type: Component,
957
934
  args: [{ selector: 'sac-time', providers: [
@@ -965,7 +942,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImpor
965
942
  multi: true,
966
943
  useExisting: forwardRef(() => SacTimeComponent),
967
944
  },
968
- ], template: "<div\n class=\"row form-group\"\n [class.has-error]=\"invalid && (dirty || touched)\"\n [ngClass]=\"componentHeight | toLabelHeight\">\n <label\n *ngIf=\"disablelabel === false && !isAdaptiveLabel\"\n id=\"{{ name }}label\"\n for=\"{{ name }}\"\n class=\"col-xs-12 control-label\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'sr-only']\"\n [class.required]=\"isrequired\">\n <span class=\"text\">{{ label }}</span>\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [class]=\"HelptextTooltipIcon\"\n style=\"margin-left: 5px\">\n </span>\n </sac-tooltip>\n </label>\n <div\n class=\"col-xs-12\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\n [style.display]=\"helptextmode === 'tooltip' && helptext && disablelabel ? 'flex' : null\">\n <div\n style=\"position: relative\"\n [style.width.px]=\"componentHeight === ControlHeight.Small ? 120 : componentHeight === ControlHeight.Large ? 160 : 140\">\n <div\n class=\"datetime-textbox input-group\"\n [class.input-group-sm]=\"componentHeight === ControlHeight.Small\"\n [class.input-group-lg]=\"componentHeight === ControlHeight.Large\">\n <input\n id=\"{{ name }}\"\n name=\"{{ name }}\"\n type=\"text\"\n class=\"form-control time-control\"\n [class.is-invalid]=\"invalid && (dirty || touched)\"\n [ngClass]=\"[componentHeight | toControlHeight]\"\n [imask]=\"imaskDate\"\n [attr.placeholder]=\"placeholder\"\n [value]=\"valuestring\"\n (blur)=\"onTouch()\"\n (accept)=\"setValueString($event)\"\n [disabled]=\"isdisabled\"\n (click)=\"showTimeSelector()\"\n maxlength=\"6\"\n size=\"6\" />\n <span class=\"input-group-btn\">\n <button\n #pickerbutton\n class=\"btn btn-default\"\n type=\"button\"\n (click)=\"showTimeSelector()\"\n [disabled]=\"isdisabled\">\n <i [class]=\"IconSelector\"></i>\n </button>\n </span>\n </div>\n <p\n *ngIf=\"helptextmode === 'text' && helptext\"\n class=\"help-block\">\n {{ helptext }}\n </p>\n <div\n class=\"help-block help-block-error\"\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\">\n {{ GetErrorMessage() | async }}\n </div>\n\n <div\n #picker\n *ngIf=\"_showselector\">\n <div\n class=\"popover in\"\n role=\"tooltip\"\n style=\"display: block; max-width: unset; margin: 0\"\n [class.bottom]=\"GetPickerPosition() == TooltipPosition.bottom || GetPickerPosition() == TooltipPosition.bottomend\"\n [class.top]=\"GetPickerPosition() == TooltipPosition.top || GetPickerPosition() == TooltipPosition.topend\"\n [style.left.px]=\"posPopupLeft\"\n [style.top.px]=\"posPopupTop\">\n <div\n #pickerarrow\n style=\"margin: 0\"\n class=\"arrow\"\n [style.top.px]=\"posArrowTop\"\n [style.left.px]=\"posArrowLeft\">\n </div>\n\n <div class=\"popover-content\">\n <sac-dateselector\n *ngIf=\"_showselector\"\n [initialvalue]=\"value\"\n (selectdate)=\"timeselect($event)\"\n timeselection=\"true\"></sac-dateselector>\n </div>\n </div>\n </div>\n </div>\n\n <div\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\n class=\"form-control-static\"\n style=\"margin-left: 5px\">\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [class]=\"HelptextTooltipIcon\"\n style=\"margin-left: 5px; margin-right: 5px\">\n </span>\n </sac-tooltip>\n </div>\n </div>\n</div>\n" }]
945
+ ], template: "<div\n class=\"row form-group\"\n [class.has-error]=\"invalid && (dirty || touched)\"\n [ngClass]=\"componentHeight | toLabelHeight\"\n [attr.data-e2e-key]=\"name | testingattribute : e2eidentifier\">\n <label\n *ngIf=\"disablelabel === false && !isAdaptiveLabel\"\n id=\"{{ name }}label\"\n for=\"{{ name }}\"\n class=\"col-xs-12 control-label\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'sr-only']\"\n [class.required]=\"isrequired\">\n <span class=\"text\">{{ label }}</span>\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [class]=\"HelptextTooltipIcon\"\n style=\"margin-left: 5px\">\n </span>\n </sac-tooltip>\n </label>\n <div\n class=\"col-xs-12\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\n [style.display]=\"helptextmode === 'tooltip' && helptext && disablelabel ? 'flex' : null\">\n <div\n style=\"position: relative\"\n [style.width.px]=\"componentHeight === ControlHeight.Small ? 120 : componentHeight === ControlHeight.Large ? 160 : 140\">\n <div\n class=\"datetime-textbox input-group\"\n [class.input-group-sm]=\"componentHeight === ControlHeight.Small\"\n [class.input-group-lg]=\"componentHeight === ControlHeight.Large\">\n <input\n id=\"{{ name }}\"\n name=\"{{ name }}\"\n type=\"text\"\n class=\"form-control time-control\"\n [class.is-invalid]=\"invalid && (dirty || touched)\"\n [ngClass]=\"[componentHeight | toControlHeight]\"\n [imask]=\"imaskDate\"\n [attr.placeholder]=\"placeholder\"\n [value]=\"valuestring\"\n (blur)=\"onTouch()\"\n (accept)=\"setValueString($event)\"\n [disabled]=\"isdisabled\"\n (click)=\"showTimeSelector()\"\n maxlength=\"6\"\n size=\"6\" />\n <span class=\"input-group-btn\">\n <button\n #pickerbutton\n class=\"btn btn-default\"\n type=\"button\"\n (click)=\"showTimeSelector()\"\n [disabled]=\"isdisabled\">\n <i [class]=\"IconSelector\"></i>\n </button>\n </span>\n </div>\n <p\n *ngIf=\"helptextmode === 'text' && helptext\"\n class=\"help-block\">\n {{ helptext }}\n </p>\n <div\n class=\"help-block help-block-error\"\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\">\n {{ GetErrorMessage() | async }}\n </div>\n\n <div\n #picker\n *ngIf=\"_showselector\">\n <div\n class=\"popover in\"\n role=\"tooltip\"\n style=\"display: block; max-width: unset; margin: 0\"\n [class.bottom]=\"GetPickerPosition() === TooltipPosition.bottom || GetPickerPosition() === TooltipPosition.bottomend\"\n [class.top]=\"GetPickerPosition() === TooltipPosition.top || GetPickerPosition() === TooltipPosition.topend\"\n [style.left.px]=\"posPopupLeft\"\n [style.top.px]=\"posPopupTop\">\n <div\n #pickerarrow\n style=\"margin: 0\"\n class=\"arrow\"\n [style.top.px]=\"posArrowTop\"\n [style.left.px]=\"posArrowLeft\">\n </div>\n\n <div class=\"popover-content\">\n <sac-dateselector\n *ngIf=\"_showselector\"\n [initialvalue]=\"value\"\n (selectdate)=\"timeselect($event)\"\n timeselection=\"true\"></sac-dateselector>\n </div>\n </div>\n </div>\n </div>\n\n <div\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\n class=\"form-control-static\"\n style=\"margin-left: 5px\">\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [class]=\"HelptextTooltipIcon\"\n style=\"margin-left: 5px; margin-right: 5px\">\n </span>\n </sac-tooltip>\n </div>\n </div>\n</div>\n" }]
969
946
  }], ctorParameters: function () { return [{ type: SacFormLayoutDirective, decorators: [{
970
947
  type: Host
971
948
  }, {
@@ -975,82 +952,73 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImpor
975
952
  class SACBootstrap3DateTimeModule {
976
953
  }
977
954
  SACBootstrap3DateTimeModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SACBootstrap3DateTimeModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
978
- SACBootstrap3DateTimeModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SACBootstrap3DateTimeModule, declarations: [SacDateComponent,
979
- SacDateTimeComponent,
980
- SacTimeComponent,
981
- SacDateSelectorComponent], imports: [CommonModule,
955
+ SACBootstrap3DateTimeModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SACBootstrap3DateTimeModule, declarations: [SacDateComponent, SacDateTimeComponent, SacTimeComponent, SacDateSelectorComponent], imports: [CommonModule,
982
956
  IMaskModule,
983
957
  SACBootstrap3LayoutModule,
984
- SACBootstrap3TooltipModule], exports: [SacDateComponent,
985
- SacDateTimeComponent,
986
- SacTimeComponent,
987
- SacDateSelectorComponent] });
958
+ SACBootstrap3TooltipModule,
959
+ SACCommonUtliltiesModule], exports: [SacDateComponent, SacDateTimeComponent, SacTimeComponent, SacDateSelectorComponent] });
988
960
  SACBootstrap3DateTimeModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SACBootstrap3DateTimeModule, imports: [[
989
961
  CommonModule,
990
962
  IMaskModule,
991
963
  SACBootstrap3LayoutModule,
992
964
  SACBootstrap3TooltipModule,
965
+ SACCommonUtliltiesModule,
993
966
  ]] });
994
967
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SACBootstrap3DateTimeModule, decorators: [{
995
968
  type: NgModule,
996
969
  args: [{
997
- declarations: [
998
- SacDateComponent,
999
- SacDateTimeComponent,
1000
- SacTimeComponent,
1001
- SacDateSelectorComponent,
1002
- ],
970
+ declarations: [SacDateComponent, SacDateTimeComponent, SacTimeComponent, SacDateSelectorComponent],
1003
971
  imports: [
1004
972
  CommonModule,
1005
973
  IMaskModule,
1006
974
  SACBootstrap3LayoutModule,
1007
975
  SACBootstrap3TooltipModule,
976
+ SACCommonUtliltiesModule,
1008
977
  ],
1009
- exports: [
1010
- SacDateComponent,
1011
- SacDateTimeComponent,
1012
- SacTimeComponent,
1013
- SacDateSelectorComponent,
1014
- ],
978
+ exports: [SacDateComponent, SacDateTimeComponent, SacTimeComponent, SacDateSelectorComponent],
1015
979
  }]
1016
980
  }] });
1017
981
 
1018
982
  class SacPagingComponent extends SacPagingCommon {
983
+ // #region Constructors
1019
984
  /**
1020
985
  * Konstruktor
1021
986
  */
1022
- constructor(injector) { super(injector); }
987
+ constructor(injector) {
988
+ super(injector);
989
+ }
1023
990
  }
1024
991
  SacPagingComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SacPagingComponent, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component });
1025
992
  SacPagingComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.7", type: SacPagingComponent, selector: "sac-paging", providers: [
1026
993
  { provide: NG_VALUE_ACCESSOR, multi: true, useExisting: SacPagingComponent },
1027
- { provide: NG_VALIDATORS, multi: true, useExisting: forwardRef(() => SacPagingComponent) }
1028
- ], usesInheritance: true, ngImport: i0, template: "<div class=\"row\">\n <div\n class=\"pager-nav col-sm-4\"\n id=\"{{ name }}\">\n <ul\n class=\"pagination\"\n style=\"margin: 10px 0\">\n <li [ngClass]=\"{ 'aspNetDisabled disabled': activePageIndex === firstPageIndex }\">\n <a (click)=\"firstPage()\">\u00AB</a>\n </li>\n <li\n *ngFor=\"let page of paginators; let i = index\"\n [ngClass]=\"{ active: page === activePageIndex }\">\n <a (click)=\"changePage(page)\">{{ page + 1 }}</a>\n </li>\n <li [ngClass]=\"{ 'aspNetDisabled disabled': activePageIndex === lastPageIndex }\">\n <a (click)=\"lastPage()\">\u00BB</a>\n </li>\n </ul>\n </div>\n <div\n class=\"col-sm-4 text-center\"\n style=\"margin: 20px 0\">\n {{ PagingText | async }}\n </div>\n <div\n class=\"col-sm-4 text-right\"\n *ngIf=\"!pagesizedisabled\"\n style=\"margin: 12px 0\">\n <div class=\"form-inline\">\n <div\n class=\"form-group\"\n id=\"{{ name }}_size\">\n <select\n class=\"form-control form-control-sm\"\n style=\"width: 85px\"\n [ngModel]=\"pageSize\"\n (ngModelChange)=\"changePageSize($event)\">\n <option\n [ngValue]=\"size\"\n *ngFor=\"let size of getPageSizes\">\n {{ size }}\n </option>\n </select>\n <span style=\"margin-left: 5px\">{{ PageSizeText | async }}</span>\n </div>\n </div>\n </div>\n</div>\n", directives: [{ type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i2.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { type: i2.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }], pipes: { "async": i3.AsyncPipe } });
994
+ { provide: NG_VALIDATORS, multi: true, useExisting: forwardRef(() => SacPagingComponent) },
995
+ ], usesInheritance: true, ngImport: i0, template: "<div\n class=\"row\"\n [attr.data-e2e-key]=\"name | testingattribute : e2eidentifier\">\n <div\n class=\"pager-nav col-sm-4\"\n id=\"{{ name }}\">\n <ul\n class=\"pagination\"\n style=\"margin: 10px 0\">\n <li [ngClass]=\"{ 'aspNetDisabled disabled': activePageIndex === firstPageIndex }\">\n <a (click)=\"firstPage()\">\u00AB</a>\n </li>\n <li\n *ngFor=\"let page of paginators; let i = index\"\n [ngClass]=\"{ active: page === activePageIndex }\">\n <a (click)=\"changePage(page)\">{{ page + 1 }}</a>\n </li>\n <li [ngClass]=\"{ 'aspNetDisabled disabled': activePageIndex === lastPageIndex }\">\n <a (click)=\"lastPage()\">\u00BB</a>\n </li>\n </ul>\n </div>\n <div\n class=\"col-sm-4 text-center\"\n style=\"margin: 20px 0\">\n {{ PagingText | async }}\n </div>\n <div\n class=\"col-sm-4 text-right\"\n *ngIf=\"!pagesizedisabled\"\n style=\"margin: 12px 0\">\n <div class=\"form-inline\">\n <div\n class=\"form-group\"\n id=\"{{ name }}_size\">\n <select\n class=\"form-control form-control-sm\"\n style=\"width: 85px\"\n id=\"{{ name }}_pagesize\"\n [ngModel]=\"pageSize\"\n (ngModelChange)=\"changePageSize($event)\">\n <option\n [ngValue]=\"size\"\n *ngFor=\"let size of getPageSizes\">\n {{ size }}\n </option>\n </select>\n <span style=\"margin-left: 5px\">{{ PageSizeText | async }}</span>\n </div>\n </div>\n </div>\n</div>\n", directives: [{ type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i2.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { type: i2.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }], pipes: { "testingattribute": i5.SacTestingAttributePipe, "async": i3.AsyncPipe } });
1029
996
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SacPagingComponent, decorators: [{
1030
997
  type: Component,
1031
998
  args: [{ selector: 'sac-paging', providers: [
1032
999
  { provide: NG_VALUE_ACCESSOR, multi: true, useExisting: SacPagingComponent },
1033
- { provide: NG_VALIDATORS, multi: true, useExisting: forwardRef(() => SacPagingComponent) }
1034
- ], template: "<div class=\"row\">\n <div\n class=\"pager-nav col-sm-4\"\n id=\"{{ name }}\">\n <ul\n class=\"pagination\"\n style=\"margin: 10px 0\">\n <li [ngClass]=\"{ 'aspNetDisabled disabled': activePageIndex === firstPageIndex }\">\n <a (click)=\"firstPage()\">\u00AB</a>\n </li>\n <li\n *ngFor=\"let page of paginators; let i = index\"\n [ngClass]=\"{ active: page === activePageIndex }\">\n <a (click)=\"changePage(page)\">{{ page + 1 }}</a>\n </li>\n <li [ngClass]=\"{ 'aspNetDisabled disabled': activePageIndex === lastPageIndex }\">\n <a (click)=\"lastPage()\">\u00BB</a>\n </li>\n </ul>\n </div>\n <div\n class=\"col-sm-4 text-center\"\n style=\"margin: 20px 0\">\n {{ PagingText | async }}\n </div>\n <div\n class=\"col-sm-4 text-right\"\n *ngIf=\"!pagesizedisabled\"\n style=\"margin: 12px 0\">\n <div class=\"form-inline\">\n <div\n class=\"form-group\"\n id=\"{{ name }}_size\">\n <select\n class=\"form-control form-control-sm\"\n style=\"width: 85px\"\n [ngModel]=\"pageSize\"\n (ngModelChange)=\"changePageSize($event)\">\n <option\n [ngValue]=\"size\"\n *ngFor=\"let size of getPageSizes\">\n {{ size }}\n </option>\n </select>\n <span style=\"margin-left: 5px\">{{ PageSizeText | async }}</span>\n </div>\n </div>\n </div>\n</div>\n" }]
1000
+ { provide: NG_VALIDATORS, multi: true, useExisting: forwardRef(() => SacPagingComponent) },
1001
+ ], template: "<div\n class=\"row\"\n [attr.data-e2e-key]=\"name | testingattribute : e2eidentifier\">\n <div\n class=\"pager-nav col-sm-4\"\n id=\"{{ name }}\">\n <ul\n class=\"pagination\"\n style=\"margin: 10px 0\">\n <li [ngClass]=\"{ 'aspNetDisabled disabled': activePageIndex === firstPageIndex }\">\n <a (click)=\"firstPage()\">\u00AB</a>\n </li>\n <li\n *ngFor=\"let page of paginators; let i = index\"\n [ngClass]=\"{ active: page === activePageIndex }\">\n <a (click)=\"changePage(page)\">{{ page + 1 }}</a>\n </li>\n <li [ngClass]=\"{ 'aspNetDisabled disabled': activePageIndex === lastPageIndex }\">\n <a (click)=\"lastPage()\">\u00BB</a>\n </li>\n </ul>\n </div>\n <div\n class=\"col-sm-4 text-center\"\n style=\"margin: 20px 0\">\n {{ PagingText | async }}\n </div>\n <div\n class=\"col-sm-4 text-right\"\n *ngIf=\"!pagesizedisabled\"\n style=\"margin: 12px 0\">\n <div class=\"form-inline\">\n <div\n class=\"form-group\"\n id=\"{{ name }}_size\">\n <select\n class=\"form-control form-control-sm\"\n style=\"width: 85px\"\n id=\"{{ name }}_pagesize\"\n [ngModel]=\"pageSize\"\n (ngModelChange)=\"changePageSize($event)\">\n <option\n [ngValue]=\"size\"\n *ngFor=\"let size of getPageSizes\">\n {{ size }}\n </option>\n </select>\n <span style=\"margin-left: 5px\">{{ PageSizeText | async }}</span>\n </div>\n </div>\n </div>\n</div>\n" }]
1035
1002
  }], ctorParameters: function () { return [{ type: i0.Injector }]; } });
1036
1003
 
1037
1004
  class SacGridComponent extends SacGridCommon {
1038
1005
  constructor() {
1039
1006
  super(...arguments);
1007
+ // #region Properties
1040
1008
  this.ellipsis = false;
1041
1009
  }
1042
1010
  }
1043
1011
  SacGridComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SacGridComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
1044
1012
  SacGridComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.7", type: SacGridComponent, selector: "sac-grid", providers: [
1045
1013
  { provide: NG_VALUE_ACCESSOR, multi: true, useExisting: SacGridComponent },
1046
- { provide: NG_VALIDATORS, multi: true, useExisting: forwardRef(() => SacGridComponent) }
1047
- ], queries: [{ propertyName: "template", first: true, predicate: TemplateRef, descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "<table class=\"table table-striped table-condensed table-hover\" id=\"{{name}}\">\n <thead>\n <tr>\n <ng-container\n *ngTemplateOutlet=\"template; context { row: {}, type: 'header'}\"\n >\n </ng-container>\n </tr>\n </thead>\n <tbody>\n <ng-container *ngFor=\"let item of value; let i=index\">\n <tr>\n <ng-container\n *ngTemplateOutlet=\"template; context { row: item, type: 'body'}\"\n >\n </ng-container>\n </tr>\n </ng-container>\n <tr\n *ngIf=\"value === undefined || value === null || value.length === 0\"\n data-e2e=\"emptyrow\"\n >\n <td [attr.colspan]=\"ColumnCount\">{{emptytext}}</td>\n </tr>\n </tbody>\n <tfoot *ngIf=\"pagerdata\">\n <tr>\n <td [attr.colspan]=\"ColumnCount\">\n <div class=\"container-fluid\">\n <sac-paging\n name=\"{{name}}Paging\"\n (paging)=\"pageChange($event)\"\n [pagerdata]=\"pagerdata\"\n [pagingtext]=\"pagingtext\"\n [pagesizetext]=\"pagesizetext\"\n ></sac-paging>\n </div>\n </td>\n </tr>\n </tfoot>\n</table>\n", components: [{ type: SacPagingComponent, selector: "sac-paging" }], directives: [{ type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
1014
+ { provide: NG_VALIDATORS, multi: true, useExisting: forwardRef(() => SacGridComponent) },
1015
+ ], queries: [{ propertyName: "template", first: true, predicate: TemplateRef, descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "<table\n class=\"table table-striped table-condensed table-hover\"\n id=\"{{ name }}\"\n [attr.data-e2e-key]=\"name | testingattribute : e2eidentifier\">\n <thead>\n <tr>\n <ng-container *ngTemplateOutlet=\"template; context: { row: {}, type: 'header' }\"> </ng-container>\n </tr>\n </thead>\n <tbody>\n <ng-container *ngFor=\"let item of value; let i = index\">\n <tr>\n <ng-container *ngTemplateOutlet=\"template; context: { row: item, type: 'body' }\"> </ng-container>\n </tr>\n </ng-container>\n <tr\n *ngIf=\"value === undefined || value === null || value.length === 0\"\n data-e2e=\"emptyrow\">\n <td [attr.colspan]=\"ColumnCount\">{{ emptytext }}</td>\n </tr>\n </tbody>\n <tfoot *ngIf=\"pagerdata\">\n <tr>\n <td [attr.colspan]=\"ColumnCount\">\n <div class=\"container-fluid\">\n <sac-paging\n name=\"{{ name }}Paging\"\n (paging)=\"pageChange($event)\"\n [pagerdata]=\"pagerdata\"\n [pagingtext]=\"pagingtext\"\n [pagesizes]=\"pagesizes\"\n [pagesizetext]=\"pagesizetext\"\n [pagesizedisabled]=\"pagesizedisabled\"></sac-paging>\n </div>\n </td>\n </tr>\n </tfoot>\n</table>\n", components: [{ type: SacPagingComponent, selector: "sac-paging" }], directives: [{ type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "testingattribute": i5.SacTestingAttributePipe } });
1048
1016
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SacGridComponent, decorators: [{
1049
1017
  type: Component,
1050
1018
  args: [{ selector: 'sac-grid', providers: [
1051
1019
  { provide: NG_VALUE_ACCESSOR, multi: true, useExisting: SacGridComponent },
1052
- { provide: NG_VALIDATORS, multi: true, useExisting: forwardRef(() => SacGridComponent) }
1053
- ], template: "<table class=\"table table-striped table-condensed table-hover\" id=\"{{name}}\">\n <thead>\n <tr>\n <ng-container\n *ngTemplateOutlet=\"template; context { row: {}, type: 'header'}\"\n >\n </ng-container>\n </tr>\n </thead>\n <tbody>\n <ng-container *ngFor=\"let item of value; let i=index\">\n <tr>\n <ng-container\n *ngTemplateOutlet=\"template; context { row: item, type: 'body'}\"\n >\n </ng-container>\n </tr>\n </ng-container>\n <tr\n *ngIf=\"value === undefined || value === null || value.length === 0\"\n data-e2e=\"emptyrow\"\n >\n <td [attr.colspan]=\"ColumnCount\">{{emptytext}}</td>\n </tr>\n </tbody>\n <tfoot *ngIf=\"pagerdata\">\n <tr>\n <td [attr.colspan]=\"ColumnCount\">\n <div class=\"container-fluid\">\n <sac-paging\n name=\"{{name}}Paging\"\n (paging)=\"pageChange($event)\"\n [pagerdata]=\"pagerdata\"\n [pagingtext]=\"pagingtext\"\n [pagesizetext]=\"pagesizetext\"\n ></sac-paging>\n </div>\n </td>\n </tr>\n </tfoot>\n</table>\n" }]
1020
+ { provide: NG_VALIDATORS, multi: true, useExisting: forwardRef(() => SacGridComponent) },
1021
+ ], template: "<table\n class=\"table table-striped table-condensed table-hover\"\n id=\"{{ name }}\"\n [attr.data-e2e-key]=\"name | testingattribute : e2eidentifier\">\n <thead>\n <tr>\n <ng-container *ngTemplateOutlet=\"template; context: { row: {}, type: 'header' }\"> </ng-container>\n </tr>\n </thead>\n <tbody>\n <ng-container *ngFor=\"let item of value; let i = index\">\n <tr>\n <ng-container *ngTemplateOutlet=\"template; context: { row: item, type: 'body' }\"> </ng-container>\n </tr>\n </ng-container>\n <tr\n *ngIf=\"value === undefined || value === null || value.length === 0\"\n data-e2e=\"emptyrow\">\n <td [attr.colspan]=\"ColumnCount\">{{ emptytext }}</td>\n </tr>\n </tbody>\n <tfoot *ngIf=\"pagerdata\">\n <tr>\n <td [attr.colspan]=\"ColumnCount\">\n <div class=\"container-fluid\">\n <sac-paging\n name=\"{{ name }}Paging\"\n (paging)=\"pageChange($event)\"\n [pagerdata]=\"pagerdata\"\n [pagingtext]=\"pagingtext\"\n [pagesizes]=\"pagesizes\"\n [pagesizetext]=\"pagesizetext\"\n [pagesizedisabled]=\"pagesizedisabled\"></sac-paging>\n </div>\n </td>\n </tr>\n </tfoot>\n</table>\n" }]
1054
1022
  }], propDecorators: { template: [{
1055
1023
  type: ContentChild,
1056
1024
  args: [TemplateRef, { static: true }]
@@ -1060,40 +1028,25 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImpor
1060
1028
  * Grid Action Button
1061
1029
  */
1062
1030
  class SacGridButtonComponent extends SacGridButtonCommon {
1063
- // #region Public Methods
1031
+ // #region Constructors
1064
1032
  /**
1065
- * Returns the icon for the button
1033
+ * Construtor
1034
+ *
1035
+ * @param injector Injector to resolve icons
1066
1036
  */
1067
- getIconClass() {
1068
- let iconset = this.iconstyle;
1069
- let iconcss = this.icon;
1070
- if (iconset === '') {
1071
- switch (this.icon) {
1072
- case 'edit':
1073
- iconset = 'sprite';
1074
- iconcss = 'icon-sprite-base-main_edit';
1075
- break;
1076
- case 'delete':
1077
- iconset = 'sprite';
1078
- iconcss = 'icon-sprite-base-main_delete';
1079
- break;
1080
- }
1081
- }
1082
- if (this._isdisabledvalue) {
1083
- iconcss += '_disabled';
1084
- }
1085
- const result = iconset + ' ' + iconcss;
1086
- return result.trim();
1037
+ constructor(injector) {
1038
+ super(injector);
1087
1039
  }
1088
1040
  }
1089
- SacGridButtonComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SacGridButtonComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
1090
- SacGridButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.7", type: SacGridButtonComponent, selector: "sac-gridbutton", usesInheritance: true, ngImport: i0, template: "<a (click)=\"callaction()\" style=\"padding-right: 5px;\" [class.disabled]=\"isdisabled\" [attr.disabled]=\"isdisabled ? 'disabled' : null\"><span class=\"{{getIconClass()}}\"></span></a>\n" });
1041
+ SacGridButtonComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SacGridButtonComponent, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component });
1042
+ SacGridButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.7", type: SacGridButtonComponent, selector: "sac-gridbutton", usesInheritance: true, ngImport: i0, template: "<a\n (click)=\"callaction()\"\n [attr.data-e2e]=\"name\"\n style=\"padding-right: 5px\"\n [style.cursor]=\"!isdisabled ? 'pointer' : null\"\n [class.disabled]=\"isdisabled\"\n [attr.disabled]=\"isdisabled ? 'disabled' : null\"\n ><span class=\"{{ getIconClass() }}\"></span\n></a>\n" });
1091
1043
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SacGridButtonComponent, decorators: [{
1092
1044
  type: Component,
1093
- args: [{ selector: 'sac-gridbutton', template: "<a (click)=\"callaction()\" style=\"padding-right: 5px;\" [class.disabled]=\"isdisabled\" [attr.disabled]=\"isdisabled ? 'disabled' : null\"><span class=\"{{getIconClass()}}\"></span></a>\n" }]
1094
- }] });
1045
+ args: [{ selector: 'sac-gridbutton', template: "<a\n (click)=\"callaction()\"\n [attr.data-e2e]=\"name\"\n style=\"padding-right: 5px\"\n [style.cursor]=\"!isdisabled ? 'pointer' : null\"\n [class.disabled]=\"isdisabled\"\n [attr.disabled]=\"isdisabled ? 'disabled' : null\"\n ><span class=\"{{ getIconClass() }}\"></span\n></a>\n" }]
1046
+ }], ctorParameters: function () { return [{ type: i0.Injector }]; } });
1095
1047
 
1096
1048
  class SacGridColumnComponent extends SacGridColumnCommon {
1049
+ // #region Constructors
1097
1050
  constructor(grid, injector, el) {
1098
1051
  super(grid, injector, el);
1099
1052
  }
@@ -1104,7 +1057,7 @@ SacGridColumnComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0",
1104
1057
  provide: SacGridColumnBaseCommon,
1105
1058
  useExisting: forwardRef(() => SacGridColumnComponent),
1106
1059
  },
1107
- ], usesInheritance: true, ngImport: i0, template: "<th\n scope=\"col\"\n *ngIf=\"IsHeader()\"\n [style.width]=\"width\"\n (click)=\"SortByColumn()\">\n <span>{{ header }}</span>\n <span\n [class]=\"IconSortUp\"\n style=\"padding-left: 0.5rem\"\n *ngIf=\"IsSortedColumn() && GetSortDirection() === 'asc'\"></span>\n <span\n [class]=\"IconSortDown\"\n style=\"padding-left: 0.5rem\"\n *ngIf=\"IsSortedColumn() && GetSortDirection() === 'desc'\"></span>\n</th>\n<td\n scope=\"col\"\n *ngIf=\"IsBody()\"\n [style.width]=\"width\"\n [class.ellipsis]=\"IsEllipsis()\"\n (click)=\"ColumnClick()\"\n [style.max-width]=\"IsEllipsis() ? width : null\"\n [style.overflow]=\"IsEllipsis() ? 'hidden' : null\"\n [style.text-overflow]=\"IsEllipsis() ? 'ellipsis' : null\"\n [style.white-space]=\"IsEllipsis() ? 'nowrap' : null\">\n <span\n [attr.title]=\"IsEllipsis() ? value : null\"\n [innerHtml]=\"value\"></span>\n</td>\n", directives: [{ type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
1060
+ ], usesInheritance: true, ngImport: i0, template: "<th\n #headerElement\n scope=\"col\"\n *ngIf=\"IsHeader()\"\n [style.width]=\"width\"\n (click)=\"SortByColumn()\"\n [class.text-right]=\"alignment === 'right'\"\n [class.text-center]=\"alignment === 'center'\">\n <span>{{ header }}</span>\n <span\n [class]=\"IconSortUp\"\n style=\"padding-left: 0.5rem\"\n *ngIf=\"IsSortedColumn() && GetSortDirection() === 'asc'\"></span>\n <span\n [class]=\"IconSortDown\"\n style=\"padding-left: 0.5rem\"\n *ngIf=\"IsSortedColumn() && GetSortDirection() === 'desc'\"></span>\n</th>\n<td\n #bodyElement\n scope=\"col\"\n *ngIf=\"IsBody()\"\n [style.width]=\"width\"\n [class.ellipsis]=\"IsEllipsis()\"\n (click)=\"ColumnClick()\"\n [style.max-width]=\"IsEllipsis() ? width : null\"\n [style.overflow]=\"IsEllipsis() ? 'hidden' : null\"\n [style.text-overflow]=\"IsEllipsis() ? 'ellipsis' : null\"\n [style.white-space]=\"IsEllipsis() ? 'nowrap' : null\"\n [class.text-right]=\"alignment === 'right'\"\n [class.text-center]=\"alignment === 'center'\">\n <span\n [attr.title]=\"IsEllipsis() ? value : null\"\n [innerHtml]=\"value\"></span>\n</td>\n", directives: [{ type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
1108
1061
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SacGridColumnComponent, decorators: [{
1109
1062
  type: Component,
1110
1063
  args: [{ selector: 'sac-gridcolumn', providers: [
@@ -1112,10 +1065,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImpor
1112
1065
  provide: SacGridColumnBaseCommon,
1113
1066
  useExisting: forwardRef(() => SacGridColumnComponent),
1114
1067
  },
1115
- ], template: "<th\n scope=\"col\"\n *ngIf=\"IsHeader()\"\n [style.width]=\"width\"\n (click)=\"SortByColumn()\">\n <span>{{ header }}</span>\n <span\n [class]=\"IconSortUp\"\n style=\"padding-left: 0.5rem\"\n *ngIf=\"IsSortedColumn() && GetSortDirection() === 'asc'\"></span>\n <span\n [class]=\"IconSortDown\"\n style=\"padding-left: 0.5rem\"\n *ngIf=\"IsSortedColumn() && GetSortDirection() === 'desc'\"></span>\n</th>\n<td\n scope=\"col\"\n *ngIf=\"IsBody()\"\n [style.width]=\"width\"\n [class.ellipsis]=\"IsEllipsis()\"\n (click)=\"ColumnClick()\"\n [style.max-width]=\"IsEllipsis() ? width : null\"\n [style.overflow]=\"IsEllipsis() ? 'hidden' : null\"\n [style.text-overflow]=\"IsEllipsis() ? 'ellipsis' : null\"\n [style.white-space]=\"IsEllipsis() ? 'nowrap' : null\">\n <span\n [attr.title]=\"IsEllipsis() ? value : null\"\n [innerHtml]=\"value\"></span>\n</td>\n" }]
1068
+ ], template: "<th\n #headerElement\n scope=\"col\"\n *ngIf=\"IsHeader()\"\n [style.width]=\"width\"\n (click)=\"SortByColumn()\"\n [class.text-right]=\"alignment === 'right'\"\n [class.text-center]=\"alignment === 'center'\">\n <span>{{ header }}</span>\n <span\n [class]=\"IconSortUp\"\n style=\"padding-left: 0.5rem\"\n *ngIf=\"IsSortedColumn() && GetSortDirection() === 'asc'\"></span>\n <span\n [class]=\"IconSortDown\"\n style=\"padding-left: 0.5rem\"\n *ngIf=\"IsSortedColumn() && GetSortDirection() === 'desc'\"></span>\n</th>\n<td\n #bodyElement\n scope=\"col\"\n *ngIf=\"IsBody()\"\n [style.width]=\"width\"\n [class.ellipsis]=\"IsEllipsis()\"\n (click)=\"ColumnClick()\"\n [style.max-width]=\"IsEllipsis() ? width : null\"\n [style.overflow]=\"IsEllipsis() ? 'hidden' : null\"\n [style.text-overflow]=\"IsEllipsis() ? 'ellipsis' : null\"\n [style.white-space]=\"IsEllipsis() ? 'nowrap' : null\"\n [class.text-right]=\"alignment === 'right'\"\n [class.text-center]=\"alignment === 'center'\">\n <span\n [attr.title]=\"IsEllipsis() ? value : null\"\n [innerHtml]=\"value\"></span>\n</td>\n" }]
1116
1069
  }], ctorParameters: function () { return [{ type: SacGridComponent }, { type: i0.Injector }, { type: i0.ElementRef }]; } });
1117
1070
 
1118
1071
  class SacGridColumnActionComponent extends SacGridColumnActionCommon {
1072
+ // #region Constructors
1119
1073
  constructor(grid, injector, el) {
1120
1074
  super(grid, injector, el);
1121
1075
  this.width = '52px';
@@ -1127,7 +1081,7 @@ SacGridColumnActionComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12
1127
1081
  provide: SacGridColumnBaseCommon,
1128
1082
  useExisting: forwardRef(() => SacGridColumnActionComponent),
1129
1083
  },
1130
- ], usesInheritance: true, ngImport: i0, template: "<th scope=\"col\" *ngIf=\"IsHeader()\" [style.width]=\"width\"><span></span></th>\n<td scope=\"col\" *ngIf=\"IsBody()\">\n <ng-content></ng-content>\n</td>\n", directives: [{ type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
1084
+ ], usesInheritance: true, ngImport: i0, template: "<th\n #headerElement\n scope=\"col\"\n *ngIf=\"IsHeader()\"\n [style.width]=\"width\"\n [class.text-right]=\"alignment === 'right'\"\n [class.text-center]=\"alignment === 'center'\">\n <span></span>\n</th>\n<td\n #bodyElement\n scope=\"col\"\n *ngIf=\"IsBody()\"\n [class.text-right]=\"alignment === 'right'\"\n [class.text-center]=\"alignment === 'center'\">\n <ng-content></ng-content>\n</td>\n", directives: [{ type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
1131
1085
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SacGridColumnActionComponent, decorators: [{
1132
1086
  type: Component,
1133
1087
  args: [{ selector: 'sac-gridcolumnaction', providers: [
@@ -1135,26 +1089,16 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImpor
1135
1089
  provide: SacGridColumnBaseCommon,
1136
1090
  useExisting: forwardRef(() => SacGridColumnActionComponent),
1137
1091
  },
1138
- ], template: "<th scope=\"col\" *ngIf=\"IsHeader()\" [style.width]=\"width\"><span></span></th>\n<td scope=\"col\" *ngIf=\"IsBody()\">\n <ng-content></ng-content>\n</td>\n" }]
1092
+ ], template: "<th\n #headerElement\n scope=\"col\"\n *ngIf=\"IsHeader()\"\n [style.width]=\"width\"\n [class.text-right]=\"alignment === 'right'\"\n [class.text-center]=\"alignment === 'center'\">\n <span></span>\n</th>\n<td\n #bodyElement\n scope=\"col\"\n *ngIf=\"IsBody()\"\n [class.text-right]=\"alignment === 'right'\"\n [class.text-center]=\"alignment === 'center'\">\n <ng-content></ng-content>\n</td>\n" }]
1139
1093
  }], ctorParameters: function () { return [{ type: SacGridComponent }, { type: i0.Injector }, { type: i0.ElementRef }]; } });
1140
1094
 
1141
1095
  class SacGridImageComponent extends SacGridImageCommon {
1142
- getIconClass() {
1143
- switch (this.iconstyle) {
1144
- case 'edit':
1145
- return 'sprite icon-sprite-base-main_edit';
1146
- case 'delete':
1147
- return 'sprite icon-sprite-base-main_delete';
1148
- default:
1149
- return this.iconstyle;
1150
- }
1151
- }
1152
1096
  }
1153
1097
  SacGridImageComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SacGridImageComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
1154
- SacGridImageComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.7", type: SacGridImageComponent, selector: "sac-gridimage", usesInheritance: true, ngImport: i0, template: "<span style=\"padding-right: 5px;\"><span class=\"{{getIconClass()}}\"></span></span>\n" });
1098
+ SacGridImageComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.7", type: SacGridImageComponent, selector: "sac-gridimage", usesInheritance: true, ngImport: i0, template: "<span style=\"padding-right: 5px\"><span [ngClass]=\"iconstyle\"></span></span>\n", directives: [{ type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] });
1155
1099
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SacGridImageComponent, decorators: [{
1156
1100
  type: Component,
1157
- args: [{ selector: 'sac-gridimage', template: "<span style=\"padding-right: 5px;\"><span class=\"{{getIconClass()}}\"></span></span>\n" }]
1101
+ args: [{ selector: 'sac-gridimage', template: "<span style=\"padding-right: 5px\"><span [ngClass]=\"iconstyle\"></span></span>\n" }]
1158
1102
  }] });
1159
1103
 
1160
1104
  class SACBootstrap3GridModule {
@@ -1165,13 +1109,13 @@ SACBootstrap3GridModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0",
1165
1109
  SacGridColumnActionComponent,
1166
1110
  SacPagingComponent,
1167
1111
  SacGridButtonComponent,
1168
- SacGridImageComponent], imports: [CommonModule, FormsModule], exports: [SacGridComponent,
1112
+ SacGridImageComponent], imports: [CommonModule, FormsModule, SACCommonUtliltiesModule], exports: [SacGridComponent,
1169
1113
  SacGridColumnComponent,
1170
1114
  SacGridColumnActionComponent,
1171
1115
  SacPagingComponent,
1172
1116
  SacGridButtonComponent,
1173
1117
  SacGridImageComponent] });
1174
- SACBootstrap3GridModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SACBootstrap3GridModule, imports: [[CommonModule, FormsModule]] });
1118
+ SACBootstrap3GridModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SACBootstrap3GridModule, imports: [[CommonModule, FormsModule, SACCommonUtliltiesModule]] });
1175
1119
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SACBootstrap3GridModule, decorators: [{
1176
1120
  type: NgModule,
1177
1121
  args: [{
@@ -1183,7 +1127,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImpor
1183
1127
  SacGridButtonComponent,
1184
1128
  SacGridImageComponent,
1185
1129
  ],
1186
- imports: [CommonModule, FormsModule],
1130
+ imports: [CommonModule, FormsModule, SACCommonUtliltiesModule],
1187
1131
  exports: [
1188
1132
  SacGridComponent,
1189
1133
  SacGridColumnComponent,
@@ -1214,7 +1158,7 @@ SacInputComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", vers
1214
1158
  multi: true,
1215
1159
  useExisting: forwardRef(() => SacInputComponent),
1216
1160
  },
1217
- ], usesInheritance: true, ngImport: i0, template: "<div\n class=\"row form-group\"\n [class.has-error]=\"invalid && (dirty || touched)\"\n [ngClass]=\"componentHeight | toLabelHeight\">\n <label\n *ngIf=\"disablelabel === false && !isAdaptiveLabel\"\n id=\"{{ name }}label\"\n for=\"{{ name }}\"\n class=\"col-xs-12 control-label\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'sr-only']\"\n [class.required]=\"isrequired\">\n <span class=\"text\">{{ label }}</span>\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [class]=\"HelptextTooltipIcon\"\n style=\"margin-left: 5px\">\n </span>\n </sac-tooltip>\n </label>\n <div\n class=\"col-xs-12\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\">\n <div [style.display]=\"helptextmode === 'tooltip' && helptext && disablelabel ? 'flex' : null\">\n <input\n id=\"{{ name }}\"\n name=\"{{ name }}\"\n type=\"text\"\n class=\"form-control\"\n [ngClass]=\"[componentHeight | toControlHeight]\"\n [value]=\"value\"\n [attr.placeholder]=\"placeholder\"\n (blur)=\"onTouch()\"\n (input)=\"setValue($event.target.value)\"\n [attr.maxlength]=\"maxtextlength\"\n [disabled]=\"isdisabled\"\n [readonly]=\"readonly\" />\n\n <div\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\n class=\"form-control-static\"\n style=\"margin-left: 5px\">\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [class]=\"HelptextTooltipIcon\"\n style=\"margin-left: 5px; margin-right: 5px\">\n </span>\n </sac-tooltip>\n </div>\n </div>\n\n <p\n *ngIf=\"helptextmode === 'text' && helptext\"\n class=\"help-block\">\n {{ helptext }}\n </p>\n\n <div\n class=\"help-block help-block-error\"\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\">\n {{ GetErrorMessage() | async }}\n </div>\n </div>\n</div>\n", components: [{ type: SacTooltipComponent, selector: "sac-tooltip" }], directives: [{ type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "toLabelHeight": SacToLabelHeightPipe, "toLabelWidthCss": SacToLabelWidthCssPipe, "toControlWidthCss": SacToControlWidthCssPipe, "toControlHeight": SacToControlHeightPipe, "async": i3.AsyncPipe } });
1161
+ ], usesInheritance: true, ngImport: i0, template: "<div\n class=\"row form-group\"\n [class.has-error]=\"invalid && (dirty || touched)\"\n [ngClass]=\"componentHeight | toLabelHeight\"\n [attr.data-e2e-key]=\"name | testingattribute : e2eidentifier\">\n <label\n *ngIf=\"disablelabel === false && !isAdaptiveLabel\"\n id=\"{{ name }}label\"\n for=\"{{ name }}\"\n class=\"col-xs-12 control-label\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'sr-only']\"\n [class.required]=\"isrequired\">\n <span class=\"text\">{{ label }}</span>\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [class]=\"HelptextTooltipIcon\"\n style=\"margin-left: 5px\">\n </span>\n </sac-tooltip>\n </label>\n <div\n class=\"col-xs-12\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\">\n <div [style.display]=\"helptextmode === 'tooltip' && helptext && disablelabel ? 'flex' : null\">\n <input\n id=\"{{ name }}\"\n name=\"{{ name }}\"\n type=\"text\"\n class=\"form-control\"\n [ngClass]=\"[componentHeight | toControlHeight]\"\n [class.is-invalid]=\"invalid && (dirty || touched)\"\n [value]=\"value\"\n [attr.placeholder]=\"placeholder\"\n (blur)=\"onTouch()\"\n (input)=\"setValue($event.target.value)\"\n (keypress)=\"onKeyPress($event)\"\n [attr.maxlength]=\"maxtextlength\"\n [disabled]=\"isdisabled\"\n [readonly]=\"readonly\" />\n\n <div\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\n class=\"form-control-static\"\n style=\"margin-left: 5px\">\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [class]=\"HelptextTooltipIcon\"\n style=\"margin-left: 5px; margin-right: 5px\">\n </span>\n </sac-tooltip>\n </div>\n </div>\n\n <p\n *ngIf=\"helptextmode === 'text' && helptext\"\n class=\"help-block\">\n {{ helptext }}\n </p>\n\n <div\n class=\"help-block help-block-error\"\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\">\n {{ GetErrorMessage() | async }}\n </div>\n </div>\n</div>\n", components: [{ type: SacTooltipComponent, selector: "sac-tooltip" }], directives: [{ type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "toLabelHeight": SacToLabelHeightPipe, "testingattribute": i5.SacTestingAttributePipe, "toLabelWidthCss": SacToLabelWidthCssPipe, "toControlWidthCss": SacToControlWidthCssPipe, "toControlHeight": SacToControlHeightPipe, "async": i3.AsyncPipe } });
1218
1162
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SacInputComponent, decorators: [{
1219
1163
  type: Component,
1220
1164
  args: [{ selector: 'sac-input', providers: [
@@ -1224,7 +1168,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImpor
1224
1168
  multi: true,
1225
1169
  useExisting: forwardRef(() => SacInputComponent),
1226
1170
  },
1227
- ], template: "<div\n class=\"row form-group\"\n [class.has-error]=\"invalid && (dirty || touched)\"\n [ngClass]=\"componentHeight | toLabelHeight\">\n <label\n *ngIf=\"disablelabel === false && !isAdaptiveLabel\"\n id=\"{{ name }}label\"\n for=\"{{ name }}\"\n class=\"col-xs-12 control-label\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'sr-only']\"\n [class.required]=\"isrequired\">\n <span class=\"text\">{{ label }}</span>\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [class]=\"HelptextTooltipIcon\"\n style=\"margin-left: 5px\">\n </span>\n </sac-tooltip>\n </label>\n <div\n class=\"col-xs-12\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\">\n <div [style.display]=\"helptextmode === 'tooltip' && helptext && disablelabel ? 'flex' : null\">\n <input\n id=\"{{ name }}\"\n name=\"{{ name }}\"\n type=\"text\"\n class=\"form-control\"\n [ngClass]=\"[componentHeight | toControlHeight]\"\n [value]=\"value\"\n [attr.placeholder]=\"placeholder\"\n (blur)=\"onTouch()\"\n (input)=\"setValue($event.target.value)\"\n [attr.maxlength]=\"maxtextlength\"\n [disabled]=\"isdisabled\"\n [readonly]=\"readonly\" />\n\n <div\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\n class=\"form-control-static\"\n style=\"margin-left: 5px\">\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [class]=\"HelptextTooltipIcon\"\n style=\"margin-left: 5px; margin-right: 5px\">\n </span>\n </sac-tooltip>\n </div>\n </div>\n\n <p\n *ngIf=\"helptextmode === 'text' && helptext\"\n class=\"help-block\">\n {{ helptext }}\n </p>\n\n <div\n class=\"help-block help-block-error\"\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\">\n {{ GetErrorMessage() | async }}\n </div>\n </div>\n</div>\n" }]
1171
+ ], template: "<div\n class=\"row form-group\"\n [class.has-error]=\"invalid && (dirty || touched)\"\n [ngClass]=\"componentHeight | toLabelHeight\"\n [attr.data-e2e-key]=\"name | testingattribute : e2eidentifier\">\n <label\n *ngIf=\"disablelabel === false && !isAdaptiveLabel\"\n id=\"{{ name }}label\"\n for=\"{{ name }}\"\n class=\"col-xs-12 control-label\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'sr-only']\"\n [class.required]=\"isrequired\">\n <span class=\"text\">{{ label }}</span>\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [class]=\"HelptextTooltipIcon\"\n style=\"margin-left: 5px\">\n </span>\n </sac-tooltip>\n </label>\n <div\n class=\"col-xs-12\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\">\n <div [style.display]=\"helptextmode === 'tooltip' && helptext && disablelabel ? 'flex' : null\">\n <input\n id=\"{{ name }}\"\n name=\"{{ name }}\"\n type=\"text\"\n class=\"form-control\"\n [ngClass]=\"[componentHeight | toControlHeight]\"\n [class.is-invalid]=\"invalid && (dirty || touched)\"\n [value]=\"value\"\n [attr.placeholder]=\"placeholder\"\n (blur)=\"onTouch()\"\n (input)=\"setValue($event.target.value)\"\n (keypress)=\"onKeyPress($event)\"\n [attr.maxlength]=\"maxtextlength\"\n [disabled]=\"isdisabled\"\n [readonly]=\"readonly\" />\n\n <div\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\n class=\"form-control-static\"\n style=\"margin-left: 5px\">\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [class]=\"HelptextTooltipIcon\"\n style=\"margin-left: 5px; margin-right: 5px\">\n </span>\n </sac-tooltip>\n </div>\n </div>\n\n <p\n *ngIf=\"helptextmode === 'text' && helptext\"\n class=\"help-block\">\n {{ helptext }}\n </p>\n\n <div\n class=\"help-block help-block-error\"\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\">\n {{ GetErrorMessage() | async }}\n </div>\n </div>\n</div>\n" }]
1228
1172
  }], ctorParameters: function () { return [{ type: SacFormLayoutDirective, decorators: [{
1229
1173
  type: Host
1230
1174
  }, {
@@ -1266,7 +1210,7 @@ SacInputAreaComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0",
1266
1210
  multi: true,
1267
1211
  useExisting: forwardRef(() => SacInputAreaComponent),
1268
1212
  },
1269
- ], usesInheritance: true, ngImport: i0, template: "<div\n class=\"row form-group\"\n [class.has-error]=\"invalid && (dirty || touched)\"\n [ngClass]=\"componentHeight | toLabelHeight\">\n <label\n *ngIf=\"disablelabel === false && !isAdaptiveLabel\"\n id=\"{{ name }}label\"\n for=\"{{ name }}\"\n class=\"col-xs-12 control-label\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'sr-only']\"\n [class.required]=\"isrequired\">\n <span class=\"text\">{{ label }}</span>\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [class]=\"HelptextTooltipIcon\"\n style=\"margin-left: 5px\">\n </span>\n </sac-tooltip>\n </label>\n <div\n class=\"col-xs-12\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\">\n <div [style.display]=\"helptextmode === 'tooltip' && helptext && disablelabel ? 'flex' : null\">\n <textarea\n id=\"{{ name }}\"\n name=\"{{ name }}\"\n type=\"\"\n class=\"form-control\"\n [class.is-invalid]=\"invalid && (dirty || touched)\"\n [class.validation-error]=\"invalid && (dirty || touched)\"\n [class.required]=\"isrequired\"\n [ngClass]=\"[componentHeight | toControlHeight]\"\n [value]=\"value\"\n [attr.placeholder]=\"placeholder\"\n (blur)=\"onTouch()\"\n (input)=\"setValue($event.target.value)\"\n (keypress)=\"onKeyPress($event)\"\n [attr.rows]=\"rows\"\n [disabled]=\"isdisabled\"\n [readonly]=\"readonly\">\n </textarea>\n\n <div\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\n class=\"form-control-static\"\n style=\"margin-left: 5px\">\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [class]=\"HelptextTooltipIcon\"\n style=\"margin-left: 5px; margin-right: 5px\">\n </span>\n </sac-tooltip>\n </div>\n </div>\n\n <p\n *ngIf=\"helptextmode === 'text' && helptext\"\n class=\"help-block\">\n {{ helptext }}\n </p>\n\n <div\n class=\"help-block help-block-error\"\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\">\n {{ GetErrorMessage() | async }}\n </div>\n </div>\n</div>\n", components: [{ type: SacTooltipComponent, selector: "sac-tooltip" }], directives: [{ type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "toLabelHeight": SacToLabelHeightPipe, "toLabelWidthCss": SacToLabelWidthCssPipe, "toControlWidthCss": SacToControlWidthCssPipe, "toControlHeight": SacToControlHeightPipe, "async": i3.AsyncPipe } });
1213
+ ], usesInheritance: true, ngImport: i0, template: "<div\n class=\"row form-group\"\n [class.has-error]=\"invalid && (dirty || touched)\"\n [ngClass]=\"componentHeight | toLabelHeight\"\n [attr.data-e2e-key]=\"name | testingattribute : e2eidentifier\">\n <label\n *ngIf=\"disablelabel === false && !isAdaptiveLabel\"\n id=\"{{ name }}label\"\n for=\"{{ name }}\"\n class=\"col-xs-12 control-label\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'sr-only']\"\n [class.required]=\"isrequired\">\n <span class=\"text\">{{ label }}</span>\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [class]=\"HelptextTooltipIcon\"\n style=\"margin-left: 5px\">\n </span>\n </sac-tooltip>\n </label>\n <div\n class=\"col-xs-12\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\">\n <div [style.display]=\"helptextmode === 'tooltip' && helptext && disablelabel ? 'flex' : null\">\n <textarea\n id=\"{{ name }}\"\n name=\"{{ name }}\"\n type=\"\"\n class=\"form-control\"\n [class.is-invalid]=\"invalid && (dirty || touched)\"\n [class.validation-error]=\"invalid && (dirty || touched)\"\n [class.required]=\"isrequired\"\n [ngClass]=\"[componentHeight | toControlHeight]\"\n [value]=\"value\"\n [attr.placeholder]=\"placeholder\"\n (blur)=\"onTouch()\"\n (input)=\"setValue($event.target.value)\"\n (keypress)=\"onKeyPress($event)\"\n [attr.rows]=\"rows\"\n [disabled]=\"isdisabled\"\n [readonly]=\"readonly\">\n </textarea>\n\n <div\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\n class=\"form-control-static\"\n style=\"margin-left: 5px\">\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [class]=\"HelptextTooltipIcon\"\n style=\"margin-left: 5px; margin-right: 5px\">\n </span>\n </sac-tooltip>\n </div>\n </div>\n\n <p\n *ngIf=\"helptextmode === 'text' && helptext\"\n class=\"help-block\">\n {{ helptext }}\n </p>\n\n <div\n class=\"help-block help-block-error\"\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\">\n {{ GetErrorMessage() | async }}\n </div>\n </div>\n</div>\n", components: [{ type: SacTooltipComponent, selector: "sac-tooltip" }], directives: [{ type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "toLabelHeight": SacToLabelHeightPipe, "testingattribute": i5.SacTestingAttributePipe, "toLabelWidthCss": SacToLabelWidthCssPipe, "toControlWidthCss": SacToControlWidthCssPipe, "toControlHeight": SacToControlHeightPipe, "async": i3.AsyncPipe } });
1270
1214
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SacInputAreaComponent, decorators: [{
1271
1215
  type: Component,
1272
1216
  args: [{ selector: 'sac-inputarea', providers: [
@@ -1280,7 +1224,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImpor
1280
1224
  multi: true,
1281
1225
  useExisting: forwardRef(() => SacInputAreaComponent),
1282
1226
  },
1283
- ], template: "<div\n class=\"row form-group\"\n [class.has-error]=\"invalid && (dirty || touched)\"\n [ngClass]=\"componentHeight | toLabelHeight\">\n <label\n *ngIf=\"disablelabel === false && !isAdaptiveLabel\"\n id=\"{{ name }}label\"\n for=\"{{ name }}\"\n class=\"col-xs-12 control-label\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'sr-only']\"\n [class.required]=\"isrequired\">\n <span class=\"text\">{{ label }}</span>\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [class]=\"HelptextTooltipIcon\"\n style=\"margin-left: 5px\">\n </span>\n </sac-tooltip>\n </label>\n <div\n class=\"col-xs-12\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\">\n <div [style.display]=\"helptextmode === 'tooltip' && helptext && disablelabel ? 'flex' : null\">\n <textarea\n id=\"{{ name }}\"\n name=\"{{ name }}\"\n type=\"\"\n class=\"form-control\"\n [class.is-invalid]=\"invalid && (dirty || touched)\"\n [class.validation-error]=\"invalid && (dirty || touched)\"\n [class.required]=\"isrequired\"\n [ngClass]=\"[componentHeight | toControlHeight]\"\n [value]=\"value\"\n [attr.placeholder]=\"placeholder\"\n (blur)=\"onTouch()\"\n (input)=\"setValue($event.target.value)\"\n (keypress)=\"onKeyPress($event)\"\n [attr.rows]=\"rows\"\n [disabled]=\"isdisabled\"\n [readonly]=\"readonly\">\n </textarea>\n\n <div\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\n class=\"form-control-static\"\n style=\"margin-left: 5px\">\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [class]=\"HelptextTooltipIcon\"\n style=\"margin-left: 5px; margin-right: 5px\">\n </span>\n </sac-tooltip>\n </div>\n </div>\n\n <p\n *ngIf=\"helptextmode === 'text' && helptext\"\n class=\"help-block\">\n {{ helptext }}\n </p>\n\n <div\n class=\"help-block help-block-error\"\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\">\n {{ GetErrorMessage() | async }}\n </div>\n </div>\n</div>\n" }]
1227
+ ], template: "<div\n class=\"row form-group\"\n [class.has-error]=\"invalid && (dirty || touched)\"\n [ngClass]=\"componentHeight | toLabelHeight\"\n [attr.data-e2e-key]=\"name | testingattribute : e2eidentifier\">\n <label\n *ngIf=\"disablelabel === false && !isAdaptiveLabel\"\n id=\"{{ name }}label\"\n for=\"{{ name }}\"\n class=\"col-xs-12 control-label\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'sr-only']\"\n [class.required]=\"isrequired\">\n <span class=\"text\">{{ label }}</span>\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [class]=\"HelptextTooltipIcon\"\n style=\"margin-left: 5px\">\n </span>\n </sac-tooltip>\n </label>\n <div\n class=\"col-xs-12\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\">\n <div [style.display]=\"helptextmode === 'tooltip' && helptext && disablelabel ? 'flex' : null\">\n <textarea\n id=\"{{ name }}\"\n name=\"{{ name }}\"\n type=\"\"\n class=\"form-control\"\n [class.is-invalid]=\"invalid && (dirty || touched)\"\n [class.validation-error]=\"invalid && (dirty || touched)\"\n [class.required]=\"isrequired\"\n [ngClass]=\"[componentHeight | toControlHeight]\"\n [value]=\"value\"\n [attr.placeholder]=\"placeholder\"\n (blur)=\"onTouch()\"\n (input)=\"setValue($event.target.value)\"\n (keypress)=\"onKeyPress($event)\"\n [attr.rows]=\"rows\"\n [disabled]=\"isdisabled\"\n [readonly]=\"readonly\">\n </textarea>\n\n <div\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\n class=\"form-control-static\"\n style=\"margin-left: 5px\">\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [class]=\"HelptextTooltipIcon\"\n style=\"margin-left: 5px; margin-right: 5px\">\n </span>\n </sac-tooltip>\n </div>\n </div>\n\n <p\n *ngIf=\"helptextmode === 'text' && helptext\"\n class=\"help-block\">\n {{ helptext }}\n </p>\n\n <div\n class=\"help-block help-block-error\"\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\">\n {{ GetErrorMessage() | async }}\n </div>\n </div>\n</div>\n" }]
1284
1228
  }], ctorParameters: function () { return [{ type: SacFormLayoutDirective, decorators: [{
1285
1229
  type: Host
1286
1230
  }, {
@@ -1310,7 +1254,7 @@ SacInputCurrencyComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.
1310
1254
  multi: true,
1311
1255
  useExisting: forwardRef(() => SacInputCurrencyComponent),
1312
1256
  },
1313
- ], usesInheritance: true, ngImport: i0, template: "<div\n class=\"row form-group\"\n [class.has-error]=\"invalid && (dirty || touched)\"\n [ngClass]=\"componentHeight | toLabelHeight\">\n <label\n *ngIf=\"disablelabel === false && !isAdaptiveLabel\"\n id=\"{{ name }}label\"\n for=\"{{ name }}\"\n class=\"col-xs-12 control-label\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'sr-only']\"\n [class.required]=\"isrequired\">\n <span class=\"text\">{{ label }}</span>\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [class]=\"HelptextTooltipIcon\"\n style=\"margin-left: 5px\">\n </span>\n </sac-tooltip>\n </label>\n <div\n class=\"col-xs-12\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\n [class.clearfix]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\n <div\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\n class=\"form-control-static pull-right\"\n style=\"margin-left: 5px\">\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [class]=\"HelptextTooltipIcon\"\n style=\"margin-left: 5px; margin-right: 5px\">\n </span>\n </sac-tooltip>\n </div>\n\n <div\n class=\"input-group\"\n [class.input-group-sm]=\"componentHeight === ControlHeight.Small\"\n [class.input-group-lg]=\"componentHeight === ControlHeight.Large\">\n <input\n id=\"{{ name }}\"\n name=\"{{ name }}\"\n type=\"text\"\n inputmode=\"decimal\"\n class=\"form-control\"\n [ngClass]=\"[componentHeight | toControlHeight]\"\n [value]=\"value\"\n [attr.placeholder]=\"placeholder\"\n (blur)=\"onTouch()\"\n (input)=\"setValue($event.target.value)\"\n (keypress)=\"onKeyPress($event)\"\n [disabled]=\"isdisabled\"\n [readonly]=\"readonly\" />\n <div class=\"input-group-addon\">{{ currency }}</div>\n </div>\n\n <p\n *ngIf=\"helptextmode === 'text' && helptext\"\n class=\"help-block\">\n {{ helptext }}\n </p>\n\n <div\n class=\"help-block help-block-error\"\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\">\n {{ GetErrorMessage() | async }}\n </div>\n </div>\n</div>\n", components: [{ type: SacTooltipComponent, selector: "sac-tooltip" }], directives: [{ type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "toLabelHeight": SacToLabelHeightPipe, "toLabelWidthCss": SacToLabelWidthCssPipe, "toControlWidthCss": SacToControlWidthCssPipe, "toControlHeight": SacToControlHeightPipe, "async": i3.AsyncPipe } });
1257
+ ], usesInheritance: true, ngImport: i0, template: "<div\n class=\"row form-group\"\n [class.has-error]=\"invalid && (dirty || touched)\"\n [ngClass]=\"componentHeight | toLabelHeight\"\n [attr.data-e2e-key]=\"name | testingattribute : e2eidentifier\">\n <label\n *ngIf=\"disablelabel === false && !isAdaptiveLabel\"\n id=\"{{ name }}label\"\n for=\"{{ name }}\"\n class=\"col-xs-12 control-label\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'sr-only']\"\n [class.required]=\"isrequired\">\n <span class=\"text\">{{ label }}</span>\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [class]=\"HelptextTooltipIcon\"\n style=\"margin-left: 5px\">\n </span>\n </sac-tooltip>\n </label>\n <div\n class=\"col-xs-12\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\n [class.clearfix]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\n <div\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\n class=\"form-control-static pull-right\"\n style=\"margin-left: 5px\">\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [class]=\"HelptextTooltipIcon\"\n style=\"margin-left: 5px; margin-right: 5px\">\n </span>\n </sac-tooltip>\n </div>\n\n <div\n class=\"input-group\"\n [class.input-group-sm]=\"componentHeight === ControlHeight.Small\"\n [class.input-group-lg]=\"componentHeight === ControlHeight.Large\">\n <input\n id=\"{{ name }}\"\n name=\"{{ name }}\"\n type=\"text\"\n inputmode=\"decimal\"\n class=\"form-control\"\n [ngClass]=\"[componentHeight | toControlHeight]\"\n [class.is-invalid]=\"invalid && (dirty || touched)\"\n [value]=\"value\"\n [attr.placeholder]=\"placeholder\"\n (blur)=\"onTouch()\"\n (input)=\"setValue($event.target.value)\"\n (keypress)=\"onKeyPress($event)\"\n [disabled]=\"isdisabled\"\n [readonly]=\"readonly\" />\n <div class=\"input-group-addon\">{{ currency }}</div>\n </div>\n\n <p\n *ngIf=\"helptextmode === 'text' && helptext\"\n class=\"help-block\">\n {{ helptext }}\n </p>\n\n <div\n class=\"help-block help-block-error\"\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\">\n {{ GetErrorMessage() | async }}\n </div>\n </div>\n</div>\n", components: [{ type: SacTooltipComponent, selector: "sac-tooltip" }], directives: [{ type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "toLabelHeight": SacToLabelHeightPipe, "testingattribute": i5.SacTestingAttributePipe, "toLabelWidthCss": SacToLabelWidthCssPipe, "toControlWidthCss": SacToControlWidthCssPipe, "toControlHeight": SacToControlHeightPipe, "async": i3.AsyncPipe } });
1314
1258
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SacInputCurrencyComponent, decorators: [{
1315
1259
  type: Component,
1316
1260
  args: [{ selector: 'sac-inputcurrency', providers: [
@@ -1324,7 +1268,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImpor
1324
1268
  multi: true,
1325
1269
  useExisting: forwardRef(() => SacInputCurrencyComponent),
1326
1270
  },
1327
- ], template: "<div\n class=\"row form-group\"\n [class.has-error]=\"invalid && (dirty || touched)\"\n [ngClass]=\"componentHeight | toLabelHeight\">\n <label\n *ngIf=\"disablelabel === false && !isAdaptiveLabel\"\n id=\"{{ name }}label\"\n for=\"{{ name }}\"\n class=\"col-xs-12 control-label\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'sr-only']\"\n [class.required]=\"isrequired\">\n <span class=\"text\">{{ label }}</span>\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [class]=\"HelptextTooltipIcon\"\n style=\"margin-left: 5px\">\n </span>\n </sac-tooltip>\n </label>\n <div\n class=\"col-xs-12\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\n [class.clearfix]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\n <div\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\n class=\"form-control-static pull-right\"\n style=\"margin-left: 5px\">\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [class]=\"HelptextTooltipIcon\"\n style=\"margin-left: 5px; margin-right: 5px\">\n </span>\n </sac-tooltip>\n </div>\n\n <div\n class=\"input-group\"\n [class.input-group-sm]=\"componentHeight === ControlHeight.Small\"\n [class.input-group-lg]=\"componentHeight === ControlHeight.Large\">\n <input\n id=\"{{ name }}\"\n name=\"{{ name }}\"\n type=\"text\"\n inputmode=\"decimal\"\n class=\"form-control\"\n [ngClass]=\"[componentHeight | toControlHeight]\"\n [value]=\"value\"\n [attr.placeholder]=\"placeholder\"\n (blur)=\"onTouch()\"\n (input)=\"setValue($event.target.value)\"\n (keypress)=\"onKeyPress($event)\"\n [disabled]=\"isdisabled\"\n [readonly]=\"readonly\" />\n <div class=\"input-group-addon\">{{ currency }}</div>\n </div>\n\n <p\n *ngIf=\"helptextmode === 'text' && helptext\"\n class=\"help-block\">\n {{ helptext }}\n </p>\n\n <div\n class=\"help-block help-block-error\"\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\">\n {{ GetErrorMessage() | async }}\n </div>\n </div>\n</div>\n" }]
1271
+ ], template: "<div\n class=\"row form-group\"\n [class.has-error]=\"invalid && (dirty || touched)\"\n [ngClass]=\"componentHeight | toLabelHeight\"\n [attr.data-e2e-key]=\"name | testingattribute : e2eidentifier\">\n <label\n *ngIf=\"disablelabel === false && !isAdaptiveLabel\"\n id=\"{{ name }}label\"\n for=\"{{ name }}\"\n class=\"col-xs-12 control-label\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'sr-only']\"\n [class.required]=\"isrequired\">\n <span class=\"text\">{{ label }}</span>\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [class]=\"HelptextTooltipIcon\"\n style=\"margin-left: 5px\">\n </span>\n </sac-tooltip>\n </label>\n <div\n class=\"col-xs-12\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\n [class.clearfix]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\n <div\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\n class=\"form-control-static pull-right\"\n style=\"margin-left: 5px\">\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [class]=\"HelptextTooltipIcon\"\n style=\"margin-left: 5px; margin-right: 5px\">\n </span>\n </sac-tooltip>\n </div>\n\n <div\n class=\"input-group\"\n [class.input-group-sm]=\"componentHeight === ControlHeight.Small\"\n [class.input-group-lg]=\"componentHeight === ControlHeight.Large\">\n <input\n id=\"{{ name }}\"\n name=\"{{ name }}\"\n type=\"text\"\n inputmode=\"decimal\"\n class=\"form-control\"\n [ngClass]=\"[componentHeight | toControlHeight]\"\n [class.is-invalid]=\"invalid && (dirty || touched)\"\n [value]=\"value\"\n [attr.placeholder]=\"placeholder\"\n (blur)=\"onTouch()\"\n (input)=\"setValue($event.target.value)\"\n (keypress)=\"onKeyPress($event)\"\n [disabled]=\"isdisabled\"\n [readonly]=\"readonly\" />\n <div class=\"input-group-addon\">{{ currency }}</div>\n </div>\n\n <p\n *ngIf=\"helptextmode === 'text' && helptext\"\n class=\"help-block\">\n {{ helptext }}\n </p>\n\n <div\n class=\"help-block help-block-error\"\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\">\n {{ GetErrorMessage() | async }}\n </div>\n </div>\n</div>\n" }]
1328
1272
  }], ctorParameters: function () { return [{ type: SacFormLayoutDirective, decorators: [{
1329
1273
  type: Host
1330
1274
  }, {
@@ -1354,7 +1298,7 @@ SacInputDecimalComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0
1354
1298
  multi: true,
1355
1299
  useExisting: forwardRef(() => SacInputDecimalComponent),
1356
1300
  },
1357
- ], usesInheritance: true, ngImport: i0, template: "<div\n class=\"row form-group\"\n [class.has-error]=\"invalid && (dirty || touched)\"\n [ngClass]=\"componentHeight | toLabelHeight\">\n <label\n *ngIf=\"disablelabel === false && !isAdaptiveLabel\"\n id=\"{{ name }}label\"\n for=\"{{ name }}\"\n class=\"col-xs-12 control-label\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'sr-only']\"\n [class.required]=\"isrequired\">\n <span class=\"text\">{{ label }}</span>\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [class]=\"HelptextTooltipIcon\"\n style=\"margin-left: 5px\">\n </span>\n </sac-tooltip>\n </label>\n <div\n class=\"col-xs-12\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\">\n <div [style.display]=\"helptextmode === 'tooltip' && helptext && disablelabel ? 'flex' : null\">\n <input\n id=\"{{ name }}\"\n name=\"{{ name }}\"\n type=\"text\"\n inputmode=\"decimal\"\n class=\"form-control\"\n [ngClass]=\"[componentHeight | toControlHeight]\"\n [value]=\"value\"\n [attr.placeholder]=\"placeholder\"\n (blur)=\"onTouch()\"\n (input)=\"setValue($event.target.value)\"\n (keypress)=\"onKeyPress($event)\"\n [disabled]=\"isdisabled\"\n [readonly]=\"readonly\" />\n\n <div\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\n class=\"form-control-static\"\n style=\"margin-left: 5px\">\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [class]=\"HelptextTooltipIcon\"\n style=\"margin-left: 5px; margin-right: 5px\">\n </span>\n </sac-tooltip>\n </div>\n </div>\n\n <p\n *ngIf=\"helptextmode === 'text' && helptext\"\n class=\"help-block\">\n {{ helptext }}\n </p>\n\n <div\n class=\"help-block help-block-error\"\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\">\n {{ GetErrorMessage() | async }}\n </div>\n </div>\n</div>\n", components: [{ type: SacTooltipComponent, selector: "sac-tooltip" }], directives: [{ type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "toLabelHeight": SacToLabelHeightPipe, "toLabelWidthCss": SacToLabelWidthCssPipe, "toControlWidthCss": SacToControlWidthCssPipe, "toControlHeight": SacToControlHeightPipe, "async": i3.AsyncPipe } });
1301
+ ], usesInheritance: true, ngImport: i0, template: "<div\n class=\"row form-group\"\n [class.has-error]=\"invalid && (dirty || touched)\"\n [ngClass]=\"componentHeight | toLabelHeight\"\n [attr.data-e2e-key]=\"name | testingattribute : e2eidentifier\">\n <label\n *ngIf=\"disablelabel === false && !isAdaptiveLabel\"\n id=\"{{ name }}label\"\n for=\"{{ name }}\"\n class=\"col-xs-12 control-label\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'sr-only']\"\n [class.required]=\"isrequired\">\n <span class=\"text\">{{ label }}</span>\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [class]=\"HelptextTooltipIcon\"\n style=\"margin-left: 5px\">\n </span>\n </sac-tooltip>\n </label>\n <div\n class=\"col-xs-12\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\">\n <div [style.display]=\"helptextmode === 'tooltip' && helptext && disablelabel ? 'flex' : null\">\n <input\n id=\"{{ name }}\"\n name=\"{{ name }}\"\n type=\"text\"\n inputmode=\"decimal\"\n class=\"form-control\"\n [ngClass]=\"[componentHeight | toControlHeight]\"\n [class.is-invalid]=\"invalid && (dirty || touched)\"\n [value]=\"value\"\n [attr.placeholder]=\"placeholder\"\n (blur)=\"onTouch()\"\n (input)=\"setValue($event.target.value)\"\n (keypress)=\"onKeyPress($event)\"\n [disabled]=\"isdisabled\"\n [readonly]=\"readonly\" />\n\n <div\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\n class=\"form-control-static\"\n style=\"margin-left: 5px\">\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [class]=\"HelptextTooltipIcon\"\n style=\"margin-left: 5px; margin-right: 5px\">\n </span>\n </sac-tooltip>\n </div>\n </div>\n\n <p\n *ngIf=\"helptextmode === 'text' && helptext\"\n class=\"help-block\">\n {{ helptext }}\n </p>\n\n <div\n class=\"help-block help-block-error\"\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\">\n {{ GetErrorMessage() | async }}\n </div>\n </div>\n</div>\n", components: [{ type: SacTooltipComponent, selector: "sac-tooltip" }], directives: [{ type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "toLabelHeight": SacToLabelHeightPipe, "testingattribute": i5.SacTestingAttributePipe, "toLabelWidthCss": SacToLabelWidthCssPipe, "toControlWidthCss": SacToControlWidthCssPipe, "toControlHeight": SacToControlHeightPipe, "async": i3.AsyncPipe } });
1358
1302
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SacInputDecimalComponent, decorators: [{
1359
1303
  type: Component,
1360
1304
  args: [{ selector: 'sac-inputdecimal', providers: [
@@ -1368,7 +1312,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImpor
1368
1312
  multi: true,
1369
1313
  useExisting: forwardRef(() => SacInputDecimalComponent),
1370
1314
  },
1371
- ], template: "<div\n class=\"row form-group\"\n [class.has-error]=\"invalid && (dirty || touched)\"\n [ngClass]=\"componentHeight | toLabelHeight\">\n <label\n *ngIf=\"disablelabel === false && !isAdaptiveLabel\"\n id=\"{{ name }}label\"\n for=\"{{ name }}\"\n class=\"col-xs-12 control-label\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'sr-only']\"\n [class.required]=\"isrequired\">\n <span class=\"text\">{{ label }}</span>\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [class]=\"HelptextTooltipIcon\"\n style=\"margin-left: 5px\">\n </span>\n </sac-tooltip>\n </label>\n <div\n class=\"col-xs-12\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\">\n <div [style.display]=\"helptextmode === 'tooltip' && helptext && disablelabel ? 'flex' : null\">\n <input\n id=\"{{ name }}\"\n name=\"{{ name }}\"\n type=\"text\"\n inputmode=\"decimal\"\n class=\"form-control\"\n [ngClass]=\"[componentHeight | toControlHeight]\"\n [value]=\"value\"\n [attr.placeholder]=\"placeholder\"\n (blur)=\"onTouch()\"\n (input)=\"setValue($event.target.value)\"\n (keypress)=\"onKeyPress($event)\"\n [disabled]=\"isdisabled\"\n [readonly]=\"readonly\" />\n\n <div\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\n class=\"form-control-static\"\n style=\"margin-left: 5px\">\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [class]=\"HelptextTooltipIcon\"\n style=\"margin-left: 5px; margin-right: 5px\">\n </span>\n </sac-tooltip>\n </div>\n </div>\n\n <p\n *ngIf=\"helptextmode === 'text' && helptext\"\n class=\"help-block\">\n {{ helptext }}\n </p>\n\n <div\n class=\"help-block help-block-error\"\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\">\n {{ GetErrorMessage() | async }}\n </div>\n </div>\n</div>\n" }]
1315
+ ], template: "<div\n class=\"row form-group\"\n [class.has-error]=\"invalid && (dirty || touched)\"\n [ngClass]=\"componentHeight | toLabelHeight\"\n [attr.data-e2e-key]=\"name | testingattribute : e2eidentifier\">\n <label\n *ngIf=\"disablelabel === false && !isAdaptiveLabel\"\n id=\"{{ name }}label\"\n for=\"{{ name }}\"\n class=\"col-xs-12 control-label\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'sr-only']\"\n [class.required]=\"isrequired\">\n <span class=\"text\">{{ label }}</span>\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [class]=\"HelptextTooltipIcon\"\n style=\"margin-left: 5px\">\n </span>\n </sac-tooltip>\n </label>\n <div\n class=\"col-xs-12\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\">\n <div [style.display]=\"helptextmode === 'tooltip' && helptext && disablelabel ? 'flex' : null\">\n <input\n id=\"{{ name }}\"\n name=\"{{ name }}\"\n type=\"text\"\n inputmode=\"decimal\"\n class=\"form-control\"\n [ngClass]=\"[componentHeight | toControlHeight]\"\n [class.is-invalid]=\"invalid && (dirty || touched)\"\n [value]=\"value\"\n [attr.placeholder]=\"placeholder\"\n (blur)=\"onTouch()\"\n (input)=\"setValue($event.target.value)\"\n (keypress)=\"onKeyPress($event)\"\n [disabled]=\"isdisabled\"\n [readonly]=\"readonly\" />\n\n <div\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\n class=\"form-control-static\"\n style=\"margin-left: 5px\">\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [class]=\"HelptextTooltipIcon\"\n style=\"margin-left: 5px; margin-right: 5px\">\n </span>\n </sac-tooltip>\n </div>\n </div>\n\n <p\n *ngIf=\"helptextmode === 'text' && helptext\"\n class=\"help-block\">\n {{ helptext }}\n </p>\n\n <div\n class=\"help-block help-block-error\"\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\">\n {{ GetErrorMessage() | async }}\n </div>\n </div>\n</div>\n" }]
1372
1316
  }], ctorParameters: function () { return [{ type: SacFormLayoutDirective, decorators: [{
1373
1317
  type: Host
1374
1318
  }, {
@@ -1398,7 +1342,7 @@ SacInputEmailComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0",
1398
1342
  multi: true,
1399
1343
  useExisting: forwardRef(() => SacInputEmailComponent),
1400
1344
  },
1401
- ], usesInheritance: true, ngImport: i0, template: "<div\n class=\"row form-group\"\n [class.has-error]=\"invalid && (dirty || touched)\"\n [ngClass]=\"componentHeight | toLabelHeight\">\n <label\n *ngIf=\"disablelabel === false && !isAdaptiveLabel\"\n id=\"{{ name }}label\"\n for=\"{{ name }}\"\n class=\"col-xs-12 control-label\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'sr-only']\"\n [class.required]=\"isrequired\">\n <span class=\"text\">{{ label }}</span>\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [class]=\"HelptextTooltipIcon\"\n style=\"margin-left: 5px\">\n </span>\n </sac-tooltip>\n </label>\n <div\n class=\"col-xs-12\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\n [class.clearfix]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\n <div\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\n class=\"form-control-static pull-right\"\n style=\"margin-left: 5px\">\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [class]=\"HelptextTooltipIcon\"\n style=\"margin-left: 5px; margin-right: 5px\">\n </span>\n </sac-tooltip>\n </div>\n\n <div\n class=\"input-group\"\n [class.input-group-sm]=\"componentHeight === ControlHeight.Small\"\n [class.input-group-lg]=\"componentHeight === ControlHeight.Large\">\n <div class=\"input-group-addon\">@</div>\n <input\n id=\"{{ name }}\"\n name=\"{{ name }}\"\n type=\"text\"\n inputmode=\"email\"\n class=\"form-control\"\n [ngClass]=\"[componentHeight | toControlHeight]\"\n [value]=\"value\"\n [attr.placeholder]=\"placeholder\"\n (blur)=\"onTouch()\"\n (input)=\"setValue($event.target.value)\"\n autocomplete=\"email\"\n [attr.maxlength]=\"maxtextlength\"\n [disabled]=\"isdisabled\"\n [readonly]=\"readonly\" />\n </div>\n\n <p\n *ngIf=\"helptextmode === 'text' && helptext\"\n class=\"help-block\">\n {{ helptext }}\n </p>\n\n <div\n class=\"help-block help-block-error\"\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\">\n {{ GetErrorMessage() | async }}\n </div>\n </div>\n</div>\n", components: [{ type: SacTooltipComponent, selector: "sac-tooltip" }], directives: [{ type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "toLabelHeight": SacToLabelHeightPipe, "toLabelWidthCss": SacToLabelWidthCssPipe, "toControlWidthCss": SacToControlWidthCssPipe, "toControlHeight": SacToControlHeightPipe, "async": i3.AsyncPipe } });
1345
+ ], usesInheritance: true, ngImport: i0, template: "<div\n class=\"row form-group\"\n [class.has-error]=\"invalid && (dirty || touched)\"\n [ngClass]=\"componentHeight | toLabelHeight\"\n [attr.data-e2e-key]=\"name | testingattribute : e2eidentifier\">\n <label\n *ngIf=\"disablelabel === false && !isAdaptiveLabel\"\n id=\"{{ name }}label\"\n for=\"{{ name }}\"\n class=\"col-xs-12 control-label\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'sr-only']\"\n [class.required]=\"isrequired\">\n <span class=\"text\">{{ label }}</span>\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [class]=\"HelptextTooltipIcon\"\n style=\"margin-left: 5px\">\n </span>\n </sac-tooltip>\n </label>\n <div\n class=\"col-xs-12\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\n [class.clearfix]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\n <div\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\n class=\"form-control-static pull-right\"\n style=\"margin-left: 5px\">\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [class]=\"HelptextTooltipIcon\"\n style=\"margin-left: 5px; margin-right: 5px\">\n </span>\n </sac-tooltip>\n </div>\n\n <div\n class=\"input-group\"\n [class.input-group-sm]=\"componentHeight === ControlHeight.Small\"\n [class.input-group-lg]=\"componentHeight === ControlHeight.Large\">\n <div class=\"input-group-addon\">@</div>\n <input\n id=\"{{ name }}\"\n name=\"{{ name }}\"\n type=\"text\"\n inputmode=\"email\"\n class=\"form-control\"\n [ngClass]=\"[componentHeight | toControlHeight]\"\n [class.is-invalid]=\"invalid && (dirty || touched)\"\n [value]=\"value\"\n [attr.placeholder]=\"placeholder\"\n (blur)=\"onTouch()\"\n (input)=\"setValue($event.target.value)\"\n (keypress)=\"onKeyPress($event)\"\n autocomplete=\"email\"\n [attr.maxlength]=\"maxtextlength\"\n [disabled]=\"isdisabled\"\n [readonly]=\"readonly\" />\n </div>\n\n <p\n *ngIf=\"helptextmode === 'text' && helptext\"\n class=\"help-block\">\n {{ helptext }}\n </p>\n\n <div\n class=\"help-block help-block-error\"\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\">\n {{ GetErrorMessage() | async }}\n </div>\n </div>\n</div>\n", components: [{ type: SacTooltipComponent, selector: "sac-tooltip" }], directives: [{ type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "toLabelHeight": SacToLabelHeightPipe, "testingattribute": i5.SacTestingAttributePipe, "toLabelWidthCss": SacToLabelWidthCssPipe, "toControlWidthCss": SacToControlWidthCssPipe, "toControlHeight": SacToControlHeightPipe, "async": i3.AsyncPipe } });
1402
1346
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SacInputEmailComponent, decorators: [{
1403
1347
  type: Component,
1404
1348
  args: [{ selector: 'sac-inputemail', providers: [
@@ -1412,7 +1356,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImpor
1412
1356
  multi: true,
1413
1357
  useExisting: forwardRef(() => SacInputEmailComponent),
1414
1358
  },
1415
- ], template: "<div\n class=\"row form-group\"\n [class.has-error]=\"invalid && (dirty || touched)\"\n [ngClass]=\"componentHeight | toLabelHeight\">\n <label\n *ngIf=\"disablelabel === false && !isAdaptiveLabel\"\n id=\"{{ name }}label\"\n for=\"{{ name }}\"\n class=\"col-xs-12 control-label\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'sr-only']\"\n [class.required]=\"isrequired\">\n <span class=\"text\">{{ label }}</span>\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [class]=\"HelptextTooltipIcon\"\n style=\"margin-left: 5px\">\n </span>\n </sac-tooltip>\n </label>\n <div\n class=\"col-xs-12\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\n [class.clearfix]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\n <div\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\n class=\"form-control-static pull-right\"\n style=\"margin-left: 5px\">\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [class]=\"HelptextTooltipIcon\"\n style=\"margin-left: 5px; margin-right: 5px\">\n </span>\n </sac-tooltip>\n </div>\n\n <div\n class=\"input-group\"\n [class.input-group-sm]=\"componentHeight === ControlHeight.Small\"\n [class.input-group-lg]=\"componentHeight === ControlHeight.Large\">\n <div class=\"input-group-addon\">@</div>\n <input\n id=\"{{ name }}\"\n name=\"{{ name }}\"\n type=\"text\"\n inputmode=\"email\"\n class=\"form-control\"\n [ngClass]=\"[componentHeight | toControlHeight]\"\n [value]=\"value\"\n [attr.placeholder]=\"placeholder\"\n (blur)=\"onTouch()\"\n (input)=\"setValue($event.target.value)\"\n autocomplete=\"email\"\n [attr.maxlength]=\"maxtextlength\"\n [disabled]=\"isdisabled\"\n [readonly]=\"readonly\" />\n </div>\n\n <p\n *ngIf=\"helptextmode === 'text' && helptext\"\n class=\"help-block\">\n {{ helptext }}\n </p>\n\n <div\n class=\"help-block help-block-error\"\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\">\n {{ GetErrorMessage() | async }}\n </div>\n </div>\n</div>\n" }]
1359
+ ], template: "<div\n class=\"row form-group\"\n [class.has-error]=\"invalid && (dirty || touched)\"\n [ngClass]=\"componentHeight | toLabelHeight\"\n [attr.data-e2e-key]=\"name | testingattribute : e2eidentifier\">\n <label\n *ngIf=\"disablelabel === false && !isAdaptiveLabel\"\n id=\"{{ name }}label\"\n for=\"{{ name }}\"\n class=\"col-xs-12 control-label\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'sr-only']\"\n [class.required]=\"isrequired\">\n <span class=\"text\">{{ label }}</span>\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [class]=\"HelptextTooltipIcon\"\n style=\"margin-left: 5px\">\n </span>\n </sac-tooltip>\n </label>\n <div\n class=\"col-xs-12\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\n [class.clearfix]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\n <div\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\n class=\"form-control-static pull-right\"\n style=\"margin-left: 5px\">\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [class]=\"HelptextTooltipIcon\"\n style=\"margin-left: 5px; margin-right: 5px\">\n </span>\n </sac-tooltip>\n </div>\n\n <div\n class=\"input-group\"\n [class.input-group-sm]=\"componentHeight === ControlHeight.Small\"\n [class.input-group-lg]=\"componentHeight === ControlHeight.Large\">\n <div class=\"input-group-addon\">@</div>\n <input\n id=\"{{ name }}\"\n name=\"{{ name }}\"\n type=\"text\"\n inputmode=\"email\"\n class=\"form-control\"\n [ngClass]=\"[componentHeight | toControlHeight]\"\n [class.is-invalid]=\"invalid && (dirty || touched)\"\n [value]=\"value\"\n [attr.placeholder]=\"placeholder\"\n (blur)=\"onTouch()\"\n (input)=\"setValue($event.target.value)\"\n (keypress)=\"onKeyPress($event)\"\n autocomplete=\"email\"\n [attr.maxlength]=\"maxtextlength\"\n [disabled]=\"isdisabled\"\n [readonly]=\"readonly\" />\n </div>\n\n <p\n *ngIf=\"helptextmode === 'text' && helptext\"\n class=\"help-block\">\n {{ helptext }}\n </p>\n\n <div\n class=\"help-block help-block-error\"\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\">\n {{ GetErrorMessage() | async }}\n </div>\n </div>\n</div>\n" }]
1416
1360
  }], ctorParameters: function () { return [{ type: SacFormLayoutDirective, decorators: [{
1417
1361
  type: Host
1418
1362
  }, {
@@ -1442,7 +1386,7 @@ SacInputIntegerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0
1442
1386
  multi: true,
1443
1387
  useExisting: forwardRef(() => SacInputIntegerComponent),
1444
1388
  },
1445
- ], usesInheritance: true, ngImport: i0, template: "<div\n class=\"row form-group\"\n [class.has-error]=\"invalid && (dirty || touched)\"\n [ngClass]=\"componentHeight | toLabelHeight\">\n <label\n *ngIf=\"disablelabel === false && !isAdaptiveLabel\"\n id=\"{{ name }}label\"\n for=\"{{ name }}\"\n class=\"col-xs-12 control-label\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'sr-only']\"\n [class.required]=\"isrequired\">\n <span class=\"text\">{{ label }}</span>\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [class]=\"HelptextTooltipIcon\"\n style=\"margin-left: 5px\">\n </span>\n </sac-tooltip>\n </label>\n <div\n class=\"col-xs-12\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\">\n <div [style.display]=\"helptextmode === 'tooltip' && helptext && disablelabel ? 'flex' : null\">\n <input\n id=\"{{ name }}\"\n name=\"{{ name }}\"\n type=\"text\"\n inputmode=\"decimal\"\n class=\"form-control\"\n [ngClass]=\"[componentHeight | toControlHeight]\"\n [value]=\"value\"\n [attr.placeholder]=\"placeholder\"\n (blur)=\"onTouch()\"\n (input)=\"setValue($event.target.value)\"\n (keypress)=\"onKeyPress($event)\"\n [disabled]=\"isdisabled\"\n [readonly]=\"readonly\" />\n\n <div\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\n class=\"form-control-static\"\n style=\"margin-left: 5px\">\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [class]=\"HelptextTooltipIcon\"\n style=\"margin-left: 5px; margin-right: 5px\">\n </span>\n </sac-tooltip>\n </div>\n </div>\n\n <p\n *ngIf=\"helptextmode === 'text' && helptext\"\n class=\"help-block\">\n {{ helptext }}\n </p>\n\n <div\n class=\"help-block help-block-error\"\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\">\n {{ GetErrorMessage() | async }}\n </div>\n </div>\n</div>\n", components: [{ type: SacTooltipComponent, selector: "sac-tooltip" }], directives: [{ type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "toLabelHeight": SacToLabelHeightPipe, "toLabelWidthCss": SacToLabelWidthCssPipe, "toControlWidthCss": SacToControlWidthCssPipe, "toControlHeight": SacToControlHeightPipe, "async": i3.AsyncPipe } });
1389
+ ], usesInheritance: true, ngImport: i0, template: "<div\n class=\"row form-group\"\n [class.has-error]=\"invalid && (dirty || touched)\"\n [ngClass]=\"componentHeight | toLabelHeight\"\n [attr.data-e2e-key]=\"name | testingattribute : e2eidentifier\">\n <label\n *ngIf=\"disablelabel === false && !isAdaptiveLabel\"\n id=\"{{ name }}label\"\n for=\"{{ name }}\"\n class=\"col-xs-12 control-label\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'sr-only']\"\n [class.required]=\"isrequired\">\n <span class=\"text\">{{ label }}</span>\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [class]=\"HelptextTooltipIcon\"\n style=\"margin-left: 5px\">\n </span>\n </sac-tooltip>\n </label>\n <div\n class=\"col-xs-12\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\">\n <div [style.display]=\"helptextmode === 'tooltip' && helptext && disablelabel ? 'flex' : null\">\n <input\n id=\"{{ name }}\"\n name=\"{{ name }}\"\n type=\"text\"\n inputmode=\"decimal\"\n class=\"form-control\"\n [ngClass]=\"[componentHeight | toControlHeight]\"\n [class.is-invalid]=\"invalid && (dirty || touched)\"\n [value]=\"value\"\n [attr.placeholder]=\"placeholder\"\n (blur)=\"onTouch()\"\n (input)=\"setValue($event.target.value)\"\n (keypress)=\"onKeyPress($event)\"\n [disabled]=\"isdisabled\"\n [readonly]=\"readonly\" />\n\n <div\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\n class=\"form-control-static\"\n style=\"margin-left: 5px\">\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [class]=\"HelptextTooltipIcon\"\n style=\"margin-left: 5px; margin-right: 5px\">\n </span>\n </sac-tooltip>\n </div>\n </div>\n\n <p\n *ngIf=\"helptextmode === 'text' && helptext\"\n class=\"help-block\">\n {{ helptext }}\n </p>\n\n <div\n class=\"help-block help-block-error\"\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\">\n {{ GetErrorMessage() | async }}\n </div>\n </div>\n</div>\n", components: [{ type: SacTooltipComponent, selector: "sac-tooltip" }], directives: [{ type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "toLabelHeight": SacToLabelHeightPipe, "testingattribute": i5.SacTestingAttributePipe, "toLabelWidthCss": SacToLabelWidthCssPipe, "toControlWidthCss": SacToControlWidthCssPipe, "toControlHeight": SacToControlHeightPipe, "async": i3.AsyncPipe } });
1446
1390
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SacInputIntegerComponent, decorators: [{
1447
1391
  type: Component,
1448
1392
  args: [{ selector: 'sac-inputinteger', providers: [
@@ -1456,7 +1400,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImpor
1456
1400
  multi: true,
1457
1401
  useExisting: forwardRef(() => SacInputIntegerComponent),
1458
1402
  },
1459
- ], template: "<div\n class=\"row form-group\"\n [class.has-error]=\"invalid && (dirty || touched)\"\n [ngClass]=\"componentHeight | toLabelHeight\">\n <label\n *ngIf=\"disablelabel === false && !isAdaptiveLabel\"\n id=\"{{ name }}label\"\n for=\"{{ name }}\"\n class=\"col-xs-12 control-label\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'sr-only']\"\n [class.required]=\"isrequired\">\n <span class=\"text\">{{ label }}</span>\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [class]=\"HelptextTooltipIcon\"\n style=\"margin-left: 5px\">\n </span>\n </sac-tooltip>\n </label>\n <div\n class=\"col-xs-12\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\">\n <div [style.display]=\"helptextmode === 'tooltip' && helptext && disablelabel ? 'flex' : null\">\n <input\n id=\"{{ name }}\"\n name=\"{{ name }}\"\n type=\"text\"\n inputmode=\"decimal\"\n class=\"form-control\"\n [ngClass]=\"[componentHeight | toControlHeight]\"\n [value]=\"value\"\n [attr.placeholder]=\"placeholder\"\n (blur)=\"onTouch()\"\n (input)=\"setValue($event.target.value)\"\n (keypress)=\"onKeyPress($event)\"\n [disabled]=\"isdisabled\"\n [readonly]=\"readonly\" />\n\n <div\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\n class=\"form-control-static\"\n style=\"margin-left: 5px\">\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [class]=\"HelptextTooltipIcon\"\n style=\"margin-left: 5px; margin-right: 5px\">\n </span>\n </sac-tooltip>\n </div>\n </div>\n\n <p\n *ngIf=\"helptextmode === 'text' && helptext\"\n class=\"help-block\">\n {{ helptext }}\n </p>\n\n <div\n class=\"help-block help-block-error\"\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\">\n {{ GetErrorMessage() | async }}\n </div>\n </div>\n</div>\n" }]
1403
+ ], template: "<div\n class=\"row form-group\"\n [class.has-error]=\"invalid && (dirty || touched)\"\n [ngClass]=\"componentHeight | toLabelHeight\"\n [attr.data-e2e-key]=\"name | testingattribute : e2eidentifier\">\n <label\n *ngIf=\"disablelabel === false && !isAdaptiveLabel\"\n id=\"{{ name }}label\"\n for=\"{{ name }}\"\n class=\"col-xs-12 control-label\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'sr-only']\"\n [class.required]=\"isrequired\">\n <span class=\"text\">{{ label }}</span>\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [class]=\"HelptextTooltipIcon\"\n style=\"margin-left: 5px\">\n </span>\n </sac-tooltip>\n </label>\n <div\n class=\"col-xs-12\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\">\n <div [style.display]=\"helptextmode === 'tooltip' && helptext && disablelabel ? 'flex' : null\">\n <input\n id=\"{{ name }}\"\n name=\"{{ name }}\"\n type=\"text\"\n inputmode=\"decimal\"\n class=\"form-control\"\n [ngClass]=\"[componentHeight | toControlHeight]\"\n [class.is-invalid]=\"invalid && (dirty || touched)\"\n [value]=\"value\"\n [attr.placeholder]=\"placeholder\"\n (blur)=\"onTouch()\"\n (input)=\"setValue($event.target.value)\"\n (keypress)=\"onKeyPress($event)\"\n [disabled]=\"isdisabled\"\n [readonly]=\"readonly\" />\n\n <div\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\n class=\"form-control-static\"\n style=\"margin-left: 5px\">\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [class]=\"HelptextTooltipIcon\"\n style=\"margin-left: 5px; margin-right: 5px\">\n </span>\n </sac-tooltip>\n </div>\n </div>\n\n <p\n *ngIf=\"helptextmode === 'text' && helptext\"\n class=\"help-block\">\n {{ helptext }}\n </p>\n\n <div\n class=\"help-block help-block-error\"\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\">\n {{ GetErrorMessage() | async }}\n </div>\n </div>\n</div>\n" }]
1460
1404
  }], ctorParameters: function () { return [{ type: SacFormLayoutDirective, decorators: [{
1461
1405
  type: Host
1462
1406
  }, {
@@ -1486,7 +1430,7 @@ SacInputPasswordComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.
1486
1430
  multi: true,
1487
1431
  useExisting: forwardRef(() => SacInputPasswordComponent),
1488
1432
  },
1489
- ], usesInheritance: true, ngImport: i0, template: "<div\n class=\"row form-group\"\n [class.has-error]=\"invalid && (dirty || touched)\"\n [ngClass]=\"componentHeight | toLabelHeight\">\n <label\n *ngIf=\"disablelabel === false && !isAdaptiveLabel\"\n id=\"{{ name }}label\"\n for=\"{{ name }}\"\n class=\"col-xs-12 control-label\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'sr-only']\"\n [class.required]=\"isrequired\">\n <span class=\"text\">{{ label }}</span>\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [class]=\"HelptextTooltipIcon\"\n style=\"margin-left: 5px\">\n </span>\n </sac-tooltip>\n </label>\n <div\n class=\"col-xs-12\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\">\n <div [style.display]=\"helptextmode === 'tooltip' && helptext && disablelabel ? 'flex' : null\">\n <div [class.input-group]=\"passwordeye\">\n <input\n id=\"{{ name }}\"\n name=\"{{ name }}\"\n class=\"form-control\"\n [ngClass]=\"[componentHeight | toControlHeight]\"\n [type]=\"passwordeyevisible ? 'text' : 'password'\"\n [value]=\"value\"\n [attr.placeholder]=\"placeholder\"\n (blur)=\"onTouch()\"\n (input)=\"setValue($event.target.value)\"\n [attr.maxlength]=\"maxtextlength\"\n autocomplete=\"new-password\"\n [disabled]=\"isdisabled\"\n [readonly]=\"readonly\" />\n <div\n *ngIf=\"passwordeye\"\n class=\"input-group-btn\">\n <a\n class=\"btn btn-default\"\n (click)=\"onTogglePasswordEye()\"\n ><span [ngClass]=\"passwordeyevisible ? PasswordEyeVisibleIcon : PasswordEyeHiddenIcon\"></span\n ></a>\n </div>\n </div>\n <div\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\n class=\"form-control-static\"\n style=\"margin-left: 5px\">\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [class]=\"HelptextTooltipIcon\"\n style=\"margin-left: 5px; margin-right: 5px\">\n </span>\n </sac-tooltip>\n </div>\n </div>\n\n <p\n *ngIf=\"helptextmode === 'text' && helptext\"\n class=\"help-block\">\n {{ helptext }}\n </p>\n\n <div\n class=\"help-block help-block-error\"\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\">\n {{ GetErrorMessage() | async }}\n </div>\n </div>\n</div>\n", components: [{ type: SacTooltipComponent, selector: "sac-tooltip" }], directives: [{ type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "toLabelHeight": SacToLabelHeightPipe, "toLabelWidthCss": SacToLabelWidthCssPipe, "toControlWidthCss": SacToControlWidthCssPipe, "toControlHeight": SacToControlHeightPipe, "async": i3.AsyncPipe } });
1433
+ ], usesInheritance: true, ngImport: i0, template: "<div\n class=\"row form-group\"\n [class.has-error]=\"invalid && (dirty || touched)\"\n [ngClass]=\"componentHeight | toLabelHeight\"\n [attr.data-e2e-key]=\"name | testingattribute : e2eidentifier\">\n <label\n *ngIf=\"disablelabel === false && !isAdaptiveLabel\"\n id=\"{{ name }}label\"\n for=\"{{ name }}\"\n class=\"col-xs-12 control-label\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'sr-only']\"\n [class.required]=\"isrequired\">\n <span class=\"text\">{{ label }}</span>\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [class]=\"HelptextTooltipIcon\"\n style=\"margin-left: 5px\">\n </span>\n </sac-tooltip>\n </label>\n <div\n class=\"col-xs-12\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\">\n <div [style.display]=\"helptextmode === 'tooltip' && helptext && disablelabel ? 'flex' : null\">\n <div [class.input-group]=\"passwordeye\">\n <input\n id=\"{{ name }}\"\n name=\"{{ name }}\"\n class=\"form-control\"\n [ngClass]=\"[componentHeight | toControlHeight]\"\n [class.is-invalid]=\"invalid && (dirty || touched)\"\n [type]=\"passwordeyevisible ? 'text' : 'password'\"\n [value]=\"value\"\n [attr.placeholder]=\"placeholder\"\n (blur)=\"onTouch()\"\n (input)=\"setValue($event.target.value)\"\n (keypress)=\"onKeyPress($event)\"\n [attr.maxlength]=\"maxtextlength\"\n autocomplete=\"new-password\"\n [disabled]=\"isdisabled\"\n [readonly]=\"readonly\" />\n <div\n *ngIf=\"passwordeye\"\n class=\"input-group-btn\">\n <a\n class=\"btn btn-default\"\n (click)=\"onTogglePasswordEye()\"\n ><span [ngClass]=\"passwordeyevisible ? PasswordEyeVisibleIcon : PasswordEyeHiddenIcon\"></span\n ></a>\n </div>\n </div>\n <div\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\n class=\"form-control-static\"\n style=\"margin-left: 5px\">\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [class]=\"HelptextTooltipIcon\"\n style=\"margin-left: 5px; margin-right: 5px\">\n </span>\n </sac-tooltip>\n </div>\n </div>\n\n <p\n *ngIf=\"helptextmode === 'text' && helptext\"\n class=\"help-block\">\n {{ helptext }}\n </p>\n\n <div\n class=\"help-block help-block-error\"\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\">\n {{ GetErrorMessage() | async }}\n </div>\n </div>\n</div>\n", components: [{ type: SacTooltipComponent, selector: "sac-tooltip" }], directives: [{ type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "toLabelHeight": SacToLabelHeightPipe, "testingattribute": i5.SacTestingAttributePipe, "toLabelWidthCss": SacToLabelWidthCssPipe, "toControlWidthCss": SacToControlWidthCssPipe, "toControlHeight": SacToControlHeightPipe, "async": i3.AsyncPipe } });
1490
1434
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SacInputPasswordComponent, decorators: [{
1491
1435
  type: Component,
1492
1436
  args: [{ selector: 'sac-inputpassword', providers: [
@@ -1500,7 +1444,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImpor
1500
1444
  multi: true,
1501
1445
  useExisting: forwardRef(() => SacInputPasswordComponent),
1502
1446
  },
1503
- ], template: "<div\n class=\"row form-group\"\n [class.has-error]=\"invalid && (dirty || touched)\"\n [ngClass]=\"componentHeight | toLabelHeight\">\n <label\n *ngIf=\"disablelabel === false && !isAdaptiveLabel\"\n id=\"{{ name }}label\"\n for=\"{{ name }}\"\n class=\"col-xs-12 control-label\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'sr-only']\"\n [class.required]=\"isrequired\">\n <span class=\"text\">{{ label }}</span>\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [class]=\"HelptextTooltipIcon\"\n style=\"margin-left: 5px\">\n </span>\n </sac-tooltip>\n </label>\n <div\n class=\"col-xs-12\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\">\n <div [style.display]=\"helptextmode === 'tooltip' && helptext && disablelabel ? 'flex' : null\">\n <div [class.input-group]=\"passwordeye\">\n <input\n id=\"{{ name }}\"\n name=\"{{ name }}\"\n class=\"form-control\"\n [ngClass]=\"[componentHeight | toControlHeight]\"\n [type]=\"passwordeyevisible ? 'text' : 'password'\"\n [value]=\"value\"\n [attr.placeholder]=\"placeholder\"\n (blur)=\"onTouch()\"\n (input)=\"setValue($event.target.value)\"\n [attr.maxlength]=\"maxtextlength\"\n autocomplete=\"new-password\"\n [disabled]=\"isdisabled\"\n [readonly]=\"readonly\" />\n <div\n *ngIf=\"passwordeye\"\n class=\"input-group-btn\">\n <a\n class=\"btn btn-default\"\n (click)=\"onTogglePasswordEye()\"\n ><span [ngClass]=\"passwordeyevisible ? PasswordEyeVisibleIcon : PasswordEyeHiddenIcon\"></span\n ></a>\n </div>\n </div>\n <div\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\n class=\"form-control-static\"\n style=\"margin-left: 5px\">\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [class]=\"HelptextTooltipIcon\"\n style=\"margin-left: 5px; margin-right: 5px\">\n </span>\n </sac-tooltip>\n </div>\n </div>\n\n <p\n *ngIf=\"helptextmode === 'text' && helptext\"\n class=\"help-block\">\n {{ helptext }}\n </p>\n\n <div\n class=\"help-block help-block-error\"\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\">\n {{ GetErrorMessage() | async }}\n </div>\n </div>\n</div>\n" }]
1447
+ ], template: "<div\n class=\"row form-group\"\n [class.has-error]=\"invalid && (dirty || touched)\"\n [ngClass]=\"componentHeight | toLabelHeight\"\n [attr.data-e2e-key]=\"name | testingattribute : e2eidentifier\">\n <label\n *ngIf=\"disablelabel === false && !isAdaptiveLabel\"\n id=\"{{ name }}label\"\n for=\"{{ name }}\"\n class=\"col-xs-12 control-label\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'sr-only']\"\n [class.required]=\"isrequired\">\n <span class=\"text\">{{ label }}</span>\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [class]=\"HelptextTooltipIcon\"\n style=\"margin-left: 5px\">\n </span>\n </sac-tooltip>\n </label>\n <div\n class=\"col-xs-12\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\">\n <div [style.display]=\"helptextmode === 'tooltip' && helptext && disablelabel ? 'flex' : null\">\n <div [class.input-group]=\"passwordeye\">\n <input\n id=\"{{ name }}\"\n name=\"{{ name }}\"\n class=\"form-control\"\n [ngClass]=\"[componentHeight | toControlHeight]\"\n [class.is-invalid]=\"invalid && (dirty || touched)\"\n [type]=\"passwordeyevisible ? 'text' : 'password'\"\n [value]=\"value\"\n [attr.placeholder]=\"placeholder\"\n (blur)=\"onTouch()\"\n (input)=\"setValue($event.target.value)\"\n (keypress)=\"onKeyPress($event)\"\n [attr.maxlength]=\"maxtextlength\"\n autocomplete=\"new-password\"\n [disabled]=\"isdisabled\"\n [readonly]=\"readonly\" />\n <div\n *ngIf=\"passwordeye\"\n class=\"input-group-btn\">\n <a\n class=\"btn btn-default\"\n (click)=\"onTogglePasswordEye()\"\n ><span [ngClass]=\"passwordeyevisible ? PasswordEyeVisibleIcon : PasswordEyeHiddenIcon\"></span\n ></a>\n </div>\n </div>\n <div\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\n class=\"form-control-static\"\n style=\"margin-left: 5px\">\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [class]=\"HelptextTooltipIcon\"\n style=\"margin-left: 5px; margin-right: 5px\">\n </span>\n </sac-tooltip>\n </div>\n </div>\n\n <p\n *ngIf=\"helptextmode === 'text' && helptext\"\n class=\"help-block\">\n {{ helptext }}\n </p>\n\n <div\n class=\"help-block help-block-error\"\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\">\n {{ GetErrorMessage() | async }}\n </div>\n </div>\n</div>\n" }]
1504
1448
  }], ctorParameters: function () { return [{ type: SacFormLayoutDirective, decorators: [{
1505
1449
  type: Host
1506
1450
  }, {
@@ -1530,7 +1474,7 @@ SacInputSearchComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0"
1530
1474
  multi: true,
1531
1475
  useExisting: forwardRef(() => SacInputSearchComponent),
1532
1476
  },
1533
- ], usesInheritance: true, ngImport: i0, template: "<div\n class=\"row form-group\"\n [class.has-error]=\"invalid && (dirty || touched)\"\n [ngClass]=\"componentHeight | toLabelHeight\">\n <label\n *ngIf=\"disablelabel === false && !isAdaptiveLabel\"\n id=\"{{ name }}label\"\n for=\"{{ name }}\"\n class=\"col-xs-12 control-label\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'sr-only']\"\n [class.required]=\"isrequired\">\n <span class=\"text\">{{ label }}</span>\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [class]=\"HelptextTooltipIcon\"\n style=\"margin-left: 5px\">\n </span>\n </sac-tooltip>\n </label>\n <div\n class=\"col-xs-12\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\n [class.clearfix]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\n <div\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\n class=\"form-control-static pull-right\"\n style=\"margin-left: 5px\">\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [class]=\"HelptextTooltipIcon\"\n style=\"margin-left: 5px; margin-right: 5px\">\n </span>\n </sac-tooltip>\n </div>\n\n <div\n class=\"input-group\"\n [class.input-group-sm]=\"componentHeight === ControlHeight.Small\"\n [class.input-group-lg]=\"componentHeight === ControlHeight.Large\">\n <input\n id=\"{{ name }}\"\n name=\"{{ name }}\"\n type=\"text\"\n inputmode=\"search\"\n class=\"form-control\"\n [ngClass]=\"[componentHeight | toControlHeight]\"\n [value]=\"value\"\n [attr.placeholder]=\"placeholder\"\n (blur)=\"onTouch()\"\n (input)=\"setValue($event.target.value)\"\n [attr.maxlength]=\"maxtextlength\"\n [disabled]=\"isdisabled\"\n [readonly]=\"readonly\" />\n <span class=\"input-group-btn\">\n <button\n type=\"button\"\n class=\"btn btn-default\"\n id=\"{{ name }}_search\"\n (click)=\"searchClick()\">\n <i\n *ngIf=\"buttonmode === 'icon' || buttonmode === 'mixed'\"\n [class]=\"iconname\"\n [style.margin-right.px]=\"buttonmode === 'mixed' ? 7 : null\">\n </i>\n <ng-container *ngIf=\"buttonmode === 'text' || buttonmode === 'mixed'\">{{ buttontext }}</ng-container>\n </button>\n </span>\n </div>\n\n <p\n *ngIf=\"helptextmode === 'text' && helptext\"\n class=\"help-block\">\n {{ helptext }}\n </p>\n </div>\n</div>\n", components: [{ type: SacTooltipComponent, selector: "sac-tooltip" }], directives: [{ type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "toLabelHeight": SacToLabelHeightPipe, "toLabelWidthCss": SacToLabelWidthCssPipe, "toControlWidthCss": SacToControlWidthCssPipe, "toControlHeight": SacToControlHeightPipe } });
1477
+ ], usesInheritance: true, ngImport: i0, template: "<div\n class=\"row form-group\"\n [class.has-error]=\"invalid && (dirty || touched)\"\n [ngClass]=\"componentHeight | toLabelHeight\"\n [attr.data-e2e-key]=\"name | testingattribute : e2eidentifier\">\n <label\n *ngIf=\"disablelabel === false && !isAdaptiveLabel\"\n id=\"{{ name }}label\"\n for=\"{{ name }}\"\n class=\"col-xs-12 control-label\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'sr-only']\"\n [class.required]=\"isrequired\">\n <span class=\"text\">{{ label }}</span>\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [class]=\"HelptextTooltipIcon\"\n style=\"margin-left: 5px\">\n </span>\n </sac-tooltip>\n </label>\n <div\n class=\"col-xs-12\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\n [class.clearfix]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\n <div\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\n class=\"form-control-static pull-right\"\n style=\"margin-left: 5px\">\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [class]=\"HelptextTooltipIcon\"\n style=\"margin-left: 5px; margin-right: 5px\">\n </span>\n </sac-tooltip>\n </div>\n\n <div\n class=\"input-group\"\n [class.input-group-sm]=\"componentHeight === ControlHeight.Small\"\n [class.input-group-lg]=\"componentHeight === ControlHeight.Large\">\n <input\n id=\"{{ name }}\"\n name=\"{{ name }}\"\n type=\"text\"\n inputmode=\"search\"\n class=\"form-control\"\n [ngClass]=\"[componentHeight | toControlHeight]\"\n [class.is-invalid]=\"invalid && (dirty || touched)\"\n [value]=\"value\"\n [attr.placeholder]=\"placeholder\"\n (blur)=\"onTouch()\"\n (input)=\"setValue($event.target.value)\"\n (keypress)=\"onKeyPress($event)\"\n [attr.maxlength]=\"maxtextlength\"\n [disabled]=\"isdisabled\"\n [readonly]=\"readonly\" />\n <span class=\"input-group-btn\">\n <button\n type=\"button\"\n class=\"btn btn-default\"\n id=\"{{ name }}_search\"\n (click)=\"searchClick()\">\n <i\n *ngIf=\"buttonmode === 'icon' || buttonmode === 'mixed'\"\n [class]=\"iconname\"\n [style.margin-right.px]=\"buttonmode === 'mixed' ? 7 : null\">\n </i>\n <ng-container *ngIf=\"buttonmode === 'text' || buttonmode === 'mixed'\">{{ buttontext }}</ng-container>\n </button>\n </span>\n </div>\n\n <p\n *ngIf=\"helptextmode === 'text' && helptext\"\n class=\"help-block\">\n {{ helptext }}\n </p>\n </div>\n</div>\n", components: [{ type: SacTooltipComponent, selector: "sac-tooltip" }], directives: [{ type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "toLabelHeight": SacToLabelHeightPipe, "testingattribute": i5.SacTestingAttributePipe, "toLabelWidthCss": SacToLabelWidthCssPipe, "toControlWidthCss": SacToControlWidthCssPipe, "toControlHeight": SacToControlHeightPipe } });
1534
1478
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SacInputSearchComponent, decorators: [{
1535
1479
  type: Component,
1536
1480
  args: [{ selector: 'sac-inputsearch', providers: [
@@ -1544,7 +1488,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImpor
1544
1488
  multi: true,
1545
1489
  useExisting: forwardRef(() => SacInputSearchComponent),
1546
1490
  },
1547
- ], template: "<div\n class=\"row form-group\"\n [class.has-error]=\"invalid && (dirty || touched)\"\n [ngClass]=\"componentHeight | toLabelHeight\">\n <label\n *ngIf=\"disablelabel === false && !isAdaptiveLabel\"\n id=\"{{ name }}label\"\n for=\"{{ name }}\"\n class=\"col-xs-12 control-label\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'sr-only']\"\n [class.required]=\"isrequired\">\n <span class=\"text\">{{ label }}</span>\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [class]=\"HelptextTooltipIcon\"\n style=\"margin-left: 5px\">\n </span>\n </sac-tooltip>\n </label>\n <div\n class=\"col-xs-12\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\n [class.clearfix]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\n <div\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\n class=\"form-control-static pull-right\"\n style=\"margin-left: 5px\">\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [class]=\"HelptextTooltipIcon\"\n style=\"margin-left: 5px; margin-right: 5px\">\n </span>\n </sac-tooltip>\n </div>\n\n <div\n class=\"input-group\"\n [class.input-group-sm]=\"componentHeight === ControlHeight.Small\"\n [class.input-group-lg]=\"componentHeight === ControlHeight.Large\">\n <input\n id=\"{{ name }}\"\n name=\"{{ name }}\"\n type=\"text\"\n inputmode=\"search\"\n class=\"form-control\"\n [ngClass]=\"[componentHeight | toControlHeight]\"\n [value]=\"value\"\n [attr.placeholder]=\"placeholder\"\n (blur)=\"onTouch()\"\n (input)=\"setValue($event.target.value)\"\n [attr.maxlength]=\"maxtextlength\"\n [disabled]=\"isdisabled\"\n [readonly]=\"readonly\" />\n <span class=\"input-group-btn\">\n <button\n type=\"button\"\n class=\"btn btn-default\"\n id=\"{{ name }}_search\"\n (click)=\"searchClick()\">\n <i\n *ngIf=\"buttonmode === 'icon' || buttonmode === 'mixed'\"\n [class]=\"iconname\"\n [style.margin-right.px]=\"buttonmode === 'mixed' ? 7 : null\">\n </i>\n <ng-container *ngIf=\"buttonmode === 'text' || buttonmode === 'mixed'\">{{ buttontext }}</ng-container>\n </button>\n </span>\n </div>\n\n <p\n *ngIf=\"helptextmode === 'text' && helptext\"\n class=\"help-block\">\n {{ helptext }}\n </p>\n </div>\n</div>\n" }]
1491
+ ], template: "<div\n class=\"row form-group\"\n [class.has-error]=\"invalid && (dirty || touched)\"\n [ngClass]=\"componentHeight | toLabelHeight\"\n [attr.data-e2e-key]=\"name | testingattribute : e2eidentifier\">\n <label\n *ngIf=\"disablelabel === false && !isAdaptiveLabel\"\n id=\"{{ name }}label\"\n for=\"{{ name }}\"\n class=\"col-xs-12 control-label\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'sr-only']\"\n [class.required]=\"isrequired\">\n <span class=\"text\">{{ label }}</span>\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [class]=\"HelptextTooltipIcon\"\n style=\"margin-left: 5px\">\n </span>\n </sac-tooltip>\n </label>\n <div\n class=\"col-xs-12\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\n [class.clearfix]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\n <div\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\n class=\"form-control-static pull-right\"\n style=\"margin-left: 5px\">\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [class]=\"HelptextTooltipIcon\"\n style=\"margin-left: 5px; margin-right: 5px\">\n </span>\n </sac-tooltip>\n </div>\n\n <div\n class=\"input-group\"\n [class.input-group-sm]=\"componentHeight === ControlHeight.Small\"\n [class.input-group-lg]=\"componentHeight === ControlHeight.Large\">\n <input\n id=\"{{ name }}\"\n name=\"{{ name }}\"\n type=\"text\"\n inputmode=\"search\"\n class=\"form-control\"\n [ngClass]=\"[componentHeight | toControlHeight]\"\n [class.is-invalid]=\"invalid && (dirty || touched)\"\n [value]=\"value\"\n [attr.placeholder]=\"placeholder\"\n (blur)=\"onTouch()\"\n (input)=\"setValue($event.target.value)\"\n (keypress)=\"onKeyPress($event)\"\n [attr.maxlength]=\"maxtextlength\"\n [disabled]=\"isdisabled\"\n [readonly]=\"readonly\" />\n <span class=\"input-group-btn\">\n <button\n type=\"button\"\n class=\"btn btn-default\"\n id=\"{{ name }}_search\"\n (click)=\"searchClick()\">\n <i\n *ngIf=\"buttonmode === 'icon' || buttonmode === 'mixed'\"\n [class]=\"iconname\"\n [style.margin-right.px]=\"buttonmode === 'mixed' ? 7 : null\">\n </i>\n <ng-container *ngIf=\"buttonmode === 'text' || buttonmode === 'mixed'\">{{ buttontext }}</ng-container>\n </button>\n </span>\n </div>\n\n <p\n *ngIf=\"helptextmode === 'text' && helptext\"\n class=\"help-block\">\n {{ helptext }}\n </p>\n </div>\n</div>\n" }]
1548
1492
  }], ctorParameters: function () { return [{ type: SacFormLayoutDirective, decorators: [{
1549
1493
  type: Host
1550
1494
  }, {
@@ -1565,7 +1509,8 @@ SACBootstrap3InputModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0"
1565
1509
  CommonModule,
1566
1510
  FormsModule,
1567
1511
  SACBootstrap3TooltipModule,
1568
- SACBootstrap3LayoutModule], exports: [SacInputComponent,
1512
+ SACBootstrap3LayoutModule,
1513
+ SACCommonUtliltiesModule], exports: [SacInputComponent,
1569
1514
  SacInputAreaComponent,
1570
1515
  SacInputCurrencyComponent,
1571
1516
  SacInputDecimalComponent,
@@ -1579,6 +1524,7 @@ SACBootstrap3InputModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0"
1579
1524
  FormsModule,
1580
1525
  SACBootstrap3TooltipModule,
1581
1526
  SACBootstrap3LayoutModule,
1527
+ SACCommonUtliltiesModule,
1582
1528
  ]] });
1583
1529
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SACBootstrap3InputModule, decorators: [{
1584
1530
  type: NgModule,
@@ -1599,6 +1545,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImpor
1599
1545
  FormsModule,
1600
1546
  SACBootstrap3TooltipModule,
1601
1547
  SACBootstrap3LayoutModule,
1548
+ SACCommonUtliltiesModule,
1602
1549
  ],
1603
1550
  exports: [
1604
1551
  SacInputComponent,
@@ -1613,7 +1560,59 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImpor
1613
1560
  }]
1614
1561
  }] });
1615
1562
 
1616
- // #region Classes
1563
+ // #region Variables
1564
+ const DROPDOWN_TOKEN = new InjectionToken('SacDropdownToken');
1565
+ const LISTBOX_TOKEN = new InjectionToken('SacListboxToken');
1566
+ // #endregion Variables
1567
+
1568
+ class SacDropdownOptionDirective extends SacDropdownOptionCommon {
1569
+ // #region Constructors
1570
+ /**
1571
+ * Konstruktor
1572
+ * @param elementRef Referenz auf HTML DOM Element
1573
+ * @param renderer Angular Rendering Engine
1574
+ * @param dropdownComponent Referenz auf DropDown Komponente
1575
+ */
1576
+ constructor(elementRef, renderer, dropdownComponent) {
1577
+ super(elementRef, renderer, dropdownComponent);
1578
+ }
1579
+ }
1580
+ SacDropdownOptionDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SacDropdownOptionDirective, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }, { token: DROPDOWN_TOKEN, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
1581
+ SacDropdownOptionDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.2.7", type: SacDropdownOptionDirective, selector: "option,[sacOption]", usesInheritance: true, ngImport: i0 });
1582
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SacDropdownOptionDirective, decorators: [{
1583
+ type: Directive,
1584
+ args: [{ selector: 'option,[sacOption]' }]
1585
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.Renderer2 }, { type: undefined, decorators: [{
1586
+ type: Optional
1587
+ }, {
1588
+ type: Inject,
1589
+ args: [DROPDOWN_TOKEN]
1590
+ }] }]; } });
1591
+
1592
+ class SacListboxOptionDirective extends SacListboxOptionCommon {
1593
+ // #region Constructors
1594
+ /**
1595
+ * Konstruktor
1596
+ * @param elementRef Referenz auf HTML DOM Element
1597
+ * @param renderer Angular Rendering Engine
1598
+ * @param listboxComponent Referenz auf DropDown Komponente
1599
+ */
1600
+ constructor(elementRef, renderer, listboxComponent) {
1601
+ super(elementRef, renderer, listboxComponent);
1602
+ }
1603
+ }
1604
+ SacListboxOptionDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SacListboxOptionDirective, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }, { token: LISTBOX_TOKEN, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
1605
+ SacListboxOptionDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.2.7", type: SacListboxOptionDirective, selector: "option,[sacOption]", usesInheritance: true, ngImport: i0 });
1606
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SacListboxOptionDirective, decorators: [{
1607
+ type: Directive,
1608
+ args: [{ selector: 'option,[sacOption]' }]
1609
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.Renderer2 }, { type: undefined, decorators: [{
1610
+ type: Optional
1611
+ }, {
1612
+ type: Inject,
1613
+ args: [LISTBOX_TOKEN]
1614
+ }] }]; } });
1615
+
1617
1616
  class SacDropdownComponent extends SacDropdownCommon {
1618
1617
  // #region Constructors
1619
1618
  /**
@@ -1629,6 +1628,7 @@ class SacDropdownComponent extends SacDropdownCommon {
1629
1628
  }
1630
1629
  SacDropdownComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SacDropdownComponent, deps: [{ token: SacFormLayoutDirective, host: true, optional: true }, { token: i0.Injector }, { token: i0.Renderer2 }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
1631
1630
  SacDropdownComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.7", type: SacDropdownComponent, selector: "sac-dropdown", providers: [
1631
+ { provide: DROPDOWN_TOKEN, useExisting: forwardRef(() => SacDropdownComponent) },
1632
1632
  {
1633
1633
  provide: NG_VALUE_ACCESSOR,
1634
1634
  multi: true,
@@ -1639,10 +1639,11 @@ SacDropdownComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", v
1639
1639
  multi: true,
1640
1640
  useExisting: forwardRef(() => SacDropdownComponent),
1641
1641
  },
1642
- ], usesInheritance: true, ngImport: i0, template: "<div\n class=\"row form-group\"\n [class.has-error]=\"invalid && (dirty || touched)\"\n [ngClass]=\"componentHeight | toLabelHeight\">\n <label\n *ngIf=\"disablelabel === false && !isAdaptiveLabel\"\n id=\"{{ name }}label\"\n for=\"{{ name }}\"\n class=\"col-xs-12 control-label\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'sr-only']\"\n [class.required]=\"isrequired\">\n <span class=\"text\">{{ label }}</span>\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [class]=\"HelptextTooltipIcon\"\n style=\"margin-left: 5px\">\n </span>\n </sac-tooltip>\n </label>\n <div\n class=\"col-xs-12\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\">\n <div [style.display]=\"helptextmode === 'tooltip' && helptext && disablelabel ? 'flex' : null\">\n <select\n #dropdownitem\n id=\"{{ name }}\"\n name=\"{{ name }}\"\n class=\"form-control\"\n [ngClass]=\"[componentHeight | toControlHeight]\"\n (blur)=\"onTouch()\"\n (change)=\"setValue(dropdownitem.value)\"\n [disabled]=\"isdisabled\">\n <option\n *ngIf=\"emptylabel !== ''\"\n [ngValue]=\"emptyvalue\">\n {{ emptylabel }}\n </option>\n\n <ng-content></ng-content>\n\n <ng-container *ngIf=\"groupitems === ''\">\n <option\n *ngFor=\"let item of options\"\n [ngValue]=\"optionvalue ? item[optionvalue] : item\"\n [disabled]=\"optionenabled !== '' && item[optionenabled] === false\">\n <ng-template *ngTemplateOutlet=\"optionlabeltemplate || defaultItemLabelTemplate; context: { label: item[optionlabel], item: item }\"> </ng-template>\n </option>\n </ng-container>\n\n <ng-container *ngIf=\"groupitems !== ''\">\n <optgroup\n *ngFor=\"let group of options\"\n [attr.label]=\"group[grouplabel]\">\n <option\n *ngFor=\"let item of group[groupitems]\"\n [ngValue]=\"optionvalue ? item[optionvalue] : item\"\n [disabled]=\"optionenabled !== '' && item[optionenabled] === false\">\n <ng-template *ngTemplateOutlet=\"optionlabeltemplate || defaultItemLabelTemplate; context: { label: item[optionlabel], item: item }\"> </ng-template>\n </option>\n </optgroup>\n </ng-container>\n </select>\n\n <div\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\n class=\"form-control-static\"\n style=\"margin-left: 5px\">\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [class]=\"HelptextTooltipIcon\"\n style=\"margin-left: 5px; margin-right: 5px\">\n </span>\n </sac-tooltip>\n </div>\n </div>\n\n <p\n *ngIf=\"helptextmode === 'text' && helptext\"\n class=\"help-block\">\n {{ helptext }}\n </p>\n\n <div\n class=\"help-block help-block-error\"\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\">\n {{ GetErrorMessage() | async }}\n </div>\n </div>\n</div>\n\n<ng-template\n #defaultItemLabelTemplate\n let-label=\"label\">\n {{ label }}\n</ng-template>\n", components: [{ type: i0.forwardRef(function () { return SacTooltipComponent; }), selector: "sac-tooltip" }], directives: [{ type: i0.forwardRef(function () { return i3.NgClass; }), selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i0.forwardRef(function () { return i3.NgIf; }), selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i0.forwardRef(function () { return i2.NgSelectOption; }), selector: "option", inputs: ["ngValue", "value"] }, { type: i0.forwardRef(function () { return i2.ɵNgSelectMultipleOption; }), selector: "option", inputs: ["ngValue", "value"] }, { type: i0.forwardRef(function () { return SacDropdownOptionDirective; }), selector: "option,[sacOption]" }, { type: i0.forwardRef(function () { return i3.NgForOf; }), selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i0.forwardRef(function () { return i3.NgTemplateOutlet; }), selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }], pipes: { "toLabelHeight": i0.forwardRef(function () { return SacToLabelHeightPipe; }), "toLabelWidthCss": i0.forwardRef(function () { return SacToLabelWidthCssPipe; }), "toControlWidthCss": i0.forwardRef(function () { return SacToControlWidthCssPipe; }), "toControlHeight": i0.forwardRef(function () { return SacToControlHeightPipe; }), "async": i0.forwardRef(function () { return i3.AsyncPipe; }) } });
1642
+ ], usesInheritance: true, ngImport: i0, template: "<div\n class=\"row form-group\"\n [class.has-error]=\"invalid && (dirty || touched)\"\n [ngClass]=\"componentHeight | toLabelHeight\"\n [attr.data-e2e-key]=\"name | testingattribute : e2eidentifier\">\n <label\n *ngIf=\"disablelabel === false && !isAdaptiveLabel\"\n id=\"{{ name }}label\"\n for=\"{{ name }}\"\n class=\"col-xs-12 control-label\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'sr-only']\"\n [class.required]=\"isrequired\">\n <span class=\"text\">{{ label }}</span>\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [class]=\"HelptextTooltipIcon\"\n style=\"margin-left: 5px\">\n </span>\n </sac-tooltip>\n </label>\n <div\n class=\"col-xs-12\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\">\n <div [style.display]=\"helptextmode === 'tooltip' && helptext && disablelabel ? 'flex' : null\">\n <select\n #dropdownitem\n id=\"{{ name }}\"\n name=\"{{ name }}\"\n class=\"form-control\"\n [ngClass]=\"[componentHeight | toControlHeight]\"\n [class.is-invalid]=\"invalid && (dirty || touched)\"\n (blur)=\"onTouch()\"\n (change)=\"setValue(dropdownitem.value)\"\n [disabled]=\"isdisabled\">\n <option\n *ngIf=\"emptylabel !== ''\"\n [ngValue]=\"emptyvalue\"\n >{{ emptylabel }}</option\n >\n\n <ng-content></ng-content>\n\n <ng-container *ngIf=\"groupitems === ''\">\n <option\n *ngFor=\"let item of options\"\n [ngValue]=\"optionvalue ? item[optionvalue] : item\"\n [disabled]=\"optionenabled !== '' && item[optionenabled] === false\">\n <ng-template *ngTemplateOutlet=\"optionlabeltemplate || defaultItemLabelTemplate; context: { label: item[optionlabel], item: item }\"> </ng-template>\n </option>\n </ng-container>\n\n <ng-container *ngIf=\"groupitems !== ''\">\n <optgroup\n *ngFor=\"let group of options\"\n [attr.label]=\"group[grouplabel]\">\n <option\n *ngFor=\"let item of group[groupitems]\"\n [ngValue]=\"optionvalue ? item[optionvalue] : item\"\n [disabled]=\"optionenabled !== '' && item[optionenabled] === false\">\n <ng-template *ngTemplateOutlet=\"optionlabeltemplate || defaultItemLabelTemplate; context: { label: item[optionlabel], item: item }\"> </ng-template>\n </option>\n </optgroup>\n </ng-container>\n </select>\n\n <div\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\n class=\"form-control-static\"\n style=\"margin-left: 5px\">\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [class]=\"HelptextTooltipIcon\"\n style=\"margin-left: 5px; margin-right: 5px\">\n </span>\n </sac-tooltip>\n </div>\n </div>\n\n <p\n *ngIf=\"helptextmode === 'text' && helptext\"\n class=\"help-block\">\n {{ helptext }}\n </p>\n\n <div\n class=\"help-block help-block-error\"\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\">\n {{ GetErrorMessage() | async }}\n </div>\n </div>\n</div>\n\n<ng-template\n #defaultItemLabelTemplate\n let-label=\"label\"\n >{{ label }}</ng-template\n>\n", components: [{ type: SacTooltipComponent, selector: "sac-tooltip" }], directives: [{ type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { type: i2.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { type: SacDropdownOptionDirective, selector: "option,[sacOption]" }, { type: SacListboxOptionDirective, selector: "option,[sacOption]" }, { type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }], pipes: { "toLabelHeight": SacToLabelHeightPipe, "testingattribute": i5.SacTestingAttributePipe, "toLabelWidthCss": SacToLabelWidthCssPipe, "toControlWidthCss": SacToControlWidthCssPipe, "toControlHeight": SacToControlHeightPipe, "async": i3.AsyncPipe } });
1643
1643
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SacDropdownComponent, decorators: [{
1644
1644
  type: Component,
1645
1645
  args: [{ selector: 'sac-dropdown', providers: [
1646
+ { provide: DROPDOWN_TOKEN, useExisting: forwardRef(() => SacDropdownComponent) },
1646
1647
  {
1647
1648
  provide: NG_VALUE_ACCESSOR,
1648
1649
  multi: true,
@@ -1653,35 +1654,16 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImpor
1653
1654
  multi: true,
1654
1655
  useExisting: forwardRef(() => SacDropdownComponent),
1655
1656
  },
1656
- ], template: "<div\n class=\"row form-group\"\n [class.has-error]=\"invalid && (dirty || touched)\"\n [ngClass]=\"componentHeight | toLabelHeight\">\n <label\n *ngIf=\"disablelabel === false && !isAdaptiveLabel\"\n id=\"{{ name }}label\"\n for=\"{{ name }}\"\n class=\"col-xs-12 control-label\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'sr-only']\"\n [class.required]=\"isrequired\">\n <span class=\"text\">{{ label }}</span>\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [class]=\"HelptextTooltipIcon\"\n style=\"margin-left: 5px\">\n </span>\n </sac-tooltip>\n </label>\n <div\n class=\"col-xs-12\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\">\n <div [style.display]=\"helptextmode === 'tooltip' && helptext && disablelabel ? 'flex' : null\">\n <select\n #dropdownitem\n id=\"{{ name }}\"\n name=\"{{ name }}\"\n class=\"form-control\"\n [ngClass]=\"[componentHeight | toControlHeight]\"\n (blur)=\"onTouch()\"\n (change)=\"setValue(dropdownitem.value)\"\n [disabled]=\"isdisabled\">\n <option\n *ngIf=\"emptylabel !== ''\"\n [ngValue]=\"emptyvalue\">\n {{ emptylabel }}\n </option>\n\n <ng-content></ng-content>\n\n <ng-container *ngIf=\"groupitems === ''\">\n <option\n *ngFor=\"let item of options\"\n [ngValue]=\"optionvalue ? item[optionvalue] : item\"\n [disabled]=\"optionenabled !== '' && item[optionenabled] === false\">\n <ng-template *ngTemplateOutlet=\"optionlabeltemplate || defaultItemLabelTemplate; context: { label: item[optionlabel], item: item }\"> </ng-template>\n </option>\n </ng-container>\n\n <ng-container *ngIf=\"groupitems !== ''\">\n <optgroup\n *ngFor=\"let group of options\"\n [attr.label]=\"group[grouplabel]\">\n <option\n *ngFor=\"let item of group[groupitems]\"\n [ngValue]=\"optionvalue ? item[optionvalue] : item\"\n [disabled]=\"optionenabled !== '' && item[optionenabled] === false\">\n <ng-template *ngTemplateOutlet=\"optionlabeltemplate || defaultItemLabelTemplate; context: { label: item[optionlabel], item: item }\"> </ng-template>\n </option>\n </optgroup>\n </ng-container>\n </select>\n\n <div\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\n class=\"form-control-static\"\n style=\"margin-left: 5px\">\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [class]=\"HelptextTooltipIcon\"\n style=\"margin-left: 5px; margin-right: 5px\">\n </span>\n </sac-tooltip>\n </div>\n </div>\n\n <p\n *ngIf=\"helptextmode === 'text' && helptext\"\n class=\"help-block\">\n {{ helptext }}\n </p>\n\n <div\n class=\"help-block help-block-error\"\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\">\n {{ GetErrorMessage() | async }}\n </div>\n </div>\n</div>\n\n<ng-template\n #defaultItemLabelTemplate\n let-label=\"label\">\n {{ label }}\n</ng-template>\n" }]
1657
+ ], template: "<div\n class=\"row form-group\"\n [class.has-error]=\"invalid && (dirty || touched)\"\n [ngClass]=\"componentHeight | toLabelHeight\"\n [attr.data-e2e-key]=\"name | testingattribute : e2eidentifier\">\n <label\n *ngIf=\"disablelabel === false && !isAdaptiveLabel\"\n id=\"{{ name }}label\"\n for=\"{{ name }}\"\n class=\"col-xs-12 control-label\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'sr-only']\"\n [class.required]=\"isrequired\">\n <span class=\"text\">{{ label }}</span>\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [class]=\"HelptextTooltipIcon\"\n style=\"margin-left: 5px\">\n </span>\n </sac-tooltip>\n </label>\n <div\n class=\"col-xs-12\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\">\n <div [style.display]=\"helptextmode === 'tooltip' && helptext && disablelabel ? 'flex' : null\">\n <select\n #dropdownitem\n id=\"{{ name }}\"\n name=\"{{ name }}\"\n class=\"form-control\"\n [ngClass]=\"[componentHeight | toControlHeight]\"\n [class.is-invalid]=\"invalid && (dirty || touched)\"\n (blur)=\"onTouch()\"\n (change)=\"setValue(dropdownitem.value)\"\n [disabled]=\"isdisabled\">\n <option\n *ngIf=\"emptylabel !== ''\"\n [ngValue]=\"emptyvalue\"\n >{{ emptylabel }}</option\n >\n\n <ng-content></ng-content>\n\n <ng-container *ngIf=\"groupitems === ''\">\n <option\n *ngFor=\"let item of options\"\n [ngValue]=\"optionvalue ? item[optionvalue] : item\"\n [disabled]=\"optionenabled !== '' && item[optionenabled] === false\">\n <ng-template *ngTemplateOutlet=\"optionlabeltemplate || defaultItemLabelTemplate; context: { label: item[optionlabel], item: item }\"> </ng-template>\n </option>\n </ng-container>\n\n <ng-container *ngIf=\"groupitems !== ''\">\n <optgroup\n *ngFor=\"let group of options\"\n [attr.label]=\"group[grouplabel]\">\n <option\n *ngFor=\"let item of group[groupitems]\"\n [ngValue]=\"optionvalue ? item[optionvalue] : item\"\n [disabled]=\"optionenabled !== '' && item[optionenabled] === false\">\n <ng-template *ngTemplateOutlet=\"optionlabeltemplate || defaultItemLabelTemplate; context: { label: item[optionlabel], item: item }\"> </ng-template>\n </option>\n </optgroup>\n </ng-container>\n </select>\n\n <div\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\n class=\"form-control-static\"\n style=\"margin-left: 5px\">\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [class]=\"HelptextTooltipIcon\"\n style=\"margin-left: 5px; margin-right: 5px\">\n </span>\n </sac-tooltip>\n </div>\n </div>\n\n <p\n *ngIf=\"helptextmode === 'text' && helptext\"\n class=\"help-block\">\n {{ helptext }}\n </p>\n\n <div\n class=\"help-block help-block-error\"\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\">\n {{ GetErrorMessage() | async }}\n </div>\n </div>\n</div>\n\n<ng-template\n #defaultItemLabelTemplate\n let-label=\"label\"\n >{{ label }}</ng-template\n>\n" }]
1657
1658
  }], ctorParameters: function () { return [{ type: SacFormLayoutDirective, decorators: [{
1658
1659
  type: Host
1659
1660
  }, {
1660
1661
  type: Optional
1661
1662
  }] }, { type: i0.Injector }, { type: i0.Renderer2 }, { type: i0.ElementRef }]; } });
1662
- class SacDropdownOptionDirective extends SacDropdownOptionCommon {
1663
- // #region Constructors
1664
- /**
1665
- * Konstruktor
1666
- * @param elementRef Referenz auf HTML DOM Element
1667
- * @param renderer Angular Rendering Engine
1668
- * @param dropdownList Referenz auf DropDown Komponente
1669
- */
1670
- constructor(elementRef, renderer, dropdownList) {
1671
- super(elementRef, renderer, dropdownList);
1672
- }
1673
- }
1674
- SacDropdownOptionDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SacDropdownOptionDirective, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }, { token: SacDropdownComponent, host: true, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
1675
- SacDropdownOptionDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.2.7", type: SacDropdownOptionDirective, selector: "option,[sacOption]", usesInheritance: true, ngImport: i0 });
1676
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SacDropdownOptionDirective, decorators: [{
1677
- type: Directive,
1678
- args: [{ selector: 'option,[sacOption]' }]
1679
- }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.Renderer2 }, { type: SacDropdownComponent, decorators: [{
1680
- type: Optional
1681
- }, {
1682
- type: Host
1683
- }] }]; } });
1684
1663
 
1664
+ /**
1665
+ * Listbox Komponente
1666
+ */
1685
1667
  class SacListboxComponent extends SacListboxCommon {
1686
1668
  // #region Constructors
1687
1669
  /**
@@ -1695,6 +1677,7 @@ class SacListboxComponent extends SacListboxCommon {
1695
1677
  }
1696
1678
  SacListboxComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SacListboxComponent, deps: [{ token: SacFormLayoutDirective, host: true, optional: true }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component });
1697
1679
  SacListboxComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.7", type: SacListboxComponent, selector: "sac-listbox", providers: [
1680
+ { provide: LISTBOX_TOKEN, useExisting: SacListboxComponent },
1698
1681
  {
1699
1682
  provide: NG_VALUE_ACCESSOR,
1700
1683
  multi: true,
@@ -1705,10 +1688,11 @@ SacListboxComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", ve
1705
1688
  multi: true,
1706
1689
  useExisting: forwardRef(() => SacListboxComponent),
1707
1690
  },
1708
- ], usesInheritance: true, ngImport: i0, template: "<div\n class=\"row form-group\"\n [class.has-error]=\"invalid && (dirty || touched)\"\n [ngClass]=\"componentHeight | toLabelHeight\">\n <label\n *ngIf=\"disablelabel === false && !isAdaptiveLabel\"\n id=\"{{ name }}label\"\n for=\"{{ name }}\"\n class=\"col-xs-12 control-label\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'sr-only']\"\n [class.required]=\"isrequired\">\n <span class=\"text\">{{ label }}</span>\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [class]=\"HelptextTooltipIcon\"\n style=\"margin-left: 5px\">\n </span>\n </sac-tooltip>\n </label>\n <div\n class=\"col-xs-12\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\">\n <div [style.display]=\"helptextmode === 'tooltip' && helptext && disablelabel ? 'flex' : null\">\n <select\n multiple\n id=\"{{ name }}\"\n name=\"{{ name }}\"\n class=\"form-control\"\n [ngClass]=\"[componentHeight | toControlHeight]\"\n [size]=\"rowsize\"\n (blur)=\"onTouch()\"\n (change)=\"getSelectedItems($event.target)\"\n [disabled]=\"isdisabled\">\n <ng-content></ng-content>\n <ng-container *ngIf=\"groupitems === ''\">\n <option\n *ngFor=\"let option of options\"\n [value]=\"option[optionvalue]\"\n [disabled]=\"optionenabled !== '' && option[optionenabled] === false\">\n <ng-template *ngTemplateOutlet=\"optionlabeltemplate || defaultItemLabelTemplate; context: { label: option[optionlabel] }\"> </ng-template>\n </option>\n </ng-container>\n <ng-container *ngIf=\"groupitems !== ''\">\n <optgroup\n *ngFor=\"let option of options\"\n [attr.label]=\"option[grouplabel]\">\n <option\n *ngFor=\"let item of option[groupitems]\"\n [value]=\"item[optionvalue]\"\n [disabled]=\"optionenabled !== '' && item[optionenabled] === false\">\n <ng-template *ngTemplateOutlet=\"optionlabeltemplate || defaultItemLabelTemplate; context: { label: item[optionlabel] }\"> </ng-template>\n </option>\n </optgroup>\n </ng-container>\n </select>\n\n <div\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\n class=\"form-control-static\"\n style=\"margin-left: 5px\">\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [class]=\"HelptextTooltipIcon\"\n style=\"margin-left: 5px; margin-right: 5px\">\n </span>\n </sac-tooltip>\n </div>\n </div>\n\n <p\n *ngIf=\"helptextmode === 'text' && helptext\"\n class=\"help-block\">\n {{ helptext }}\n </p>\n\n <div\n class=\"help-block help-block-error\"\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\">\n {{ GetErrorMessage() | async }}\n </div>\n </div>\n</div>\n\n<ng-template\n #defaultItemLabelTemplate\n let-label=\"label\">\n {{ label }}\n</ng-template>\n", components: [{ type: SacTooltipComponent, selector: "sac-tooltip" }], directives: [{ type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i2.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { type: i2.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { type: SacDropdownOptionDirective, selector: "option,[sacOption]" }, { type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }], pipes: { "toLabelHeight": SacToLabelHeightPipe, "toLabelWidthCss": SacToLabelWidthCssPipe, "toControlWidthCss": SacToControlWidthCssPipe, "toControlHeight": SacToControlHeightPipe, "async": i3.AsyncPipe } });
1691
+ ], usesInheritance: true, ngImport: i0, template: "<div\n class=\"row form-group\"\n [class.has-error]=\"invalid && (dirty || touched)\"\n [ngClass]=\"componentHeight | toLabelHeight\"\n [attr.data-e2e-key]=\"name | testingattribute : e2eidentifier\">\n <label\n *ngIf=\"disablelabel === false && !isAdaptiveLabel\"\n id=\"{{ name }}label\"\n for=\"{{ name }}\"\n class=\"col-xs-12 control-label\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'sr-only']\"\n [class.required]=\"isrequired\">\n <span class=\"text\">{{ label }}</span>\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [class]=\"HelptextTooltipIcon\"\n style=\"margin-left: 5px\">\n </span>\n </sac-tooltip>\n </label>\n <div\n class=\"col-xs-12\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\">\n <div [style.display]=\"helptextmode === 'tooltip' && helptext && disablelabel ? 'flex' : null\">\n <select\n multiple\n id=\"{{ name }}\"\n name=\"{{ name }}\"\n class=\"form-control\"\n [ngClass]=\"[componentHeight | toControlHeight]\"\n [class.is-invalid]=\"invalid && (dirty || touched)\"\n [size]=\"rowsize\"\n (blur)=\"onTouch()\"\n (change)=\"getSelectedItems($event.target)\"\n [disabled]=\"isdisabled\">\n <ng-content></ng-content>\n <ng-container *ngIf=\"groupitems === ''\">\n <option\n *ngFor=\"let option of options\"\n [value]=\"option[optionvalue]\"\n [disabled]=\"optionenabled !== '' && option[optionenabled] === false\">\n <ng-template *ngTemplateOutlet=\"optionlabeltemplate || defaultItemLabelTemplate; context: { label: option[optionlabel] }\"> </ng-template>\n </option>\n </ng-container>\n <ng-container *ngIf=\"groupitems !== ''\">\n <optgroup\n *ngFor=\"let option of options\"\n [attr.label]=\"option[grouplabel]\">\n <option\n *ngFor=\"let item of option[groupitems]\"\n [value]=\"item[optionvalue]\"\n [disabled]=\"optionenabled !== '' && item[optionenabled] === false\">\n <ng-template *ngTemplateOutlet=\"optionlabeltemplate || defaultItemLabelTemplate; context: { label: item[optionlabel] }\"> </ng-template>\n </option>\n </optgroup>\n </ng-container>\n </select>\n\n <div\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\n class=\"form-control-static\"\n style=\"margin-left: 5px\">\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [class]=\"HelptextTooltipIcon\"\n style=\"margin-left: 5px; margin-right: 5px\">\n </span>\n </sac-tooltip>\n </div>\n </div>\n\n <p\n *ngIf=\"helptextmode === 'text' && helptext\"\n class=\"help-block\">\n {{ helptext }}\n </p>\n\n <div\n class=\"help-block help-block-error\"\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\">\n {{ GetErrorMessage() | async }}\n </div>\n </div>\n</div>\n\n<ng-template\n #defaultItemLabelTemplate\n let-label=\"label\"\n >{{ label }}</ng-template\n>\n", components: [{ type: SacTooltipComponent, selector: "sac-tooltip" }], directives: [{ type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i2.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { type: i2.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { type: SacDropdownOptionDirective, selector: "option,[sacOption]" }, { type: SacListboxOptionDirective, selector: "option,[sacOption]" }, { type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }], pipes: { "toLabelHeight": SacToLabelHeightPipe, "testingattribute": i5.SacTestingAttributePipe, "toLabelWidthCss": SacToLabelWidthCssPipe, "toControlWidthCss": SacToControlWidthCssPipe, "toControlHeight": SacToControlHeightPipe, "async": i3.AsyncPipe } });
1709
1692
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SacListboxComponent, decorators: [{
1710
1693
  type: Component,
1711
1694
  args: [{ selector: 'sac-listbox', providers: [
1695
+ { provide: LISTBOX_TOKEN, useExisting: SacListboxComponent },
1712
1696
  {
1713
1697
  provide: NG_VALUE_ACCESSOR,
1714
1698
  multi: true,
@@ -1719,7 +1703,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImpor
1719
1703
  multi: true,
1720
1704
  useExisting: forwardRef(() => SacListboxComponent),
1721
1705
  },
1722
- ], template: "<div\n class=\"row form-group\"\n [class.has-error]=\"invalid && (dirty || touched)\"\n [ngClass]=\"componentHeight | toLabelHeight\">\n <label\n *ngIf=\"disablelabel === false && !isAdaptiveLabel\"\n id=\"{{ name }}label\"\n for=\"{{ name }}\"\n class=\"col-xs-12 control-label\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'sr-only']\"\n [class.required]=\"isrequired\">\n <span class=\"text\">{{ label }}</span>\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [class]=\"HelptextTooltipIcon\"\n style=\"margin-left: 5px\">\n </span>\n </sac-tooltip>\n </label>\n <div\n class=\"col-xs-12\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\">\n <div [style.display]=\"helptextmode === 'tooltip' && helptext && disablelabel ? 'flex' : null\">\n <select\n multiple\n id=\"{{ name }}\"\n name=\"{{ name }}\"\n class=\"form-control\"\n [ngClass]=\"[componentHeight | toControlHeight]\"\n [size]=\"rowsize\"\n (blur)=\"onTouch()\"\n (change)=\"getSelectedItems($event.target)\"\n [disabled]=\"isdisabled\">\n <ng-content></ng-content>\n <ng-container *ngIf=\"groupitems === ''\">\n <option\n *ngFor=\"let option of options\"\n [value]=\"option[optionvalue]\"\n [disabled]=\"optionenabled !== '' && option[optionenabled] === false\">\n <ng-template *ngTemplateOutlet=\"optionlabeltemplate || defaultItemLabelTemplate; context: { label: option[optionlabel] }\"> </ng-template>\n </option>\n </ng-container>\n <ng-container *ngIf=\"groupitems !== ''\">\n <optgroup\n *ngFor=\"let option of options\"\n [attr.label]=\"option[grouplabel]\">\n <option\n *ngFor=\"let item of option[groupitems]\"\n [value]=\"item[optionvalue]\"\n [disabled]=\"optionenabled !== '' && item[optionenabled] === false\">\n <ng-template *ngTemplateOutlet=\"optionlabeltemplate || defaultItemLabelTemplate; context: { label: item[optionlabel] }\"> </ng-template>\n </option>\n </optgroup>\n </ng-container>\n </select>\n\n <div\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\n class=\"form-control-static\"\n style=\"margin-left: 5px\">\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [class]=\"HelptextTooltipIcon\"\n style=\"margin-left: 5px; margin-right: 5px\">\n </span>\n </sac-tooltip>\n </div>\n </div>\n\n <p\n *ngIf=\"helptextmode === 'text' && helptext\"\n class=\"help-block\">\n {{ helptext }}\n </p>\n\n <div\n class=\"help-block help-block-error\"\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\">\n {{ GetErrorMessage() | async }}\n </div>\n </div>\n</div>\n\n<ng-template\n #defaultItemLabelTemplate\n let-label=\"label\">\n {{ label }}\n</ng-template>\n" }]
1706
+ ], template: "<div\n class=\"row form-group\"\n [class.has-error]=\"invalid && (dirty || touched)\"\n [ngClass]=\"componentHeight | toLabelHeight\"\n [attr.data-e2e-key]=\"name | testingattribute : e2eidentifier\">\n <label\n *ngIf=\"disablelabel === false && !isAdaptiveLabel\"\n id=\"{{ name }}label\"\n for=\"{{ name }}\"\n class=\"col-xs-12 control-label\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'sr-only']\"\n [class.required]=\"isrequired\">\n <span class=\"text\">{{ label }}</span>\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [class]=\"HelptextTooltipIcon\"\n style=\"margin-left: 5px\">\n </span>\n </sac-tooltip>\n </label>\n <div\n class=\"col-xs-12\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\">\n <div [style.display]=\"helptextmode === 'tooltip' && helptext && disablelabel ? 'flex' : null\">\n <select\n multiple\n id=\"{{ name }}\"\n name=\"{{ name }}\"\n class=\"form-control\"\n [ngClass]=\"[componentHeight | toControlHeight]\"\n [class.is-invalid]=\"invalid && (dirty || touched)\"\n [size]=\"rowsize\"\n (blur)=\"onTouch()\"\n (change)=\"getSelectedItems($event.target)\"\n [disabled]=\"isdisabled\">\n <ng-content></ng-content>\n <ng-container *ngIf=\"groupitems === ''\">\n <option\n *ngFor=\"let option of options\"\n [value]=\"option[optionvalue]\"\n [disabled]=\"optionenabled !== '' && option[optionenabled] === false\">\n <ng-template *ngTemplateOutlet=\"optionlabeltemplate || defaultItemLabelTemplate; context: { label: option[optionlabel] }\"> </ng-template>\n </option>\n </ng-container>\n <ng-container *ngIf=\"groupitems !== ''\">\n <optgroup\n *ngFor=\"let option of options\"\n [attr.label]=\"option[grouplabel]\">\n <option\n *ngFor=\"let item of option[groupitems]\"\n [value]=\"item[optionvalue]\"\n [disabled]=\"optionenabled !== '' && item[optionenabled] === false\">\n <ng-template *ngTemplateOutlet=\"optionlabeltemplate || defaultItemLabelTemplate; context: { label: item[optionlabel] }\"> </ng-template>\n </option>\n </optgroup>\n </ng-container>\n </select>\n\n <div\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\n class=\"form-control-static\"\n style=\"margin-left: 5px\">\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [class]=\"HelptextTooltipIcon\"\n style=\"margin-left: 5px; margin-right: 5px\">\n </span>\n </sac-tooltip>\n </div>\n </div>\n\n <p\n *ngIf=\"helptextmode === 'text' && helptext\"\n class=\"help-block\">\n {{ helptext }}\n </p>\n\n <div\n class=\"help-block help-block-error\"\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\">\n {{ GetErrorMessage() | async }}\n </div>\n </div>\n</div>\n\n<ng-template\n #defaultItemLabelTemplate\n let-label=\"label\"\n >{{ label }}</ng-template\n>\n" }]
1723
1707
  }], ctorParameters: function () { return [{ type: SacFormLayoutDirective, decorators: [{
1724
1708
  type: Host
1725
1709
  }, {
@@ -1729,42 +1713,33 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImpor
1729
1713
  class SACBootstrap3ListModule {
1730
1714
  }
1731
1715
  SACBootstrap3ListModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SACBootstrap3ListModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
1732
- SACBootstrap3ListModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SACBootstrap3ListModule, declarations: [SacDropdownComponent,
1733
- SacDropdownOptionDirective,
1734
- SacListboxComponent], imports: [CommonModule,
1716
+ SACBootstrap3ListModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SACBootstrap3ListModule, declarations: [SacDropdownComponent, SacDropdownOptionDirective, SacListboxComponent, SacListboxOptionDirective], imports: [CommonModule,
1735
1717
  SACCommonListboxOptionModule,
1736
1718
  SACBootstrap3TooltipModule,
1737
1719
  FormsModule,
1738
- SACBootstrap3LayoutModule], exports: [SacDropdownComponent,
1739
- SacDropdownOptionDirective,
1740
- SacListboxComponent] });
1720
+ SACBootstrap3LayoutModule,
1721
+ SACCommonUtliltiesModule], exports: [SacDropdownComponent, SacDropdownOptionDirective, SacListboxComponent, SacListboxOptionDirective] });
1741
1722
  SACBootstrap3ListModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SACBootstrap3ListModule, imports: [[
1742
1723
  CommonModule,
1743
1724
  SACCommonListboxOptionModule,
1744
1725
  SACBootstrap3TooltipModule,
1745
1726
  FormsModule,
1746
1727
  SACBootstrap3LayoutModule,
1728
+ SACCommonUtliltiesModule,
1747
1729
  ]] });
1748
1730
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SACBootstrap3ListModule, decorators: [{
1749
1731
  type: NgModule,
1750
1732
  args: [{
1751
- declarations: [
1752
- SacDropdownComponent,
1753
- SacDropdownOptionDirective,
1754
- SacListboxComponent,
1755
- ],
1733
+ declarations: [SacDropdownComponent, SacDropdownOptionDirective, SacListboxComponent, SacListboxOptionDirective],
1756
1734
  imports: [
1757
1735
  CommonModule,
1758
1736
  SACCommonListboxOptionModule,
1759
1737
  SACBootstrap3TooltipModule,
1760
1738
  FormsModule,
1761
1739
  SACBootstrap3LayoutModule,
1740
+ SACCommonUtliltiesModule,
1762
1741
  ],
1763
- exports: [
1764
- SacDropdownComponent,
1765
- SacDropdownOptionDirective,
1766
- SacListboxComponent,
1767
- ],
1742
+ exports: [SacDropdownComponent, SacDropdownOptionDirective, SacListboxComponent, SacListboxOptionDirective],
1768
1743
  }]
1769
1744
  }] });
1770
1745
 
@@ -1805,7 +1780,7 @@ SacStaticFormContainerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion:
1805
1780
  multi: true,
1806
1781
  useExisting: forwardRef(() => SacStaticFormContainerComponent),
1807
1782
  },
1808
- ], usesInheritance: true, ngImport: i0, template: "<div\n class=\"row form-group\"\n [class.has-error]=\"isinvalid && errormessage\"\n [ngClass]=\"componentHeight | toLabelHeight\">\n <label\n *ngIf=\"disablelabel === false && !isAdaptiveLabel\"\n id=\"{{ name }}label\"\n for=\"{{ name }}\"\n class=\"col-xs-12 control-label\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'sr-only']\"\n [class.required]=\"isrequired\">\n <span class=\"text\">{{ label }}</span>\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [class]=\"HelptextTooltipIcon\"\n style=\"margin-left: 5px\">\n </span>\n </sac-tooltip>\n </label>\n <div\n class=\"col-xs-12\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\">\n <div [style.display]=\"helptextmode === 'tooltip' && helptext && disablelabel ? 'flex' : null\">\n <ng-content></ng-content>\n\n <div\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\n class=\"form-control-static\"\n style=\"margin-left: 5px\">\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [class]=\"HelptextTooltipIcon\"\n style=\"margin-left: 5px; margin-right: 5px\">\n </span>\n </sac-tooltip>\n </div>\n </div>\n\n <p\n *ngIf=\"helptextmode === 'text' && helptext\"\n class=\"help-block\">\n {{ helptext }}\n </p>\n\n <div\n class=\"help-block help-block-error\"\n *ngIf=\"isinlineerrorenabled && isinvalid && errormessage\">\n {{ errormessage }}\n </div>\n </div>\n</div>\n", components: [{ type: SacTooltipComponent, selector: "sac-tooltip" }], directives: [{ type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "toLabelHeight": SacToLabelHeightPipe, "toLabelWidthCss": SacToLabelWidthCssPipe, "toControlWidthCss": SacToControlWidthCssPipe } });
1783
+ ], usesInheritance: true, ngImport: i0, template: "<div\n class=\"row form-group\"\n [class.has-error]=\"isinvalid && errormessage\"\n [ngClass]=\"componentHeight | toLabelHeight\"\n [attr.data-e2e-key]=\"name | testingattribute : e2eidentifier\">\n <label\n *ngIf=\"disablelabel === false && !isAdaptiveLabel\"\n id=\"{{ name }}label\"\n for=\"{{ name }}\"\n class=\"col-xs-12 control-label\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'sr-only']\"\n [class.required]=\"isrequired\">\n <span class=\"text\">{{ label }}</span>\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [class]=\"HelptextTooltipIcon\"\n style=\"margin-left: 5px\">\n </span>\n </sac-tooltip>\n </label>\n <div\n class=\"col-xs-12\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\">\n <div [style.display]=\"helptextmode === 'tooltip' && helptext && disablelabel ? 'flex' : null\">\n <ng-content></ng-content>\n\n <div\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\n class=\"form-control-static\"\n style=\"margin-left: 5px\">\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [class]=\"HelptextTooltipIcon\"\n style=\"margin-left: 5px; margin-right: 5px\">\n </span>\n </sac-tooltip>\n </div>\n </div>\n\n <p\n *ngIf=\"helptextmode === 'text' && helptext\"\n class=\"help-block\">\n {{ helptext }}\n </p>\n\n <div\n class=\"help-block help-block-error\"\n *ngIf=\"isinlineerrorenabled && isinvalid && errormessage\">\n {{ errormessage }}\n </div>\n </div>\n</div>\n", components: [{ type: SacTooltipComponent, selector: "sac-tooltip" }], directives: [{ type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "toLabelHeight": SacToLabelHeightPipe, "testingattribute": i5.SacTestingAttributePipe, "toLabelWidthCss": SacToLabelWidthCssPipe, "toControlWidthCss": SacToControlWidthCssPipe } });
1809
1784
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SacStaticFormContainerComponent, decorators: [{
1810
1785
  type: Component,
1811
1786
  args: [{ selector: 'sac-staticformcontainer', providers: [
@@ -1819,7 +1794,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImpor
1819
1794
  multi: true,
1820
1795
  useExisting: forwardRef(() => SacStaticFormContainerComponent),
1821
1796
  },
1822
- ], template: "<div\n class=\"row form-group\"\n [class.has-error]=\"isinvalid && errormessage\"\n [ngClass]=\"componentHeight | toLabelHeight\">\n <label\n *ngIf=\"disablelabel === false && !isAdaptiveLabel\"\n id=\"{{ name }}label\"\n for=\"{{ name }}\"\n class=\"col-xs-12 control-label\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'sr-only']\"\n [class.required]=\"isrequired\">\n <span class=\"text\">{{ label }}</span>\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [class]=\"HelptextTooltipIcon\"\n style=\"margin-left: 5px\">\n </span>\n </sac-tooltip>\n </label>\n <div\n class=\"col-xs-12\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\">\n <div [style.display]=\"helptextmode === 'tooltip' && helptext && disablelabel ? 'flex' : null\">\n <ng-content></ng-content>\n\n <div\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\n class=\"form-control-static\"\n style=\"margin-left: 5px\">\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [class]=\"HelptextTooltipIcon\"\n style=\"margin-left: 5px; margin-right: 5px\">\n </span>\n </sac-tooltip>\n </div>\n </div>\n\n <p\n *ngIf=\"helptextmode === 'text' && helptext\"\n class=\"help-block\">\n {{ helptext }}\n </p>\n\n <div\n class=\"help-block help-block-error\"\n *ngIf=\"isinlineerrorenabled && isinvalid && errormessage\">\n {{ errormessage }}\n </div>\n </div>\n</div>\n" }]
1797
+ ], template: "<div\n class=\"row form-group\"\n [class.has-error]=\"isinvalid && errormessage\"\n [ngClass]=\"componentHeight | toLabelHeight\"\n [attr.data-e2e-key]=\"name | testingattribute : e2eidentifier\">\n <label\n *ngIf=\"disablelabel === false && !isAdaptiveLabel\"\n id=\"{{ name }}label\"\n for=\"{{ name }}\"\n class=\"col-xs-12 control-label\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'sr-only']\"\n [class.required]=\"isrequired\">\n <span class=\"text\">{{ label }}</span>\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [class]=\"HelptextTooltipIcon\"\n style=\"margin-left: 5px\">\n </span>\n </sac-tooltip>\n </label>\n <div\n class=\"col-xs-12\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\">\n <div [style.display]=\"helptextmode === 'tooltip' && helptext && disablelabel ? 'flex' : null\">\n <ng-content></ng-content>\n\n <div\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\n class=\"form-control-static\"\n style=\"margin-left: 5px\">\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [class]=\"HelptextTooltipIcon\"\n style=\"margin-left: 5px; margin-right: 5px\">\n </span>\n </sac-tooltip>\n </div>\n </div>\n\n <p\n *ngIf=\"helptextmode === 'text' && helptext\"\n class=\"help-block\">\n {{ helptext }}\n </p>\n\n <div\n class=\"help-block help-block-error\"\n *ngIf=\"isinlineerrorenabled && isinvalid && errormessage\">\n {{ errormessage }}\n </div>\n </div>\n</div>\n" }]
1823
1798
  }], ctorParameters: function () { return [{ type: SacFormLayoutDirective, decorators: [{
1824
1799
  type: Host
1825
1800
  }, {
@@ -1849,7 +1824,7 @@ SacStaticLabelComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0"
1849
1824
  multi: true,
1850
1825
  useExisting: forwardRef(() => SacStaticLabelComponent),
1851
1826
  },
1852
- ], usesInheritance: true, ngImport: i0, template: "<div\n class=\"row form-group\"\n [ngClass]=\"componentHeight | toLabelHeight\">\n <label\n *ngIf=\"disablelabel === false && !isAdaptiveLabel\"\n id=\"{{ name }}label\"\n for=\"{{ name }}\"\n class=\"col-xs-12 control-label\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'sr-only']\">\n <span class=\"text\">{{ label }}</span>\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [class]=\"HelptextTooltipIcon\"\n style=\"margin-left: 5px\">\n </span>\n </sac-tooltip>\n </label>\n <div\n class=\"col-xs-12\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\n [style.display]=\"helptextmode === 'tooltip' && helptext && disablelabel ? 'flex' : null\">\n <div\n [id]=\"name\"\n class=\"form-control-static\"\n [style.padding-left.px]=\"0\"\n [innerHTML]=\"value\">\n </div>\n\n <div\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\n class=\"form-control-static\"\n style=\"margin-left: 5px\">\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [class]=\"HelptextTooltipIcon\"\n style=\"margin-left: 5px; margin-right: 5px\">\n </span>\n </sac-tooltip>\n </div>\n\n <p\n *ngIf=\"helptextmode === 'text' && helptext\"\n class=\"help-block\">\n {{ helptext }}\n </p>\n </div>\n</div>\n", components: [{ type: SacTooltipComponent, selector: "sac-tooltip" }], directives: [{ type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "toLabelHeight": SacToLabelHeightPipe, "toLabelWidthCss": SacToLabelWidthCssPipe, "toControlWidthCss": SacToControlWidthCssPipe } });
1827
+ ], usesInheritance: true, ngImport: i0, template: "<div\n class=\"row form-group\"\n [ngClass]=\"componentHeight | toLabelHeight\"\n [attr.data-e2e-key]=\"name | testingattribute : e2eidentifier\">\n <label\n *ngIf=\"disablelabel === false && !isAdaptiveLabel\"\n id=\"{{ name }}label\"\n for=\"{{ name }}\"\n class=\"col-xs-12 control-label\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'sr-only']\">\n <span class=\"text\">{{ label }}</span>\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [class]=\"HelptextTooltipIcon\"\n style=\"margin-left: 5px\">\n </span>\n </sac-tooltip>\n </label>\n <div\n class=\"col-xs-12\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\n [style.display]=\"helptextmode === 'tooltip' && helptext && disablelabel ? 'flex' : null\">\n <div\n [id]=\"name\"\n class=\"form-control-static\"\n [style.padding-left.px]=\"0\"\n [innerHTML]=\"value\">\n </div>\n\n <div\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\n class=\"form-control-static\"\n style=\"margin-left: 5px\">\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [class]=\"HelptextTooltipIcon\"\n style=\"margin-left: 5px; margin-right: 5px\">\n </span>\n </sac-tooltip>\n </div>\n\n <p\n *ngIf=\"helptextmode === 'text' && helptext\"\n class=\"help-block\">\n {{ helptext }}\n </p>\n </div>\n</div>\n", components: [{ type: SacTooltipComponent, selector: "sac-tooltip" }], directives: [{ type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "toLabelHeight": SacToLabelHeightPipe, "testingattribute": i5.SacTestingAttributePipe, "toLabelWidthCss": SacToLabelWidthCssPipe, "toControlWidthCss": SacToControlWidthCssPipe } });
1853
1828
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SacStaticLabelComponent, decorators: [{
1854
1829
  type: Component,
1855
1830
  args: [{ selector: 'sac-staticlabel', providers: [
@@ -1863,7 +1838,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImpor
1863
1838
  multi: true,
1864
1839
  useExisting: forwardRef(() => SacStaticLabelComponent),
1865
1840
  },
1866
- ], template: "<div\n class=\"row form-group\"\n [ngClass]=\"componentHeight | toLabelHeight\">\n <label\n *ngIf=\"disablelabel === false && !isAdaptiveLabel\"\n id=\"{{ name }}label\"\n for=\"{{ name }}\"\n class=\"col-xs-12 control-label\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'sr-only']\">\n <span class=\"text\">{{ label }}</span>\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [class]=\"HelptextTooltipIcon\"\n style=\"margin-left: 5px\">\n </span>\n </sac-tooltip>\n </label>\n <div\n class=\"col-xs-12\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\n [style.display]=\"helptextmode === 'tooltip' && helptext && disablelabel ? 'flex' : null\">\n <div\n [id]=\"name\"\n class=\"form-control-static\"\n [style.padding-left.px]=\"0\"\n [innerHTML]=\"value\">\n </div>\n\n <div\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\n class=\"form-control-static\"\n style=\"margin-left: 5px\">\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [class]=\"HelptextTooltipIcon\"\n style=\"margin-left: 5px; margin-right: 5px\">\n </span>\n </sac-tooltip>\n </div>\n\n <p\n *ngIf=\"helptextmode === 'text' && helptext\"\n class=\"help-block\">\n {{ helptext }}\n </p>\n </div>\n</div>\n" }]
1841
+ ], template: "<div\n class=\"row form-group\"\n [ngClass]=\"componentHeight | toLabelHeight\"\n [attr.data-e2e-key]=\"name | testingattribute : e2eidentifier\">\n <label\n *ngIf=\"disablelabel === false && !isAdaptiveLabel\"\n id=\"{{ name }}label\"\n for=\"{{ name }}\"\n class=\"col-xs-12 control-label\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'sr-only']\">\n <span class=\"text\">{{ label }}</span>\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [class]=\"HelptextTooltipIcon\"\n style=\"margin-left: 5px\">\n </span>\n </sac-tooltip>\n </label>\n <div\n class=\"col-xs-12\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\n [style.display]=\"helptextmode === 'tooltip' && helptext && disablelabel ? 'flex' : null\">\n <div\n [id]=\"name\"\n class=\"form-control-static\"\n [style.padding-left.px]=\"0\"\n [innerHTML]=\"value\">\n </div>\n\n <div\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\n class=\"form-control-static\"\n style=\"margin-left: 5px\">\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [class]=\"HelptextTooltipIcon\"\n style=\"margin-left: 5px; margin-right: 5px\">\n </span>\n </sac-tooltip>\n </div>\n\n <p\n *ngIf=\"helptextmode === 'text' && helptext\"\n class=\"help-block\">\n {{ helptext }}\n </p>\n </div>\n</div>\n" }]
1867
1842
  }], ctorParameters: function () { return [{ type: SacFormLayoutDirective, decorators: [{
1868
1843
  type: Host
1869
1844
  }, {
@@ -1873,23 +1848,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImpor
1873
1848
  class SACBootstrap3StaticLabelModule {
1874
1849
  }
1875
1850
  SACBootstrap3StaticLabelModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SACBootstrap3StaticLabelModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
1876
- SACBootstrap3StaticLabelModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SACBootstrap3StaticLabelModule, declarations: [SacStaticLabelComponent, SacStaticFormContainerComponent], imports: [CommonModule,
1877
- SACBootstrap3TooltipModule,
1878
- SACBootstrap3LayoutModule], exports: [SacStaticLabelComponent, SacStaticFormContainerComponent] });
1879
- SACBootstrap3StaticLabelModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SACBootstrap3StaticLabelModule, imports: [[
1880
- CommonModule,
1881
- SACBootstrap3TooltipModule,
1882
- SACBootstrap3LayoutModule,
1883
- ]] });
1851
+ SACBootstrap3StaticLabelModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SACBootstrap3StaticLabelModule, declarations: [SacStaticLabelComponent, SacStaticFormContainerComponent], imports: [CommonModule, SACBootstrap3TooltipModule, SACBootstrap3LayoutModule, SACCommonUtliltiesModule], exports: [SacStaticLabelComponent, SacStaticFormContainerComponent] });
1852
+ SACBootstrap3StaticLabelModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SACBootstrap3StaticLabelModule, imports: [[CommonModule, SACBootstrap3TooltipModule, SACBootstrap3LayoutModule, SACCommonUtliltiesModule]] });
1884
1853
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SACBootstrap3StaticLabelModule, decorators: [{
1885
1854
  type: NgModule,
1886
1855
  args: [{
1887
1856
  declarations: [SacStaticLabelComponent, SacStaticFormContainerComponent],
1888
- imports: [
1889
- CommonModule,
1890
- SACBootstrap3TooltipModule,
1891
- SACBootstrap3LayoutModule,
1892
- ],
1857
+ imports: [CommonModule, SACBootstrap3TooltipModule, SACBootstrap3LayoutModule, SACCommonUtliltiesModule],
1893
1858
  exports: [SacStaticLabelComponent, SacStaticFormContainerComponent],
1894
1859
  }]
1895
1860
  }] });
@@ -1904,15 +1869,17 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImpor
1904
1869
  }] });
1905
1870
 
1906
1871
  class SacTabComponent extends SacTabCommon {
1872
+ // #endregion Properties
1873
+ // #region Public Methods
1907
1874
  tabItems() {
1908
1875
  return this._tabItems.toArray();
1909
1876
  }
1910
1877
  }
1911
1878
  SacTabComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SacTabComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
1912
- SacTabComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.7", type: SacTabComponent, selector: "sac-tab", queries: [{ propertyName: "_tabItems", predicate: SacTabItemComponent }], usesInheritance: true, ngImport: i0, template: "<!-- Nav tabs -->\n<div [id]=\"name\" class=\"content-nav-tabs\">\n <ul class=\"nav nav-tabs\" role=\"tablist\">\n <li\n *ngFor=\"let item of _tabItems\"\n [ngClass]=\"{ 'active show': item.active, 'disabled': item.disabled }\"\n (click)=\"selectTab(item)\"\n [ngStyle]=\"{'cursor': item._disabled ? 'not-allowed' : 'pointer'}\"\n >\n <a [id]=\"GetTabItemButtonId(item.id)\" role=\"tab\">\n <ng-template\n *ngTemplateOutlet=\"tablabeltemplate || defaultTabLabelTemplate;context:{ label: item.label }\"\n >\n </ng-template>\n </a>\n </li>\n </ul>\n</div>\n\n<!-- Tab panes -->\n<div class=\"tab-content\" style=\"margin-top: 15px\">\n <ng-content></ng-content>\n</div>\n\n<ng-template #defaultTabLabelTemplate let-label=\"label\">\n {{label}}\n</ng-template>\n", directives: [{ type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i3.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }] });
1879
+ SacTabComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.7", type: SacTabComponent, selector: "sac-tab", queries: [{ propertyName: "_tabItems", predicate: SacTabItemComponent }], usesInheritance: true, ngImport: i0, template: "<!-- Nav tabs -->\n<div\n [id]=\"name\"\n class=\"content-nav-tabs\"\n [attr.data-e2e-key]=\"name | testingattribute : e2eidentifier\">\n <ul\n class=\"nav nav-tabs\"\n role=\"tablist\">\n <li\n *ngFor=\"let item of _tabItems\"\n [ngClass]=\"{ 'active show': item.active, disabled: item.disabled }\"\n (click)=\"selectTab(item)\"\n [ngStyle]=\"{ cursor: item._disabled ? 'not-allowed' : 'pointer' }\"\n [id]=\"GetTabItemButtonId(item.id)\">\n <a\n [id]=\"GetTabItemButtonId(item.id)\"\n role=\"tab\">\n <ng-template *ngTemplateOutlet=\"tablabeltemplate || defaultTabLabelTemplate; context: { label: item.label }\"> </ng-template>\n </a>\n </li>\n </ul>\n</div>\n\n<!-- Tab panes -->\n<div\n class=\"tab-content\"\n style=\"margin-top: 15px\">\n <ng-content></ng-content>\n</div>\n\n<ng-template\n #defaultTabLabelTemplate\n let-label=\"label\">\n {{ label }}\n</ng-template>\n", directives: [{ type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i3.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }], pipes: { "testingattribute": i5.SacTestingAttributePipe } });
1913
1880
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SacTabComponent, decorators: [{
1914
1881
  type: Component,
1915
- args: [{ selector: 'sac-tab', template: "<!-- Nav tabs -->\n<div [id]=\"name\" class=\"content-nav-tabs\">\n <ul class=\"nav nav-tabs\" role=\"tablist\">\n <li\n *ngFor=\"let item of _tabItems\"\n [ngClass]=\"{ 'active show': item.active, 'disabled': item.disabled }\"\n (click)=\"selectTab(item)\"\n [ngStyle]=\"{'cursor': item._disabled ? 'not-allowed' : 'pointer'}\"\n >\n <a [id]=\"GetTabItemButtonId(item.id)\" role=\"tab\">\n <ng-template\n *ngTemplateOutlet=\"tablabeltemplate || defaultTabLabelTemplate;context:{ label: item.label }\"\n >\n </ng-template>\n </a>\n </li>\n </ul>\n</div>\n\n<!-- Tab panes -->\n<div class=\"tab-content\" style=\"margin-top: 15px\">\n <ng-content></ng-content>\n</div>\n\n<ng-template #defaultTabLabelTemplate let-label=\"label\">\n {{label}}\n</ng-template>\n" }]
1882
+ args: [{ selector: 'sac-tab', template: "<!-- Nav tabs -->\n<div\n [id]=\"name\"\n class=\"content-nav-tabs\"\n [attr.data-e2e-key]=\"name | testingattribute : e2eidentifier\">\n <ul\n class=\"nav nav-tabs\"\n role=\"tablist\">\n <li\n *ngFor=\"let item of _tabItems\"\n [ngClass]=\"{ 'active show': item.active, disabled: item.disabled }\"\n (click)=\"selectTab(item)\"\n [ngStyle]=\"{ cursor: item._disabled ? 'not-allowed' : 'pointer' }\"\n [id]=\"GetTabItemButtonId(item.id)\">\n <a\n [id]=\"GetTabItemButtonId(item.id)\"\n role=\"tab\">\n <ng-template *ngTemplateOutlet=\"tablabeltemplate || defaultTabLabelTemplate; context: { label: item.label }\"> </ng-template>\n </a>\n </li>\n </ul>\n</div>\n\n<!-- Tab panes -->\n<div\n class=\"tab-content\"\n style=\"margin-top: 15px\">\n <ng-content></ng-content>\n</div>\n\n<ng-template\n #defaultTabLabelTemplate\n let-label=\"label\">\n {{ label }}\n</ng-template>\n" }]
1916
1883
  }], propDecorators: { _tabItems: [{
1917
1884
  type: ContentChildren,
1918
1885
  args: [SacTabItemComponent]
@@ -1921,18 +1888,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImpor
1921
1888
  class SACBootstrap3TabsModule {
1922
1889
  }
1923
1890
  SACBootstrap3TabsModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SACBootstrap3TabsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
1924
- SACBootstrap3TabsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SACBootstrap3TabsModule, declarations: [SacTabComponent, SacTabItemComponent], imports: [CommonModule], exports: [SacTabComponent, SacTabItemComponent] });
1925
- SACBootstrap3TabsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SACBootstrap3TabsModule, imports: [[
1926
- CommonModule
1927
- ]] });
1891
+ SACBootstrap3TabsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SACBootstrap3TabsModule, declarations: [SacTabComponent, SacTabItemComponent], imports: [CommonModule, SACCommonUtliltiesModule], exports: [SacTabComponent, SacTabItemComponent] });
1892
+ SACBootstrap3TabsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SACBootstrap3TabsModule, imports: [[CommonModule, SACCommonUtliltiesModule]] });
1928
1893
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SACBootstrap3TabsModule, decorators: [{
1929
1894
  type: NgModule,
1930
1895
  args: [{
1931
1896
  declarations: [SacTabComponent, SacTabItemComponent],
1932
- imports: [
1933
- CommonModule
1934
- ],
1935
- exports: [SacTabComponent, SacTabItemComponent]
1897
+ imports: [CommonModule, SACCommonUtliltiesModule],
1898
+ exports: [SacTabComponent, SacTabItemComponent],
1936
1899
  }]
1937
1900
  }] });
1938
1901
 
@@ -1969,7 +1932,7 @@ SacTinyMceComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", ve
1969
1932
  useExisting: forwardRef(() => SacTinyMceComponent),
1970
1933
  multi: true,
1971
1934
  },
1972
- ], usesInheritance: true, ngImport: i0, template: "<div\n class=\"row form-group\"\n [class.has-error]=\"invalid && (dirty || touched)\"\n [ngClass]=\"componentHeight | toLabelHeight\">\n <label\n for=\"{{ name }}\"\n class=\"col-xs-12 control-label\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'sr-only']\"\n [class.required]=\"isrequired\">\n <span class=\"text\">{{ label }}</span>\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [class]=\"HelptextTooltipIcon\"\n style=\"margin-left: 5px\">\n </span>\n </sac-tooltip>\n </label>\n <div\n class=\"col-xs-12\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\n [class.has-error]=\"isinlineerrorenabled && invalid && (dirty || touched)\"\n [style.display]=\"helptextmode === 'tooltip' && helptext && disablelabel ? 'flex' : null\">\n <div [style.flex-grow]=\"helptextmode === 'tooltip' && helptext && disablelabel ? 1 : null\">\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 [disabled]=\"disabled\"\n [class.is-invalid]=\"isinlineerrorenabled && invalid && (dirty || touched)\"></editor>\n <p\n *ngIf=\"helptextmode === 'text' && helptext\"\n class=\"help-block\">\n {{ helptext }}\n </p>\n <div\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\"\n class=\"help-block\">\n {{ GetErrorMessage() | async }}\n </div>\n </div>\n\n <div\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\n class=\"form-control-static\"\n style=\"margin-left: 5px\">\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [class]=\"HelptextTooltipIcon\"\n style=\"margin-left: 5px; margin-right: 5px\">\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> </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", components: [{ type: SacTooltipComponent, selector: "sac-tooltip" }, { type: i3$1.EditorComponent, selector: "editor", inputs: ["cloudChannel", "apiKey", "init", "id", "initialValue", "outputFormat", "inline", "tagName", "plugins", "toolbar", "modelEvents", "allowedEvents", "ignoreEvents", "disabled"] }, { type: SacDialogComponent, selector: "sac-dialog", inputs: ["zindex"] }, { type: SacButtonComponent, selector: "sac-button" }], directives: [{ type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }], pipes: { "toLabelHeight": SacToLabelHeightPipe, "toLabelWidthCss": SacToLabelWidthCssPipe, "toControlWidthCss": SacToControlWidthCssPipe, "async": i3.AsyncPipe } });
1935
+ ], usesInheritance: true, ngImport: i0, template: "<div\n class=\"row form-group\"\n [class.has-error]=\"invalid && (dirty || touched)\"\n [ngClass]=\"componentHeight | toLabelHeight\"\n [attr.data-e2e-key]=\"name | testingattribute : e2eidentifier\">\n <label\n for=\"{{ name }}\"\n class=\"col-xs-12 control-label\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'sr-only']\"\n [class.required]=\"isrequired\">\n <span class=\"text\">{{ label }}</span>\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [class]=\"HelptextTooltipIcon\"\n style=\"margin-left: 5px\">\n </span>\n </sac-tooltip>\n </label>\n <div\n class=\"col-xs-12\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\n [class.has-error]=\"isinlineerrorenabled && invalid && (dirty || touched)\"\n [style.display]=\"helptextmode === 'tooltip' && helptext && disablelabel ? 'flex' : null\">\n <div [style.flex-grow]=\"helptextmode === 'tooltip' && helptext && disablelabel ? 1 : null\">\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)\"></editor>\n <p\n *ngIf=\"helptextmode === 'text' && helptext\"\n class=\"help-block\">\n {{ helptext }}\n </p>\n <div\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\"\n class=\"help-block\">\n {{ GetErrorMessage() | async }}\n </div>\n </div>\n\n <div\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\n class=\"form-control-static\"\n style=\"margin-left: 5px\">\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [class]=\"HelptextTooltipIcon\"\n style=\"margin-left: 5px; margin-right: 5px\">\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> </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", components: [{ type: SacTooltipComponent, selector: "sac-tooltip" }, { type: i3$1.EditorComponent, selector: "editor", inputs: ["cloudChannel", "apiKey", "init", "id", "initialValue", "outputFormat", "inline", "tagName", "plugins", "toolbar", "modelEvents", "allowedEvents", "ignoreEvents", "disabled"] }, { type: SacDialogComponent, selector: "sac-dialog", inputs: ["zindex"] }, { type: SacButtonComponent, selector: "sac-button" }], directives: [{ type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }], pipes: { "toLabelHeight": SacToLabelHeightPipe, "testingattribute": i5.SacTestingAttributePipe, "toLabelWidthCss": SacToLabelWidthCssPipe, "toControlWidthCss": SacToControlWidthCssPipe, "async": i3.AsyncPipe } });
1973
1936
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SacTinyMceComponent, decorators: [{
1974
1937
  type: Component,
1975
1938
  args: [{ selector: 'sac-tinymce', providers: [
@@ -1983,7 +1946,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImpor
1983
1946
  useExisting: forwardRef(() => SacTinyMceComponent),
1984
1947
  multi: true,
1985
1948
  },
1986
- ], template: "<div\n class=\"row form-group\"\n [class.has-error]=\"invalid && (dirty || touched)\"\n [ngClass]=\"componentHeight | toLabelHeight\">\n <label\n for=\"{{ name }}\"\n class=\"col-xs-12 control-label\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'sr-only']\"\n [class.required]=\"isrequired\">\n <span class=\"text\">{{ label }}</span>\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [class]=\"HelptextTooltipIcon\"\n style=\"margin-left: 5px\">\n </span>\n </sac-tooltip>\n </label>\n <div\n class=\"col-xs-12\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\n [class.has-error]=\"isinlineerrorenabled && invalid && (dirty || touched)\"\n [style.display]=\"helptextmode === 'tooltip' && helptext && disablelabel ? 'flex' : null\">\n <div [style.flex-grow]=\"helptextmode === 'tooltip' && helptext && disablelabel ? 1 : null\">\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 [disabled]=\"disabled\"\n [class.is-invalid]=\"isinlineerrorenabled && invalid && (dirty || touched)\"></editor>\n <p\n *ngIf=\"helptextmode === 'text' && helptext\"\n class=\"help-block\">\n {{ helptext }}\n </p>\n <div\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\"\n class=\"help-block\">\n {{ GetErrorMessage() | async }}\n </div>\n </div>\n\n <div\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\n class=\"form-control-static\"\n style=\"margin-left: 5px\">\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [class]=\"HelptextTooltipIcon\"\n style=\"margin-left: 5px; margin-right: 5px\">\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> </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" }]
1949
+ ], template: "<div\n class=\"row form-group\"\n [class.has-error]=\"invalid && (dirty || touched)\"\n [ngClass]=\"componentHeight | toLabelHeight\"\n [attr.data-e2e-key]=\"name | testingattribute : e2eidentifier\">\n <label\n for=\"{{ name }}\"\n class=\"col-xs-12 control-label\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'sr-only']\"\n [class.required]=\"isrequired\">\n <span class=\"text\">{{ label }}</span>\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [class]=\"HelptextTooltipIcon\"\n style=\"margin-left: 5px\">\n </span>\n </sac-tooltip>\n </label>\n <div\n class=\"col-xs-12\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\n [class.has-error]=\"isinlineerrorenabled && invalid && (dirty || touched)\"\n [style.display]=\"helptextmode === 'tooltip' && helptext && disablelabel ? 'flex' : null\">\n <div [style.flex-grow]=\"helptextmode === 'tooltip' && helptext && disablelabel ? 1 : null\">\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)\"></editor>\n <p\n *ngIf=\"helptextmode === 'text' && helptext\"\n class=\"help-block\">\n {{ helptext }}\n </p>\n <div\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\"\n class=\"help-block\">\n {{ GetErrorMessage() | async }}\n </div>\n </div>\n\n <div\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\n class=\"form-control-static\"\n style=\"margin-left: 5px\">\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [class]=\"HelptextTooltipIcon\"\n style=\"margin-left: 5px; margin-right: 5px\">\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> </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" }]
1987
1950
  }], ctorParameters: function () { return [{ type: SacFormLayoutDirective, decorators: [{
1988
1951
  type: Host
1989
1952
  }, {
@@ -1999,7 +1962,8 @@ SACBootstrap3TinyMceModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.
1999
1962
  SACBootstrap3ButtonModule,
2000
1963
  SACBootstrap3DialogModule,
2001
1964
  SACBootstrap3LayoutModule,
2002
- SACBootstrap3TooltipModule], exports: [SacTinyMceComponent] });
1965
+ SACBootstrap3TooltipModule,
1966
+ SACCommonUtliltiesModule], exports: [SacTinyMceComponent] });
2003
1967
  SACBootstrap3TinyMceModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SACBootstrap3TinyMceModule, imports: [[
2004
1968
  CommonModule,
2005
1969
  FormsModule,
@@ -2008,6 +1972,7 @@ SACBootstrap3TinyMceModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.
2008
1972
  SACBootstrap3DialogModule,
2009
1973
  SACBootstrap3LayoutModule,
2010
1974
  SACBootstrap3TooltipModule,
1975
+ SACCommonUtliltiesModule,
2011
1976
  ]] });
2012
1977
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SACBootstrap3TinyMceModule, decorators: [{
2013
1978
  type: NgModule,
@@ -2021,6 +1986,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImpor
2021
1986
  SACBootstrap3DialogModule,
2022
1987
  SACBootstrap3LayoutModule,
2023
1988
  SACBootstrap3TooltipModule,
1989
+ SACCommonUtliltiesModule,
2024
1990
  ],
2025
1991
  exports: [SacTinyMceComponent],
2026
1992
  }]
@@ -2052,7 +2018,7 @@ SacTreeviewComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", v
2052
2018
  useExisting: forwardRef(() => SacTreeviewComponent),
2053
2019
  multi: true,
2054
2020
  },
2055
- ], usesInheritance: true, ngImport: i0, template: "<div\n class=\"row mb-3\"\n [class.g-0]=\"disablelabel\"\n [class.has-error]=\"invalid && (dirty || touched)\">\n <label\n *ngIf=\"disablelabel === false && !isAdaptiveLabel\"\n id=\"{{ name }}label\"\n for=\"{{ name }}\"\n class=\"col-xs-12 control-label\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'sr-only']\"\n [class.required]=\"isrequired\">\n <span class=\"text\">{{ label }}</span>\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [class]=\"HelptextTooltipIcon\"\n style=\"margin-left: 5px\">\n </span>\n </sac-tooltip>\n </label>\n <div\n class=\"col-xs-12\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\n [class.has-error]=\"isinlineerrorenabled && invalid && (dirty || touched)\">\n <div [style.display]=\"helptextmode === 'tooltip' && helptext && disablelabel ? 'flex' : null\">\n <div [style.width.%]=\"helptextmode === 'tooltip' && helptext && disablelabel ? '100' : null\">\n <table\n class=\"table table-hover table-condensed\"\n id=\"{{ name }}\"\n style=\"table-layout: fixed\"\n [class.is-invalid]=\"invalid && (dirty || touched)\"\n [class.border]=\"invalid && (dirty || touched)\"\n [class.border-danger]=\"invalid && (dirty || touched)\">\n <tbody>\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 </tbody>\n </table>\n\n <div\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\"\n class=\"help-block\">\n {{ GetErrorMessage() | async }}\n </div>\n\n <p\n *ngIf=\"helptextmode === 'text' && helptext\"\n class=\"help-block\">\n {{ helptext }}\n </p>\n </div>\n\n <div\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\n class=\"form-control-static\"\n style=\"margin-left: 5px\">\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [class]=\"HelptextTooltipIcon\"\n style=\"margin-left: 5px; margin-right: 5px\">\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 <tr\n [class.active]=\"isSelectedState(node)\"\n attr.data-path=\"{{ path }}/{{ getStringField(node, attrid) }}\"\n attr.data-textpath=\"{{ textpath }}/{{ getStringField(node, attrlabel) }}\">\n <td>\n <div\n class=\"py-1 px-2 d-flex align-items-center\"\n style=\"display: flex; flex-direction: row; cursor: pointer; align-items: center\"\n (mouseenter)=\"setHoverState(node, true)\"\n (mouseleave)=\"setHoverState(node, false)\">\n <div\n style=\"margin-right: 15px\"\n *ngFor=\"let i of count(deep)\">\n </div>\n\n <div\n (click)=\"onNodeClicked(node)\"\n *ngIf=\"expandedstate === 'true' || expandedstate === true\"\n style=\"margin-right: 15px\"\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 style=\"padding-top: 7px; padding-bottom: 7px; flex-grow: 1\"\n [style.max-width.%]=\"enableellipsis ? '100' : null\"\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 style=\"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 </div>\n </td>\n </tr>\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\n<ng-template\n #defaultTemplateLabel\n let-label=\"label\"\n let-node=\"node\">\n <span [title]=\"label\">\n {{ label }}\n </span>\n</ng-template>\n\n<ng-template\n #defaultTemplateIcon\n let-node=\"node\">\n <div\n style=\"margin-right: 15px\"\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-link text-secondary\"\n (click)=\"actionhandler({ action: 'default', node: node })\">\n <i [class]=\"iconAction\"></i>\n </a>\n</ng-template>\n", components: [{ type: SacTooltipComponent, selector: "sac-tooltip" }], directives: [{ type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }], pipes: { "toLabelWidthCss": SacToLabelWidthCssPipe, "toControlWidthCss": SacToControlWidthCssPipe, "async": i3.AsyncPipe } });
2021
+ ], usesInheritance: true, ngImport: i0, template: "<div\n class=\"row mb-3\"\n [class.g-0]=\"disablelabel\"\n [class.has-error]=\"invalid && (dirty || touched)\"\n [attr.data-e2e-key]=\"name | testingattribute : e2eidentifier\">\n <label\n *ngIf=\"disablelabel === false && !isAdaptiveLabel\"\n id=\"{{ name }}label\"\n for=\"{{ name }}\"\n class=\"col-xs-12 control-label\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'sr-only']\"\n [class.required]=\"isrequired\">\n <span class=\"text\">{{ label }}</span>\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [class]=\"HelptextTooltipIcon\"\n style=\"margin-left: 5px\">\n </span>\n </sac-tooltip>\n </label>\n <div\n class=\"col-xs-12\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\n [class.has-error]=\"isinlineerrorenabled && invalid && (dirty || touched)\">\n <div [style.display]=\"helptextmode === 'tooltip' && helptext && disablelabel ? 'flex' : null\">\n <div [style.width.%]=\"helptextmode === 'tooltip' && helptext && disablelabel ? '100' : null\">\n <table\n class=\"table table-hover table-condensed\"\n id=\"{{ name }}\"\n style=\"table-layout: fixed\"\n [class.is-invalid]=\"invalid && (dirty || touched)\"\n [class.border]=\"invalid && (dirty || touched)\"\n [class.border-danger]=\"invalid && (dirty || touched)\">\n <tbody>\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 </tbody>\n </table>\n\n <div\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\"\n class=\"help-block\">\n {{ GetErrorMessage() | async }}\n </div>\n\n <p\n *ngIf=\"helptextmode === 'text' && helptext\"\n class=\"help-block\">\n {{ helptext }}\n </p>\n </div>\n\n <div\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\n class=\"form-control-static\"\n style=\"margin-left: 5px\">\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [class]=\"HelptextTooltipIcon\"\n style=\"margin-left: 5px; margin-right: 5px\">\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 <tr\n [class.active]=\"isSelectedState(node)\"\n attr.data-path=\"{{ path }}/{{ getStringField(node, attrid) }}\"\n attr.data-textpath=\"{{ textpath }}/{{ getStringField(node, attrlabel) }}\">\n <td>\n <div\n class=\"py-1 px-2 d-flex align-items-center\"\n style=\"display: flex; flex-direction: row; cursor: pointer; align-items: center\"\n (mouseenter)=\"setHoverState(node, true)\"\n (mouseleave)=\"setHoverState(node, false)\">\n <div\n style=\"margin-right: 15px\"\n *ngFor=\"let i of count(deep)\">\n </div>\n\n <div\n (click)=\"onNodeClicked(node)\"\n *ngIf=\"expandedstate === 'true' || expandedstate === true\"\n style=\"margin-right: 15px\"\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 style=\"padding-top: 7px; padding-bottom: 7px; flex-grow: 1\"\n [style.max-width.%]=\"enableellipsis ? '100' : null\"\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 style=\"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 </div>\n </td>\n </tr>\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\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 style=\"margin-right: 15px\"\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-link text-secondary\"\n (click)=\"actionhandler({ action: 'default', node: node })\">\n <i [class]=\"iconAction\"></i>\n </a>\n</ng-template>\n", components: [{ type: SacTooltipComponent, selector: "sac-tooltip" }], directives: [{ type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }], pipes: { "testingattribute": i5.SacTestingAttributePipe, "toLabelWidthCss": SacToLabelWidthCssPipe, "toControlWidthCss": SacToControlWidthCssPipe, "async": i3.AsyncPipe } });
2056
2022
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SacTreeviewComponent, decorators: [{
2057
2023
  type: Component,
2058
2024
  args: [{ selector: 'sac-treeview', providers: [
@@ -2066,7 +2032,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImpor
2066
2032
  useExisting: forwardRef(() => SacTreeviewComponent),
2067
2033
  multi: true,
2068
2034
  },
2069
- ], template: "<div\n class=\"row mb-3\"\n [class.g-0]=\"disablelabel\"\n [class.has-error]=\"invalid && (dirty || touched)\">\n <label\n *ngIf=\"disablelabel === false && !isAdaptiveLabel\"\n id=\"{{ name }}label\"\n for=\"{{ name }}\"\n class=\"col-xs-12 control-label\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'sr-only']\"\n [class.required]=\"isrequired\">\n <span class=\"text\">{{ label }}</span>\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [class]=\"HelptextTooltipIcon\"\n style=\"margin-left: 5px\">\n </span>\n </sac-tooltip>\n </label>\n <div\n class=\"col-xs-12\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\n [class.has-error]=\"isinlineerrorenabled && invalid && (dirty || touched)\">\n <div [style.display]=\"helptextmode === 'tooltip' && helptext && disablelabel ? 'flex' : null\">\n <div [style.width.%]=\"helptextmode === 'tooltip' && helptext && disablelabel ? '100' : null\">\n <table\n class=\"table table-hover table-condensed\"\n id=\"{{ name }}\"\n style=\"table-layout: fixed\"\n [class.is-invalid]=\"invalid && (dirty || touched)\"\n [class.border]=\"invalid && (dirty || touched)\"\n [class.border-danger]=\"invalid && (dirty || touched)\">\n <tbody>\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 </tbody>\n </table>\n\n <div\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\"\n class=\"help-block\">\n {{ GetErrorMessage() | async }}\n </div>\n\n <p\n *ngIf=\"helptextmode === 'text' && helptext\"\n class=\"help-block\">\n {{ helptext }}\n </p>\n </div>\n\n <div\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\n class=\"form-control-static\"\n style=\"margin-left: 5px\">\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [class]=\"HelptextTooltipIcon\"\n style=\"margin-left: 5px; margin-right: 5px\">\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 <tr\n [class.active]=\"isSelectedState(node)\"\n attr.data-path=\"{{ path }}/{{ getStringField(node, attrid) }}\"\n attr.data-textpath=\"{{ textpath }}/{{ getStringField(node, attrlabel) }}\">\n <td>\n <div\n class=\"py-1 px-2 d-flex align-items-center\"\n style=\"display: flex; flex-direction: row; cursor: pointer; align-items: center\"\n (mouseenter)=\"setHoverState(node, true)\"\n (mouseleave)=\"setHoverState(node, false)\">\n <div\n style=\"margin-right: 15px\"\n *ngFor=\"let i of count(deep)\">\n </div>\n\n <div\n (click)=\"onNodeClicked(node)\"\n *ngIf=\"expandedstate === 'true' || expandedstate === true\"\n style=\"margin-right: 15px\"\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 style=\"padding-top: 7px; padding-bottom: 7px; flex-grow: 1\"\n [style.max-width.%]=\"enableellipsis ? '100' : null\"\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 style=\"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 </div>\n </td>\n </tr>\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\n<ng-template\n #defaultTemplateLabel\n let-label=\"label\"\n let-node=\"node\">\n <span [title]=\"label\">\n {{ label }}\n </span>\n</ng-template>\n\n<ng-template\n #defaultTemplateIcon\n let-node=\"node\">\n <div\n style=\"margin-right: 15px\"\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-link text-secondary\"\n (click)=\"actionhandler({ action: 'default', node: node })\">\n <i [class]=\"iconAction\"></i>\n </a>\n</ng-template>\n" }]
2035
+ ], template: "<div\n class=\"row mb-3\"\n [class.g-0]=\"disablelabel\"\n [class.has-error]=\"invalid && (dirty || touched)\"\n [attr.data-e2e-key]=\"name | testingattribute : e2eidentifier\">\n <label\n *ngIf=\"disablelabel === false && !isAdaptiveLabel\"\n id=\"{{ name }}label\"\n for=\"{{ name }}\"\n class=\"col-xs-12 control-label\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'sr-only']\"\n [class.required]=\"isrequired\">\n <span class=\"text\">{{ label }}</span>\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [class]=\"HelptextTooltipIcon\"\n style=\"margin-left: 5px\">\n </span>\n </sac-tooltip>\n </label>\n <div\n class=\"col-xs-12\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\n [class.has-error]=\"isinlineerrorenabled && invalid && (dirty || touched)\">\n <div [style.display]=\"helptextmode === 'tooltip' && helptext && disablelabel ? 'flex' : null\">\n <div [style.width.%]=\"helptextmode === 'tooltip' && helptext && disablelabel ? '100' : null\">\n <table\n class=\"table table-hover table-condensed\"\n id=\"{{ name }}\"\n style=\"table-layout: fixed\"\n [class.is-invalid]=\"invalid && (dirty || touched)\"\n [class.border]=\"invalid && (dirty || touched)\"\n [class.border-danger]=\"invalid && (dirty || touched)\">\n <tbody>\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 </tbody>\n </table>\n\n <div\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\"\n class=\"help-block\">\n {{ GetErrorMessage() | async }}\n </div>\n\n <p\n *ngIf=\"helptextmode === 'text' && helptext\"\n class=\"help-block\">\n {{ helptext }}\n </p>\n </div>\n\n <div\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\n class=\"form-control-static\"\n style=\"margin-left: 5px\">\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [class]=\"HelptextTooltipIcon\"\n style=\"margin-left: 5px; margin-right: 5px\">\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 <tr\n [class.active]=\"isSelectedState(node)\"\n attr.data-path=\"{{ path }}/{{ getStringField(node, attrid) }}\"\n attr.data-textpath=\"{{ textpath }}/{{ getStringField(node, attrlabel) }}\">\n <td>\n <div\n class=\"py-1 px-2 d-flex align-items-center\"\n style=\"display: flex; flex-direction: row; cursor: pointer; align-items: center\"\n (mouseenter)=\"setHoverState(node, true)\"\n (mouseleave)=\"setHoverState(node, false)\">\n <div\n style=\"margin-right: 15px\"\n *ngFor=\"let i of count(deep)\">\n </div>\n\n <div\n (click)=\"onNodeClicked(node)\"\n *ngIf=\"expandedstate === 'true' || expandedstate === true\"\n style=\"margin-right: 15px\"\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 style=\"padding-top: 7px; padding-bottom: 7px; flex-grow: 1\"\n [style.max-width.%]=\"enableellipsis ? '100' : null\"\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 style=\"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 </div>\n </td>\n </tr>\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\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 style=\"margin-right: 15px\"\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-link text-secondary\"\n (click)=\"actionhandler({ action: 'default', node: node })\">\n <i [class]=\"iconAction\"></i>\n </a>\n</ng-template>\n" }]
2070
2036
  }], ctorParameters: function () { return [{ type: SacFormLayoutDirective, decorators: [{
2071
2037
  type: Host
2072
2038
  }, {
@@ -2076,13 +2042,29 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImpor
2076
2042
  class SACBootstrap3TreeviewModule {
2077
2043
  }
2078
2044
  SACBootstrap3TreeviewModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SACBootstrap3TreeviewModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
2079
- SACBootstrap3TreeviewModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SACBootstrap3TreeviewModule, declarations: [SacTreeviewComponent], imports: [CommonModule, SACBootstrap3TooltipModule, SACBootstrap3LayoutModule, SACBootstrap3ContextmenuModule], exports: [SacTreeviewComponent] });
2080
- SACBootstrap3TreeviewModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SACBootstrap3TreeviewModule, imports: [[CommonModule, SACBootstrap3TooltipModule, SACBootstrap3LayoutModule, SACBootstrap3ContextmenuModule]] });
2045
+ SACBootstrap3TreeviewModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SACBootstrap3TreeviewModule, declarations: [SacTreeviewComponent], imports: [CommonModule,
2046
+ SACBootstrap3TooltipModule,
2047
+ SACBootstrap3LayoutModule,
2048
+ SACBootstrap3ContextmenuModule,
2049
+ SACCommonUtliltiesModule], exports: [SacTreeviewComponent] });
2050
+ SACBootstrap3TreeviewModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SACBootstrap3TreeviewModule, imports: [[
2051
+ CommonModule,
2052
+ SACBootstrap3TooltipModule,
2053
+ SACBootstrap3LayoutModule,
2054
+ SACBootstrap3ContextmenuModule,
2055
+ SACCommonUtliltiesModule,
2056
+ ]] });
2081
2057
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SACBootstrap3TreeviewModule, decorators: [{
2082
2058
  type: NgModule,
2083
2059
  args: [{
2084
2060
  declarations: [SacTreeviewComponent],
2085
- imports: [CommonModule, SACBootstrap3TooltipModule, SACBootstrap3LayoutModule, SACBootstrap3ContextmenuModule],
2061
+ imports: [
2062
+ CommonModule,
2063
+ SACBootstrap3TooltipModule,
2064
+ SACBootstrap3LayoutModule,
2065
+ SACBootstrap3ContextmenuModule,
2066
+ SACCommonUtliltiesModule,
2067
+ ],
2086
2068
  exports: [SacTreeviewComponent],
2087
2069
  }]
2088
2070
  }] });
@@ -2124,7 +2106,7 @@ SacDropzoneMultipleComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12
2124
2106
  multi: true,
2125
2107
  useExisting: forwardRef(() => SacDropzoneMultipleComponent),
2126
2108
  },
2127
- ], usesInheritance: true, ngImport: i0, template: "<div\n id=\"{{ name }}\"\n class=\"row form-group\"\n [class.has-error]=\"invalid && (dirty || touched)\"\n [ngClass]=\"componentHeight | toLabelHeight\">\n <label\n *ngIf=\"disablelabel === false && !isAdaptiveLabel\"\n id=\"{{ name }}label\"\n for=\"{{ name }}_uploadinput\"\n class=\"col-xs-12 control-label\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'sr-only']\"\n [class.required]=\"isrequired\">\n <span class=\"text\">{{ label }}</span>\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [class]=\"HelptextTooltipIcon\"\n style=\"margin-left: 5px\">\n </span>\n </sac-tooltip>\n </label>\n <div\n class=\"col-xs-12\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\n [style.display]=\"helptextmode === 'tooltip' && helptext && disablelabel ? 'flex' : null\">\n <div [style.flex-grow]=\"helptextmode === 'tooltip' && helptext && disablelabel ? 1 : null\">\n <div\n class=\"img-rounded dropzone control-label\"\n (drop)=\"dropHandler($event)\"\n (dragover)=\"onDragOver($event)\"\n (dragleave)=\"onDragLeave($event)\"\n [class.active]=\"active\"\n [style.min-height]=\"uploadheight\"\n [class.is-invalid]=\"invalid && (dirty || touched)\">\n <div\n class=\"content\"\n *ngIf=\"uploads.length === 0\">\n <div>\n <div [class.is-invalid]=\"isinlineerrorenabled && invalid && (dirty || touched)\">\n <ng-content></ng-content>\n </div>\n </div>\n </div>\n <div *ngIf=\"uploads.length > 0\">\n <div>\n <div\n class=\"dropzone-uploadstates\"\n [class.mt-1]=\"i > 0\"\n *ngFor=\"let file of uploads; let i = index\">\n <div\n class=\"input-group upload-component upload-component-multiple\"\n [class.input-group-sm]=\"componentHeight === ControlHeight.Small\"\n [class.input-group-lg]=\"componentHeight === ControlHeight.Large\">\n <div class=\"form-control upload-progress border-secondary\">\n <div class=\"progress\">\n <div\n class=\"progress-bar\"\n [class.progress-bar-success]=\"file.progress === 100\"\n role=\"progressbar\"\n [attr.aria-valuenow]=\"file.progress\"\n aria-valuemin=\"0\"\n aria-valuemax=\"100\"\n [style.width.%]=\"file.progress\">\n <span class=\"progress-text\">{{ file.name }}</span>\n </div>\n </div>\n </div>\n <div class=\"input-group-btn\">\n <!-- image-preview-clear button -->\n <a\n class=\"btn\"\n (click)=\"cancel(file.uploadId)\"\n [class.btn-default]=\"!(invalid && (dirty || touched))\"\n [class.btn-danger]=\"invalid && (dirty || touched)\">\n <span [class]=\"IconDelete\"></span>\n </a>\n </div>\n </div>\n </div>\n </div>\n </div>\n <input\n #files\n multiple\n id=\"{{ name }}_uploadinput\"\n type=\"file\"\n class=\"custom-file-input\"\n (click)=\"files.value = ''\"\n (uploadxState)=\"onUpload($event)\"\n [disabled]=\"HasQueueItem()\" />\n </div>\n <small\n *ngIf=\"helptextmode === 'text' && helptext\"\n class=\"help-block\">\n {{ helptext }}\n </small>\n <div\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\"\n class=\"help-block help-block-error\">\n {{ GetErrorMessage() | async }}\n </div>\n </div>\n\n <div\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\n class=\"form-control-static\"\n style=\"margin-left: 5px\">\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [class]=\"HelptextTooltipIcon\"\n style=\"margin-left: 5px; margin-right: 5px\">\n </span>\n </sac-tooltip>\n </div>\n </div>\n</div>\n", styles: [".upload-component .upload-input{position:relative}.upload-component .custom-file>i{margin-right:15px}.upload-component .custom-file .custom-file-input{inset:0;position:absolute;overflow:hidden;z-index:2;width:100%;margin:0;display:inline-block;opacity:0}.upload-component.upload-multiple .upload-progress .progress{border-top-right-radius:0;border-bottom-right-radius:0}.upload-component.upload-single .upload-progress .progress{border-radius:0}.upload-component .upload-progress{padding:0}.upload-component .upload-progress .progress{height:100%}.upload-component .upload-progress .progress .progress-text{position:absolute;left:0;right:0;top:50%;transform:translateY(-50%);display:table-cell;line-height:34px;height:34px;color:#000}.dropzone{min-height:120px;width:100%;text-align:center;border-style:dashed;border-width:2px;padding-top:50px;padding-bottom:50px;position:relative}.dropzone.active{background-color:#add8e6}.dropzone .progress{border-radius:0}.dropzone .progress .progress-bar{display:flex;justify-content:center;text-align:center;flex-direction:column;border-top-right-radius:0;border-bottom-right-radius:0}.dropzone .progress .progress-bar .progress-text{position:absolute;left:0;right:0;top:50%;transform:translateY(-50%);display:table-cell;line-height:34px;height:34px;color:#000}.dropzone input[type=file]{position:absolute;inset:0;opacity:0;width:100%}.dropzone .dropzone-uploadstates{max-width:450px;margin-left:auto;margin-right:auto;margin-top:6px;width:80%}\n"], components: [{ type: SacTooltipComponent, selector: "sac-tooltip" }], directives: [{ type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], pipes: { "toLabelHeight": SacToLabelHeightPipe, "toLabelWidthCss": SacToLabelWidthCssPipe, "toControlWidthCss": SacToControlWidthCssPipe, "async": i3.AsyncPipe } });
2109
+ ], usesInheritance: true, ngImport: i0, template: "<div\n id=\"{{ name }}\"\n class=\"row form-group\"\n [class.has-error]=\"invalid && (dirty || touched)\"\n [ngClass]=\"componentHeight | toLabelHeight\"\n [attr.data-e2e-key]=\"name | testingattribute : e2eidentifier\">\n <label\n *ngIf=\"disablelabel === false && !isAdaptiveLabel\"\n id=\"{{ name }}label\"\n for=\"{{ name }}_uploadinput\"\n class=\"col-xs-12 control-label\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'sr-only']\"\n [class.required]=\"isrequired\">\n <span class=\"text\">{{ label }}</span>\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [class]=\"HelptextTooltipIcon\"\n style=\"margin-left: 5px\">\n </span>\n </sac-tooltip>\n </label>\n <div\n class=\"col-xs-12\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\n [style.display]=\"helptextmode === 'tooltip' && helptext && disablelabel ? 'flex' : null\">\n <div [style.flex-grow]=\"helptextmode === 'tooltip' && helptext && disablelabel ? 1 : null\">\n <div\n class=\"img-rounded dropzone control-label\"\n (drop)=\"dropHandler($event)\"\n (dragover)=\"onDragOver($event)\"\n (dragleave)=\"onDragLeave($event)\"\n [class.active]=\"active\"\n [style.min-height]=\"uploadheight\"\n [class.is-invalid]=\"invalid && (dirty || touched)\">\n <div\n class=\"content\"\n *ngIf=\"uploads.length === 0\">\n <div>\n <div [class.is-invalid]=\"isinlineerrorenabled && invalid && (dirty || touched)\">\n <ng-content></ng-content>\n </div>\n </div>\n </div>\n <div *ngIf=\"uploads.length > 0\">\n <div>\n <div\n class=\"dropzone-uploadstates\"\n [class.mt-1]=\"i > 0\"\n *ngFor=\"let file of uploads; let i = index\">\n <div\n class=\"input-group upload-component upload-component-multiple\"\n [class.input-group-sm]=\"componentHeight === ControlHeight.Small\"\n [class.input-group-lg]=\"componentHeight === ControlHeight.Large\">\n <div class=\"form-control upload-progress border-secondary\">\n <div class=\"progress\">\n <div\n class=\"progress-bar\"\n [class.progress-bar-success]=\"file.progress === 100\"\n role=\"progressbar\"\n [attr.aria-valuenow]=\"file.progress\"\n aria-valuemin=\"0\"\n aria-valuemax=\"100\"\n [style.width.%]=\"file.progress\">\n <span class=\"progress-text\">{{ file.name }}</span>\n </div>\n </div>\n </div>\n <div class=\"input-group-btn\">\n <!-- image-preview-clear button -->\n <a\n class=\"btn\"\n (click)=\"cancel(file.uploadId)\"\n [class.btn-default]=\"!(invalid && (dirty || touched))\"\n [class.btn-danger]=\"invalid && (dirty || touched)\">\n <span [class]=\"IconDelete\"></span>\n </a>\n </div>\n </div>\n </div>\n </div>\n </div>\n <input\n #files\n multiple\n id=\"{{ name }}_uploadinput\"\n type=\"file\"\n class=\"custom-file-input\"\n (click)=\"files.value = ''\"\n (uploadxState)=\"onUpload($event)\"\n [disabled]=\"HasQueueItem()\" />\n </div>\n <small\n *ngIf=\"helptextmode === 'text' && helptext\"\n class=\"help-block\">\n {{ helptext }}\n </small>\n <div\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\"\n class=\"help-block help-block-error\">\n {{ GetErrorMessage() | async }}\n </div>\n </div>\n\n <div\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\n class=\"form-control-static\"\n style=\"margin-left: 5px\">\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [class]=\"HelptextTooltipIcon\"\n style=\"margin-left: 5px; margin-right: 5px\">\n </span>\n </sac-tooltip>\n </div>\n </div>\n</div>\n", styles: [".upload-component .upload-input{position:relative}.upload-component .custom-file>i{margin-right:15px}.upload-component .custom-file .custom-file-input{inset:0;position:absolute;overflow:hidden;z-index:2;width:100%;margin:0;display:inline-block;opacity:0}.upload-component.upload-multiple .upload-progress .progress{border-top-right-radius:0;border-bottom-right-radius:0}.upload-component.upload-single .upload-progress .progress{border-radius:0}.upload-component .upload-progress{padding:0}.upload-component .upload-progress .progress{height:100%}.upload-component .upload-progress .progress .progress-text{position:absolute;left:0;right:0;top:50%;transform:translateY(-50%);display:table-cell;line-height:34px;height:34px;color:#000}.dropzone{min-height:120px;width:100%;text-align:center;border-style:dashed;border-width:2px;padding-top:50px;padding-bottom:50px;position:relative}.dropzone.active{background-color:#add8e6}.dropzone .progress{border-radius:0}.dropzone .progress .progress-bar{display:flex;justify-content:center;text-align:center;flex-direction:column;border-top-right-radius:0;border-bottom-right-radius:0}.dropzone .progress .progress-bar .progress-text{position:absolute;left:0;right:0;top:50%;transform:translateY(-50%);display:table-cell;line-height:34px;height:34px;color:#000}.dropzone input[type=file]{position:absolute;inset:0;opacity:0;width:100%}.dropzone .dropzone-uploadstates{max-width:450px;margin-left:auto;margin-right:auto;margin-top:6px;width:80%}\n"], components: [{ type: SacTooltipComponent, selector: "sac-tooltip" }], directives: [{ type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], pipes: { "toLabelHeight": SacToLabelHeightPipe, "testingattribute": i5.SacTestingAttributePipe, "toLabelWidthCss": SacToLabelWidthCssPipe, "toControlWidthCss": SacToControlWidthCssPipe, "async": i3.AsyncPipe } });
2128
2110
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SacDropzoneMultipleComponent, decorators: [{
2129
2111
  type: Component,
2130
2112
  args: [{ selector: 'sac-dropzonemultiple', providers: [
@@ -2138,7 +2120,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImpor
2138
2120
  multi: true,
2139
2121
  useExisting: forwardRef(() => SacDropzoneMultipleComponent),
2140
2122
  },
2141
- ], template: "<div\n id=\"{{ name }}\"\n class=\"row form-group\"\n [class.has-error]=\"invalid && (dirty || touched)\"\n [ngClass]=\"componentHeight | toLabelHeight\">\n <label\n *ngIf=\"disablelabel === false && !isAdaptiveLabel\"\n id=\"{{ name }}label\"\n for=\"{{ name }}_uploadinput\"\n class=\"col-xs-12 control-label\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'sr-only']\"\n [class.required]=\"isrequired\">\n <span class=\"text\">{{ label }}</span>\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [class]=\"HelptextTooltipIcon\"\n style=\"margin-left: 5px\">\n </span>\n </sac-tooltip>\n </label>\n <div\n class=\"col-xs-12\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\n [style.display]=\"helptextmode === 'tooltip' && helptext && disablelabel ? 'flex' : null\">\n <div [style.flex-grow]=\"helptextmode === 'tooltip' && helptext && disablelabel ? 1 : null\">\n <div\n class=\"img-rounded dropzone control-label\"\n (drop)=\"dropHandler($event)\"\n (dragover)=\"onDragOver($event)\"\n (dragleave)=\"onDragLeave($event)\"\n [class.active]=\"active\"\n [style.min-height]=\"uploadheight\"\n [class.is-invalid]=\"invalid && (dirty || touched)\">\n <div\n class=\"content\"\n *ngIf=\"uploads.length === 0\">\n <div>\n <div [class.is-invalid]=\"isinlineerrorenabled && invalid && (dirty || touched)\">\n <ng-content></ng-content>\n </div>\n </div>\n </div>\n <div *ngIf=\"uploads.length > 0\">\n <div>\n <div\n class=\"dropzone-uploadstates\"\n [class.mt-1]=\"i > 0\"\n *ngFor=\"let file of uploads; let i = index\">\n <div\n class=\"input-group upload-component upload-component-multiple\"\n [class.input-group-sm]=\"componentHeight === ControlHeight.Small\"\n [class.input-group-lg]=\"componentHeight === ControlHeight.Large\">\n <div class=\"form-control upload-progress border-secondary\">\n <div class=\"progress\">\n <div\n class=\"progress-bar\"\n [class.progress-bar-success]=\"file.progress === 100\"\n role=\"progressbar\"\n [attr.aria-valuenow]=\"file.progress\"\n aria-valuemin=\"0\"\n aria-valuemax=\"100\"\n [style.width.%]=\"file.progress\">\n <span class=\"progress-text\">{{ file.name }}</span>\n </div>\n </div>\n </div>\n <div class=\"input-group-btn\">\n <!-- image-preview-clear button -->\n <a\n class=\"btn\"\n (click)=\"cancel(file.uploadId)\"\n [class.btn-default]=\"!(invalid && (dirty || touched))\"\n [class.btn-danger]=\"invalid && (dirty || touched)\">\n <span [class]=\"IconDelete\"></span>\n </a>\n </div>\n </div>\n </div>\n </div>\n </div>\n <input\n #files\n multiple\n id=\"{{ name }}_uploadinput\"\n type=\"file\"\n class=\"custom-file-input\"\n (click)=\"files.value = ''\"\n (uploadxState)=\"onUpload($event)\"\n [disabled]=\"HasQueueItem()\" />\n </div>\n <small\n *ngIf=\"helptextmode === 'text' && helptext\"\n class=\"help-block\">\n {{ helptext }}\n </small>\n <div\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\"\n class=\"help-block help-block-error\">\n {{ GetErrorMessage() | async }}\n </div>\n </div>\n\n <div\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\n class=\"form-control-static\"\n style=\"margin-left: 5px\">\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [class]=\"HelptextTooltipIcon\"\n style=\"margin-left: 5px; margin-right: 5px\">\n </span>\n </sac-tooltip>\n </div>\n </div>\n</div>\n", styles: [".upload-component .upload-input{position:relative}.upload-component .custom-file>i{margin-right:15px}.upload-component .custom-file .custom-file-input{inset:0;position:absolute;overflow:hidden;z-index:2;width:100%;margin:0;display:inline-block;opacity:0}.upload-component.upload-multiple .upload-progress .progress{border-top-right-radius:0;border-bottom-right-radius:0}.upload-component.upload-single .upload-progress .progress{border-radius:0}.upload-component .upload-progress{padding:0}.upload-component .upload-progress .progress{height:100%}.upload-component .upload-progress .progress .progress-text{position:absolute;left:0;right:0;top:50%;transform:translateY(-50%);display:table-cell;line-height:34px;height:34px;color:#000}.dropzone{min-height:120px;width:100%;text-align:center;border-style:dashed;border-width:2px;padding-top:50px;padding-bottom:50px;position:relative}.dropzone.active{background-color:#add8e6}.dropzone .progress{border-radius:0}.dropzone .progress .progress-bar{display:flex;justify-content:center;text-align:center;flex-direction:column;border-top-right-radius:0;border-bottom-right-radius:0}.dropzone .progress .progress-bar .progress-text{position:absolute;left:0;right:0;top:50%;transform:translateY(-50%);display:table-cell;line-height:34px;height:34px;color:#000}.dropzone input[type=file]{position:absolute;inset:0;opacity:0;width:100%}.dropzone .dropzone-uploadstates{max-width:450px;margin-left:auto;margin-right:auto;margin-top:6px;width:80%}\n"] }]
2123
+ ], template: "<div\n id=\"{{ name }}\"\n class=\"row form-group\"\n [class.has-error]=\"invalid && (dirty || touched)\"\n [ngClass]=\"componentHeight | toLabelHeight\"\n [attr.data-e2e-key]=\"name | testingattribute : e2eidentifier\">\n <label\n *ngIf=\"disablelabel === false && !isAdaptiveLabel\"\n id=\"{{ name }}label\"\n for=\"{{ name }}_uploadinput\"\n class=\"col-xs-12 control-label\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'sr-only']\"\n [class.required]=\"isrequired\">\n <span class=\"text\">{{ label }}</span>\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [class]=\"HelptextTooltipIcon\"\n style=\"margin-left: 5px\">\n </span>\n </sac-tooltip>\n </label>\n <div\n class=\"col-xs-12\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\n [style.display]=\"helptextmode === 'tooltip' && helptext && disablelabel ? 'flex' : null\">\n <div [style.flex-grow]=\"helptextmode === 'tooltip' && helptext && disablelabel ? 1 : null\">\n <div\n class=\"img-rounded dropzone control-label\"\n (drop)=\"dropHandler($event)\"\n (dragover)=\"onDragOver($event)\"\n (dragleave)=\"onDragLeave($event)\"\n [class.active]=\"active\"\n [style.min-height]=\"uploadheight\"\n [class.is-invalid]=\"invalid && (dirty || touched)\">\n <div\n class=\"content\"\n *ngIf=\"uploads.length === 0\">\n <div>\n <div [class.is-invalid]=\"isinlineerrorenabled && invalid && (dirty || touched)\">\n <ng-content></ng-content>\n </div>\n </div>\n </div>\n <div *ngIf=\"uploads.length > 0\">\n <div>\n <div\n class=\"dropzone-uploadstates\"\n [class.mt-1]=\"i > 0\"\n *ngFor=\"let file of uploads; let i = index\">\n <div\n class=\"input-group upload-component upload-component-multiple\"\n [class.input-group-sm]=\"componentHeight === ControlHeight.Small\"\n [class.input-group-lg]=\"componentHeight === ControlHeight.Large\">\n <div class=\"form-control upload-progress border-secondary\">\n <div class=\"progress\">\n <div\n class=\"progress-bar\"\n [class.progress-bar-success]=\"file.progress === 100\"\n role=\"progressbar\"\n [attr.aria-valuenow]=\"file.progress\"\n aria-valuemin=\"0\"\n aria-valuemax=\"100\"\n [style.width.%]=\"file.progress\">\n <span class=\"progress-text\">{{ file.name }}</span>\n </div>\n </div>\n </div>\n <div class=\"input-group-btn\">\n <!-- image-preview-clear button -->\n <a\n class=\"btn\"\n (click)=\"cancel(file.uploadId)\"\n [class.btn-default]=\"!(invalid && (dirty || touched))\"\n [class.btn-danger]=\"invalid && (dirty || touched)\">\n <span [class]=\"IconDelete\"></span>\n </a>\n </div>\n </div>\n </div>\n </div>\n </div>\n <input\n #files\n multiple\n id=\"{{ name }}_uploadinput\"\n type=\"file\"\n class=\"custom-file-input\"\n (click)=\"files.value = ''\"\n (uploadxState)=\"onUpload($event)\"\n [disabled]=\"HasQueueItem()\" />\n </div>\n <small\n *ngIf=\"helptextmode === 'text' && helptext\"\n class=\"help-block\">\n {{ helptext }}\n </small>\n <div\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\"\n class=\"help-block help-block-error\">\n {{ GetErrorMessage() | async }}\n </div>\n </div>\n\n <div\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\n class=\"form-control-static\"\n style=\"margin-left: 5px\">\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [class]=\"HelptextTooltipIcon\"\n style=\"margin-left: 5px; margin-right: 5px\">\n </span>\n </sac-tooltip>\n </div>\n </div>\n</div>\n", styles: [".upload-component .upload-input{position:relative}.upload-component .custom-file>i{margin-right:15px}.upload-component .custom-file .custom-file-input{inset:0;position:absolute;overflow:hidden;z-index:2;width:100%;margin:0;display:inline-block;opacity:0}.upload-component.upload-multiple .upload-progress .progress{border-top-right-radius:0;border-bottom-right-radius:0}.upload-component.upload-single .upload-progress .progress{border-radius:0}.upload-component .upload-progress{padding:0}.upload-component .upload-progress .progress{height:100%}.upload-component .upload-progress .progress .progress-text{position:absolute;left:0;right:0;top:50%;transform:translateY(-50%);display:table-cell;line-height:34px;height:34px;color:#000}.dropzone{min-height:120px;width:100%;text-align:center;border-style:dashed;border-width:2px;padding-top:50px;padding-bottom:50px;position:relative}.dropzone.active{background-color:#add8e6}.dropzone .progress{border-radius:0}.dropzone .progress .progress-bar{display:flex;justify-content:center;text-align:center;flex-direction:column;border-top-right-radius:0;border-bottom-right-radius:0}.dropzone .progress .progress-bar .progress-text{position:absolute;left:0;right:0;top:50%;transform:translateY(-50%);display:table-cell;line-height:34px;height:34px;color:#000}.dropzone input[type=file]{position:absolute;inset:0;opacity:0;width:100%}.dropzone .dropzone-uploadstates{max-width:450px;margin-left:auto;margin-right:auto;margin-top:6px;width:80%}\n"] }]
2142
2124
  }], ctorParameters: function () { return [{ type: SacFormLayoutDirective, decorators: [{
2143
2125
  type: Host
2144
2126
  }, {
@@ -2182,7 +2164,7 @@ SacDropzoneSingleComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0
2182
2164
  multi: true,
2183
2165
  useExisting: forwardRef(() => SacDropzoneSingleComponent),
2184
2166
  },
2185
- ], usesInheritance: true, ngImport: i0, template: "<div\n id=\"{{ name }}\"\n class=\"row form-group\"\n [class.has-error]=\"invalid && (dirty || touched)\"\n [ngClass]=\"componentHeight | toLabelHeight\">\n <label\n *ngIf=\"disablelabel === false && !isAdaptiveLabel\"\n id=\"{{ name }}label\"\n for=\"{{ name }}_uploadinput\"\n class=\"col-xs-12 control-label\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'sr-only']\"\n [class.required]=\"isrequired\">\n <span class=\"text\">{{ label }}</span>\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [class]=\"HelptextTooltipIcon\"\n style=\"margin-left: 5px\">\n </span>\n </sac-tooltip>\n </label>\n <div\n class=\"col-xs-12\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\n [style.display]=\"helptextmode === 'tooltip' && helptext && disablelabel ? 'flex' : null\">\n <div [style.flex-grow]=\"helptextmode === 'tooltip' && helptext && disablelabel ? 1 : null\">\n <div\n class=\"img-rounded dropzone control-label\"\n (drop)=\"dropHandler($event)\"\n (dragover)=\"onDragOver($event)\"\n (dragleave)=\"onDragLeave($event)\"\n [style.min-height]=\"uploadheight\"\n [class.active]=\"active\"\n [class.is-invalid]=\"invalid && (dirty || touched)\">\n <div\n class=\"content\"\n *ngIf=\"uploads.length === 0\">\n <div>\n <div [class.is-invalid]=\"isinlineerrorenabled && invalid && (dirty || touched)\">\n <ng-content></ng-content>\n </div>\n </div>\n </div>\n <div *ngIf=\"uploads.length > 0\">\n <div>\n <div\n class=\"dropzone-uploadstates\"\n *ngFor=\"let file of uploads\">\n <div\n class=\"input-group upload-component upload-component-multiple\"\n [class.input-group-sm]=\"componentHeight === ControlHeight.Small\"\n [class.input-group-lg]=\"componentHeight === ControlHeight.Large\">\n <div class=\"form-control upload-progress\">\n <div class=\"progress\">\n <div\n class=\"progress-bar\"\n [class.progress-bar-success]=\"file.progress === 100\"\n role=\"progressbar\"\n [attr.aria-valuenow]=\"file.progress\"\n aria-valuemin=\"0\"\n aria-valuemax=\"100\"\n [style.width.%]=\"file.progress\">\n <span class=\"progress-text\">{{ file.name }}</span>\n </div>\n </div>\n </div>\n <div class=\"input-group-btn\">\n <!-- image-preview-clear button -->\n <a\n class=\"btn\"\n (click)=\"cancel(file.uploadId)\"\n [class.btn-default]=\"!(invalid && (dirty || touched))\"\n [class.btn-danger]=\"invalid && (dirty || touched)\">\n <span [class]=\"IconDelete\"></span>\n </a>\n </div>\n </div>\n </div>\n </div>\n </div>\n <input\n #files\n id=\"{{ name }}_uploadinput\"\n type=\"file\"\n class=\"custom-file-input\"\n (click)=\"files.value = ''\"\n (uploadxState)=\"onUpload($event)\"\n [disabled]=\"HasQueueItem()\" />\n </div>\n <small\n *ngIf=\"helptextmode === 'text' && helptext\"\n class=\"help-block\">\n {{ helptext }}\n </small>\n <div\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\"\n class=\"help-block help-block-error\">\n {{ GetErrorMessage() | async }}\n </div>\n </div>\n\n <div\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\n class=\"form-control-static\"\n style=\"margin-left: 5px\">\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [class]=\"HelptextTooltipIcon\"\n style=\"margin-left: 5px; margin-right: 5px\">\n </span>\n </sac-tooltip>\n </div>\n </div>\n</div>\n", styles: [".upload-component .upload-input{position:relative}.upload-component .custom-file>i{margin-right:15px}.upload-component .custom-file .custom-file-input{inset:0;position:absolute;overflow:hidden;z-index:2;width:100%;margin:0;display:inline-block;opacity:0}.upload-component.upload-multiple .upload-progress .progress{border-top-right-radius:0;border-bottom-right-radius:0}.upload-component.upload-single .upload-progress .progress{border-radius:0}.upload-component .upload-progress{padding:0}.upload-component .upload-progress .progress{height:100%}.upload-component .upload-progress .progress .progress-text{position:absolute;left:0;right:0;top:50%;transform:translateY(-50%);display:table-cell;line-height:34px;height:34px;color:#000}.dropzone{min-height:120px;width:100%;text-align:center;border-style:dashed;border-width:2px;padding-top:50px;padding-bottom:50px;position:relative}.dropzone.active{background-color:#add8e6}.dropzone .progress{border-radius:0}.dropzone .progress .progress-bar{display:flex;justify-content:center;text-align:center;flex-direction:column;border-top-right-radius:0;border-bottom-right-radius:0}.dropzone .progress .progress-bar .progress-text{position:absolute;left:0;right:0;top:50%;transform:translateY(-50%);display:table-cell;line-height:34px;height:34px;color:#000}.dropzone input[type=file]{position:absolute;inset:0;opacity:0;width:100%}.dropzone .dropzone-uploadstates{max-width:450px;margin-left:auto;margin-right:auto;margin-top:6px;width:80%}\n"], components: [{ type: SacTooltipComponent, selector: "sac-tooltip" }], directives: [{ type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], pipes: { "toLabelHeight": SacToLabelHeightPipe, "toLabelWidthCss": SacToLabelWidthCssPipe, "toControlWidthCss": SacToControlWidthCssPipe, "async": i3.AsyncPipe } });
2167
+ ], usesInheritance: true, ngImport: i0, template: "<div\n id=\"{{ name }}\"\n class=\"row form-group\"\n [class.has-error]=\"invalid && (dirty || touched)\"\n [ngClass]=\"componentHeight | toLabelHeight\"\n [attr.data-e2e-key]=\"name | testingattribute : e2eidentifier\">\n <label\n *ngIf=\"disablelabel === false && !isAdaptiveLabel\"\n id=\"{{ name }}label\"\n for=\"{{ name }}_uploadinput\"\n class=\"col-xs-12 control-label\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'sr-only']\"\n [class.required]=\"isrequired\">\n <span class=\"text\">{{ label }}</span>\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [class]=\"HelptextTooltipIcon\"\n style=\"margin-left: 5px\">\n </span>\n </sac-tooltip>\n </label>\n <div\n class=\"col-xs-12\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\n [style.display]=\"helptextmode === 'tooltip' && helptext && disablelabel ? 'flex' : null\">\n <div [style.flex-grow]=\"helptextmode === 'tooltip' && helptext && disablelabel ? 1 : null\">\n <div\n class=\"img-rounded dropzone control-label\"\n (drop)=\"dropHandler($event)\"\n (dragover)=\"onDragOver($event)\"\n (dragleave)=\"onDragLeave($event)\"\n [style.min-height]=\"uploadheight\"\n [class.active]=\"active\"\n [class.is-invalid]=\"invalid && (dirty || touched)\">\n <div\n class=\"content\"\n *ngIf=\"uploads.length === 0\">\n <div>\n <div [class.is-invalid]=\"isinlineerrorenabled && invalid && (dirty || touched)\">\n <ng-content></ng-content>\n </div>\n </div>\n </div>\n <div *ngIf=\"uploads.length > 0\">\n <div>\n <div\n class=\"dropzone-uploadstates\"\n *ngFor=\"let file of uploads\">\n <div\n class=\"input-group upload-component upload-component-multiple\"\n [class.input-group-sm]=\"componentHeight === ControlHeight.Small\"\n [class.input-group-lg]=\"componentHeight === ControlHeight.Large\">\n <div class=\"form-control upload-progress\">\n <div class=\"progress\">\n <div\n class=\"progress-bar\"\n [class.progress-bar-success]=\"file.progress === 100\"\n role=\"progressbar\"\n [attr.aria-valuenow]=\"file.progress\"\n aria-valuemin=\"0\"\n aria-valuemax=\"100\"\n [style.width.%]=\"file.progress\">\n <span class=\"progress-text\">{{ file.name }}</span>\n </div>\n </div>\n </div>\n <div class=\"input-group-btn\">\n <!-- image-preview-clear button -->\n <a\n class=\"btn\"\n (click)=\"cancel(file.uploadId)\"\n [class.btn-default]=\"!(invalid && (dirty || touched))\"\n [class.btn-danger]=\"invalid && (dirty || touched)\">\n <span [class]=\"IconDelete\"></span>\n </a>\n </div>\n </div>\n </div>\n </div>\n </div>\n <input\n #files\n id=\"{{ name }}_uploadinput\"\n type=\"file\"\n class=\"custom-file-input\"\n (click)=\"files.value = ''\"\n (uploadxState)=\"onUpload($event)\"\n [disabled]=\"HasQueueItem()\" />\n </div>\n <small\n *ngIf=\"helptextmode === 'text' && helptext\"\n class=\"help-block\">\n {{ helptext }}\n </small>\n <div\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\"\n class=\"help-block help-block-error\">\n {{ GetErrorMessage() | async }}\n </div>\n </div>\n\n <div\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\n class=\"form-control-static\"\n style=\"margin-left: 5px\">\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [class]=\"HelptextTooltipIcon\"\n style=\"margin-left: 5px; margin-right: 5px\">\n </span>\n </sac-tooltip>\n </div>\n </div>\n</div>\n", styles: [".upload-component .upload-input{position:relative}.upload-component .custom-file>i{margin-right:15px}.upload-component .custom-file .custom-file-input{inset:0;position:absolute;overflow:hidden;z-index:2;width:100%;margin:0;display:inline-block;opacity:0}.upload-component.upload-multiple .upload-progress .progress{border-top-right-radius:0;border-bottom-right-radius:0}.upload-component.upload-single .upload-progress .progress{border-radius:0}.upload-component .upload-progress{padding:0}.upload-component .upload-progress .progress{height:100%}.upload-component .upload-progress .progress .progress-text{position:absolute;left:0;right:0;top:50%;transform:translateY(-50%);display:table-cell;line-height:34px;height:34px;color:#000}.dropzone{min-height:120px;width:100%;text-align:center;border-style:dashed;border-width:2px;padding-top:50px;padding-bottom:50px;position:relative}.dropzone.active{background-color:#add8e6}.dropzone .progress{border-radius:0}.dropzone .progress .progress-bar{display:flex;justify-content:center;text-align:center;flex-direction:column;border-top-right-radius:0;border-bottom-right-radius:0}.dropzone .progress .progress-bar .progress-text{position:absolute;left:0;right:0;top:50%;transform:translateY(-50%);display:table-cell;line-height:34px;height:34px;color:#000}.dropzone input[type=file]{position:absolute;inset:0;opacity:0;width:100%}.dropzone .dropzone-uploadstates{max-width:450px;margin-left:auto;margin-right:auto;margin-top:6px;width:80%}\n"], components: [{ type: SacTooltipComponent, selector: "sac-tooltip" }], directives: [{ type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], pipes: { "toLabelHeight": SacToLabelHeightPipe, "testingattribute": i5.SacTestingAttributePipe, "toLabelWidthCss": SacToLabelWidthCssPipe, "toControlWidthCss": SacToControlWidthCssPipe, "async": i3.AsyncPipe } });
2186
2168
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SacDropzoneSingleComponent, decorators: [{
2187
2169
  type: Component,
2188
2170
  args: [{ selector: 'sac-dropzonesingle', providers: [
@@ -2196,7 +2178,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImpor
2196
2178
  multi: true,
2197
2179
  useExisting: forwardRef(() => SacDropzoneSingleComponent),
2198
2180
  },
2199
- ], template: "<div\n id=\"{{ name }}\"\n class=\"row form-group\"\n [class.has-error]=\"invalid && (dirty || touched)\"\n [ngClass]=\"componentHeight | toLabelHeight\">\n <label\n *ngIf=\"disablelabel === false && !isAdaptiveLabel\"\n id=\"{{ name }}label\"\n for=\"{{ name }}_uploadinput\"\n class=\"col-xs-12 control-label\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'sr-only']\"\n [class.required]=\"isrequired\">\n <span class=\"text\">{{ label }}</span>\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [class]=\"HelptextTooltipIcon\"\n style=\"margin-left: 5px\">\n </span>\n </sac-tooltip>\n </label>\n <div\n class=\"col-xs-12\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\n [style.display]=\"helptextmode === 'tooltip' && helptext && disablelabel ? 'flex' : null\">\n <div [style.flex-grow]=\"helptextmode === 'tooltip' && helptext && disablelabel ? 1 : null\">\n <div\n class=\"img-rounded dropzone control-label\"\n (drop)=\"dropHandler($event)\"\n (dragover)=\"onDragOver($event)\"\n (dragleave)=\"onDragLeave($event)\"\n [style.min-height]=\"uploadheight\"\n [class.active]=\"active\"\n [class.is-invalid]=\"invalid && (dirty || touched)\">\n <div\n class=\"content\"\n *ngIf=\"uploads.length === 0\">\n <div>\n <div [class.is-invalid]=\"isinlineerrorenabled && invalid && (dirty || touched)\">\n <ng-content></ng-content>\n </div>\n </div>\n </div>\n <div *ngIf=\"uploads.length > 0\">\n <div>\n <div\n class=\"dropzone-uploadstates\"\n *ngFor=\"let file of uploads\">\n <div\n class=\"input-group upload-component upload-component-multiple\"\n [class.input-group-sm]=\"componentHeight === ControlHeight.Small\"\n [class.input-group-lg]=\"componentHeight === ControlHeight.Large\">\n <div class=\"form-control upload-progress\">\n <div class=\"progress\">\n <div\n class=\"progress-bar\"\n [class.progress-bar-success]=\"file.progress === 100\"\n role=\"progressbar\"\n [attr.aria-valuenow]=\"file.progress\"\n aria-valuemin=\"0\"\n aria-valuemax=\"100\"\n [style.width.%]=\"file.progress\">\n <span class=\"progress-text\">{{ file.name }}</span>\n </div>\n </div>\n </div>\n <div class=\"input-group-btn\">\n <!-- image-preview-clear button -->\n <a\n class=\"btn\"\n (click)=\"cancel(file.uploadId)\"\n [class.btn-default]=\"!(invalid && (dirty || touched))\"\n [class.btn-danger]=\"invalid && (dirty || touched)\">\n <span [class]=\"IconDelete\"></span>\n </a>\n </div>\n </div>\n </div>\n </div>\n </div>\n <input\n #files\n id=\"{{ name }}_uploadinput\"\n type=\"file\"\n class=\"custom-file-input\"\n (click)=\"files.value = ''\"\n (uploadxState)=\"onUpload($event)\"\n [disabled]=\"HasQueueItem()\" />\n </div>\n <small\n *ngIf=\"helptextmode === 'text' && helptext\"\n class=\"help-block\">\n {{ helptext }}\n </small>\n <div\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\"\n class=\"help-block help-block-error\">\n {{ GetErrorMessage() | async }}\n </div>\n </div>\n\n <div\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\n class=\"form-control-static\"\n style=\"margin-left: 5px\">\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [class]=\"HelptextTooltipIcon\"\n style=\"margin-left: 5px; margin-right: 5px\">\n </span>\n </sac-tooltip>\n </div>\n </div>\n</div>\n", styles: [".upload-component .upload-input{position:relative}.upload-component .custom-file>i{margin-right:15px}.upload-component .custom-file .custom-file-input{inset:0;position:absolute;overflow:hidden;z-index:2;width:100%;margin:0;display:inline-block;opacity:0}.upload-component.upload-multiple .upload-progress .progress{border-top-right-radius:0;border-bottom-right-radius:0}.upload-component.upload-single .upload-progress .progress{border-radius:0}.upload-component .upload-progress{padding:0}.upload-component .upload-progress .progress{height:100%}.upload-component .upload-progress .progress .progress-text{position:absolute;left:0;right:0;top:50%;transform:translateY(-50%);display:table-cell;line-height:34px;height:34px;color:#000}.dropzone{min-height:120px;width:100%;text-align:center;border-style:dashed;border-width:2px;padding-top:50px;padding-bottom:50px;position:relative}.dropzone.active{background-color:#add8e6}.dropzone .progress{border-radius:0}.dropzone .progress .progress-bar{display:flex;justify-content:center;text-align:center;flex-direction:column;border-top-right-radius:0;border-bottom-right-radius:0}.dropzone .progress .progress-bar .progress-text{position:absolute;left:0;right:0;top:50%;transform:translateY(-50%);display:table-cell;line-height:34px;height:34px;color:#000}.dropzone input[type=file]{position:absolute;inset:0;opacity:0;width:100%}.dropzone .dropzone-uploadstates{max-width:450px;margin-left:auto;margin-right:auto;margin-top:6px;width:80%}\n"] }]
2181
+ ], template: "<div\n id=\"{{ name }}\"\n class=\"row form-group\"\n [class.has-error]=\"invalid && (dirty || touched)\"\n [ngClass]=\"componentHeight | toLabelHeight\"\n [attr.data-e2e-key]=\"name | testingattribute : e2eidentifier\">\n <label\n *ngIf=\"disablelabel === false && !isAdaptiveLabel\"\n id=\"{{ name }}label\"\n for=\"{{ name }}_uploadinput\"\n class=\"col-xs-12 control-label\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'sr-only']\"\n [class.required]=\"isrequired\">\n <span class=\"text\">{{ label }}</span>\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [class]=\"HelptextTooltipIcon\"\n style=\"margin-left: 5px\">\n </span>\n </sac-tooltip>\n </label>\n <div\n class=\"col-xs-12\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\n [style.display]=\"helptextmode === 'tooltip' && helptext && disablelabel ? 'flex' : null\">\n <div [style.flex-grow]=\"helptextmode === 'tooltip' && helptext && disablelabel ? 1 : null\">\n <div\n class=\"img-rounded dropzone control-label\"\n (drop)=\"dropHandler($event)\"\n (dragover)=\"onDragOver($event)\"\n (dragleave)=\"onDragLeave($event)\"\n [style.min-height]=\"uploadheight\"\n [class.active]=\"active\"\n [class.is-invalid]=\"invalid && (dirty || touched)\">\n <div\n class=\"content\"\n *ngIf=\"uploads.length === 0\">\n <div>\n <div [class.is-invalid]=\"isinlineerrorenabled && invalid && (dirty || touched)\">\n <ng-content></ng-content>\n </div>\n </div>\n </div>\n <div *ngIf=\"uploads.length > 0\">\n <div>\n <div\n class=\"dropzone-uploadstates\"\n *ngFor=\"let file of uploads\">\n <div\n class=\"input-group upload-component upload-component-multiple\"\n [class.input-group-sm]=\"componentHeight === ControlHeight.Small\"\n [class.input-group-lg]=\"componentHeight === ControlHeight.Large\">\n <div class=\"form-control upload-progress\">\n <div class=\"progress\">\n <div\n class=\"progress-bar\"\n [class.progress-bar-success]=\"file.progress === 100\"\n role=\"progressbar\"\n [attr.aria-valuenow]=\"file.progress\"\n aria-valuemin=\"0\"\n aria-valuemax=\"100\"\n [style.width.%]=\"file.progress\">\n <span class=\"progress-text\">{{ file.name }}</span>\n </div>\n </div>\n </div>\n <div class=\"input-group-btn\">\n <!-- image-preview-clear button -->\n <a\n class=\"btn\"\n (click)=\"cancel(file.uploadId)\"\n [class.btn-default]=\"!(invalid && (dirty || touched))\"\n [class.btn-danger]=\"invalid && (dirty || touched)\">\n <span [class]=\"IconDelete\"></span>\n </a>\n </div>\n </div>\n </div>\n </div>\n </div>\n <input\n #files\n id=\"{{ name }}_uploadinput\"\n type=\"file\"\n class=\"custom-file-input\"\n (click)=\"files.value = ''\"\n (uploadxState)=\"onUpload($event)\"\n [disabled]=\"HasQueueItem()\" />\n </div>\n <small\n *ngIf=\"helptextmode === 'text' && helptext\"\n class=\"help-block\">\n {{ helptext }}\n </small>\n <div\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\"\n class=\"help-block help-block-error\">\n {{ GetErrorMessage() | async }}\n </div>\n </div>\n\n <div\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\n class=\"form-control-static\"\n style=\"margin-left: 5px\">\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [class]=\"HelptextTooltipIcon\"\n style=\"margin-left: 5px; margin-right: 5px\">\n </span>\n </sac-tooltip>\n </div>\n </div>\n</div>\n", styles: [".upload-component .upload-input{position:relative}.upload-component .custom-file>i{margin-right:15px}.upload-component .custom-file .custom-file-input{inset:0;position:absolute;overflow:hidden;z-index:2;width:100%;margin:0;display:inline-block;opacity:0}.upload-component.upload-multiple .upload-progress .progress{border-top-right-radius:0;border-bottom-right-radius:0}.upload-component.upload-single .upload-progress .progress{border-radius:0}.upload-component .upload-progress{padding:0}.upload-component .upload-progress .progress{height:100%}.upload-component .upload-progress .progress .progress-text{position:absolute;left:0;right:0;top:50%;transform:translateY(-50%);display:table-cell;line-height:34px;height:34px;color:#000}.dropzone{min-height:120px;width:100%;text-align:center;border-style:dashed;border-width:2px;padding-top:50px;padding-bottom:50px;position:relative}.dropzone.active{background-color:#add8e6}.dropzone .progress{border-radius:0}.dropzone .progress .progress-bar{display:flex;justify-content:center;text-align:center;flex-direction:column;border-top-right-radius:0;border-bottom-right-radius:0}.dropzone .progress .progress-bar .progress-text{position:absolute;left:0;right:0;top:50%;transform:translateY(-50%);display:table-cell;line-height:34px;height:34px;color:#000}.dropzone input[type=file]{position:absolute;inset:0;opacity:0;width:100%}.dropzone .dropzone-uploadstates{max-width:450px;margin-left:auto;margin-right:auto;margin-top:6px;width:80%}\n"] }]
2200
2182
  }], ctorParameters: function () { return [{ type: SacFormLayoutDirective, decorators: [{
2201
2183
  type: Host
2202
2184
  }, {
@@ -2229,7 +2211,7 @@ SacUploadComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", ver
2229
2211
  multi: true,
2230
2212
  useExisting: forwardRef(() => SacUploadComponent),
2231
2213
  },
2232
- ], usesInheritance: true, ngImport: i0, template: "<div\n id=\"{{ name }}\"\n class=\"row form-group\"\n [class.has-error]=\"invalid && (dirty || touched)\"\n [ngClass]=\"componentHeight | toLabelHeight\">\n <label\n *ngIf=\"disablelabel === false && !isAdaptiveLabel\"\n id=\"{{ name }}label\"\n for=\"{{ name }}_uploadinput\"\n class=\"col-xs-12 control-label\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'sr-only']\"\n [class.required]=\"isrequired\">\n <span class=\"text\">{{ label }}</span>\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [class]=\"HelptextTooltipIcon\"\n style=\"margin-left: 5px\">\n </span>\n </sac-tooltip>\n </label>\n <div\n class=\"col-xs-12\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\n [style.display]=\"helptextmode === 'tooltip' && helptext && disablelabel ? 'flex' : null\">\n <div [style.flex-grow]=\"helptextmode === 'tooltip' && helptext && disablelabel ? 1 : null\">\n <div\n class=\"input-group upload-component upload-single\"\n [class.input-group-sm]=\"componentHeight === ControlHeight.Small\"\n [class.input-group-lg]=\"componentHeight === ControlHeight.Large\">\n <div class=\"input-group-btn\">\n <!-- image-preview-input -->\n <div\n class=\"btn upload-input custom-file\"\n [class.disabled]=\"HasQueueItem()\"\n [class.btn-default]=\"!(invalid && (dirty || touched))\"\n [class.btn-danger]=\"invalid && (dirty || touched)\">\n <i [class]=\"IconBrowse\"></i>\n <span class=\"upload-browse\">{{ buttonbrowse ? buttonbrowse : (lngResourceService.GetString(validationKeyService.UploadButtonBrowse) | async) }}</span>\n <input\n id=\"{{ name }}_uploadinput\"\n type=\"file\"\n class=\"custom-file-input\"\n #files\n (click)=\"files.value = ''\"\n (uploadxState)=\"onUpload($event)\"\n multiple\n [disabled]=\"HasQueueItem()\" />\n </div>\n </div>\n <div class=\"form-control upload-progress\">\n <div class=\"progress\">\n <div\n class=\"progress-bar\"\n [class.progress-bar-success]=\"Progress() === 100\"\n role=\"progressbar\"\n [attr.aria-valuenow]=\"Progress()\"\n aria-valuemin=\"0\"\n aria-valuemax=\"100\"\n [style.width.%]=\"Progress()\">\n <span class=\"progress-text text-dark\">{{ Filename() | async }}</span>\n </div>\n </div>\n </div>\n\n <div class=\"input-group-btn\">\n <!-- image-preview-clear button -->\n <a\n class=\"btn\"\n (click)=\"cancelAll()\"\n [attr.disabled]=\"HasQueueItem() === false ? 'disabled' : null\"\n [class.btn-default]=\"!(invalid && (dirty || touched))\"\n [class.btn-danger]=\"invalid && (dirty || touched)\">\n <span [class]=\"IconDelete\"></span>\n </a>\n <a\n *ngIf=\"(autoupload === false && enablepause) || (autoupload && enablepause && IsPaused() === false)\"\n class=\"btn\"\n (click)=\"pauseAll()\"\n [attr.disabled]=\"IsUploading() === false ? 'disabled' : null\"\n [class.btn-default]=\"!(invalid && (dirty || touched))\"\n [class.btn-danger]=\"invalid && (dirty || touched)\">\n <span [class]=\"IconPause\"></span>\n </a>\n <a\n *ngIf=\"autoupload && enablepause && IsPaused()\"\n class=\"btn\"\n (click)=\"uploadAll()\"\n [class.btn-default]=\"!(invalid && (dirty || touched))\"\n [class.btn-danger]=\"invalid && (dirty || touched)\">\n <span [class]=\"IconContinue\"></span>\n </a>\n <a\n *ngIf=\"autoupload === false\"\n class=\"btn\"\n (click)=\"uploadAll()\"\n [attr.disabled]=\"IsStateToUpload() === false ? 'disabled' : null\"\n [class.btn-default]=\"!(invalid && (dirty || touched))\"\n [class.btn-danger]=\"invalid && (dirty || touched)\">\n <span [class]=\"IconUpload\"></span> {{ buttonupload ? buttonupload : (lngResourceService.GetString(validationKeyService.UploadButtonUpload) | async) }}\n </a>\n </div>\n </div>\n\n <p\n *ngIf=\"helptextmode === 'text' && helptext\"\n class=\"help-block\">\n {{ helptext }}\n </p>\n\n <div\n class=\"help-block help-block-error\"\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\">\n {{ GetErrorMessage() | async }}\n </div>\n </div>\n\n <div\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\n class=\"form-control-static\"\n style=\"margin-left: 5px\">\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [class]=\"HelptextTooltipIcon\"\n style=\"margin-left: 5px; margin-right: 5px\">\n </span>\n </sac-tooltip>\n </div>\n </div>\n</div>\n", styles: [".upload-component .upload-input{position:relative}.upload-component .custom-file>i{margin-right:15px}.upload-component .custom-file .custom-file-input{inset:0;position:absolute;overflow:hidden;z-index:2;width:100%;margin:0;display:inline-block;opacity:0}.upload-component.upload-multiple .upload-progress .progress{border-top-right-radius:0;border-bottom-right-radius:0}.upload-component.upload-single .upload-progress .progress{border-radius:0}.upload-component .upload-progress{padding:0}.upload-component .upload-progress .progress{height:100%}.upload-component .upload-progress .progress .progress-text{position:absolute;left:0;right:0;top:50%;transform:translateY(-50%);display:table-cell;line-height:34px;height:34px;color:#000}.dropzone{min-height:120px;width:100%;text-align:center;border-style:dashed;border-width:2px;padding-top:50px;padding-bottom:50px;position:relative}.dropzone.active{background-color:#add8e6}.dropzone .progress{border-radius:0}.dropzone .progress .progress-bar{display:flex;justify-content:center;text-align:center;flex-direction:column;border-top-right-radius:0;border-bottom-right-radius:0}.dropzone .progress .progress-bar .progress-text{position:absolute;left:0;right:0;top:50%;transform:translateY(-50%);display:table-cell;line-height:34px;height:34px;color:#000}.dropzone input[type=file]{position:absolute;inset:0;opacity:0;width:100%}.dropzone .dropzone-uploadstates{max-width:450px;margin-left:auto;margin-right:auto;margin-top:6px;width:80%}\n"], components: [{ type: SacTooltipComponent, selector: "sac-tooltip" }], directives: [{ type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "toLabelHeight": SacToLabelHeightPipe, "toLabelWidthCss": SacToLabelWidthCssPipe, "toControlWidthCss": SacToControlWidthCssPipe, "async": i3.AsyncPipe } });
2214
+ ], usesInheritance: true, ngImport: i0, template: "<div\n id=\"{{ name }}\"\n class=\"row form-group\"\n [class.has-error]=\"invalid && (dirty || touched)\"\n [ngClass]=\"componentHeight | toLabelHeight\"\n [attr.data-e2e-key]=\"name | testingattribute : e2eidentifier\">\n <label\n *ngIf=\"disablelabel === false && !isAdaptiveLabel\"\n id=\"{{ name }}label\"\n for=\"{{ name }}_uploadinput\"\n class=\"col-xs-12 control-label\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'sr-only']\"\n [class.required]=\"isrequired\">\n <span class=\"text\">{{ label }}</span>\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [class]=\"HelptextTooltipIcon\"\n style=\"margin-left: 5px\">\n </span>\n </sac-tooltip>\n </label>\n <div\n class=\"col-xs-12\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\n [style.display]=\"helptextmode === 'tooltip' && helptext && disablelabel ? 'flex' : null\">\n <div [style.flex-grow]=\"helptextmode === 'tooltip' && helptext && disablelabel ? 1 : null\">\n <div\n class=\"input-group upload-component upload-single\"\n [class.input-group-sm]=\"componentHeight === ControlHeight.Small\"\n [class.input-group-lg]=\"componentHeight === ControlHeight.Large\">\n <div class=\"input-group-btn\">\n <!-- image-preview-input -->\n <div\n class=\"btn upload-input custom-file\"\n [class.disabled]=\"HasQueueItem()\"\n [class.btn-default]=\"!(invalid && (dirty || touched))\"\n [class.btn-danger]=\"invalid && (dirty || touched)\">\n <i [class]=\"IconBrowse\"></i>\n <span class=\"upload-browse\">{{ buttonbrowse ? buttonbrowse : (lngResourceService.GetString(validationKeyService.UploadButtonBrowse) | async) }}</span>\n <input\n id=\"{{ name }}_uploadinput\"\n type=\"file\"\n class=\"custom-file-input\"\n #files\n (click)=\"files.value = ''\"\n (uploadxState)=\"onUpload($event)\"\n multiple\n [disabled]=\"HasQueueItem()\" />\n </div>\n </div>\n <div class=\"form-control upload-progress\">\n <div class=\"progress\">\n <div\n class=\"progress-bar\"\n [class.progress-bar-success]=\"Progress() === 100\"\n role=\"progressbar\"\n [attr.aria-valuenow]=\"Progress()\"\n aria-valuemin=\"0\"\n aria-valuemax=\"100\"\n [style.width.%]=\"Progress()\">\n <span class=\"progress-text text-dark\">{{ Filename() | async }}</span>\n </div>\n </div>\n </div>\n\n <div class=\"input-group-btn\">\n <!-- image-preview-clear button -->\n <a\n class=\"btn\"\n (click)=\"cancelAll()\"\n [attr.disabled]=\"HasQueueItem() === false ? 'disabled' : null\"\n [class.btn-default]=\"!(invalid && (dirty || touched))\"\n [class.btn-danger]=\"invalid && (dirty || touched)\">\n <span [class]=\"IconDelete\"></span>\n </a>\n <a\n *ngIf=\"(autoupload === false && enablepause) || (autoupload && enablepause && IsPaused() === false)\"\n class=\"btn\"\n (click)=\"pauseAll()\"\n [attr.disabled]=\"IsUploading() === false ? 'disabled' : null\"\n [class.btn-default]=\"!(invalid && (dirty || touched))\"\n [class.btn-danger]=\"invalid && (dirty || touched)\">\n <span [class]=\"IconPause\"></span>\n </a>\n <a\n *ngIf=\"autoupload && enablepause && IsPaused()\"\n class=\"btn\"\n (click)=\"uploadAll()\"\n [class.btn-default]=\"!(invalid && (dirty || touched))\"\n [class.btn-danger]=\"invalid && (dirty || touched)\">\n <span [class]=\"IconContinue\"></span>\n </a>\n <a\n *ngIf=\"autoupload === false\"\n class=\"btn\"\n (click)=\"uploadAll()\"\n [attr.disabled]=\"IsStateToUpload() === false ? 'disabled' : null\"\n [class.btn-default]=\"!(invalid && (dirty || touched))\"\n [class.btn-danger]=\"invalid && (dirty || touched)\">\n <span [class]=\"IconUpload\"></span> {{ buttonupload ? buttonupload : (lngResourceService.GetString(validationKeyService.UploadButtonUpload) | async) }}\n </a>\n </div>\n </div>\n\n <p\n *ngIf=\"helptextmode === 'text' && helptext\"\n class=\"help-block\">\n {{ helptext }}\n </p>\n\n <div\n class=\"help-block help-block-error\"\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\">\n {{ GetErrorMessage() | async }}\n </div>\n </div>\n\n <div\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\n class=\"form-control-static\"\n style=\"margin-left: 5px\">\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [class]=\"HelptextTooltipIcon\"\n style=\"margin-left: 5px; margin-right: 5px\">\n </span>\n </sac-tooltip>\n </div>\n </div>\n</div>\n", styles: [".upload-component .upload-input{position:relative}.upload-component .custom-file>i{margin-right:15px}.upload-component .custom-file .custom-file-input{inset:0;position:absolute;overflow:hidden;z-index:2;width:100%;margin:0;display:inline-block;opacity:0}.upload-component.upload-multiple .upload-progress .progress{border-top-right-radius:0;border-bottom-right-radius:0}.upload-component.upload-single .upload-progress .progress{border-radius:0}.upload-component .upload-progress{padding:0}.upload-component .upload-progress .progress{height:100%}.upload-component .upload-progress .progress .progress-text{position:absolute;left:0;right:0;top:50%;transform:translateY(-50%);display:table-cell;line-height:34px;height:34px;color:#000}.dropzone{min-height:120px;width:100%;text-align:center;border-style:dashed;border-width:2px;padding-top:50px;padding-bottom:50px;position:relative}.dropzone.active{background-color:#add8e6}.dropzone .progress{border-radius:0}.dropzone .progress .progress-bar{display:flex;justify-content:center;text-align:center;flex-direction:column;border-top-right-radius:0;border-bottom-right-radius:0}.dropzone .progress .progress-bar .progress-text{position:absolute;left:0;right:0;top:50%;transform:translateY(-50%);display:table-cell;line-height:34px;height:34px;color:#000}.dropzone input[type=file]{position:absolute;inset:0;opacity:0;width:100%}.dropzone .dropzone-uploadstates{max-width:450px;margin-left:auto;margin-right:auto;margin-top:6px;width:80%}\n"], components: [{ type: SacTooltipComponent, selector: "sac-tooltip" }], directives: [{ type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "toLabelHeight": SacToLabelHeightPipe, "testingattribute": i5.SacTestingAttributePipe, "toLabelWidthCss": SacToLabelWidthCssPipe, "toControlWidthCss": SacToControlWidthCssPipe, "async": i3.AsyncPipe } });
2233
2215
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SacUploadComponent, decorators: [{
2234
2216
  type: Component,
2235
2217
  args: [{ selector: 'sac-upload', providers: [
@@ -2243,7 +2225,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImpor
2243
2225
  multi: true,
2244
2226
  useExisting: forwardRef(() => SacUploadComponent),
2245
2227
  },
2246
- ], template: "<div\n id=\"{{ name }}\"\n class=\"row form-group\"\n [class.has-error]=\"invalid && (dirty || touched)\"\n [ngClass]=\"componentHeight | toLabelHeight\">\n <label\n *ngIf=\"disablelabel === false && !isAdaptiveLabel\"\n id=\"{{ name }}label\"\n for=\"{{ name }}_uploadinput\"\n class=\"col-xs-12 control-label\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'sr-only']\"\n [class.required]=\"isrequired\">\n <span class=\"text\">{{ label }}</span>\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [class]=\"HelptextTooltipIcon\"\n style=\"margin-left: 5px\">\n </span>\n </sac-tooltip>\n </label>\n <div\n class=\"col-xs-12\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\n [style.display]=\"helptextmode === 'tooltip' && helptext && disablelabel ? 'flex' : null\">\n <div [style.flex-grow]=\"helptextmode === 'tooltip' && helptext && disablelabel ? 1 : null\">\n <div\n class=\"input-group upload-component upload-single\"\n [class.input-group-sm]=\"componentHeight === ControlHeight.Small\"\n [class.input-group-lg]=\"componentHeight === ControlHeight.Large\">\n <div class=\"input-group-btn\">\n <!-- image-preview-input -->\n <div\n class=\"btn upload-input custom-file\"\n [class.disabled]=\"HasQueueItem()\"\n [class.btn-default]=\"!(invalid && (dirty || touched))\"\n [class.btn-danger]=\"invalid && (dirty || touched)\">\n <i [class]=\"IconBrowse\"></i>\n <span class=\"upload-browse\">{{ buttonbrowse ? buttonbrowse : (lngResourceService.GetString(validationKeyService.UploadButtonBrowse) | async) }}</span>\n <input\n id=\"{{ name }}_uploadinput\"\n type=\"file\"\n class=\"custom-file-input\"\n #files\n (click)=\"files.value = ''\"\n (uploadxState)=\"onUpload($event)\"\n multiple\n [disabled]=\"HasQueueItem()\" />\n </div>\n </div>\n <div class=\"form-control upload-progress\">\n <div class=\"progress\">\n <div\n class=\"progress-bar\"\n [class.progress-bar-success]=\"Progress() === 100\"\n role=\"progressbar\"\n [attr.aria-valuenow]=\"Progress()\"\n aria-valuemin=\"0\"\n aria-valuemax=\"100\"\n [style.width.%]=\"Progress()\">\n <span class=\"progress-text text-dark\">{{ Filename() | async }}</span>\n </div>\n </div>\n </div>\n\n <div class=\"input-group-btn\">\n <!-- image-preview-clear button -->\n <a\n class=\"btn\"\n (click)=\"cancelAll()\"\n [attr.disabled]=\"HasQueueItem() === false ? 'disabled' : null\"\n [class.btn-default]=\"!(invalid && (dirty || touched))\"\n [class.btn-danger]=\"invalid && (dirty || touched)\">\n <span [class]=\"IconDelete\"></span>\n </a>\n <a\n *ngIf=\"(autoupload === false && enablepause) || (autoupload && enablepause && IsPaused() === false)\"\n class=\"btn\"\n (click)=\"pauseAll()\"\n [attr.disabled]=\"IsUploading() === false ? 'disabled' : null\"\n [class.btn-default]=\"!(invalid && (dirty || touched))\"\n [class.btn-danger]=\"invalid && (dirty || touched)\">\n <span [class]=\"IconPause\"></span>\n </a>\n <a\n *ngIf=\"autoupload && enablepause && IsPaused()\"\n class=\"btn\"\n (click)=\"uploadAll()\"\n [class.btn-default]=\"!(invalid && (dirty || touched))\"\n [class.btn-danger]=\"invalid && (dirty || touched)\">\n <span [class]=\"IconContinue\"></span>\n </a>\n <a\n *ngIf=\"autoupload === false\"\n class=\"btn\"\n (click)=\"uploadAll()\"\n [attr.disabled]=\"IsStateToUpload() === false ? 'disabled' : null\"\n [class.btn-default]=\"!(invalid && (dirty || touched))\"\n [class.btn-danger]=\"invalid && (dirty || touched)\">\n <span [class]=\"IconUpload\"></span> {{ buttonupload ? buttonupload : (lngResourceService.GetString(validationKeyService.UploadButtonUpload) | async) }}\n </a>\n </div>\n </div>\n\n <p\n *ngIf=\"helptextmode === 'text' && helptext\"\n class=\"help-block\">\n {{ helptext }}\n </p>\n\n <div\n class=\"help-block help-block-error\"\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\">\n {{ GetErrorMessage() | async }}\n </div>\n </div>\n\n <div\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\n class=\"form-control-static\"\n style=\"margin-left: 5px\">\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [class]=\"HelptextTooltipIcon\"\n style=\"margin-left: 5px; margin-right: 5px\">\n </span>\n </sac-tooltip>\n </div>\n </div>\n</div>\n", styles: [".upload-component .upload-input{position:relative}.upload-component .custom-file>i{margin-right:15px}.upload-component .custom-file .custom-file-input{inset:0;position:absolute;overflow:hidden;z-index:2;width:100%;margin:0;display:inline-block;opacity:0}.upload-component.upload-multiple .upload-progress .progress{border-top-right-radius:0;border-bottom-right-radius:0}.upload-component.upload-single .upload-progress .progress{border-radius:0}.upload-component .upload-progress{padding:0}.upload-component .upload-progress .progress{height:100%}.upload-component .upload-progress .progress .progress-text{position:absolute;left:0;right:0;top:50%;transform:translateY(-50%);display:table-cell;line-height:34px;height:34px;color:#000}.dropzone{min-height:120px;width:100%;text-align:center;border-style:dashed;border-width:2px;padding-top:50px;padding-bottom:50px;position:relative}.dropzone.active{background-color:#add8e6}.dropzone .progress{border-radius:0}.dropzone .progress .progress-bar{display:flex;justify-content:center;text-align:center;flex-direction:column;border-top-right-radius:0;border-bottom-right-radius:0}.dropzone .progress .progress-bar .progress-text{position:absolute;left:0;right:0;top:50%;transform:translateY(-50%);display:table-cell;line-height:34px;height:34px;color:#000}.dropzone input[type=file]{position:absolute;inset:0;opacity:0;width:100%}.dropzone .dropzone-uploadstates{max-width:450px;margin-left:auto;margin-right:auto;margin-top:6px;width:80%}\n"] }]
2228
+ ], template: "<div\n id=\"{{ name }}\"\n class=\"row form-group\"\n [class.has-error]=\"invalid && (dirty || touched)\"\n [ngClass]=\"componentHeight | toLabelHeight\"\n [attr.data-e2e-key]=\"name | testingattribute : e2eidentifier\">\n <label\n *ngIf=\"disablelabel === false && !isAdaptiveLabel\"\n id=\"{{ name }}label\"\n for=\"{{ name }}_uploadinput\"\n class=\"col-xs-12 control-label\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'sr-only']\"\n [class.required]=\"isrequired\">\n <span class=\"text\">{{ label }}</span>\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [class]=\"HelptextTooltipIcon\"\n style=\"margin-left: 5px\">\n </span>\n </sac-tooltip>\n </label>\n <div\n class=\"col-xs-12\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\n [style.display]=\"helptextmode === 'tooltip' && helptext && disablelabel ? 'flex' : null\">\n <div [style.flex-grow]=\"helptextmode === 'tooltip' && helptext && disablelabel ? 1 : null\">\n <div\n class=\"input-group upload-component upload-single\"\n [class.input-group-sm]=\"componentHeight === ControlHeight.Small\"\n [class.input-group-lg]=\"componentHeight === ControlHeight.Large\">\n <div class=\"input-group-btn\">\n <!-- image-preview-input -->\n <div\n class=\"btn upload-input custom-file\"\n [class.disabled]=\"HasQueueItem()\"\n [class.btn-default]=\"!(invalid && (dirty || touched))\"\n [class.btn-danger]=\"invalid && (dirty || touched)\">\n <i [class]=\"IconBrowse\"></i>\n <span class=\"upload-browse\">{{ buttonbrowse ? buttonbrowse : (lngResourceService.GetString(validationKeyService.UploadButtonBrowse) | async) }}</span>\n <input\n id=\"{{ name }}_uploadinput\"\n type=\"file\"\n class=\"custom-file-input\"\n #files\n (click)=\"files.value = ''\"\n (uploadxState)=\"onUpload($event)\"\n multiple\n [disabled]=\"HasQueueItem()\" />\n </div>\n </div>\n <div class=\"form-control upload-progress\">\n <div class=\"progress\">\n <div\n class=\"progress-bar\"\n [class.progress-bar-success]=\"Progress() === 100\"\n role=\"progressbar\"\n [attr.aria-valuenow]=\"Progress()\"\n aria-valuemin=\"0\"\n aria-valuemax=\"100\"\n [style.width.%]=\"Progress()\">\n <span class=\"progress-text text-dark\">{{ Filename() | async }}</span>\n </div>\n </div>\n </div>\n\n <div class=\"input-group-btn\">\n <!-- image-preview-clear button -->\n <a\n class=\"btn\"\n (click)=\"cancelAll()\"\n [attr.disabled]=\"HasQueueItem() === false ? 'disabled' : null\"\n [class.btn-default]=\"!(invalid && (dirty || touched))\"\n [class.btn-danger]=\"invalid && (dirty || touched)\">\n <span [class]=\"IconDelete\"></span>\n </a>\n <a\n *ngIf=\"(autoupload === false && enablepause) || (autoupload && enablepause && IsPaused() === false)\"\n class=\"btn\"\n (click)=\"pauseAll()\"\n [attr.disabled]=\"IsUploading() === false ? 'disabled' : null\"\n [class.btn-default]=\"!(invalid && (dirty || touched))\"\n [class.btn-danger]=\"invalid && (dirty || touched)\">\n <span [class]=\"IconPause\"></span>\n </a>\n <a\n *ngIf=\"autoupload && enablepause && IsPaused()\"\n class=\"btn\"\n (click)=\"uploadAll()\"\n [class.btn-default]=\"!(invalid && (dirty || touched))\"\n [class.btn-danger]=\"invalid && (dirty || touched)\">\n <span [class]=\"IconContinue\"></span>\n </a>\n <a\n *ngIf=\"autoupload === false\"\n class=\"btn\"\n (click)=\"uploadAll()\"\n [attr.disabled]=\"IsStateToUpload() === false ? 'disabled' : null\"\n [class.btn-default]=\"!(invalid && (dirty || touched))\"\n [class.btn-danger]=\"invalid && (dirty || touched)\">\n <span [class]=\"IconUpload\"></span> {{ buttonupload ? buttonupload : (lngResourceService.GetString(validationKeyService.UploadButtonUpload) | async) }}\n </a>\n </div>\n </div>\n\n <p\n *ngIf=\"helptextmode === 'text' && helptext\"\n class=\"help-block\">\n {{ helptext }}\n </p>\n\n <div\n class=\"help-block help-block-error\"\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\">\n {{ GetErrorMessage() | async }}\n </div>\n </div>\n\n <div\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\n class=\"form-control-static\"\n style=\"margin-left: 5px\">\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [class]=\"HelptextTooltipIcon\"\n style=\"margin-left: 5px; margin-right: 5px\">\n </span>\n </sac-tooltip>\n </div>\n </div>\n</div>\n", styles: [".upload-component .upload-input{position:relative}.upload-component .custom-file>i{margin-right:15px}.upload-component .custom-file .custom-file-input{inset:0;position:absolute;overflow:hidden;z-index:2;width:100%;margin:0;display:inline-block;opacity:0}.upload-component.upload-multiple .upload-progress .progress{border-top-right-radius:0;border-bottom-right-radius:0}.upload-component.upload-single .upload-progress .progress{border-radius:0}.upload-component .upload-progress{padding:0}.upload-component .upload-progress .progress{height:100%}.upload-component .upload-progress .progress .progress-text{position:absolute;left:0;right:0;top:50%;transform:translateY(-50%);display:table-cell;line-height:34px;height:34px;color:#000}.dropzone{min-height:120px;width:100%;text-align:center;border-style:dashed;border-width:2px;padding-top:50px;padding-bottom:50px;position:relative}.dropzone.active{background-color:#add8e6}.dropzone .progress{border-radius:0}.dropzone .progress .progress-bar{display:flex;justify-content:center;text-align:center;flex-direction:column;border-top-right-radius:0;border-bottom-right-radius:0}.dropzone .progress .progress-bar .progress-text{position:absolute;left:0;right:0;top:50%;transform:translateY(-50%);display:table-cell;line-height:34px;height:34px;color:#000}.dropzone input[type=file]{position:absolute;inset:0;opacity:0;width:100%}.dropzone .dropzone-uploadstates{max-width:450px;margin-left:auto;margin-right:auto;margin-top:6px;width:80%}\n"] }]
2247
2229
  }], ctorParameters: function () { return [{ type: SacFormLayoutDirective, decorators: [{
2248
2230
  type: Host
2249
2231
  }, {
@@ -2276,7 +2258,7 @@ SacUploadMultipleComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0
2276
2258
  multi: true,
2277
2259
  useExisting: forwardRef(() => SacUploadMultipleComponent),
2278
2260
  },
2279
- ], usesInheritance: true, ngImport: i0, template: "<div\n id=\"{{ name }}\"\n class=\"row form-group\"\n [class.has-error]=\"invalid && (dirty || touched)\"\n [ngClass]=\"componentHeight | toLabelHeight\">\n <label\n *ngIf=\"disablelabel === false && !isAdaptiveLabel\"\n id=\"{{ name }}label\"\n for=\"{{ name }}_uploadinput\"\n class=\"col-xs-12 control-label\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'sr-only']\"\n [class.required]=\"isrequired\">\n <span class=\"text\">{{ label }}</span>\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [class]=\"HelptextTooltipIcon\"\n style=\"margin-left: 5px\">\n </span>\n </sac-tooltip>\n </label>\n <div\n class=\"col-xs-12\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\">\n <div class=\"upload-component\">\n <div class=\"row\">\n <div\n class=\"col-xs-12\"\n [style.display]=\"helptextmode === 'tooltip' && helptext && disablelabel ? 'flex' : null\">\n <div\n class=\"btn-group\"\n [class.btn-group-sm]=\"componentHeight === ControlHeight.Small\"\n [class.btn-group-lg]=\"componentHeight === ControlHeight.Large\">\n <div\n class=\"btn upload-input custom-file\"\n [class.disabled]=\"maxfiles > 0 && uploads.length >= maxfiles\"\n [class.btn-default]=\"!(invalid && (dirty || touched))\"\n [class.btn-danger]=\"invalid && (dirty || touched)\">\n <i [class]=\"IconBrowse\"></i>\n <span class=\"upload-browse\">{{ buttonbrowse ? buttonbrowse : (lngResourceService.GetString(validationKeyService.UploadButtonBrowse) | async) }}</span>\n <input\n id=\"{{ name }}_uploadinput\"\n type=\"file\"\n class=\"custom-file-input\"\n #files\n (click)=\"files.value = ''\"\n (uploadxState)=\"onUpload($event)\"\n multiple\n [disabled]=\"maxfiles > 0 && uploads.length >= maxfiles\" />\n </div>\n\n <div\n class=\"btn-group\"\n [class.btn-group-sm]=\"componentHeight === ControlHeight.Small\"\n [class.btn-group-lg]=\"componentHeight === ControlHeight.Large\">\n <!-- image-preview-clear button -->\n <a\n class=\"btn\"\n (click)=\"cancelAll()\"\n [attr.disabled]=\"HasQueueItem() === false ? 'disabled' : null\"\n [class.btn-default]=\"!(invalid && (dirty || touched))\"\n [class.btn-danger]=\"invalid && (dirty || touched)\">\n <span [class]=\"IconDelete\"></span>\n </a>\n <a\n *ngIf=\"(autoupload === false && enablepause) || (autoupload && enablepause && IsPaused() === false)\"\n class=\"btn\"\n (click)=\"pauseAll()\"\n [attr.disabled]=\"IsUploading() === false ? 'disabled' : null\"\n [class.btn-default]=\"!(invalid && (dirty || touched))\"\n [class.btn-danger]=\"invalid && (dirty || touched)\">\n <span [class]=\"IconPause\"></span>\n </a>\n <a\n *ngIf=\"autoupload && enablepause && IsPaused() === true\"\n class=\"btn\"\n (click)=\"uploadAll()\"\n [class.btn-default]=\"!(invalid && (dirty || touched))\"\n [class.btn-danger]=\"invalid && (dirty || touched)\">\n <span [class]=\"IconContinue\"></span>\n </a>\n <a\n *ngIf=\"autoupload === false\"\n class=\"btn\"\n (click)=\"uploadAll()\"\n [attr.disabled]=\"IsStateToUpload() === false ? 'disabled' : null\"\n [class.btn-default]=\"!(invalid && (dirty || touched))\"\n [class.btn-danger]=\"invalid && (dirty || touched)\">\n <span [class]=\"IconUpload\"></span>\n {{ buttonupload ? buttonupload : (lngResourceService.GetString(validationKeyService.UploadButtonUpload) | async) }}\n </a>\n </div>\n </div>\n\n <div\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\n class=\"form-control-static\"\n style=\"margin-left: 5px\">\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [class]=\"HelptextTooltipIcon\"\n style=\"margin-left: 5px; margin-right: 5px\">\n </span>\n </sac-tooltip>\n </div>\n </div>\n </div>\n\n <div\n *ngFor=\"let file of uploads\"\n style=\"margin-top: 5px\">\n <div\n class=\"input-group upload-component upload-multiple\"\n [class.input-group-sm]=\"componentHeight === ControlHeight.Small\"\n [class.input-group-lg]=\"componentHeight === ControlHeight.Large\">\n <div class=\"form-control upload-progress\">\n <div class=\"progress\">\n <div\n class=\"progress-bar\"\n [class.progress-bar-success]=\"file.progress === 100\"\n role=\"progressbar\"\n [attr.aria-valuenow]=\"file.progress\"\n aria-valuemin=\"0\"\n aria-valuemax=\"100\"\n [style.width.%]=\"file.progress\">\n <span class=\"progress-text text-dark\">{{ file.name }}</span>\n </div>\n </div>\n </div>\n <div\n class=\"input-group-btn\"\n [class.input-group-sm]=\"componentHeight === ControlHeight.Small\"\n [class.input-group-lg]=\"componentHeight === ControlHeight.Large\">\n <!-- image-preview-clear button -->\n <a\n class=\"btn\"\n (click)=\"cancel(file.uploadId)\"\n [class.btn-default]=\"!(invalid && (dirty || touched))\"\n [class.btn-danger]=\"invalid && (dirty || touched)\">\n <span [class]=\"IconDelete\"></span>\n </a>\n <a\n *ngIf=\"(autoupload === false && enablepause) || (autoupload && enablepause && file.status !== 'paused')\"\n class=\"btn\"\n (click)=\"pause(file.uploadId)\"\n [attr.disabled]=\"file.status !== 'uploading' ? 'disabled' : null\"\n [class.btn-default]=\"!(invalid && (dirty || touched))\"\n [class.btn-danger]=\"invalid && (dirty || touched)\">\n <span [class]=\"IconPause\"></span>\n </a>\n <a\n *ngIf=\"autoupload && enablepause && file.status === 'paused'\"\n class=\"btn\"\n (click)=\"upload(file.uploadId)\"\n [class.btn-default]=\"!(invalid && (dirty || touched))\"\n [class.btn-danger]=\"invalid && (dirty || touched)\">\n <span [class]=\"IconContinue\"></span>\n </a>\n <a\n *ngIf=\"autoupload === false\"\n class=\"btn\"\n (click)=\"upload(file.uploadId)\"\n [attr.disabled]=\"file.status !== 'added' && file.status !== 'paused' ? 'disabled' : null\"\n [class.btn-default]=\"!(invalid && (dirty || touched))\"\n [class.btn-danger]=\"invalid && (dirty || touched)\">\n <span [class]=\"IconUpload\"></span> {{ buttonupload ? buttonupload : (lngResourceService.GetString(validationKeyService.UploadButtonUpload) | async) }}\n </a>\n </div>\n </div>\n </div>\n </div>\n\n <p\n *ngIf=\"helptextmode === 'text' && helptext\"\n class=\"help-block\">\n {{ helptext }}\n </p>\n <div\n class=\"help-block help-block-error\"\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\">\n {{ GetErrorMessage() | async }}\n </div>\n </div>\n</div>\n", styles: [".upload-component .upload-input{position:relative}.upload-component .custom-file>i{margin-right:15px}.upload-component .custom-file .custom-file-input{inset:0;position:absolute;overflow:hidden;z-index:2;width:100%;margin:0;display:inline-block;opacity:0}.upload-component.upload-multiple .upload-progress .progress{border-top-right-radius:0;border-bottom-right-radius:0}.upload-component.upload-single .upload-progress .progress{border-radius:0}.upload-component .upload-progress{padding:0}.upload-component .upload-progress .progress{height:100%}.upload-component .upload-progress .progress .progress-text{position:absolute;left:0;right:0;top:50%;transform:translateY(-50%);display:table-cell;line-height:34px;height:34px;color:#000}.dropzone{min-height:120px;width:100%;text-align:center;border-style:dashed;border-width:2px;padding-top:50px;padding-bottom:50px;position:relative}.dropzone.active{background-color:#add8e6}.dropzone .progress{border-radius:0}.dropzone .progress .progress-bar{display:flex;justify-content:center;text-align:center;flex-direction:column;border-top-right-radius:0;border-bottom-right-radius:0}.dropzone .progress .progress-bar .progress-text{position:absolute;left:0;right:0;top:50%;transform:translateY(-50%);display:table-cell;line-height:34px;height:34px;color:#000}.dropzone input[type=file]{position:absolute;inset:0;opacity:0;width:100%}.dropzone .dropzone-uploadstates{max-width:450px;margin-left:auto;margin-right:auto;margin-top:6px;width:80%}\n"], components: [{ type: SacTooltipComponent, selector: "sac-tooltip" }], directives: [{ type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], pipes: { "toLabelHeight": SacToLabelHeightPipe, "toLabelWidthCss": SacToLabelWidthCssPipe, "toControlWidthCss": SacToControlWidthCssPipe, "async": i3.AsyncPipe } });
2261
+ ], usesInheritance: true, ngImport: i0, template: "<div\n id=\"{{ name }}\"\n class=\"row form-group\"\n [class.has-error]=\"invalid && (dirty || touched)\"\n [ngClass]=\"componentHeight | toLabelHeight\"\n [attr.data-e2e-key]=\"name | testingattribute : e2eidentifier\">\n <label\n *ngIf=\"disablelabel === false && !isAdaptiveLabel\"\n id=\"{{ name }}label\"\n for=\"{{ name }}_uploadinput\"\n class=\"col-xs-12 control-label\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'sr-only']\"\n [class.required]=\"isrequired\">\n <span class=\"text\">{{ label }}</span>\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [class]=\"HelptextTooltipIcon\"\n style=\"margin-left: 5px\">\n </span>\n </sac-tooltip>\n </label>\n <div\n class=\"col-xs-12\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\">\n <div class=\"upload-component\">\n <div class=\"row\">\n <div\n class=\"col-xs-12\"\n [style.display]=\"helptextmode === 'tooltip' && helptext && disablelabel ? 'flex' : null\">\n <div\n class=\"btn-group\"\n [class.btn-group-sm]=\"componentHeight === ControlHeight.Small\"\n [class.btn-group-lg]=\"componentHeight === ControlHeight.Large\">\n <div\n class=\"btn upload-input custom-file\"\n [class.disabled]=\"maxfiles > 0 && uploads.length >= maxfiles\"\n [class.btn-default]=\"!(invalid && (dirty || touched))\"\n [class.btn-danger]=\"invalid && (dirty || touched)\">\n <i [class]=\"IconBrowse\"></i>\n <span class=\"upload-browse\">{{ buttonbrowse ? buttonbrowse : (lngResourceService.GetString(validationKeyService.UploadButtonBrowse) | async) }}</span>\n <input\n id=\"{{ name }}_uploadinput\"\n type=\"file\"\n class=\"custom-file-input\"\n #files\n (click)=\"files.value = ''\"\n (uploadxState)=\"onUpload($event)\"\n multiple\n [disabled]=\"maxfiles > 0 && uploads.length >= maxfiles\" />\n </div>\n\n <div\n class=\"btn-group\"\n [class.btn-group-sm]=\"componentHeight === ControlHeight.Small\"\n [class.btn-group-lg]=\"componentHeight === ControlHeight.Large\">\n <!-- image-preview-clear button -->\n <a\n class=\"btn\"\n (click)=\"cancelAll()\"\n [attr.disabled]=\"HasQueueItem() === false ? 'disabled' : null\"\n [class.btn-default]=\"!(invalid && (dirty || touched))\"\n [class.btn-danger]=\"invalid && (dirty || touched)\">\n <span [class]=\"IconDelete\"></span>\n </a>\n <a\n *ngIf=\"(autoupload === false && enablepause) || (autoupload && enablepause && IsPaused() === false)\"\n class=\"btn\"\n (click)=\"pauseAll()\"\n [attr.disabled]=\"IsUploading() === false ? 'disabled' : null\"\n [class.btn-default]=\"!(invalid && (dirty || touched))\"\n [class.btn-danger]=\"invalid && (dirty || touched)\">\n <span [class]=\"IconPause\"></span>\n </a>\n <a\n *ngIf=\"autoupload && enablepause && IsPaused() === true\"\n class=\"btn\"\n (click)=\"uploadAll()\"\n [class.btn-default]=\"!(invalid && (dirty || touched))\"\n [class.btn-danger]=\"invalid && (dirty || touched)\">\n <span [class]=\"IconContinue\"></span>\n </a>\n <a\n *ngIf=\"autoupload === false\"\n class=\"btn\"\n (click)=\"uploadAll()\"\n [attr.disabled]=\"IsStateToUpload() === false ? 'disabled' : null\"\n [class.btn-default]=\"!(invalid && (dirty || touched))\"\n [class.btn-danger]=\"invalid && (dirty || touched)\">\n <span [class]=\"IconUpload\"></span>\n {{ buttonupload ? buttonupload : (lngResourceService.GetString(validationKeyService.UploadButtonUpload) | async) }}\n </a>\n </div>\n </div>\n\n <div\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\n class=\"form-control-static\"\n style=\"margin-left: 5px\">\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [class]=\"HelptextTooltipIcon\"\n style=\"margin-left: 5px; margin-right: 5px\">\n </span>\n </sac-tooltip>\n </div>\n </div>\n </div>\n\n <div\n *ngFor=\"let file of uploads\"\n style=\"margin-top: 5px\">\n <div\n class=\"input-group upload-component upload-multiple\"\n [class.input-group-sm]=\"componentHeight === ControlHeight.Small\"\n [class.input-group-lg]=\"componentHeight === ControlHeight.Large\">\n <div class=\"form-control upload-progress\">\n <div class=\"progress\">\n <div\n class=\"progress-bar\"\n [class.progress-bar-success]=\"file.progress === 100\"\n role=\"progressbar\"\n [attr.aria-valuenow]=\"file.progress\"\n aria-valuemin=\"0\"\n aria-valuemax=\"100\"\n [style.width.%]=\"file.progress\">\n <span class=\"progress-text text-dark\">{{ file.name }}</span>\n </div>\n </div>\n </div>\n <div\n class=\"input-group-btn\"\n [class.input-group-sm]=\"componentHeight === ControlHeight.Small\"\n [class.input-group-lg]=\"componentHeight === ControlHeight.Large\">\n <!-- image-preview-clear button -->\n <a\n class=\"btn\"\n (click)=\"cancel(file.uploadId)\"\n [class.btn-default]=\"!(invalid && (dirty || touched))\"\n [class.btn-danger]=\"invalid && (dirty || touched)\">\n <span [class]=\"IconDelete\"></span>\n </a>\n <a\n *ngIf=\"(autoupload === false && enablepause) || (autoupload && enablepause && file.status !== 'paused')\"\n class=\"btn\"\n (click)=\"pause(file.uploadId)\"\n [attr.disabled]=\"file.status !== 'uploading' ? 'disabled' : null\"\n [class.btn-default]=\"!(invalid && (dirty || touched))\"\n [class.btn-danger]=\"invalid && (dirty || touched)\">\n <span [class]=\"IconPause\"></span>\n </a>\n <a\n *ngIf=\"autoupload && enablepause && file.status === 'paused'\"\n class=\"btn\"\n (click)=\"upload(file.uploadId)\"\n [class.btn-default]=\"!(invalid && (dirty || touched))\"\n [class.btn-danger]=\"invalid && (dirty || touched)\">\n <span [class]=\"IconContinue\"></span>\n </a>\n <a\n *ngIf=\"autoupload === false\"\n class=\"btn\"\n (click)=\"upload(file.uploadId)\"\n [attr.disabled]=\"file.status !== 'added' && file.status !== 'paused' ? 'disabled' : null\"\n [class.btn-default]=\"!(invalid && (dirty || touched))\"\n [class.btn-danger]=\"invalid && (dirty || touched)\">\n <span [class]=\"IconUpload\"></span> {{ buttonupload ? buttonupload : (lngResourceService.GetString(validationKeyService.UploadButtonUpload) | async) }}\n </a>\n </div>\n </div>\n </div>\n </div>\n\n <p\n *ngIf=\"helptextmode === 'text' && helptext\"\n class=\"help-block\">\n {{ helptext }}\n </p>\n <div\n class=\"help-block help-block-error\"\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\">\n {{ GetErrorMessage() | async }}\n </div>\n </div>\n</div>\n", styles: [".upload-component .upload-input{position:relative}.upload-component .custom-file>i{margin-right:15px}.upload-component .custom-file .custom-file-input{inset:0;position:absolute;overflow:hidden;z-index:2;width:100%;margin:0;display:inline-block;opacity:0}.upload-component.upload-multiple .upload-progress .progress{border-top-right-radius:0;border-bottom-right-radius:0}.upload-component.upload-single .upload-progress .progress{border-radius:0}.upload-component .upload-progress{padding:0}.upload-component .upload-progress .progress{height:100%}.upload-component .upload-progress .progress .progress-text{position:absolute;left:0;right:0;top:50%;transform:translateY(-50%);display:table-cell;line-height:34px;height:34px;color:#000}.dropzone{min-height:120px;width:100%;text-align:center;border-style:dashed;border-width:2px;padding-top:50px;padding-bottom:50px;position:relative}.dropzone.active{background-color:#add8e6}.dropzone .progress{border-radius:0}.dropzone .progress .progress-bar{display:flex;justify-content:center;text-align:center;flex-direction:column;border-top-right-radius:0;border-bottom-right-radius:0}.dropzone .progress .progress-bar .progress-text{position:absolute;left:0;right:0;top:50%;transform:translateY(-50%);display:table-cell;line-height:34px;height:34px;color:#000}.dropzone input[type=file]{position:absolute;inset:0;opacity:0;width:100%}.dropzone .dropzone-uploadstates{max-width:450px;margin-left:auto;margin-right:auto;margin-top:6px;width:80%}\n"], components: [{ type: SacTooltipComponent, selector: "sac-tooltip" }], directives: [{ type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], pipes: { "toLabelHeight": SacToLabelHeightPipe, "testingattribute": i5.SacTestingAttributePipe, "toLabelWidthCss": SacToLabelWidthCssPipe, "toControlWidthCss": SacToControlWidthCssPipe, "async": i3.AsyncPipe } });
2280
2262
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SacUploadMultipleComponent, decorators: [{
2281
2263
  type: Component,
2282
2264
  args: [{ selector: 'sac-uploadmultiple', providers: [
@@ -2290,7 +2272,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImpor
2290
2272
  multi: true,
2291
2273
  useExisting: forwardRef(() => SacUploadMultipleComponent),
2292
2274
  },
2293
- ], template: "<div\n id=\"{{ name }}\"\n class=\"row form-group\"\n [class.has-error]=\"invalid && (dirty || touched)\"\n [ngClass]=\"componentHeight | toLabelHeight\">\n <label\n *ngIf=\"disablelabel === false && !isAdaptiveLabel\"\n id=\"{{ name }}label\"\n for=\"{{ name }}_uploadinput\"\n class=\"col-xs-12 control-label\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'sr-only']\"\n [class.required]=\"isrequired\">\n <span class=\"text\">{{ label }}</span>\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [class]=\"HelptextTooltipIcon\"\n style=\"margin-left: 5px\">\n </span>\n </sac-tooltip>\n </label>\n <div\n class=\"col-xs-12\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\">\n <div class=\"upload-component\">\n <div class=\"row\">\n <div\n class=\"col-xs-12\"\n [style.display]=\"helptextmode === 'tooltip' && helptext && disablelabel ? 'flex' : null\">\n <div\n class=\"btn-group\"\n [class.btn-group-sm]=\"componentHeight === ControlHeight.Small\"\n [class.btn-group-lg]=\"componentHeight === ControlHeight.Large\">\n <div\n class=\"btn upload-input custom-file\"\n [class.disabled]=\"maxfiles > 0 && uploads.length >= maxfiles\"\n [class.btn-default]=\"!(invalid && (dirty || touched))\"\n [class.btn-danger]=\"invalid && (dirty || touched)\">\n <i [class]=\"IconBrowse\"></i>\n <span class=\"upload-browse\">{{ buttonbrowse ? buttonbrowse : (lngResourceService.GetString(validationKeyService.UploadButtonBrowse) | async) }}</span>\n <input\n id=\"{{ name }}_uploadinput\"\n type=\"file\"\n class=\"custom-file-input\"\n #files\n (click)=\"files.value = ''\"\n (uploadxState)=\"onUpload($event)\"\n multiple\n [disabled]=\"maxfiles > 0 && uploads.length >= maxfiles\" />\n </div>\n\n <div\n class=\"btn-group\"\n [class.btn-group-sm]=\"componentHeight === ControlHeight.Small\"\n [class.btn-group-lg]=\"componentHeight === ControlHeight.Large\">\n <!-- image-preview-clear button -->\n <a\n class=\"btn\"\n (click)=\"cancelAll()\"\n [attr.disabled]=\"HasQueueItem() === false ? 'disabled' : null\"\n [class.btn-default]=\"!(invalid && (dirty || touched))\"\n [class.btn-danger]=\"invalid && (dirty || touched)\">\n <span [class]=\"IconDelete\"></span>\n </a>\n <a\n *ngIf=\"(autoupload === false && enablepause) || (autoupload && enablepause && IsPaused() === false)\"\n class=\"btn\"\n (click)=\"pauseAll()\"\n [attr.disabled]=\"IsUploading() === false ? 'disabled' : null\"\n [class.btn-default]=\"!(invalid && (dirty || touched))\"\n [class.btn-danger]=\"invalid && (dirty || touched)\">\n <span [class]=\"IconPause\"></span>\n </a>\n <a\n *ngIf=\"autoupload && enablepause && IsPaused() === true\"\n class=\"btn\"\n (click)=\"uploadAll()\"\n [class.btn-default]=\"!(invalid && (dirty || touched))\"\n [class.btn-danger]=\"invalid && (dirty || touched)\">\n <span [class]=\"IconContinue\"></span>\n </a>\n <a\n *ngIf=\"autoupload === false\"\n class=\"btn\"\n (click)=\"uploadAll()\"\n [attr.disabled]=\"IsStateToUpload() === false ? 'disabled' : null\"\n [class.btn-default]=\"!(invalid && (dirty || touched))\"\n [class.btn-danger]=\"invalid && (dirty || touched)\">\n <span [class]=\"IconUpload\"></span>\n {{ buttonupload ? buttonupload : (lngResourceService.GetString(validationKeyService.UploadButtonUpload) | async) }}\n </a>\n </div>\n </div>\n\n <div\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\n class=\"form-control-static\"\n style=\"margin-left: 5px\">\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [class]=\"HelptextTooltipIcon\"\n style=\"margin-left: 5px; margin-right: 5px\">\n </span>\n </sac-tooltip>\n </div>\n </div>\n </div>\n\n <div\n *ngFor=\"let file of uploads\"\n style=\"margin-top: 5px\">\n <div\n class=\"input-group upload-component upload-multiple\"\n [class.input-group-sm]=\"componentHeight === ControlHeight.Small\"\n [class.input-group-lg]=\"componentHeight === ControlHeight.Large\">\n <div class=\"form-control upload-progress\">\n <div class=\"progress\">\n <div\n class=\"progress-bar\"\n [class.progress-bar-success]=\"file.progress === 100\"\n role=\"progressbar\"\n [attr.aria-valuenow]=\"file.progress\"\n aria-valuemin=\"0\"\n aria-valuemax=\"100\"\n [style.width.%]=\"file.progress\">\n <span class=\"progress-text text-dark\">{{ file.name }}</span>\n </div>\n </div>\n </div>\n <div\n class=\"input-group-btn\"\n [class.input-group-sm]=\"componentHeight === ControlHeight.Small\"\n [class.input-group-lg]=\"componentHeight === ControlHeight.Large\">\n <!-- image-preview-clear button -->\n <a\n class=\"btn\"\n (click)=\"cancel(file.uploadId)\"\n [class.btn-default]=\"!(invalid && (dirty || touched))\"\n [class.btn-danger]=\"invalid && (dirty || touched)\">\n <span [class]=\"IconDelete\"></span>\n </a>\n <a\n *ngIf=\"(autoupload === false && enablepause) || (autoupload && enablepause && file.status !== 'paused')\"\n class=\"btn\"\n (click)=\"pause(file.uploadId)\"\n [attr.disabled]=\"file.status !== 'uploading' ? 'disabled' : null\"\n [class.btn-default]=\"!(invalid && (dirty || touched))\"\n [class.btn-danger]=\"invalid && (dirty || touched)\">\n <span [class]=\"IconPause\"></span>\n </a>\n <a\n *ngIf=\"autoupload && enablepause && file.status === 'paused'\"\n class=\"btn\"\n (click)=\"upload(file.uploadId)\"\n [class.btn-default]=\"!(invalid && (dirty || touched))\"\n [class.btn-danger]=\"invalid && (dirty || touched)\">\n <span [class]=\"IconContinue\"></span>\n </a>\n <a\n *ngIf=\"autoupload === false\"\n class=\"btn\"\n (click)=\"upload(file.uploadId)\"\n [attr.disabled]=\"file.status !== 'added' && file.status !== 'paused' ? 'disabled' : null\"\n [class.btn-default]=\"!(invalid && (dirty || touched))\"\n [class.btn-danger]=\"invalid && (dirty || touched)\">\n <span [class]=\"IconUpload\"></span> {{ buttonupload ? buttonupload : (lngResourceService.GetString(validationKeyService.UploadButtonUpload) | async) }}\n </a>\n </div>\n </div>\n </div>\n </div>\n\n <p\n *ngIf=\"helptextmode === 'text' && helptext\"\n class=\"help-block\">\n {{ helptext }}\n </p>\n <div\n class=\"help-block help-block-error\"\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\">\n {{ GetErrorMessage() | async }}\n </div>\n </div>\n</div>\n", styles: [".upload-component .upload-input{position:relative}.upload-component .custom-file>i{margin-right:15px}.upload-component .custom-file .custom-file-input{inset:0;position:absolute;overflow:hidden;z-index:2;width:100%;margin:0;display:inline-block;opacity:0}.upload-component.upload-multiple .upload-progress .progress{border-top-right-radius:0;border-bottom-right-radius:0}.upload-component.upload-single .upload-progress .progress{border-radius:0}.upload-component .upload-progress{padding:0}.upload-component .upload-progress .progress{height:100%}.upload-component .upload-progress .progress .progress-text{position:absolute;left:0;right:0;top:50%;transform:translateY(-50%);display:table-cell;line-height:34px;height:34px;color:#000}.dropzone{min-height:120px;width:100%;text-align:center;border-style:dashed;border-width:2px;padding-top:50px;padding-bottom:50px;position:relative}.dropzone.active{background-color:#add8e6}.dropzone .progress{border-radius:0}.dropzone .progress .progress-bar{display:flex;justify-content:center;text-align:center;flex-direction:column;border-top-right-radius:0;border-bottom-right-radius:0}.dropzone .progress .progress-bar .progress-text{position:absolute;left:0;right:0;top:50%;transform:translateY(-50%);display:table-cell;line-height:34px;height:34px;color:#000}.dropzone input[type=file]{position:absolute;inset:0;opacity:0;width:100%}.dropzone .dropzone-uploadstates{max-width:450px;margin-left:auto;margin-right:auto;margin-top:6px;width:80%}\n"] }]
2275
+ ], template: "<div\n id=\"{{ name }}\"\n class=\"row form-group\"\n [class.has-error]=\"invalid && (dirty || touched)\"\n [ngClass]=\"componentHeight | toLabelHeight\"\n [attr.data-e2e-key]=\"name | testingattribute : e2eidentifier\">\n <label\n *ngIf=\"disablelabel === false && !isAdaptiveLabel\"\n id=\"{{ name }}label\"\n for=\"{{ name }}_uploadinput\"\n class=\"col-xs-12 control-label\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'sr-only']\"\n [class.required]=\"isrequired\">\n <span class=\"text\">{{ label }}</span>\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [class]=\"HelptextTooltipIcon\"\n style=\"margin-left: 5px\">\n </span>\n </sac-tooltip>\n </label>\n <div\n class=\"col-xs-12\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\">\n <div class=\"upload-component\">\n <div class=\"row\">\n <div\n class=\"col-xs-12\"\n [style.display]=\"helptextmode === 'tooltip' && helptext && disablelabel ? 'flex' : null\">\n <div\n class=\"btn-group\"\n [class.btn-group-sm]=\"componentHeight === ControlHeight.Small\"\n [class.btn-group-lg]=\"componentHeight === ControlHeight.Large\">\n <div\n class=\"btn upload-input custom-file\"\n [class.disabled]=\"maxfiles > 0 && uploads.length >= maxfiles\"\n [class.btn-default]=\"!(invalid && (dirty || touched))\"\n [class.btn-danger]=\"invalid && (dirty || touched)\">\n <i [class]=\"IconBrowse\"></i>\n <span class=\"upload-browse\">{{ buttonbrowse ? buttonbrowse : (lngResourceService.GetString(validationKeyService.UploadButtonBrowse) | async) }}</span>\n <input\n id=\"{{ name }}_uploadinput\"\n type=\"file\"\n class=\"custom-file-input\"\n #files\n (click)=\"files.value = ''\"\n (uploadxState)=\"onUpload($event)\"\n multiple\n [disabled]=\"maxfiles > 0 && uploads.length >= maxfiles\" />\n </div>\n\n <div\n class=\"btn-group\"\n [class.btn-group-sm]=\"componentHeight === ControlHeight.Small\"\n [class.btn-group-lg]=\"componentHeight === ControlHeight.Large\">\n <!-- image-preview-clear button -->\n <a\n class=\"btn\"\n (click)=\"cancelAll()\"\n [attr.disabled]=\"HasQueueItem() === false ? 'disabled' : null\"\n [class.btn-default]=\"!(invalid && (dirty || touched))\"\n [class.btn-danger]=\"invalid && (dirty || touched)\">\n <span [class]=\"IconDelete\"></span>\n </a>\n <a\n *ngIf=\"(autoupload === false && enablepause) || (autoupload && enablepause && IsPaused() === false)\"\n class=\"btn\"\n (click)=\"pauseAll()\"\n [attr.disabled]=\"IsUploading() === false ? 'disabled' : null\"\n [class.btn-default]=\"!(invalid && (dirty || touched))\"\n [class.btn-danger]=\"invalid && (dirty || touched)\">\n <span [class]=\"IconPause\"></span>\n </a>\n <a\n *ngIf=\"autoupload && enablepause && IsPaused() === true\"\n class=\"btn\"\n (click)=\"uploadAll()\"\n [class.btn-default]=\"!(invalid && (dirty || touched))\"\n [class.btn-danger]=\"invalid && (dirty || touched)\">\n <span [class]=\"IconContinue\"></span>\n </a>\n <a\n *ngIf=\"autoupload === false\"\n class=\"btn\"\n (click)=\"uploadAll()\"\n [attr.disabled]=\"IsStateToUpload() === false ? 'disabled' : null\"\n [class.btn-default]=\"!(invalid && (dirty || touched))\"\n [class.btn-danger]=\"invalid && (dirty || touched)\">\n <span [class]=\"IconUpload\"></span>\n {{ buttonupload ? buttonupload : (lngResourceService.GetString(validationKeyService.UploadButtonUpload) | async) }}\n </a>\n </div>\n </div>\n\n <div\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\n class=\"form-control-static\"\n style=\"margin-left: 5px\">\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [class]=\"HelptextTooltipIcon\"\n style=\"margin-left: 5px; margin-right: 5px\">\n </span>\n </sac-tooltip>\n </div>\n </div>\n </div>\n\n <div\n *ngFor=\"let file of uploads\"\n style=\"margin-top: 5px\">\n <div\n class=\"input-group upload-component upload-multiple\"\n [class.input-group-sm]=\"componentHeight === ControlHeight.Small\"\n [class.input-group-lg]=\"componentHeight === ControlHeight.Large\">\n <div class=\"form-control upload-progress\">\n <div class=\"progress\">\n <div\n class=\"progress-bar\"\n [class.progress-bar-success]=\"file.progress === 100\"\n role=\"progressbar\"\n [attr.aria-valuenow]=\"file.progress\"\n aria-valuemin=\"0\"\n aria-valuemax=\"100\"\n [style.width.%]=\"file.progress\">\n <span class=\"progress-text text-dark\">{{ file.name }}</span>\n </div>\n </div>\n </div>\n <div\n class=\"input-group-btn\"\n [class.input-group-sm]=\"componentHeight === ControlHeight.Small\"\n [class.input-group-lg]=\"componentHeight === ControlHeight.Large\">\n <!-- image-preview-clear button -->\n <a\n class=\"btn\"\n (click)=\"cancel(file.uploadId)\"\n [class.btn-default]=\"!(invalid && (dirty || touched))\"\n [class.btn-danger]=\"invalid && (dirty || touched)\">\n <span [class]=\"IconDelete\"></span>\n </a>\n <a\n *ngIf=\"(autoupload === false && enablepause) || (autoupload && enablepause && file.status !== 'paused')\"\n class=\"btn\"\n (click)=\"pause(file.uploadId)\"\n [attr.disabled]=\"file.status !== 'uploading' ? 'disabled' : null\"\n [class.btn-default]=\"!(invalid && (dirty || touched))\"\n [class.btn-danger]=\"invalid && (dirty || touched)\">\n <span [class]=\"IconPause\"></span>\n </a>\n <a\n *ngIf=\"autoupload && enablepause && file.status === 'paused'\"\n class=\"btn\"\n (click)=\"upload(file.uploadId)\"\n [class.btn-default]=\"!(invalid && (dirty || touched))\"\n [class.btn-danger]=\"invalid && (dirty || touched)\">\n <span [class]=\"IconContinue\"></span>\n </a>\n <a\n *ngIf=\"autoupload === false\"\n class=\"btn\"\n (click)=\"upload(file.uploadId)\"\n [attr.disabled]=\"file.status !== 'added' && file.status !== 'paused' ? 'disabled' : null\"\n [class.btn-default]=\"!(invalid && (dirty || touched))\"\n [class.btn-danger]=\"invalid && (dirty || touched)\">\n <span [class]=\"IconUpload\"></span> {{ buttonupload ? buttonupload : (lngResourceService.GetString(validationKeyService.UploadButtonUpload) | async) }}\n </a>\n </div>\n </div>\n </div>\n </div>\n\n <p\n *ngIf=\"helptextmode === 'text' && helptext\"\n class=\"help-block\">\n {{ helptext }}\n </p>\n <div\n class=\"help-block help-block-error\"\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\">\n {{ GetErrorMessage() | async }}\n </div>\n </div>\n</div>\n", styles: [".upload-component .upload-input{position:relative}.upload-component .custom-file>i{margin-right:15px}.upload-component .custom-file .custom-file-input{inset:0;position:absolute;overflow:hidden;z-index:2;width:100%;margin:0;display:inline-block;opacity:0}.upload-component.upload-multiple .upload-progress .progress{border-top-right-radius:0;border-bottom-right-radius:0}.upload-component.upload-single .upload-progress .progress{border-radius:0}.upload-component .upload-progress{padding:0}.upload-component .upload-progress .progress{height:100%}.upload-component .upload-progress .progress .progress-text{position:absolute;left:0;right:0;top:50%;transform:translateY(-50%);display:table-cell;line-height:34px;height:34px;color:#000}.dropzone{min-height:120px;width:100%;text-align:center;border-style:dashed;border-width:2px;padding-top:50px;padding-bottom:50px;position:relative}.dropzone.active{background-color:#add8e6}.dropzone .progress{border-radius:0}.dropzone .progress .progress-bar{display:flex;justify-content:center;text-align:center;flex-direction:column;border-top-right-radius:0;border-bottom-right-radius:0}.dropzone .progress .progress-bar .progress-text{position:absolute;left:0;right:0;top:50%;transform:translateY(-50%);display:table-cell;line-height:34px;height:34px;color:#000}.dropzone input[type=file]{position:absolute;inset:0;opacity:0;width:100%}.dropzone .dropzone-uploadstates{max-width:450px;margin-left:auto;margin-right:auto;margin-top:6px;width:80%}\n"] }]
2294
2276
  }], ctorParameters: function () { return [{ type: SacFormLayoutDirective, decorators: [{
2295
2277
  type: Host
2296
2278
  }, {
@@ -2303,8 +2285,18 @@ SACBootstrap3UploadModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0"
2303
2285
  SACBootstrap3UploadModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SACBootstrap3UploadModule, declarations: [SacUploadComponent,
2304
2286
  SacUploadMultipleComponent,
2305
2287
  SacDropzoneSingleComponent,
2306
- SacDropzoneMultipleComponent], imports: [CommonModule, FormsModule, SACBootstrap3LayoutModule, SACBootstrap3TooltipModule], exports: [SacUploadComponent, SacUploadMultipleComponent, SacDropzoneSingleComponent, SacDropzoneMultipleComponent] });
2307
- SACBootstrap3UploadModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SACBootstrap3UploadModule, imports: [[CommonModule, FormsModule, SACBootstrap3LayoutModule, SACBootstrap3TooltipModule]] });
2288
+ SacDropzoneMultipleComponent], imports: [CommonModule,
2289
+ FormsModule,
2290
+ SACBootstrap3LayoutModule,
2291
+ SACBootstrap3TooltipModule,
2292
+ SACCommonUtliltiesModule], exports: [SacUploadComponent, SacUploadMultipleComponent, SacDropzoneSingleComponent, SacDropzoneMultipleComponent] });
2293
+ SACBootstrap3UploadModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SACBootstrap3UploadModule, imports: [[
2294
+ CommonModule,
2295
+ FormsModule,
2296
+ SACBootstrap3LayoutModule,
2297
+ SACBootstrap3TooltipModule,
2298
+ SACCommonUtliltiesModule,
2299
+ ]] });
2308
2300
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SACBootstrap3UploadModule, decorators: [{
2309
2301
  type: NgModule,
2310
2302
  args: [{
@@ -2314,7 +2306,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImpor
2314
2306
  SacDropzoneSingleComponent,
2315
2307
  SacDropzoneMultipleComponent,
2316
2308
  ],
2317
- imports: [CommonModule, FormsModule, SACBootstrap3LayoutModule, SACBootstrap3TooltipModule],
2309
+ imports: [
2310
+ CommonModule,
2311
+ FormsModule,
2312
+ SACBootstrap3LayoutModule,
2313
+ SACBootstrap3TooltipModule,
2314
+ SACCommonUtliltiesModule,
2315
+ ],
2318
2316
  exports: [SacUploadComponent, SacUploadMultipleComponent, SacDropzoneSingleComponent, SacDropzoneMultipleComponent],
2319
2317
  }]
2320
2318
  }] });
@@ -2367,6 +2365,69 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImpor
2367
2365
  args: ['class.form-horizontal']
2368
2366
  }] } });
2369
2367
 
2368
+ // #region Classes
2369
+ /**
2370
+ * Directive to inherit an NgForm/NgForm from a parent component
2371
+ */
2372
+ class SacInheritFormDirective extends SacFormCommon {
2373
+ // #region Constructors
2374
+ /**
2375
+ * Construtor
2376
+ * @param injector: injector to receive the NgForm instance
2377
+ */
2378
+ constructor(injector) {
2379
+ super(injector.get(NgForm));
2380
+ }
2381
+ }
2382
+ SacInheritFormDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SacInheritFormDirective, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Directive });
2383
+ SacInheritFormDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.2.7", type: SacInheritFormDirective, selector: "[sacInheritForm]", providers: [
2384
+ {
2385
+ provide: SacFormDirective,
2386
+ useFactory: SACFORM_FACTORY,
2387
+ deps: [[new SkipSelf(), SacFormDirective]],
2388
+ },
2389
+ {
2390
+ provide: ControlContainer,
2391
+ useFactory: NGFORM_FACTORY,
2392
+ deps: [NgForm],
2393
+ },
2394
+ ], exportAs: ["sacinheritform"], usesInheritance: true, ngImport: i0 });
2395
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SacInheritFormDirective, decorators: [{
2396
+ type: Directive,
2397
+ args: [{
2398
+ selector: '[sacInheritForm]',
2399
+ exportAs: 'sacinheritform',
2400
+ providers: [
2401
+ {
2402
+ provide: SacFormDirective,
2403
+ useFactory: SACFORM_FACTORY,
2404
+ deps: [[new SkipSelf(), SacFormDirective]],
2405
+ },
2406
+ {
2407
+ provide: ControlContainer,
2408
+ useFactory: NGFORM_FACTORY,
2409
+ deps: [NgForm],
2410
+ },
2411
+ ],
2412
+ }]
2413
+ }], ctorParameters: function () { return [{ type: i0.Injector }]; } });
2414
+ // #endregion Classes
2415
+ // #region Functions
2416
+ /**
2417
+ * Factory Methode für NgForm
2418
+ * @param form NgForm
2419
+ */
2420
+ function NGFORM_FACTORY(form) {
2421
+ return form;
2422
+ }
2423
+ /**
2424
+ * Factory Methode für SacForm
2425
+ * @param form NgFormular
2426
+ */
2427
+ function SACFORM_FACTORY(form) {
2428
+ return form;
2429
+ }
2430
+
2370
2431
  class SacValidationSummaryComponent extends SacValidationSummaryCommon {
2371
2432
  // #region Constructors
2372
2433
  /**
@@ -2385,7 +2446,7 @@ SacValidationSummaryComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "1
2385
2446
  multi: true,
2386
2447
  useExisting: SacValidationSummaryComponent,
2387
2448
  },
2388
- ], usesInheritance: true, ngImport: i0, template: "<div class=\"alert alert-danger\" role=\"alert\" *ngIf=\"hasErrors\" [id]=\"name\">\n <ul>\n <li *ngFor=\"let error of formErrors\">\n {{error | async}}\n </li>\n </ul>\n</div>\n", directives: [{ type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], pipes: { "async": i3.AsyncPipe }, viewProviders: [{ provide: ControlContainer, useExisting: SacFormDirective }] });
2449
+ ], usesInheritance: true, ngImport: i0, template: "<div\n class=\"alert alert-danger\"\n role=\"alert\"\n *ngIf=\"hasErrors\"\n [id]=\"name\"\n [attr.data-e2e-key]=\"name | testingattribute : e2eidentifier\">\n <ul>\n <li *ngFor=\"let error of formErrors\">{{ error | async }}</li>\n </ul>\n</div>\n", directives: [{ type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], pipes: { "testingattribute": i5.SacTestingAttributePipe, "async": i3.AsyncPipe }, viewProviders: [{ provide: ControlContainer, useExisting: SacFormDirective }] });
2389
2450
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SacValidationSummaryComponent, decorators: [{
2390
2451
  type: Component,
2391
2452
  args: [{ selector: 'sac-validationsummary', providers: [
@@ -2394,7 +2455,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImpor
2394
2455
  multi: true,
2395
2456
  useExisting: SacValidationSummaryComponent,
2396
2457
  },
2397
- ], viewProviders: [{ provide: ControlContainer, useExisting: SacFormDirective }], template: "<div class=\"alert alert-danger\" role=\"alert\" *ngIf=\"hasErrors\" [id]=\"name\">\n <ul>\n <li *ngFor=\"let error of formErrors\">\n {{error | async}}\n </li>\n </ul>\n</div>\n" }]
2458
+ ], viewProviders: [{ provide: ControlContainer, useExisting: SacFormDirective }], template: "<div\n class=\"alert alert-danger\"\n role=\"alert\"\n *ngIf=\"hasErrors\"\n [id]=\"name\"\n [attr.data-e2e-key]=\"name | testingattribute : e2eidentifier\">\n <ul>\n <li *ngFor=\"let error of formErrors\">{{ error | async }}</li>\n </ul>\n</div>\n" }]
2398
2459
  }], ctorParameters: function () { return [{ type: SacFormDirective, decorators: [{
2399
2460
  type: Host
2400
2461
  }, {
@@ -2404,18 +2465,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImpor
2404
2465
  class SACBootstrap3ValidationSummaryModule {
2405
2466
  }
2406
2467
  SACBootstrap3ValidationSummaryModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SACBootstrap3ValidationSummaryModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
2407
- SACBootstrap3ValidationSummaryModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SACBootstrap3ValidationSummaryModule, declarations: [SacValidationSummaryComponent], imports: [CommonModule], exports: [SacValidationSummaryComponent] });
2408
- SACBootstrap3ValidationSummaryModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SACBootstrap3ValidationSummaryModule, imports: [[
2409
- CommonModule
2410
- ]] });
2468
+ SACBootstrap3ValidationSummaryModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SACBootstrap3ValidationSummaryModule, declarations: [SacValidationSummaryComponent], imports: [CommonModule, SACCommonUtliltiesModule], exports: [SacValidationSummaryComponent] });
2469
+ SACBootstrap3ValidationSummaryModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SACBootstrap3ValidationSummaryModule, imports: [[CommonModule, SACCommonUtliltiesModule]] });
2411
2470
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SACBootstrap3ValidationSummaryModule, decorators: [{
2412
2471
  type: NgModule,
2413
2472
  args: [{
2414
2473
  declarations: [SacValidationSummaryComponent],
2415
- imports: [
2416
- CommonModule
2417
- ],
2418
- exports: [SacValidationSummaryComponent]
2474
+ imports: [CommonModule, SACCommonUtliltiesModule],
2475
+ exports: [SacValidationSummaryComponent],
2419
2476
  }]
2420
2477
  }] });
2421
2478
 
@@ -2450,84 +2507,17 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImpor
2450
2507
  class SACBootstrap3WizardModule {
2451
2508
  }
2452
2509
  SACBootstrap3WizardModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SACBootstrap3WizardModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
2453
- SACBootstrap3WizardModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SACBootstrap3WizardModule, declarations: [SacWizardComponent, SacWizardItemComponent], imports: [CommonModule], exports: [SacWizardComponent, SacWizardItemComponent] });
2454
- SACBootstrap3WizardModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SACBootstrap3WizardModule, imports: [[
2455
- CommonModule
2456
- ]] });
2510
+ SACBootstrap3WizardModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SACBootstrap3WizardModule, declarations: [SacWizardComponent, SacWizardItemComponent], imports: [CommonModule, SACCommonUtliltiesModule], exports: [SacWizardComponent, SacWizardItemComponent] });
2511
+ SACBootstrap3WizardModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SACBootstrap3WizardModule, imports: [[CommonModule, SACCommonUtliltiesModule]] });
2457
2512
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SACBootstrap3WizardModule, decorators: [{
2458
2513
  type: NgModule,
2459
2514
  args: [{
2460
2515
  declarations: [SacWizardComponent, SacWizardItemComponent],
2461
- imports: [
2462
- CommonModule
2463
- ],
2464
- exports: [SacWizardComponent, SacWizardItemComponent]
2516
+ imports: [CommonModule, SACCommonUtliltiesModule],
2517
+ exports: [SacWizardComponent, SacWizardItemComponent],
2465
2518
  }]
2466
2519
  }] });
2467
2520
 
2468
- // #region Classes
2469
- /**
2470
- * Directive to inherit an NgForm/NgForm from a parent component
2471
- */
2472
- class SacInheritFormDirective extends SacFormCommon {
2473
- // #region Constructors
2474
- /**
2475
- * Construtor
2476
- * @param injector: injector to receive the NgForm instance
2477
- */
2478
- constructor(injector) {
2479
- super(injector.get(NgForm));
2480
- }
2481
- }
2482
- SacInheritFormDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SacInheritFormDirective, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Directive });
2483
- SacInheritFormDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.2.7", type: SacInheritFormDirective, selector: "[sacInheritForm]", providers: [
2484
- {
2485
- provide: SacFormDirective,
2486
- useFactory: SACFORM_FACTORY,
2487
- deps: [[new SkipSelf(), SacFormDirective]],
2488
- },
2489
- {
2490
- provide: ControlContainer,
2491
- useFactory: NGFORM_FACTORY,
2492
- deps: [NgForm],
2493
- },
2494
- ], exportAs: ["sacinheritform"], usesInheritance: true, ngImport: i0 });
2495
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SacInheritFormDirective, decorators: [{
2496
- type: Directive,
2497
- args: [{
2498
- selector: '[sacInheritForm]',
2499
- exportAs: 'sacinheritform',
2500
- providers: [
2501
- {
2502
- provide: SacFormDirective,
2503
- useFactory: SACFORM_FACTORY,
2504
- deps: [[new SkipSelf(), SacFormDirective]],
2505
- },
2506
- {
2507
- provide: ControlContainer,
2508
- useFactory: NGFORM_FACTORY,
2509
- deps: [NgForm],
2510
- },
2511
- ],
2512
- }]
2513
- }], ctorParameters: function () { return [{ type: i0.Injector }]; } });
2514
- // #endregion Classes
2515
- // #region Functions
2516
- /**
2517
- * Factory Methode für NgForm
2518
- * @param form NgForm
2519
- */
2520
- function NGFORM_FACTORY(form) {
2521
- return form;
2522
- }
2523
- /**
2524
- * Factory Methode für SacForm
2525
- * @param form NgFormular
2526
- */
2527
- function SACFORM_FACTORY(form) {
2528
- return form;
2529
- }
2530
-
2531
2521
  class SACBootstrap3FormModule {
2532
2522
  }
2533
2523
  SACBootstrap3FormModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SACBootstrap3FormModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
@@ -2550,5 +2540,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImpor
2550
2540
  * Generated bundle index. Do not edit.
2551
2541
  */
2552
2542
 
2553
- export { NGFORM_FACTORY, SACBootstrap3ButtonModule, SACBootstrap3CheckboxModule, SACBootstrap3ConfirmModule, SACBootstrap3ContextmenuModule, SACBootstrap3DateTimeModule, SACBootstrap3DialogModule, SACBootstrap3FormModule, SACBootstrap3GridModule, SACBootstrap3InputModule, SACBootstrap3LayoutModule, SACBootstrap3ListModule, SACBootstrap3StaticLabelModule, SACBootstrap3TabsModule, SACBootstrap3TinyMceModule, SACBootstrap3TooltipModule, SACBootstrap3TreeviewModule, SACBootstrap3UploadModule, SACBootstrap3ValidationSummaryModule, SACBootstrap3WizardModule, SACFORM_FACTORY, SacButtonComponent, SacCheckboxComponent, SacConfirmComponent, SacContextmenuAnchorDirective, SacContextmenuComponent, SacContextmenuItemButtonComponent, SacContextmenuItemSplitterComponent, SacDateComponent, SacDateSelectorComponent, SacDateTimeComponent, SacDialogComponent, SacDropdownComponent, SacDropdownOptionDirective, SacDropzoneMultipleComponent, SacDropzoneSingleComponent, SacFormDirective, SacFormLayoutDirective, SacGridButtonComponent, SacGridColumnActionComponent, SacGridColumnComponent, SacGridComponent, SacGridImageComponent, SacInheritFormDirective, SacInputAreaComponent, SacInputComponent, SacInputCurrencyComponent, SacInputDecimalComponent, SacInputEmailComponent, SacInputIntegerComponent, SacInputPasswordComponent, SacInputSearchComponent, SacListboxComponent, SacPagingComponent, SacRadiobuttonComponent, SacRadiobuttonsComponent, SacStaticFormContainerComponent, SacStaticLabelComponent, SacTabComponent, SacTabItemComponent, SacTimeComponent, SacTinyMceComponent, SacToControlHeightPipe, SacToControlWidthCssPipe, SacToLabelHeightPipe, SacToLabelWidthCssPipe, SacTooltipComponent, SacTreeviewComponent, SacUploadComponent, SacUploadMultipleComponent, SacValidationSummaryComponent, SacWizardComponent, SacWizardItemComponent, ServiceConfirm };
2543
+ export { NGFORM_FACTORY, SACBootstrap3ButtonModule, SACBootstrap3CheckboxModule, SACBootstrap3ConfirmModule, SACBootstrap3ContextmenuModule, SACBootstrap3DateTimeModule, SACBootstrap3DialogModule, SACBootstrap3FormModule, SACBootstrap3GridModule, SACBootstrap3InputModule, SACBootstrap3LayoutModule, SACBootstrap3ListModule, SACBootstrap3StaticLabelModule, SACBootstrap3TabsModule, SACBootstrap3TinyMceModule, SACBootstrap3TooltipModule, SACBootstrap3TreeviewModule, SACBootstrap3UploadModule, SACBootstrap3ValidationSummaryModule, SACBootstrap3WizardModule, SACFORM_FACTORY, SacButtonComponent, SacCheckboxComponent, SacConfirmComponent, SacContextmenuAnchorDirective, SacContextmenuComponent, SacContextmenuItemButtonComponent, SacContextmenuItemSplitterComponent, SacDateComponent, SacDateSelectorComponent, SacDateTimeComponent, SacDialogComponent, SacDropdownComponent, SacDropdownOptionDirective, SacDropzoneMultipleComponent, SacDropzoneSingleComponent, SacFormDirective, SacFormLayoutDirective, SacGridButtonComponent, SacGridColumnActionComponent, SacGridColumnComponent, SacGridComponent, SacGridImageComponent, SacInheritFormDirective, SacInputAreaComponent, SacInputComponent, SacInputCurrencyComponent, SacInputDecimalComponent, SacInputEmailComponent, SacInputIntegerComponent, SacInputPasswordComponent, SacInputSearchComponent, SacListboxComponent, SacListboxOptionDirective, SacPagingComponent, SacRadiobuttonComponent, SacRadiobuttonsComponent, SacStaticFormContainerComponent, SacStaticLabelComponent, SacTabComponent, SacTabItemComponent, SacTimeComponent, SacTinyMceComponent, SacToControlHeightPipe, SacToControlWidthCssPipe, SacToLabelHeightPipe, SacToLabelWidthCssPipe, SacTooltipComponent, SacTreeviewComponent, SacUploadComponent, SacUploadMultipleComponent, SacValidationSummaryComponent, SacWizardComponent, SacWizardItemComponent, ServiceConfirm };
2554
2544
  //# sourceMappingURL=simpleangularcontrols-sac-bootstrap3.mjs.map