@simpleangularcontrols/sac-bootstrap5 16.0.0-rc.13 → 16.0.0-rc.15

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 (92) hide show
  1. package/README.md +17 -17
  2. package/esm2022/components/browser/browser.mjs +3 -3
  3. package/esm2022/components/browser/browser.module.mjs +1 -1
  4. package/esm2022/controls/buttons/button.mjs +3 -3
  5. package/esm2022/controls/buttons/button.module.mjs +1 -1
  6. package/esm2022/controls/buttons/index.mjs +1 -1
  7. package/esm2022/controls/checkbox/checkbox.mjs +3 -3
  8. package/esm2022/controls/checkbox/checkbox.module.mjs +1 -1
  9. package/esm2022/controls/checkbox/radiobutton.mjs +3 -3
  10. package/esm2022/controls/checkbox/radiobuttons.mjs +3 -3
  11. package/esm2022/controls/confirm/confirm.mjs +3 -3
  12. package/esm2022/controls/confirm/confirm.module.mjs +1 -1
  13. package/esm2022/controls/confirm/confirm.service.mjs +1 -1
  14. package/esm2022/controls/contextmenu/contextmenu.mjs +3 -3
  15. package/esm2022/controls/contextmenu/contextmenu.module.mjs +1 -1
  16. package/esm2022/controls/contextmenu/contextmenuanchor.mjs +1 -1
  17. package/esm2022/controls/contextmenu/contextmenucontainer.mjs +1 -1
  18. package/esm2022/controls/contextmenu/contextmenuitembutton.mjs +3 -3
  19. package/esm2022/controls/contextmenu/contextmenuitemsplitter.mjs +3 -3
  20. package/esm2022/controls/contextmenu/index.mjs +1 -1
  21. package/esm2022/controls/datetime/date.mjs +3 -3
  22. package/esm2022/controls/datetime/dateselector.mjs +3 -3
  23. package/esm2022/controls/datetime/datetime.mjs +3 -3
  24. package/esm2022/controls/datetime/datetime.module.mjs +1 -1
  25. package/esm2022/controls/datetime/time.mjs +3 -3
  26. package/esm2022/controls/dialog/dialog.mjs +3 -3
  27. package/esm2022/controls/dialog/dialog.module.mjs +1 -1
  28. package/esm2022/controls/dialog/index.mjs +1 -1
  29. package/esm2022/controls/form/form.mjs +1 -1
  30. package/esm2022/controls/form/form.module.mjs +1 -1
  31. package/esm2022/controls/form/inheritform.directive.mjs +1 -1
  32. package/esm2022/controls/grid/grid.mjs +3 -3
  33. package/esm2022/controls/grid/grid.module.mjs +1 -1
  34. package/esm2022/controls/grid/gridbutton.mjs +3 -3
  35. package/esm2022/controls/grid/gridcolumn.mjs +3 -3
  36. package/esm2022/controls/grid/gridcolumnaction.mjs +3 -3
  37. package/esm2022/controls/grid/gridimage.mjs +3 -3
  38. package/esm2022/controls/grid/paging.mjs +3 -3
  39. package/esm2022/controls/input/input.mjs +3 -3
  40. package/esm2022/controls/input/input.module.mjs +1 -1
  41. package/esm2022/controls/input/inputarea.mjs +3 -3
  42. package/esm2022/controls/input/inputcurrency.mjs +3 -3
  43. package/esm2022/controls/input/inputdecimal.mjs +3 -3
  44. package/esm2022/controls/input/inputemail.mjs +3 -3
  45. package/esm2022/controls/input/inputinteger.mjs +3 -3
  46. package/esm2022/controls/input/inputpassword.mjs +3 -3
  47. package/esm2022/controls/input/inputsearch.mjs +3 -3
  48. package/esm2022/controls/layout/formlayout.directive.mjs +1 -1
  49. package/esm2022/controls/layout/layout.module.mjs +1 -1
  50. package/esm2022/controls/layout/tocontrolheight.pipe.mjs +1 -1
  51. package/esm2022/controls/layout/tocontrolwidthcss.pipe.mjs +1 -1
  52. package/esm2022/controls/layout/tolabelheight.pipe.mjs +1 -1
  53. package/esm2022/controls/layout/tolabelwidthcss.pipe.mjs +1 -1
  54. package/esm2022/controls/list/dropdown.mjs +3 -3
  55. package/esm2022/controls/list/dropdown.module.mjs +1 -1
  56. package/esm2022/controls/list/list.module.mjs +1 -1
  57. package/esm2022/controls/list/listbox.mjs +3 -3
  58. package/esm2022/controls/multilanguage/multilanguage.module.mjs +1 -1
  59. package/esm2022/controls/multilanguage/multilanguageinput.mjs +3 -3
  60. package/esm2022/controls/multilanguage/multilanguageinputarea.mjs +3 -3
  61. package/esm2022/controls/multilanguage/multilanguagemenu.mjs +3 -3
  62. package/esm2022/controls/multilanguage/multilanguagemenuanchor.mjs +1 -1
  63. package/esm2022/controls/multilanguage/multilanguagemenucontainer.mjs +1 -1
  64. package/esm2022/controls/multilanguage/multilanguagemenuitembutton.mjs +3 -3
  65. package/esm2022/controls/static/formcontainer.mjs +3 -3
  66. package/esm2022/controls/static/staticlabel.mjs +3 -3
  67. package/esm2022/controls/static/staticlabel.module.mjs +1 -1
  68. package/esm2022/controls/tabs/tab.mjs +3 -3
  69. package/esm2022/controls/tabs/tabitem.mjs +3 -3
  70. package/esm2022/controls/tabs/tabs.module.mjs +1 -1
  71. package/esm2022/controls/tinymce/tinymce.mjs +3 -3
  72. package/esm2022/controls/tinymce/tinymce.module.mjs +1 -1
  73. package/esm2022/controls/tooltip/tooltip.mjs +3 -3
  74. package/esm2022/controls/tooltip/tooltip.module.mjs +1 -1
  75. package/esm2022/controls/treeview/treeview.mjs +3 -3
  76. package/esm2022/controls/treeview/treeview.module.mjs +1 -1
  77. package/esm2022/controls/upload/dropzonemultiple.mjs +3 -3
  78. package/esm2022/controls/upload/dropzonesingle.mjs +3 -3
  79. package/esm2022/controls/upload/upload.mjs +3 -3
  80. package/esm2022/controls/upload/upload.module.mjs +1 -1
  81. package/esm2022/controls/upload/uploadmultiple.mjs +3 -3
  82. package/esm2022/controls/validation/validationsummary.mjs +3 -3
  83. package/esm2022/controls/validation/validationsummary.module.mjs +1 -1
  84. package/esm2022/controls/wizard/wizard.mjs +3 -3
  85. package/esm2022/controls/wizard/wizard.module.mjs +1 -1
  86. package/esm2022/controls/wizard/wizarditem.mjs +1 -1
  87. package/esm2022/public-api.mjs +1 -1
  88. package/fesm2022/simpleangularcontrols-sac-bootstrap5.mjs +94 -94
  89. package/fesm2022/simpleangularcontrols-sac-bootstrap5.mjs.map +1 -1
  90. package/package.json +37 -37
  91. package/simpleangularcontrols-sac-bootstrap5-16.0.0-rc.15.tgz +0 -0
  92. package/simpleangularcontrols-sac-bootstrap5-16.0.0-rc.13.tgz +0 -0
@@ -19,11 +19,11 @@ import { EditorComponent } from '@tinymce/tinymce-angular';
19
19
  */
20
20
  class SacButtonComponent extends SacButtonCommon {
21
21
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SacButtonComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
22
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: SacButtonComponent, isStandalone: true, selector: "sac-button", usesInheritance: true, ngImport: i0, template: "<button\r\n [id]=\"name\"\r\n type=\"button\"\r\n class=\"btn d-flex justify-content-center align-items-center\"\r\n [attr.disabled]=\"_isdisabled || isloading ? 'disabled' : null\"\r\n (click)=\"buttonClick()\"\r\n [class.btn-primary]=\"role === 'primary'\"\r\n [class.btn-secondary]=\"role === 'secondary' || role === 'default'\"\r\n [class.btn-success]=\"role === 'success'\"\r\n [class.btn-danger]=\"role === 'danger'\"\r\n [class.btn-warning]=\"role === 'warning'\"\r\n [class.btn-info]=\"role === 'info'\"\r\n [class.btn-link]=\"role === 'link'\"\r\n>\r\n <span\r\n *ngIf=\"isloading\"\r\n class=\"spinner-border spinner-border-sm me-2\"\r\n role=\"status\"\r\n aria-hidden=\"true\"\r\n ></span>\r\n <i *ngIf=\"!isloading && icon !== ''\" [ngClass]=\"icon\" [class.me-2]=\"text\"></i\r\n >{{text}}\r\n</button>\r\n", dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] }); }
22
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: SacButtonComponent, isStandalone: true, selector: "sac-button", usesInheritance: true, ngImport: i0, template: "<button\n [id]=\"name\"\n type=\"button\"\n class=\"btn d-flex justify-content-center align-items-center\"\n [attr.disabled]=\"_isdisabled || isloading ? 'disabled' : null\"\n (click)=\"buttonClick()\"\n [class.btn-primary]=\"role === 'primary'\"\n [class.btn-secondary]=\"role === 'secondary' || role === 'default'\"\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-link]=\"role === 'link'\"\n>\n <span\n *ngIf=\"isloading\"\n class=\"spinner-border spinner-border-sm me-2\"\n role=\"status\"\n aria-hidden=\"true\"\n ></span>\n <i *ngIf=\"!isloading && icon !== ''\" [ngClass]=\"icon\" [class.me-2]=\"text\"></i\n >{{text}}\n</button>\n", dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] }); }
23
23
  }
24
24
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SacButtonComponent, decorators: [{
25
25
  type: Component,
26
- args: [{ selector: 'sac-button', standalone: true, imports: [NgIf, NgClass], template: "<button\r\n [id]=\"name\"\r\n type=\"button\"\r\n class=\"btn d-flex justify-content-center align-items-center\"\r\n [attr.disabled]=\"_isdisabled || isloading ? 'disabled' : null\"\r\n (click)=\"buttonClick()\"\r\n [class.btn-primary]=\"role === 'primary'\"\r\n [class.btn-secondary]=\"role === 'secondary' || role === 'default'\"\r\n [class.btn-success]=\"role === 'success'\"\r\n [class.btn-danger]=\"role === 'danger'\"\r\n [class.btn-warning]=\"role === 'warning'\"\r\n [class.btn-info]=\"role === 'info'\"\r\n [class.btn-link]=\"role === 'link'\"\r\n>\r\n <span\r\n *ngIf=\"isloading\"\r\n class=\"spinner-border spinner-border-sm me-2\"\r\n role=\"status\"\r\n aria-hidden=\"true\"\r\n ></span>\r\n <i *ngIf=\"!isloading && icon !== ''\" [ngClass]=\"icon\" [class.me-2]=\"text\"></i\r\n >{{text}}\r\n</button>\r\n" }]
26
+ args: [{ selector: 'sac-button', standalone: true, imports: [NgIf, NgClass], template: "<button\n [id]=\"name\"\n type=\"button\"\n class=\"btn d-flex justify-content-center align-items-center\"\n [attr.disabled]=\"_isdisabled || isloading ? 'disabled' : null\"\n (click)=\"buttonClick()\"\n [class.btn-primary]=\"role === 'primary'\"\n [class.btn-secondary]=\"role === 'secondary' || role === 'default'\"\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-link]=\"role === 'link'\"\n>\n <span\n *ngIf=\"isloading\"\n class=\"spinner-border spinner-border-sm me-2\"\n role=\"status\"\n aria-hidden=\"true\"\n ></span>\n <i *ngIf=\"!isloading && icon !== ''\" [ngClass]=\"icon\" [class.me-2]=\"text\"></i\n >{{text}}\n</button>\n" }]
27
27
  }] });
28
28
 
29
29
  /**
@@ -57,11 +57,11 @@ class SacDialogComponent extends SacDialogCommon {
57
57
  super.ngOnDestroy();
58
58
  }
59
59
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SacDialogComponent, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
60
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: SacDialogComponent, isStandalone: true, selector: "sac-dialog", usesInheritance: true, ngImport: i0, template: "<div\r\n #dialog\r\n class=\"modal show\"\r\n style=\"display: block\"\r\n tabindex=\"-1\"\r\n role=\"dialog\"\r\n *ngIf=\"_show\"\r\n>\r\n <div\r\n class=\"modal-dialog modal-lg modal-dialog-centered modal-dialog-scrollable\"\r\n role=\"document\"\r\n [class.modal-xl]=\"_size === 'extralarge'\"\r\n [class.modal-lg]=\"_size === 'large'\"\r\n [class.modal-sm]=\"_size === 'small'\"\r\n >\r\n <div class=\"modal-content\">\r\n <div class=\"modal-header\">\r\n <h5 class=\"modal-title\">{{title}}</h5>\r\n <button\r\n type=\"button\"\r\n class=\"btn-close\"\r\n data-dismiss=\"modal\"\r\n aria-label=\"Close\"\r\n (click)=\"hide()\"\r\n *ngIf=\"closebutton\"\r\n ></button>\r\n </div>\r\n <div class=\"modal-body\">\r\n <ng-content select=\"[dialogbody]\"></ng-content>\r\n </div>\r\n <div class=\"modal-footer\">\r\n <ng-content select=\"[dialogfooter]\"></ng-content>\r\n </div>\r\n </div>\r\n <!-- /.modal-content -->\r\n </div>\r\n <!-- /.modal-dialog -->\r\n</div>\r\n<!-- /.modal -->\r\n<div class=\"modal-backdrop show\" *ngIf=\"_show && backdrop\" #backdrop></div>\r\n", dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] }); }
60
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: SacDialogComponent, isStandalone: true, selector: "sac-dialog", usesInheritance: true, ngImport: i0, template: "<div\n #dialog\n class=\"modal show\"\n style=\"display: block\"\n tabindex=\"-1\"\n role=\"dialog\"\n *ngIf=\"_show\"\n>\n <div\n class=\"modal-dialog modal-lg modal-dialog-centered modal-dialog-scrollable\"\n role=\"document\"\n [class.modal-xl]=\"_size === 'extralarge'\"\n [class.modal-lg]=\"_size === 'large'\"\n [class.modal-sm]=\"_size === 'small'\"\n >\n <div class=\"modal-content\">\n <div class=\"modal-header\">\n <h5 class=\"modal-title\">{{title}}</h5>\n <button\n type=\"button\"\n class=\"btn-close\"\n data-dismiss=\"modal\"\n aria-label=\"Close\"\n (click)=\"hide()\"\n *ngIf=\"closebutton\"\n ></button>\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 class=\"modal-backdrop show\" *ngIf=\"_show && backdrop\" #backdrop></div>\n", dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] }); }
61
61
  }
62
62
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SacDialogComponent, decorators: [{
63
63
  type: Component,
64
- args: [{ selector: 'sac-dialog', standalone: true, imports: [NgIf], template: "<div\r\n #dialog\r\n class=\"modal show\"\r\n style=\"display: block\"\r\n tabindex=\"-1\"\r\n role=\"dialog\"\r\n *ngIf=\"_show\"\r\n>\r\n <div\r\n class=\"modal-dialog modal-lg modal-dialog-centered modal-dialog-scrollable\"\r\n role=\"document\"\r\n [class.modal-xl]=\"_size === 'extralarge'\"\r\n [class.modal-lg]=\"_size === 'large'\"\r\n [class.modal-sm]=\"_size === 'small'\"\r\n >\r\n <div class=\"modal-content\">\r\n <div class=\"modal-header\">\r\n <h5 class=\"modal-title\">{{title}}</h5>\r\n <button\r\n type=\"button\"\r\n class=\"btn-close\"\r\n data-dismiss=\"modal\"\r\n aria-label=\"Close\"\r\n (click)=\"hide()\"\r\n *ngIf=\"closebutton\"\r\n ></button>\r\n </div>\r\n <div class=\"modal-body\">\r\n <ng-content select=\"[dialogbody]\"></ng-content>\r\n </div>\r\n <div class=\"modal-footer\">\r\n <ng-content select=\"[dialogfooter]\"></ng-content>\r\n </div>\r\n </div>\r\n <!-- /.modal-content -->\r\n </div>\r\n <!-- /.modal-dialog -->\r\n</div>\r\n<!-- /.modal -->\r\n<div class=\"modal-backdrop show\" *ngIf=\"_show && backdrop\" #backdrop></div>\r\n" }]
64
+ args: [{ selector: 'sac-dialog', standalone: true, imports: [NgIf], template: "<div\n #dialog\n class=\"modal show\"\n style=\"display: block\"\n tabindex=\"-1\"\n role=\"dialog\"\n *ngIf=\"_show\"\n>\n <div\n class=\"modal-dialog modal-lg modal-dialog-centered modal-dialog-scrollable\"\n role=\"document\"\n [class.modal-xl]=\"_size === 'extralarge'\"\n [class.modal-lg]=\"_size === 'large'\"\n [class.modal-sm]=\"_size === 'small'\"\n >\n <div class=\"modal-content\">\n <div class=\"modal-header\">\n <h5 class=\"modal-title\">{{title}}</h5>\n <button\n type=\"button\"\n class=\"btn-close\"\n data-dismiss=\"modal\"\n aria-label=\"Close\"\n (click)=\"hide()\"\n *ngIf=\"closebutton\"\n ></button>\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 class=\"modal-backdrop show\" *ngIf=\"_show && backdrop\" #backdrop></div>\n" }]
65
65
  }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }]; } });
66
66
 
67
67
  /**
@@ -69,7 +69,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
69
69
  */
70
70
  class SacConfirmComponent extends SacConfirmCommon {
71
71
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SacConfirmComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
72
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: SacConfirmComponent, isStandalone: true, selector: "sac-confirm", usesInheritance: true, ngImport: i0, template: "<sac-dialog\r\n name=\"confirmDialog\"\r\n [(isvisible)]=\"isvisible\"\r\n [title]=\"title\"\r\n [allowesc]=\"false\"\r\n [closebutton]=\"false\"\r\n dialogsize=\"small\"\r\n>\r\n <div dialogbody>\r\n <div class=\"d-flex align-items-center\">\r\n <div class=\"me-2\">\r\n <img\r\n [attr.src]=\"image\"\r\n class=\"align-self-center mr-3\"\r\n *ngIf=\"hasImage()\"\r\n />\r\n </div>\r\n <div class=\"flex-grow-1\">{{message}}</div>\r\n </div>\r\n </div>\r\n <ng-container dialogfooter>\r\n <ng-container *ngFor=\"let button of buttons\">\r\n <sac-button\r\n [name]=\"button.key\"\r\n [text]=\"button.text\"\r\n [role]=\"button.role || 'default'\"\r\n (clicked)=\"confirm(button.key)\"\r\n ></sac-button>\r\n </ng-container>\r\n </ng-container>\r\n</sac-dialog>\r\n", dependencies: [{ kind: "component", type: SacDialogComponent, selector: "sac-dialog" }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: SacButtonComponent, selector: "sac-button" }] }); }
72
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: SacConfirmComponent, isStandalone: true, selector: "sac-confirm", usesInheritance: true, ngImport: i0, template: "<sac-dialog\n name=\"confirmDialog\"\n [(isvisible)]=\"isvisible\"\n [title]=\"title\"\n [allowesc]=\"false\"\n [closebutton]=\"false\"\n dialogsize=\"small\"\n>\n <div dialogbody>\n <div class=\"d-flex align-items-center\">\n <div class=\"me-2\">\n <img\n [attr.src]=\"image\"\n class=\"align-self-center mr-3\"\n *ngIf=\"hasImage()\"\n />\n </div>\n <div class=\"flex-grow-1\">{{message}}</div>\n </div>\n </div>\n <ng-container dialogfooter>\n <ng-container *ngFor=\"let button of buttons\">\n <sac-button\n [name]=\"button.key\"\n [text]=\"button.text\"\n [role]=\"button.role || 'default'\"\n (clicked)=\"confirm(button.key)\"\n ></sac-button>\n </ng-container>\n </ng-container>\n</sac-dialog>\n", dependencies: [{ kind: "component", type: SacDialogComponent, selector: "sac-dialog" }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: SacButtonComponent, selector: "sac-button" }] }); }
73
73
  }
74
74
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SacConfirmComponent, decorators: [{
75
75
  type: Component,
@@ -78,7 +78,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
78
78
  NgIf,
79
79
  NgFor,
80
80
  SacButtonComponent,
81
- ], template: "<sac-dialog\r\n name=\"confirmDialog\"\r\n [(isvisible)]=\"isvisible\"\r\n [title]=\"title\"\r\n [allowesc]=\"false\"\r\n [closebutton]=\"false\"\r\n dialogsize=\"small\"\r\n>\r\n <div dialogbody>\r\n <div class=\"d-flex align-items-center\">\r\n <div class=\"me-2\">\r\n <img\r\n [attr.src]=\"image\"\r\n class=\"align-self-center mr-3\"\r\n *ngIf=\"hasImage()\"\r\n />\r\n </div>\r\n <div class=\"flex-grow-1\">{{message}}</div>\r\n </div>\r\n </div>\r\n <ng-container dialogfooter>\r\n <ng-container *ngFor=\"let button of buttons\">\r\n <sac-button\r\n [name]=\"button.key\"\r\n [text]=\"button.text\"\r\n [role]=\"button.role || 'default'\"\r\n (clicked)=\"confirm(button.key)\"\r\n ></sac-button>\r\n </ng-container>\r\n </ng-container>\r\n</sac-dialog>\r\n" }]
81
+ ], template: "<sac-dialog\n name=\"confirmDialog\"\n [(isvisible)]=\"isvisible\"\n [title]=\"title\"\n [allowesc]=\"false\"\n [closebutton]=\"false\"\n dialogsize=\"small\"\n>\n <div dialogbody>\n <div class=\"d-flex align-items-center\">\n <div class=\"me-2\">\n <img\n [attr.src]=\"image\"\n class=\"align-self-center mr-3\"\n *ngIf=\"hasImage()\"\n />\n </div>\n <div class=\"flex-grow-1\">{{message}}</div>\n </div>\n </div>\n <ng-container dialogfooter>\n <ng-container *ngFor=\"let button of buttons\">\n <sac-button\n [name]=\"button.key\"\n [text]=\"button.text\"\n [role]=\"button.role || 'default'\"\n (clicked)=\"confirm(button.key)\"\n ></sac-button>\n </ng-container>\n </ng-container>\n</sac-dialog>\n" }]
82
82
  }] });
83
83
 
84
84
  /**
@@ -263,11 +263,11 @@ class SacContextmenuComponent extends SacContextmenuCommon {
263
263
  super(document, ngZone, elementRef, renderer, injector);
264
264
  }
265
265
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SacContextmenuComponent, deps: [{ token: DOCUMENT }, { token: i0.NgZone }, { token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component }); }
266
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: SacContextmenuComponent, isStandalone: true, selector: "sac-contextmenu", usesInheritance: true, ngImport: i0, template: "<div class=\"dropdown\" [ngClass]=\"cssclass\">\r\n <ng-container\r\n [ngTemplateOutlet]=\"buttontemplate || defaultButtonTemplate\"\r\n ></ng-container>\r\n\r\n <ul\r\n class=\"dropdown-menu dropdown-menu-end\"\r\n sacContextMenuContainer\r\n [class.show]=\"isopen\"\r\n >\r\n <ng-content></ng-content>\r\n </ul>\r\n</div>\r\n\r\n<ng-template #defaultButtonTemplate>\r\n <button\r\n sacContextMenuAnchor\r\n class=\"btn btn-sm btn-link text-secondary text-decoration-none\"\r\n type=\"button\"\r\n (click)=\"toggle()\"\r\n >\r\n <i [class]=\"IconContextMenu\"></i>\r\n </button>\r\n</ng-template>\r\n", dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: SacContextmenuContainerDirective, selector: "[sacContextMenuContainer]" }, { kind: "directive", type: SacContextmenuAnchorDirective, selector: "[sacContextMenuAnchor]" }] }); }
266
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: SacContextmenuComponent, isStandalone: true, selector: "sac-contextmenu", usesInheritance: true, ngImport: i0, template: "<div class=\"dropdown\" [ngClass]=\"cssclass\">\n <ng-container\n [ngTemplateOutlet]=\"buttontemplate || defaultButtonTemplate\"\n ></ng-container>\n\n <ul\n class=\"dropdown-menu dropdown-menu-end\"\n sacContextMenuContainer\n [class.show]=\"isopen\"\n >\n <ng-content></ng-content>\n </ul>\n</div>\n\n<ng-template #defaultButtonTemplate>\n <button\n sacContextMenuAnchor\n class=\"btn btn-sm btn-link text-secondary text-decoration-none\"\n type=\"button\"\n (click)=\"toggle()\"\n >\n <i [class]=\"IconContextMenu\"></i>\n </button>\n</ng-template>\n", dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: SacContextmenuContainerDirective, selector: "[sacContextMenuContainer]" }, { kind: "directive", type: SacContextmenuAnchorDirective, selector: "[sacContextMenuAnchor]" }] }); }
267
267
  }
268
268
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SacContextmenuComponent, decorators: [{
269
269
  type: Component,
270
- args: [{ selector: 'sac-contextmenu', standalone: true, imports: [NgClass, NgTemplateOutlet, SacContextmenuContainerDirective, SacContextmenuAnchorDirective], template: "<div class=\"dropdown\" [ngClass]=\"cssclass\">\r\n <ng-container\r\n [ngTemplateOutlet]=\"buttontemplate || defaultButtonTemplate\"\r\n ></ng-container>\r\n\r\n <ul\r\n class=\"dropdown-menu dropdown-menu-end\"\r\n sacContextMenuContainer\r\n [class.show]=\"isopen\"\r\n >\r\n <ng-content></ng-content>\r\n </ul>\r\n</div>\r\n\r\n<ng-template #defaultButtonTemplate>\r\n <button\r\n sacContextMenuAnchor\r\n class=\"btn btn-sm btn-link text-secondary text-decoration-none\"\r\n type=\"button\"\r\n (click)=\"toggle()\"\r\n >\r\n <i [class]=\"IconContextMenu\"></i>\r\n </button>\r\n</ng-template>\r\n" }]
270
+ args: [{ selector: 'sac-contextmenu', standalone: true, imports: [NgClass, NgTemplateOutlet, SacContextmenuContainerDirective, SacContextmenuAnchorDirective], template: "<div class=\"dropdown\" [ngClass]=\"cssclass\">\n <ng-container\n [ngTemplateOutlet]=\"buttontemplate || defaultButtonTemplate\"\n ></ng-container>\n\n <ul\n class=\"dropdown-menu dropdown-menu-end\"\n sacContextMenuContainer\n [class.show]=\"isopen\"\n >\n <ng-content></ng-content>\n </ul>\n</div>\n\n<ng-template #defaultButtonTemplate>\n <button\n sacContextMenuAnchor\n class=\"btn btn-sm btn-link text-secondary text-decoration-none\"\n type=\"button\"\n (click)=\"toggle()\"\n >\n <i [class]=\"IconContextMenu\"></i>\n </button>\n</ng-template>\n" }]
271
271
  }], ctorParameters: function () { return [{ type: undefined, decorators: [{
272
272
  type: Inject,
273
273
  args: [DOCUMENT]
@@ -290,7 +290,7 @@ class SacContextmenuItemButtonComponent extends SacContextmenuItemButtonCommon {
290
290
  provide: SacContextmenuItemCommon,
291
291
  useExisting: forwardRef(() => SacContextmenuItemButtonComponent),
292
292
  },
293
- ], usesInheritance: true, ngImport: i0, template: "<li>\r\n <button\r\n [id]=\"name\"\r\n type=\"button\"\r\n class=\"dropdown-item\"\r\n (click)=\"callaction($event)\"\r\n [class.disabled]=\"isdisabled\"\r\n [ngClass]=\"cssclass\"\r\n [attr.disabled]=\"isdisabled ? 'disabled' : null\">\r\n <div class=\"d-flex\">\r\n <div\r\n *ngIf=\"!isicondisabled\"\r\n style=\"min-width: 1.5rem\">\r\n <img\r\n *ngIf=\"image\"\r\n [src]=\"image\"\r\n class=\"align-baseline\" />\r\n <i\r\n *ngIf=\"icon\"\r\n [class]=\"iconstyle + ' ' + icon\"></i>\r\n </div>\r\n <div class=\"flex-grow-1\">{{ text }}</div>\r\n </div>\r\n </button>\r\n</li>\r\n", dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] }); }
293
+ ], usesInheritance: true, ngImport: i0, template: "<li>\n <button\n [id]=\"name\"\n type=\"button\"\n class=\"dropdown-item\"\n (click)=\"callaction($event)\"\n [class.disabled]=\"isdisabled\"\n [ngClass]=\"cssclass\"\n [attr.disabled]=\"isdisabled ? 'disabled' : null\">\n <div class=\"d-flex\">\n <div\n *ngIf=\"!isicondisabled\"\n style=\"min-width: 1.5rem\">\n <img\n *ngIf=\"image\"\n [src]=\"image\"\n class=\"align-baseline\" />\n <i\n *ngIf=\"icon\"\n [class]=\"iconstyle + ' ' + icon\"></i>\n </div>\n <div class=\"flex-grow-1\">{{ text }}</div>\n </div>\n </button>\n</li>\n", dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] }); }
294
294
  }
295
295
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SacContextmenuItemButtonComponent, decorators: [{
296
296
  type: Component,
@@ -299,7 +299,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
299
299
  provide: SacContextmenuItemCommon,
300
300
  useExisting: forwardRef(() => SacContextmenuItemButtonComponent),
301
301
  },
302
- ], standalone: true, imports: [NgIf, NgClass], template: "<li>\r\n <button\r\n [id]=\"name\"\r\n type=\"button\"\r\n class=\"dropdown-item\"\r\n (click)=\"callaction($event)\"\r\n [class.disabled]=\"isdisabled\"\r\n [ngClass]=\"cssclass\"\r\n [attr.disabled]=\"isdisabled ? 'disabled' : null\">\r\n <div class=\"d-flex\">\r\n <div\r\n *ngIf=\"!isicondisabled\"\r\n style=\"min-width: 1.5rem\">\r\n <img\r\n *ngIf=\"image\"\r\n [src]=\"image\"\r\n class=\"align-baseline\" />\r\n <i\r\n *ngIf=\"icon\"\r\n [class]=\"iconstyle + ' ' + icon\"></i>\r\n </div>\r\n <div class=\"flex-grow-1\">{{ text }}</div>\r\n </div>\r\n </button>\r\n</li>\r\n" }]
302
+ ], standalone: true, imports: [NgIf, NgClass], template: "<li>\n <button\n [id]=\"name\"\n type=\"button\"\n class=\"dropdown-item\"\n (click)=\"callaction($event)\"\n [class.disabled]=\"isdisabled\"\n [ngClass]=\"cssclass\"\n [attr.disabled]=\"isdisabled ? 'disabled' : null\">\n <div class=\"d-flex\">\n <div\n *ngIf=\"!isicondisabled\"\n style=\"min-width: 1.5rem\">\n <img\n *ngIf=\"image\"\n [src]=\"image\"\n class=\"align-baseline\" />\n <i\n *ngIf=\"icon\"\n [class]=\"iconstyle + ' ' + icon\"></i>\n </div>\n <div class=\"flex-grow-1\">{{ text }}</div>\n </div>\n </button>\n</li>\n" }]
303
303
  }], ctorParameters: function () { return []; } });
304
304
 
305
305
  /**
@@ -312,7 +312,7 @@ class SacContextmenuItemSplitterComponent extends SacContextmenuItemCommon {
312
312
  provide: SacContextmenuItemCommon,
313
313
  useExisting: forwardRef(() => SacContextmenuItemSplitterComponent),
314
314
  },
315
- ], usesInheritance: true, ngImport: i0, template: "<li><div class=\"dropdown-divider\"></div></li>\r\n" }); }
315
+ ], usesInheritance: true, ngImport: i0, template: "<li><div class=\"dropdown-divider\"></div></li>\n" }); }
316
316
  }
317
317
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SacContextmenuItemSplitterComponent, decorators: [{
318
318
  type: Component,
@@ -321,7 +321,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
321
321
  provide: SacContextmenuItemCommon,
322
322
  useExisting: forwardRef(() => SacContextmenuItemSplitterComponent),
323
323
  },
324
- ], template: "<li><div class=\"dropdown-divider\"></div></li>\r\n" }]
324
+ ], template: "<li><div class=\"dropdown-divider\"></div></li>\n" }]
325
325
  }] });
326
326
 
327
327
  class SacToControlHeightPipe {
@@ -521,11 +521,11 @@ class SacTooltipComponent extends SacTooltipCommon {
521
521
  return 8;
522
522
  }
523
523
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SacTooltipComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
524
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: SacTooltipComponent, isStandalone: true, selector: "sac-tooltip", usesInheritance: true, ngImport: i0, template: "<div [style.display]=\"inlinemode ? 'inline' : null\">\r\n <div\r\n #container\r\n (mouseenter)=\"ShowTooltip()\"\r\n (mouseleave)=\"HideTooltip()\"\r\n [style.display]=\"inlinemode ? 'inline' : null\">\r\n <ng-content></ng-content>\r\n </div>\r\n <div\r\n *ngIf=\"IsTooltipVisible()\"\r\n #tooltip>\r\n <div\r\n [class.show]=\"IsTooltipContentVisible\"\r\n class=\"tooltip bs-tooltip-auto fade\"\r\n style=\"position: absolute\"\r\n [style.left.px]=\"LeftPos\"\r\n [style.top.px]=\"TopPos\"\r\n [class.top]=\"GetTooltipPosition() === TooltipPosition.top\"\r\n [class.left]=\"GetTooltipPosition() === TooltipPosition.left\"\r\n [class.right]=\"GetTooltipPosition() === TooltipPosition.right\"\r\n [class.bottom]=\"GetTooltipPosition() === TooltipPosition.bottom\"\r\n [attr.data-popper-placement]=\"\r\n GetTooltipPosition() == TooltipPosition.right\r\n ? 'right'\r\n : GetTooltipPosition() == TooltipPosition.left\r\n ? 'left'\r\n : GetTooltipPosition() == TooltipPosition.top\r\n ? 'top'\r\n : GetTooltipPosition() == TooltipPosition.bottom\r\n ? 'bottom'\r\n : null\r\n \">\r\n <div\r\n class=\"tooltip-arrow\"\r\n style=\"position: absolute\"\r\n [style.top.px]=\"posArrowTop\"\r\n [style.left.px]=\"posArrowLeft\"></div>\r\n <div class=\"tooltip-inner\">{{ tooltiptext }}</div>\r\n </div>\r\n </div>\r\n</div>\r\n", dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] }); }
524
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: SacTooltipComponent, isStandalone: true, selector: "sac-tooltip", usesInheritance: true, ngImport: i0, template: "<div [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 [class.show]=\"IsTooltipContentVisible\"\n class=\"tooltip bs-tooltip-auto fade\"\n style=\"position: absolute\"\n [style.left.px]=\"LeftPos\"\n [style.top.px]=\"TopPos\"\n [class.top]=\"GetTooltipPosition() === TooltipPosition.top\"\n [class.left]=\"GetTooltipPosition() === TooltipPosition.left\"\n [class.right]=\"GetTooltipPosition() === TooltipPosition.right\"\n [class.bottom]=\"GetTooltipPosition() === TooltipPosition.bottom\"\n [attr.data-popper-placement]=\"\n GetTooltipPosition() == TooltipPosition.right\n ? 'right'\n : GetTooltipPosition() == TooltipPosition.left\n ? 'left'\n : GetTooltipPosition() == TooltipPosition.top\n ? 'top'\n : GetTooltipPosition() == TooltipPosition.bottom\n ? 'bottom'\n : null\n \">\n <div\n class=\"tooltip-arrow\"\n style=\"position: absolute\"\n [style.top.px]=\"posArrowTop\"\n [style.left.px]=\"posArrowLeft\"></div>\n <div class=\"tooltip-inner\">{{ tooltiptext }}</div>\n </div>\n </div>\n</div>\n", dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] }); }
525
525
  }
526
526
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SacTooltipComponent, decorators: [{
527
527
  type: Component,
528
- args: [{ selector: 'sac-tooltip', standalone: true, imports: [NgIf], template: "<div [style.display]=\"inlinemode ? 'inline' : null\">\r\n <div\r\n #container\r\n (mouseenter)=\"ShowTooltip()\"\r\n (mouseleave)=\"HideTooltip()\"\r\n [style.display]=\"inlinemode ? 'inline' : null\">\r\n <ng-content></ng-content>\r\n </div>\r\n <div\r\n *ngIf=\"IsTooltipVisible()\"\r\n #tooltip>\r\n <div\r\n [class.show]=\"IsTooltipContentVisible\"\r\n class=\"tooltip bs-tooltip-auto fade\"\r\n style=\"position: absolute\"\r\n [style.left.px]=\"LeftPos\"\r\n [style.top.px]=\"TopPos\"\r\n [class.top]=\"GetTooltipPosition() === TooltipPosition.top\"\r\n [class.left]=\"GetTooltipPosition() === TooltipPosition.left\"\r\n [class.right]=\"GetTooltipPosition() === TooltipPosition.right\"\r\n [class.bottom]=\"GetTooltipPosition() === TooltipPosition.bottom\"\r\n [attr.data-popper-placement]=\"\r\n GetTooltipPosition() == TooltipPosition.right\r\n ? 'right'\r\n : GetTooltipPosition() == TooltipPosition.left\r\n ? 'left'\r\n : GetTooltipPosition() == TooltipPosition.top\r\n ? 'top'\r\n : GetTooltipPosition() == TooltipPosition.bottom\r\n ? 'bottom'\r\n : null\r\n \">\r\n <div\r\n class=\"tooltip-arrow\"\r\n style=\"position: absolute\"\r\n [style.top.px]=\"posArrowTop\"\r\n [style.left.px]=\"posArrowLeft\"></div>\r\n <div class=\"tooltip-inner\">{{ tooltiptext }}</div>\r\n </div>\r\n </div>\r\n</div>\r\n" }]
528
+ args: [{ selector: 'sac-tooltip', standalone: true, imports: [NgIf], 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 [class.show]=\"IsTooltipContentVisible\"\n class=\"tooltip bs-tooltip-auto fade\"\n style=\"position: absolute\"\n [style.left.px]=\"LeftPos\"\n [style.top.px]=\"TopPos\"\n [class.top]=\"GetTooltipPosition() === TooltipPosition.top\"\n [class.left]=\"GetTooltipPosition() === TooltipPosition.left\"\n [class.right]=\"GetTooltipPosition() === TooltipPosition.right\"\n [class.bottom]=\"GetTooltipPosition() === TooltipPosition.bottom\"\n [attr.data-popper-placement]=\"\n GetTooltipPosition() == TooltipPosition.right\n ? 'right'\n : GetTooltipPosition() == TooltipPosition.left\n ? 'left'\n : GetTooltipPosition() == TooltipPosition.top\n ? 'top'\n : GetTooltipPosition() == TooltipPosition.bottom\n ? 'bottom'\n : null\n \">\n <div\n class=\"tooltip-arrow\"\n style=\"position: absolute\"\n [style.top.px]=\"posArrowTop\"\n [style.left.px]=\"posArrowLeft\"></div>\n <div class=\"tooltip-inner\">{{ tooltiptext }}</div>\n </div>\n </div>\n</div>\n" }]
529
529
  }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }]; } });
530
530
 
531
531
  class SacFormLayoutDirective extends SacFormLayoutCommon {
@@ -576,7 +576,7 @@ class SacDropzoneMultipleComponent extends SacDropzoneMultipleCommon {
576
576
  multi: true,
577
577
  useExisting: forwardRef(() => SacDropzoneMultipleComponent),
578
578
  },
579
- ], usesInheritance: true, ngImport: i0, template: "<div\r\n id=\"{{ name }}\"\r\n class=\"row mb-3\"\r\n [class.g-0]=\"disablelabel\">\r\n <label\r\n *ngIf=\"disablelabel === false && !isAdaptiveLabel\"\r\n id=\"{{ name }}_label\"\r\n for=\"{{ name }}_uploadinput\"\r\n class=\"col-12 col-form-label d-flex\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'visually-hidden', componentHeight | toLabelHeight]\"\r\n [class.required]=\"isrequired\">\r\n <div\r\n class=\"text flex-grow-0\"\r\n [class.flex-sm-grow-1]=\"splitlabelandhelptext\">\r\n {{ label }}\r\n </div>\r\n <sac-tooltip\r\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\r\n [tooltiptext]=\"helptext\"\r\n [inlinemode]=\"true\">\r\n <span\r\n [ngClass]=\"HelptextTooltipIcon\"\r\n class=\"ms-1\">\r\n </span>\r\n </sac-tooltip>\r\n </label>\r\n <div\r\n class=\"col-12\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\r\n [class.d-flex]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\r\n <div [class.flex-grow-1]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\r\n <div\r\n class=\"dropzone d-flex justify-content-center position-relative\"\r\n (drop)=\"dropHandler($event)\"\r\n (dragover)=\"onDragOver($event)\"\r\n (dragleave)=\"onDragLeave($event)\"\r\n [class.active]=\"active\"\r\n [style.min-height]=\"uploadheight\"\r\n [class.is-invalid]=\"invalid && (dirty || touched)\">\r\n <div\r\n class=\"content d-flex justify-content-center\"\r\n *ngIf=\"uploads.length === 0\">\r\n <div class=\"align-self-center text-center\">\r\n <div [class.is-invalid]=\"isinlineerrorenabled && invalid && (dirty || touched)\">\r\n <ng-content></ng-content>\r\n </div>\r\n </div>\r\n </div>\r\n <div\r\n class=\"content d-flex justify-content-center align-items-center w-50 my-3\"\r\n *ngIf=\"uploads.length > 0\">\r\n <div class=\"flex-fill progress-container\">\r\n <div\r\n class=\"dropzone-uploadstates\"\r\n [class.mt-1]=\"i > 0\"\r\n *ngFor=\"let file of uploads; let i = index\">\r\n <div\r\n class=\"input-group upload-component upload-component-multiple\"\r\n [class.input-group-sm]=\"componentHeight === ControlHeight.Small\"\r\n [class.input-group-lg]=\"componentHeight === ControlHeight.Large\">\r\n <div class=\"form-control upload-progress border-secondary\">\r\n <div class=\"progress\">\r\n <div\r\n class=\"progress-bar\"\r\n [class.progress-bar-success]=\"file.progress === 100\"\r\n role=\"progressbar\"\r\n [attr.aria-valuenow]=\"file.progress\"\r\n aria-valuemin=\"0\"\r\n aria-valuemax=\"100\"\r\n [style.width.%]=\"file.progress\">\r\n <span class=\"progress-text text-dark\">{{ file.name }}</span>\r\n </div>\r\n </div>\r\n </div>\r\n <a\r\n class=\"btn\"\r\n (click)=\"cancel(file.uploadId)\"\r\n [class.btn-secondary]=\"!(invalid && (dirty || touched))\"\r\n [class.btn-danger]=\"invalid && (dirty || touched)\">\r\n <span [class]=\"IconDelete\"></span>\r\n </a>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <input\r\n #files\r\n multiple\r\n id=\"{{ name }}_uploadinput\"\r\n type=\"file\"\r\n class=\"custom-file-input\"\r\n (click)=\"files.value = ''\"\r\n (uploadxState)=\"onUpload($event)\"\r\n [disabled]=\"HasQueueItem()\" />\r\n </div>\r\n <div\r\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\"\r\n class=\"invalid-feedback\">\r\n {{ GetErrorMessage() | async }}\r\n </div>\r\n <div\r\n *ngIf=\"helptextmode === 'text' && helptext\"\r\n class=\"form-text\">\r\n {{ helptext }}\r\n </div>\r\n </div>\r\n\r\n <div\r\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\r\n class=\"form-control-plaintext align-self-top ms-2 me-1 w-auto\"\r\n [ngClass]=\"[componentHeight | toControlHeight]\">\r\n <sac-tooltip\r\n [tooltiptext]=\"helptext\"\r\n [inlinemode]=\"true\">\r\n <span\r\n [ngClass]=\"HelptextTooltipIcon\"\r\n class=\"ml-1\">\r\n </span>\r\n </sac-tooltip>\r\n </div>\r\n </div>\r\n</div>\r\n", styles: [".dropzone{min-height:9.75rem;border:.125rem dashed lightgray;border-radius:.5rem;background:transparent}.dropzone.is-invalid{border-color:var(--bs-form-invalid-border-color)}.dropzone .content{position:relative;inset:0}.dropzone .content .is-invalid{color:var(--bs-form-invalid-border-color)}.dropzone .content .progress-container{min-width:50%;z-index:100}.dropzone .content .dropzone-uploadstates .upload-progress{padding:0}.dropzone .content .dropzone-uploadstates .upload-progress .progress{height:100%;border-top-right-radius:0;border-bottom-right-radius:0}.dropzone .content .dropzone-uploadstates .upload-progress .progress .progress-text{left:0;right:0;position:absolute}.dropzone .custom-file-input{min-height:100%;height:unset;width:100%;opacity:0;position:absolute}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "pipe", type: SacToControlWidthCssPipe, name: "toControlWidthCss" }, { kind: "pipe", type: SacToLabelWidthCssPipe, name: "toLabelWidthCss" }, { kind: "pipe", type: SacToLabelHeightPipe, name: "toLabelHeight" }, { kind: "component", type: SacTooltipComponent, selector: "sac-tooltip" }, { kind: "pipe", type: SacToControlHeightPipe, name: "toControlHeight" }] }); }
579
+ ], usesInheritance: true, ngImport: i0, template: "<div\n id=\"{{ name }}\"\n class=\"row mb-3\"\n [class.g-0]=\"disablelabel\">\n <label\n *ngIf=\"disablelabel === false && !isAdaptiveLabel\"\n id=\"{{ name }}_label\"\n for=\"{{ name }}_uploadinput\"\n class=\"col-12 col-form-label d-flex\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'visually-hidden', componentHeight | toLabelHeight]\"\n [class.required]=\"isrequired\">\n <div\n class=\"text flex-grow-0\"\n [class.flex-sm-grow-1]=\"splitlabelandhelptext\">\n {{ label }}\n </div>\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [ngClass]=\"HelptextTooltipIcon\"\n class=\"ms-1\">\n </span>\n </sac-tooltip>\n </label>\n <div\n class=\"col-12\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\n [class.d-flex]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\n <div [class.flex-grow-1]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\n <div\n class=\"dropzone d-flex justify-content-center position-relative\"\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 d-flex justify-content-center\"\n *ngIf=\"uploads.length === 0\">\n <div class=\"align-self-center text-center\">\n <div [class.is-invalid]=\"isinlineerrorenabled && invalid && (dirty || touched)\">\n <ng-content></ng-content>\n </div>\n </div>\n </div>\n <div\n class=\"content d-flex justify-content-center align-items-center w-50 my-3\"\n *ngIf=\"uploads.length > 0\">\n <div class=\"flex-fill progress-container\">\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 text-dark\">{{ file.name }}</span>\n </div>\n </div>\n </div>\n <a\n class=\"btn\"\n (click)=\"cancel(file.uploadId)\"\n [class.btn-secondary]=\"!(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 <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 <div\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\"\n class=\"invalid-feedback\">\n {{ GetErrorMessage() | async }}\n </div>\n <div\n *ngIf=\"helptextmode === 'text' && helptext\"\n class=\"form-text\">\n {{ helptext }}\n </div>\n </div>\n\n <div\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\n class=\"form-control-plaintext align-self-top ms-2 me-1 w-auto\"\n [ngClass]=\"[componentHeight | toControlHeight]\">\n <sac-tooltip\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [ngClass]=\"HelptextTooltipIcon\"\n class=\"ml-1\">\n </span>\n </sac-tooltip>\n </div>\n </div>\n</div>\n", styles: [".dropzone{min-height:9.75rem;border:.125rem dashed lightgray;border-radius:.5rem;background:transparent}.dropzone.is-invalid{border-color:var(--bs-form-invalid-border-color)}.dropzone .content{position:relative;inset:0}.dropzone .content .is-invalid{color:var(--bs-form-invalid-border-color)}.dropzone .content .progress-container{min-width:50%;z-index:100}.dropzone .content .dropzone-uploadstates .upload-progress{padding:0}.dropzone .content .dropzone-uploadstates .upload-progress .progress{height:100%;border-top-right-radius:0;border-bottom-right-radius:0}.dropzone .content .dropzone-uploadstates .upload-progress .progress .progress-text{left:0;right:0;position:absolute}.dropzone .custom-file-input{min-height:100%;height:unset;width:100%;opacity:0;position:absolute}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "pipe", type: SacToControlWidthCssPipe, name: "toControlWidthCss" }, { kind: "pipe", type: SacToLabelWidthCssPipe, name: "toLabelWidthCss" }, { kind: "pipe", type: SacToLabelHeightPipe, name: "toLabelHeight" }, { kind: "component", type: SacTooltipComponent, selector: "sac-tooltip" }, { kind: "pipe", type: SacToControlHeightPipe, name: "toControlHeight" }] }); }
580
580
  }
581
581
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SacDropzoneMultipleComponent, decorators: [{
582
582
  type: Component,
@@ -601,7 +601,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
601
601
  SacToLabelHeightPipe,
602
602
  SacTooltipComponent,
603
603
  SacToControlHeightPipe,
604
- ], template: "<div\r\n id=\"{{ name }}\"\r\n class=\"row mb-3\"\r\n [class.g-0]=\"disablelabel\">\r\n <label\r\n *ngIf=\"disablelabel === false && !isAdaptiveLabel\"\r\n id=\"{{ name }}_label\"\r\n for=\"{{ name }}_uploadinput\"\r\n class=\"col-12 col-form-label d-flex\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'visually-hidden', componentHeight | toLabelHeight]\"\r\n [class.required]=\"isrequired\">\r\n <div\r\n class=\"text flex-grow-0\"\r\n [class.flex-sm-grow-1]=\"splitlabelandhelptext\">\r\n {{ label }}\r\n </div>\r\n <sac-tooltip\r\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\r\n [tooltiptext]=\"helptext\"\r\n [inlinemode]=\"true\">\r\n <span\r\n [ngClass]=\"HelptextTooltipIcon\"\r\n class=\"ms-1\">\r\n </span>\r\n </sac-tooltip>\r\n </label>\r\n <div\r\n class=\"col-12\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\r\n [class.d-flex]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\r\n <div [class.flex-grow-1]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\r\n <div\r\n class=\"dropzone d-flex justify-content-center position-relative\"\r\n (drop)=\"dropHandler($event)\"\r\n (dragover)=\"onDragOver($event)\"\r\n (dragleave)=\"onDragLeave($event)\"\r\n [class.active]=\"active\"\r\n [style.min-height]=\"uploadheight\"\r\n [class.is-invalid]=\"invalid && (dirty || touched)\">\r\n <div\r\n class=\"content d-flex justify-content-center\"\r\n *ngIf=\"uploads.length === 0\">\r\n <div class=\"align-self-center text-center\">\r\n <div [class.is-invalid]=\"isinlineerrorenabled && invalid && (dirty || touched)\">\r\n <ng-content></ng-content>\r\n </div>\r\n </div>\r\n </div>\r\n <div\r\n class=\"content d-flex justify-content-center align-items-center w-50 my-3\"\r\n *ngIf=\"uploads.length > 0\">\r\n <div class=\"flex-fill progress-container\">\r\n <div\r\n class=\"dropzone-uploadstates\"\r\n [class.mt-1]=\"i > 0\"\r\n *ngFor=\"let file of uploads; let i = index\">\r\n <div\r\n class=\"input-group upload-component upload-component-multiple\"\r\n [class.input-group-sm]=\"componentHeight === ControlHeight.Small\"\r\n [class.input-group-lg]=\"componentHeight === ControlHeight.Large\">\r\n <div class=\"form-control upload-progress border-secondary\">\r\n <div class=\"progress\">\r\n <div\r\n class=\"progress-bar\"\r\n [class.progress-bar-success]=\"file.progress === 100\"\r\n role=\"progressbar\"\r\n [attr.aria-valuenow]=\"file.progress\"\r\n aria-valuemin=\"0\"\r\n aria-valuemax=\"100\"\r\n [style.width.%]=\"file.progress\">\r\n <span class=\"progress-text text-dark\">{{ file.name }}</span>\r\n </div>\r\n </div>\r\n </div>\r\n <a\r\n class=\"btn\"\r\n (click)=\"cancel(file.uploadId)\"\r\n [class.btn-secondary]=\"!(invalid && (dirty || touched))\"\r\n [class.btn-danger]=\"invalid && (dirty || touched)\">\r\n <span [class]=\"IconDelete\"></span>\r\n </a>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <input\r\n #files\r\n multiple\r\n id=\"{{ name }}_uploadinput\"\r\n type=\"file\"\r\n class=\"custom-file-input\"\r\n (click)=\"files.value = ''\"\r\n (uploadxState)=\"onUpload($event)\"\r\n [disabled]=\"HasQueueItem()\" />\r\n </div>\r\n <div\r\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\"\r\n class=\"invalid-feedback\">\r\n {{ GetErrorMessage() | async }}\r\n </div>\r\n <div\r\n *ngIf=\"helptextmode === 'text' && helptext\"\r\n class=\"form-text\">\r\n {{ helptext }}\r\n </div>\r\n </div>\r\n\r\n <div\r\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\r\n class=\"form-control-plaintext align-self-top ms-2 me-1 w-auto\"\r\n [ngClass]=\"[componentHeight | toControlHeight]\">\r\n <sac-tooltip\r\n [tooltiptext]=\"helptext\"\r\n [inlinemode]=\"true\">\r\n <span\r\n [ngClass]=\"HelptextTooltipIcon\"\r\n class=\"ml-1\">\r\n </span>\r\n </sac-tooltip>\r\n </div>\r\n </div>\r\n</div>\r\n", styles: [".dropzone{min-height:9.75rem;border:.125rem dashed lightgray;border-radius:.5rem;background:transparent}.dropzone.is-invalid{border-color:var(--bs-form-invalid-border-color)}.dropzone .content{position:relative;inset:0}.dropzone .content .is-invalid{color:var(--bs-form-invalid-border-color)}.dropzone .content .progress-container{min-width:50%;z-index:100}.dropzone .content .dropzone-uploadstates .upload-progress{padding:0}.dropzone .content .dropzone-uploadstates .upload-progress .progress{height:100%;border-top-right-radius:0;border-bottom-right-radius:0}.dropzone .content .dropzone-uploadstates .upload-progress .progress .progress-text{left:0;right:0;position:absolute}.dropzone .custom-file-input{min-height:100%;height:unset;width:100%;opacity:0;position:absolute}\n"] }]
604
+ ], template: "<div\n id=\"{{ name }}\"\n class=\"row mb-3\"\n [class.g-0]=\"disablelabel\">\n <label\n *ngIf=\"disablelabel === false && !isAdaptiveLabel\"\n id=\"{{ name }}_label\"\n for=\"{{ name }}_uploadinput\"\n class=\"col-12 col-form-label d-flex\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'visually-hidden', componentHeight | toLabelHeight]\"\n [class.required]=\"isrequired\">\n <div\n class=\"text flex-grow-0\"\n [class.flex-sm-grow-1]=\"splitlabelandhelptext\">\n {{ label }}\n </div>\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [ngClass]=\"HelptextTooltipIcon\"\n class=\"ms-1\">\n </span>\n </sac-tooltip>\n </label>\n <div\n class=\"col-12\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\n [class.d-flex]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\n <div [class.flex-grow-1]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\n <div\n class=\"dropzone d-flex justify-content-center position-relative\"\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 d-flex justify-content-center\"\n *ngIf=\"uploads.length === 0\">\n <div class=\"align-self-center text-center\">\n <div [class.is-invalid]=\"isinlineerrorenabled && invalid && (dirty || touched)\">\n <ng-content></ng-content>\n </div>\n </div>\n </div>\n <div\n class=\"content d-flex justify-content-center align-items-center w-50 my-3\"\n *ngIf=\"uploads.length > 0\">\n <div class=\"flex-fill progress-container\">\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 text-dark\">{{ file.name }}</span>\n </div>\n </div>\n </div>\n <a\n class=\"btn\"\n (click)=\"cancel(file.uploadId)\"\n [class.btn-secondary]=\"!(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 <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 <div\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\"\n class=\"invalid-feedback\">\n {{ GetErrorMessage() | async }}\n </div>\n <div\n *ngIf=\"helptextmode === 'text' && helptext\"\n class=\"form-text\">\n {{ helptext }}\n </div>\n </div>\n\n <div\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\n class=\"form-control-plaintext align-self-top ms-2 me-1 w-auto\"\n [ngClass]=\"[componentHeight | toControlHeight]\">\n <sac-tooltip\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [ngClass]=\"HelptextTooltipIcon\"\n class=\"ml-1\">\n </span>\n </sac-tooltip>\n </div>\n </div>\n</div>\n", styles: [".dropzone{min-height:9.75rem;border:.125rem dashed lightgray;border-radius:.5rem;background:transparent}.dropzone.is-invalid{border-color:var(--bs-form-invalid-border-color)}.dropzone .content{position:relative;inset:0}.dropzone .content .is-invalid{color:var(--bs-form-invalid-border-color)}.dropzone .content .progress-container{min-width:50%;z-index:100}.dropzone .content .dropzone-uploadstates .upload-progress{padding:0}.dropzone .content .dropzone-uploadstates .upload-progress .progress{height:100%;border-top-right-radius:0;border-bottom-right-radius:0}.dropzone .content .dropzone-uploadstates .upload-progress .progress .progress-text{left:0;right:0;position:absolute}.dropzone .custom-file-input{min-height:100%;height:unset;width:100%;opacity:0;position:absolute}\n"] }]
605
605
  }], ctorParameters: function () { return [{ type: SacFormLayoutDirective, decorators: [{
606
606
  type: Host
607
607
  }, {
@@ -695,7 +695,7 @@ class SacBrowserComponent extends SacFileBrowserCommon {
695
695
  }
696
696
  }
697
697
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SacBrowserComponent, deps: [{ token: i1.HttpClient }, { token: i0.Injector }, { token: ServiceConfirm }], target: i0.ɵɵFactoryTarget.Component }); }
698
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: SacBrowserComponent, isStandalone: true, selector: "sac-filebrowser", providers: [ServiceConfirm], viewQueries: [{ propertyName: "uploadComponent", first: true, predicate: SacDropzoneMultipleComponent, descendants: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"row\">\r\n <div class=\"col-12 col-md-5 col-lg-4\">\r\n <ul class=\"list-group list-group-flush\">\r\n <ng-template\r\n [ngTemplateOutlet]=\"treeItem\"\r\n [ngTemplateOutletContext]=\"{node: rootNode, deep: 0}\"\r\n ></ng-template>\r\n </ul>\r\n\r\n <ng-template #treeItem let-node=\"node\" let-deep=\"deep\">\r\n <li\r\n class=\"list-group-item py-1 px-2 d-flex align-items-center\"\r\n [class.list-group-item-secondary]=\"node === selectedNode\"\r\n (click)=\"selectNode(node)\"\r\n style=\"cursor: pointer\"\r\n >\r\n <div class=\"mx-3\" *ngFor=\"let i of count(deep)\"></div>\r\n <div\r\n (click)=\"switchExpandNode(node);$event.stopPropagation();\"\r\n class=\"me-2\"\r\n [ngClass]=\"node.ChildNodes.length === 0 ? iconFolderEmpty: (!node.IsExpanded && node.ChildNodes.length > 0 ? iconFolderCollabsed : (node.IsExpanded && node.ChildNodes.length > 0 ? iconFolderOpen : ''))\"\r\n ></div>\r\n <ng-container *ngIf=\"!node.IsEditMode\">\r\n <div class=\"flex-grow-1\">{{ node.Name }}</div>\r\n </ng-container>\r\n <ng-container *ngIf=\"node.IsEditMode\">\r\n <div class=\"flex-grow-1\" ngForm>\r\n <input\r\n name=\"editFolder\"\r\n class=\"form-control form-control-sm\"\r\n [ngModel]=\"node.Name\"\r\n [ngModelOptions]=\"{updateOn: 'blur'}\"\r\n (ngModelChange)=\"renameNode(node, $event)\"\r\n (keydown.enter)=\"$event.target.blur();false;\"\r\n (blur)=\"renameNode(node, null)\"\r\n (click)=\"$event.stopPropagation()\"\r\n />\r\n </div>\r\n </ng-container>\r\n <div class=\"flex-shrink-0\">\r\n <a\r\n *ngIf=\"node.Path !== '/' && allowfolderrename\"\r\n class=\"btn btn-sm btn-link text-secondary\"\r\n (click)=\"editNode(node);$event.stopPropagation();\"\r\n >\r\n <i [class]=\"iconEdit\"></i>\r\n </a>\r\n <sac-contextmenu cssclass=\"d-inline-block\">\r\n <sac-contextmenubutton\r\n *ngIf=\"allowfoldercreate\"\r\n text=\"{{ lngResourceService.GetString(validationKeyService.FilebrowserButtonNewFolder) | async }}\"\r\n [icon]=\"iconFolderNew\"\r\n (clicked)=\"newNode(node)\"\r\n ></sac-contextmenubutton>\r\n <sac-contextmenubutton\r\n *ngIf=\"node.Path !== '/' && allowfolderdelete\"\r\n text=\"{{ lngResourceService.GetString(validationKeyService.FilebrowserButtonDelete) | async }}\"\r\n [icon]=\"iconDelete\"\r\n (clicked)=\"deleteNode(node)\"\r\n ></sac-contextmenubutton>\r\n <sac-contextmenusplitter\r\n *ngIf=\"allowfoldercreate || (node.Path !== '/' && allowfolderdelete)\"\r\n ></sac-contextmenusplitter>\r\n <sac-contextmenubutton\r\n text=\"{{ lngResourceService.GetString(validationKeyService.FilebrowserButtonRefresh) | async }}\"\r\n [icon]=\"iconRefresh\"\r\n (clicked)=\"refreshNode(node)\"\r\n ></sac-contextmenubutton>\r\n </sac-contextmenu>\r\n </div>\r\n </li>\r\n\r\n <ng-container *ngIf=\"node.IsExpanded\">\r\n <ng-template\r\n *ngFor=\"let child of node.ChildNodes\"\r\n [ngTemplateOutlet]=\"treeItem\"\r\n [ngTemplateOutletContext]=\"{node: child, deep: deep + 1}\"\r\n ></ng-template>\r\n </ng-container>\r\n </ng-template>\r\n </div>\r\n <div class=\"col-12 col-md-7 col-lg-8\">\r\n <ng-container *ngIf=\"selectedNode && selectedNode.Files\">\r\n <div *ngIf=\"allowfileupload\" ngForm>\r\n <sac-dropzonemultiple\r\n [disablelabel]=\"true\"\r\n [endpoint]=\"apiurl + '/uploadregister'\"\r\n name=\"upload\"\r\n uploadheight=\"5rem\"\r\n [ngModel]=\"uploads\"\r\n (ngModelChange)=\"uploadComplete(selectedNode,$event)\"\r\n [allowedtypes]=\"allowedtypes\"\r\n >{{\r\n lngResourceService.GetString(validationKeyService.FilebrowserButtonUpload)\r\n | async }}</sac-dropzonemultiple\r\n >\r\n </div>\r\n <div class=\"table-responsive\">\r\n <table class=\"table table-striped table-hover align-middle\">\r\n <thead>\r\n <th>\r\n {{\r\n lngResourceService.GetString(validationKeyService.FilebrowserGridFilename)\r\n | async }}\r\n </th>\r\n <th>\r\n {{\r\n lngResourceService.GetString(validationKeyService.FilebrowserGridSize)\r\n | async }}\r\n </th>\r\n <th style=\"width: 80px\"></th>\r\n </thead>\r\n <tbody>\r\n <ng-container *ngIf=\"selectedNode.Files.length === 0\">\r\n <tr>\r\n <td colspan=\"3\">\r\n {{\r\n lngResourceService.GetString(validationKeyService.FilebrowserGridNoFiles)\r\n | async }}\r\n </td>\r\n </tr>\r\n </ng-container>\r\n <ng-container *ngIf=\"selectedNode.Files.length > 0\">\r\n <tr\r\n *ngFor=\"let item of selectedNode.Files\"\r\n (click)=\"selectFile(item)\"\r\n [class.table-primary]=\"selectedFileItem === item\"\r\n >\r\n <td [class.p-2]=\"item.IsEditMode\">\r\n <ng-container *ngIf=\"!item.IsEditMode\">\r\n {{ item.Filename }}\r\n </ng-container>\r\n <ng-container *ngIf=\"item.IsEditMode\">\r\n <div>\r\n <input\r\n name=\"editFolder\"\r\n class=\"form-control form-control-sm\"\r\n [ngModel]=\"item.Filename\"\r\n [ngModelOptions]=\"{updateOn: 'blur'}\"\r\n (ngModelChange)=\"renameFile(item, $event)\"\r\n (keydown.enter)=\"$event.target.blur();false\"\r\n (blur)=\"renameFile(item, null)\"\r\n (click)=\"$event.stopPropagation();\"\r\n />\r\n </div>\r\n </ng-container>\r\n </td>\r\n <td>{{ item.Size}}</td>\r\n <td class=\"p-2\">\r\n <div class=\"btn-toolbar\" role=\"toolbar\">\r\n <div class=\"btn-group ml-auto\" role=\"group\">\r\n <a\r\n *ngIf=\"allowfilerename\"\r\n class=\"btn btn-sm btn-link text-secondary\"\r\n (click)=\"editFile(item);$event.stopPropagation();\"\r\n ><i [class]=\"iconEdit\"></i\r\n ></a>\r\n </div>\r\n <div class=\"btn-group\" role=\"group\">\r\n <a\r\n *ngIf=\"allowfiledelete\"\r\n class=\"btn btn-sm btn-link text-secondary\"\r\n (click)=\"deleteFile(item);$event.stopPropagation();\"\r\n ><i [class]=\"iconDelete\"></i\r\n ></a>\r\n </div>\r\n </div>\r\n </td>\r\n </tr>\r\n </ng-container>\r\n </tbody>\r\n </table>\r\n </div>\r\n </ng-container>\r\n </div>\r\n</div>\r\n", dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i1$1.NgForm, selector: "form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: HttpClientModule }, { kind: "component", type: SacContextmenuComponent, selector: "sac-contextmenu" }, { kind: "component", type: SacContextmenuItemButtonComponent, selector: "sac-contextmenubutton" }, { kind: "component", type: SacContextmenuItemSplitterComponent, selector: "sac-contextmenusplitter" }, { kind: "component", type: SacDropzoneMultipleComponent, selector: "sac-dropzonemultiple" }] }); }
698
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: SacBrowserComponent, isStandalone: true, selector: "sac-filebrowser", providers: [ServiceConfirm], viewQueries: [{ propertyName: "uploadComponent", first: true, predicate: SacDropzoneMultipleComponent, descendants: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"row\">\n <div class=\"col-12 col-md-5 col-lg-4\">\n <ul class=\"list-group list-group-flush\">\n <ng-template\n [ngTemplateOutlet]=\"treeItem\"\n [ngTemplateOutletContext]=\"{node: rootNode, deep: 0}\"\n ></ng-template>\n </ul>\n\n <ng-template #treeItem let-node=\"node\" let-deep=\"deep\">\n <li\n class=\"list-group-item py-1 px-2 d-flex align-items-center\"\n [class.list-group-item-secondary]=\"node === selectedNode\"\n (click)=\"selectNode(node)\"\n style=\"cursor: pointer\"\n >\n <div class=\"mx-3\" *ngFor=\"let i of count(deep)\"></div>\n <div\n (click)=\"switchExpandNode(node);$event.stopPropagation();\"\n class=\"me-2\"\n [ngClass]=\"node.ChildNodes.length === 0 ? iconFolderEmpty: (!node.IsExpanded && node.ChildNodes.length > 0 ? iconFolderCollabsed : (node.IsExpanded && node.ChildNodes.length > 0 ? iconFolderOpen : ''))\"\n ></div>\n <ng-container *ngIf=\"!node.IsEditMode\">\n <div class=\"flex-grow-1\">{{ node.Name }}</div>\n </ng-container>\n <ng-container *ngIf=\"node.IsEditMode\">\n <div class=\"flex-grow-1\" ngForm>\n <input\n name=\"editFolder\"\n class=\"form-control form-control-sm\"\n [ngModel]=\"node.Name\"\n [ngModelOptions]=\"{updateOn: 'blur'}\"\n (ngModelChange)=\"renameNode(node, $event)\"\n (keydown.enter)=\"$event.target.blur();false;\"\n (blur)=\"renameNode(node, null)\"\n (click)=\"$event.stopPropagation()\"\n />\n </div>\n </ng-container>\n <div class=\"flex-shrink-0\">\n <a\n *ngIf=\"node.Path !== '/' && allowfolderrename\"\n class=\"btn btn-sm btn-link text-secondary\"\n (click)=\"editNode(node);$event.stopPropagation();\"\n >\n <i [class]=\"iconEdit\"></i>\n </a>\n <sac-contextmenu cssclass=\"d-inline-block\">\n <sac-contextmenubutton\n *ngIf=\"allowfoldercreate\"\n text=\"{{ lngResourceService.GetString(validationKeyService.FilebrowserButtonNewFolder) | async }}\"\n [icon]=\"iconFolderNew\"\n (clicked)=\"newNode(node)\"\n ></sac-contextmenubutton>\n <sac-contextmenubutton\n *ngIf=\"node.Path !== '/' && allowfolderdelete\"\n text=\"{{ lngResourceService.GetString(validationKeyService.FilebrowserButtonDelete) | async }}\"\n [icon]=\"iconDelete\"\n (clicked)=\"deleteNode(node)\"\n ></sac-contextmenubutton>\n <sac-contextmenusplitter\n *ngIf=\"allowfoldercreate || (node.Path !== '/' && allowfolderdelete)\"\n ></sac-contextmenusplitter>\n <sac-contextmenubutton\n text=\"{{ lngResourceService.GetString(validationKeyService.FilebrowserButtonRefresh) | async }}\"\n [icon]=\"iconRefresh\"\n (clicked)=\"refreshNode(node)\"\n ></sac-contextmenubutton>\n </sac-contextmenu>\n </div>\n </li>\n\n <ng-container *ngIf=\"node.IsExpanded\">\n <ng-template\n *ngFor=\"let child of node.ChildNodes\"\n [ngTemplateOutlet]=\"treeItem\"\n [ngTemplateOutletContext]=\"{node: child, deep: deep + 1}\"\n ></ng-template>\n </ng-container>\n </ng-template>\n </div>\n <div class=\"col-12 col-md-7 col-lg-8\">\n <ng-container *ngIf=\"selectedNode && selectedNode.Files\">\n <div *ngIf=\"allowfileupload\" ngForm>\n <sac-dropzonemultiple\n [disablelabel]=\"true\"\n [endpoint]=\"apiurl + '/uploadregister'\"\n name=\"upload\"\n uploadheight=\"5rem\"\n [ngModel]=\"uploads\"\n (ngModelChange)=\"uploadComplete(selectedNode,$event)\"\n [allowedtypes]=\"allowedtypes\"\n >{{\n lngResourceService.GetString(validationKeyService.FilebrowserButtonUpload)\n | async }}</sac-dropzonemultiple\n >\n </div>\n <div class=\"table-responsive\">\n <table class=\"table table-striped table-hover align-middle\">\n <thead>\n <th>\n {{\n lngResourceService.GetString(validationKeyService.FilebrowserGridFilename)\n | async }}\n </th>\n <th>\n {{\n lngResourceService.GetString(validationKeyService.FilebrowserGridSize)\n | async }}\n </th>\n <th style=\"width: 80px\"></th>\n </thead>\n <tbody>\n <ng-container *ngIf=\"selectedNode.Files.length === 0\">\n <tr>\n <td colspan=\"3\">\n {{\n lngResourceService.GetString(validationKeyService.FilebrowserGridNoFiles)\n | async }}\n </td>\n </tr>\n </ng-container>\n <ng-container *ngIf=\"selectedNode.Files.length > 0\">\n <tr\n *ngFor=\"let item of selectedNode.Files\"\n (click)=\"selectFile(item)\"\n [class.table-primary]=\"selectedFileItem === item\"\n >\n <td [class.p-2]=\"item.IsEditMode\">\n <ng-container *ngIf=\"!item.IsEditMode\">\n {{ item.Filename }}\n </ng-container>\n <ng-container *ngIf=\"item.IsEditMode\">\n <div>\n <input\n name=\"editFolder\"\n class=\"form-control form-control-sm\"\n [ngModel]=\"item.Filename\"\n [ngModelOptions]=\"{updateOn: 'blur'}\"\n (ngModelChange)=\"renameFile(item, $event)\"\n (keydown.enter)=\"$event.target.blur();false\"\n (blur)=\"renameFile(item, null)\"\n (click)=\"$event.stopPropagation();\"\n />\n </div>\n </ng-container>\n </td>\n <td>{{ item.Size}}</td>\n <td class=\"p-2\">\n <div class=\"btn-toolbar\" role=\"toolbar\">\n <div class=\"btn-group ml-auto\" role=\"group\">\n <a\n *ngIf=\"allowfilerename\"\n class=\"btn btn-sm btn-link text-secondary\"\n (click)=\"editFile(item);$event.stopPropagation();\"\n ><i [class]=\"iconEdit\"></i\n ></a>\n </div>\n <div class=\"btn-group\" role=\"group\">\n <a\n *ngIf=\"allowfiledelete\"\n class=\"btn btn-sm btn-link text-secondary\"\n (click)=\"deleteFile(item);$event.stopPropagation();\"\n ><i [class]=\"iconDelete\"></i\n ></a>\n </div>\n </div>\n </td>\n </tr>\n </ng-container>\n </tbody>\n </table>\n </div>\n </ng-container>\n </div>\n</div>\n", dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i1$1.NgForm, selector: "form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: HttpClientModule }, { kind: "component", type: SacContextmenuComponent, selector: "sac-contextmenu" }, { kind: "component", type: SacContextmenuItemButtonComponent, selector: "sac-contextmenubutton" }, { kind: "component", type: SacContextmenuItemSplitterComponent, selector: "sac-contextmenusplitter" }, { kind: "component", type: SacDropzoneMultipleComponent, selector: "sac-dropzonemultiple" }] }); }
699
699
  }
700
700
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SacBrowserComponent, decorators: [{
701
701
  type: Component,
@@ -711,7 +711,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
711
711
  SacContextmenuItemButtonComponent,
712
712
  SacContextmenuItemSplitterComponent,
713
713
  SacDropzoneMultipleComponent,
714
- ], providers: [ServiceConfirm], template: "<div class=\"row\">\r\n <div class=\"col-12 col-md-5 col-lg-4\">\r\n <ul class=\"list-group list-group-flush\">\r\n <ng-template\r\n [ngTemplateOutlet]=\"treeItem\"\r\n [ngTemplateOutletContext]=\"{node: rootNode, deep: 0}\"\r\n ></ng-template>\r\n </ul>\r\n\r\n <ng-template #treeItem let-node=\"node\" let-deep=\"deep\">\r\n <li\r\n class=\"list-group-item py-1 px-2 d-flex align-items-center\"\r\n [class.list-group-item-secondary]=\"node === selectedNode\"\r\n (click)=\"selectNode(node)\"\r\n style=\"cursor: pointer\"\r\n >\r\n <div class=\"mx-3\" *ngFor=\"let i of count(deep)\"></div>\r\n <div\r\n (click)=\"switchExpandNode(node);$event.stopPropagation();\"\r\n class=\"me-2\"\r\n [ngClass]=\"node.ChildNodes.length === 0 ? iconFolderEmpty: (!node.IsExpanded && node.ChildNodes.length > 0 ? iconFolderCollabsed : (node.IsExpanded && node.ChildNodes.length > 0 ? iconFolderOpen : ''))\"\r\n ></div>\r\n <ng-container *ngIf=\"!node.IsEditMode\">\r\n <div class=\"flex-grow-1\">{{ node.Name }}</div>\r\n </ng-container>\r\n <ng-container *ngIf=\"node.IsEditMode\">\r\n <div class=\"flex-grow-1\" ngForm>\r\n <input\r\n name=\"editFolder\"\r\n class=\"form-control form-control-sm\"\r\n [ngModel]=\"node.Name\"\r\n [ngModelOptions]=\"{updateOn: 'blur'}\"\r\n (ngModelChange)=\"renameNode(node, $event)\"\r\n (keydown.enter)=\"$event.target.blur();false;\"\r\n (blur)=\"renameNode(node, null)\"\r\n (click)=\"$event.stopPropagation()\"\r\n />\r\n </div>\r\n </ng-container>\r\n <div class=\"flex-shrink-0\">\r\n <a\r\n *ngIf=\"node.Path !== '/' && allowfolderrename\"\r\n class=\"btn btn-sm btn-link text-secondary\"\r\n (click)=\"editNode(node);$event.stopPropagation();\"\r\n >\r\n <i [class]=\"iconEdit\"></i>\r\n </a>\r\n <sac-contextmenu cssclass=\"d-inline-block\">\r\n <sac-contextmenubutton\r\n *ngIf=\"allowfoldercreate\"\r\n text=\"{{ lngResourceService.GetString(validationKeyService.FilebrowserButtonNewFolder) | async }}\"\r\n [icon]=\"iconFolderNew\"\r\n (clicked)=\"newNode(node)\"\r\n ></sac-contextmenubutton>\r\n <sac-contextmenubutton\r\n *ngIf=\"node.Path !== '/' && allowfolderdelete\"\r\n text=\"{{ lngResourceService.GetString(validationKeyService.FilebrowserButtonDelete) | async }}\"\r\n [icon]=\"iconDelete\"\r\n (clicked)=\"deleteNode(node)\"\r\n ></sac-contextmenubutton>\r\n <sac-contextmenusplitter\r\n *ngIf=\"allowfoldercreate || (node.Path !== '/' && allowfolderdelete)\"\r\n ></sac-contextmenusplitter>\r\n <sac-contextmenubutton\r\n text=\"{{ lngResourceService.GetString(validationKeyService.FilebrowserButtonRefresh) | async }}\"\r\n [icon]=\"iconRefresh\"\r\n (clicked)=\"refreshNode(node)\"\r\n ></sac-contextmenubutton>\r\n </sac-contextmenu>\r\n </div>\r\n </li>\r\n\r\n <ng-container *ngIf=\"node.IsExpanded\">\r\n <ng-template\r\n *ngFor=\"let child of node.ChildNodes\"\r\n [ngTemplateOutlet]=\"treeItem\"\r\n [ngTemplateOutletContext]=\"{node: child, deep: deep + 1}\"\r\n ></ng-template>\r\n </ng-container>\r\n </ng-template>\r\n </div>\r\n <div class=\"col-12 col-md-7 col-lg-8\">\r\n <ng-container *ngIf=\"selectedNode && selectedNode.Files\">\r\n <div *ngIf=\"allowfileupload\" ngForm>\r\n <sac-dropzonemultiple\r\n [disablelabel]=\"true\"\r\n [endpoint]=\"apiurl + '/uploadregister'\"\r\n name=\"upload\"\r\n uploadheight=\"5rem\"\r\n [ngModel]=\"uploads\"\r\n (ngModelChange)=\"uploadComplete(selectedNode,$event)\"\r\n [allowedtypes]=\"allowedtypes\"\r\n >{{\r\n lngResourceService.GetString(validationKeyService.FilebrowserButtonUpload)\r\n | async }}</sac-dropzonemultiple\r\n >\r\n </div>\r\n <div class=\"table-responsive\">\r\n <table class=\"table table-striped table-hover align-middle\">\r\n <thead>\r\n <th>\r\n {{\r\n lngResourceService.GetString(validationKeyService.FilebrowserGridFilename)\r\n | async }}\r\n </th>\r\n <th>\r\n {{\r\n lngResourceService.GetString(validationKeyService.FilebrowserGridSize)\r\n | async }}\r\n </th>\r\n <th style=\"width: 80px\"></th>\r\n </thead>\r\n <tbody>\r\n <ng-container *ngIf=\"selectedNode.Files.length === 0\">\r\n <tr>\r\n <td colspan=\"3\">\r\n {{\r\n lngResourceService.GetString(validationKeyService.FilebrowserGridNoFiles)\r\n | async }}\r\n </td>\r\n </tr>\r\n </ng-container>\r\n <ng-container *ngIf=\"selectedNode.Files.length > 0\">\r\n <tr\r\n *ngFor=\"let item of selectedNode.Files\"\r\n (click)=\"selectFile(item)\"\r\n [class.table-primary]=\"selectedFileItem === item\"\r\n >\r\n <td [class.p-2]=\"item.IsEditMode\">\r\n <ng-container *ngIf=\"!item.IsEditMode\">\r\n {{ item.Filename }}\r\n </ng-container>\r\n <ng-container *ngIf=\"item.IsEditMode\">\r\n <div>\r\n <input\r\n name=\"editFolder\"\r\n class=\"form-control form-control-sm\"\r\n [ngModel]=\"item.Filename\"\r\n [ngModelOptions]=\"{updateOn: 'blur'}\"\r\n (ngModelChange)=\"renameFile(item, $event)\"\r\n (keydown.enter)=\"$event.target.blur();false\"\r\n (blur)=\"renameFile(item, null)\"\r\n (click)=\"$event.stopPropagation();\"\r\n />\r\n </div>\r\n </ng-container>\r\n </td>\r\n <td>{{ item.Size}}</td>\r\n <td class=\"p-2\">\r\n <div class=\"btn-toolbar\" role=\"toolbar\">\r\n <div class=\"btn-group ml-auto\" role=\"group\">\r\n <a\r\n *ngIf=\"allowfilerename\"\r\n class=\"btn btn-sm btn-link text-secondary\"\r\n (click)=\"editFile(item);$event.stopPropagation();\"\r\n ><i [class]=\"iconEdit\"></i\r\n ></a>\r\n </div>\r\n <div class=\"btn-group\" role=\"group\">\r\n <a\r\n *ngIf=\"allowfiledelete\"\r\n class=\"btn btn-sm btn-link text-secondary\"\r\n (click)=\"deleteFile(item);$event.stopPropagation();\"\r\n ><i [class]=\"iconDelete\"></i\r\n ></a>\r\n </div>\r\n </div>\r\n </td>\r\n </tr>\r\n </ng-container>\r\n </tbody>\r\n </table>\r\n </div>\r\n </ng-container>\r\n </div>\r\n</div>\r\n" }]
714
+ ], providers: [ServiceConfirm], template: "<div class=\"row\">\n <div class=\"col-12 col-md-5 col-lg-4\">\n <ul class=\"list-group list-group-flush\">\n <ng-template\n [ngTemplateOutlet]=\"treeItem\"\n [ngTemplateOutletContext]=\"{node: rootNode, deep: 0}\"\n ></ng-template>\n </ul>\n\n <ng-template #treeItem let-node=\"node\" let-deep=\"deep\">\n <li\n class=\"list-group-item py-1 px-2 d-flex align-items-center\"\n [class.list-group-item-secondary]=\"node === selectedNode\"\n (click)=\"selectNode(node)\"\n style=\"cursor: pointer\"\n >\n <div class=\"mx-3\" *ngFor=\"let i of count(deep)\"></div>\n <div\n (click)=\"switchExpandNode(node);$event.stopPropagation();\"\n class=\"me-2\"\n [ngClass]=\"node.ChildNodes.length === 0 ? iconFolderEmpty: (!node.IsExpanded && node.ChildNodes.length > 0 ? iconFolderCollabsed : (node.IsExpanded && node.ChildNodes.length > 0 ? iconFolderOpen : ''))\"\n ></div>\n <ng-container *ngIf=\"!node.IsEditMode\">\n <div class=\"flex-grow-1\">{{ node.Name }}</div>\n </ng-container>\n <ng-container *ngIf=\"node.IsEditMode\">\n <div class=\"flex-grow-1\" ngForm>\n <input\n name=\"editFolder\"\n class=\"form-control form-control-sm\"\n [ngModel]=\"node.Name\"\n [ngModelOptions]=\"{updateOn: 'blur'}\"\n (ngModelChange)=\"renameNode(node, $event)\"\n (keydown.enter)=\"$event.target.blur();false;\"\n (blur)=\"renameNode(node, null)\"\n (click)=\"$event.stopPropagation()\"\n />\n </div>\n </ng-container>\n <div class=\"flex-shrink-0\">\n <a\n *ngIf=\"node.Path !== '/' && allowfolderrename\"\n class=\"btn btn-sm btn-link text-secondary\"\n (click)=\"editNode(node);$event.stopPropagation();\"\n >\n <i [class]=\"iconEdit\"></i>\n </a>\n <sac-contextmenu cssclass=\"d-inline-block\">\n <sac-contextmenubutton\n *ngIf=\"allowfoldercreate\"\n text=\"{{ lngResourceService.GetString(validationKeyService.FilebrowserButtonNewFolder) | async }}\"\n [icon]=\"iconFolderNew\"\n (clicked)=\"newNode(node)\"\n ></sac-contextmenubutton>\n <sac-contextmenubutton\n *ngIf=\"node.Path !== '/' && allowfolderdelete\"\n text=\"{{ lngResourceService.GetString(validationKeyService.FilebrowserButtonDelete) | async }}\"\n [icon]=\"iconDelete\"\n (clicked)=\"deleteNode(node)\"\n ></sac-contextmenubutton>\n <sac-contextmenusplitter\n *ngIf=\"allowfoldercreate || (node.Path !== '/' && allowfolderdelete)\"\n ></sac-contextmenusplitter>\n <sac-contextmenubutton\n text=\"{{ lngResourceService.GetString(validationKeyService.FilebrowserButtonRefresh) | async }}\"\n [icon]=\"iconRefresh\"\n (clicked)=\"refreshNode(node)\"\n ></sac-contextmenubutton>\n </sac-contextmenu>\n </div>\n </li>\n\n <ng-container *ngIf=\"node.IsExpanded\">\n <ng-template\n *ngFor=\"let child of node.ChildNodes\"\n [ngTemplateOutlet]=\"treeItem\"\n [ngTemplateOutletContext]=\"{node: child, deep: deep + 1}\"\n ></ng-template>\n </ng-container>\n </ng-template>\n </div>\n <div class=\"col-12 col-md-7 col-lg-8\">\n <ng-container *ngIf=\"selectedNode && selectedNode.Files\">\n <div *ngIf=\"allowfileupload\" ngForm>\n <sac-dropzonemultiple\n [disablelabel]=\"true\"\n [endpoint]=\"apiurl + '/uploadregister'\"\n name=\"upload\"\n uploadheight=\"5rem\"\n [ngModel]=\"uploads\"\n (ngModelChange)=\"uploadComplete(selectedNode,$event)\"\n [allowedtypes]=\"allowedtypes\"\n >{{\n lngResourceService.GetString(validationKeyService.FilebrowserButtonUpload)\n | async }}</sac-dropzonemultiple\n >\n </div>\n <div class=\"table-responsive\">\n <table class=\"table table-striped table-hover align-middle\">\n <thead>\n <th>\n {{\n lngResourceService.GetString(validationKeyService.FilebrowserGridFilename)\n | async }}\n </th>\n <th>\n {{\n lngResourceService.GetString(validationKeyService.FilebrowserGridSize)\n | async }}\n </th>\n <th style=\"width: 80px\"></th>\n </thead>\n <tbody>\n <ng-container *ngIf=\"selectedNode.Files.length === 0\">\n <tr>\n <td colspan=\"3\">\n {{\n lngResourceService.GetString(validationKeyService.FilebrowserGridNoFiles)\n | async }}\n </td>\n </tr>\n </ng-container>\n <ng-container *ngIf=\"selectedNode.Files.length > 0\">\n <tr\n *ngFor=\"let item of selectedNode.Files\"\n (click)=\"selectFile(item)\"\n [class.table-primary]=\"selectedFileItem === item\"\n >\n <td [class.p-2]=\"item.IsEditMode\">\n <ng-container *ngIf=\"!item.IsEditMode\">\n {{ item.Filename }}\n </ng-container>\n <ng-container *ngIf=\"item.IsEditMode\">\n <div>\n <input\n name=\"editFolder\"\n class=\"form-control form-control-sm\"\n [ngModel]=\"item.Filename\"\n [ngModelOptions]=\"{updateOn: 'blur'}\"\n (ngModelChange)=\"renameFile(item, $event)\"\n (keydown.enter)=\"$event.target.blur();false\"\n (blur)=\"renameFile(item, null)\"\n (click)=\"$event.stopPropagation();\"\n />\n </div>\n </ng-container>\n </td>\n <td>{{ item.Size}}</td>\n <td class=\"p-2\">\n <div class=\"btn-toolbar\" role=\"toolbar\">\n <div class=\"btn-group ml-auto\" role=\"group\">\n <a\n *ngIf=\"allowfilerename\"\n class=\"btn btn-sm btn-link text-secondary\"\n (click)=\"editFile(item);$event.stopPropagation();\"\n ><i [class]=\"iconEdit\"></i\n ></a>\n </div>\n <div class=\"btn-group\" role=\"group\">\n <a\n *ngIf=\"allowfiledelete\"\n class=\"btn btn-sm btn-link text-secondary\"\n (click)=\"deleteFile(item);$event.stopPropagation();\"\n ><i [class]=\"iconDelete\"></i\n ></a>\n </div>\n </div>\n </td>\n </tr>\n </ng-container>\n </tbody>\n </table>\n </div>\n </ng-container>\n </div>\n</div>\n" }]
715
715
  }], ctorParameters: function () { return [{ type: i1.HttpClient }, { type: i0.Injector }, { type: ServiceConfirm }]; }, propDecorators: { uploadComponent: [{
716
716
  type: ViewChild,
717
717
  args: [SacDropzoneMultipleComponent, { static: false }]
@@ -773,7 +773,7 @@ class SacCheckboxComponent extends SacCheckboxCommon {
773
773
  useExisting: forwardRef(() => SacCheckboxComponent),
774
774
  multi: true,
775
775
  },
776
- ], usesInheritance: true, ngImport: i0, template: "<div\r\n class=\"row\"\r\n [class.g-0]=\"disablelabel\"\r\n [class.mb-3]=\"!stacked\">\r\n <div\r\n class=\"col-12\"\r\n [ngClass]=\"[!disablelabel && !stacked ? (this.labelSizes | toLabelWidthCss) : 'visually-hidden']\">\r\n <label\r\n *ngIf=\"!disablelabel && !stacked\"\r\n for=\"{{ name }}\"\r\n class=\"col-form-label d-flex\"\r\n [ngClass]=\"componentHeight | toLabelHeight\">\r\n <div\r\n class=\"text flex-grow-0\"\r\n [class.flex-sm-grow-1]=\"splitlabelandhelptext\"\r\n >{{ label }}</div\r\n >\r\n <sac-tooltip\r\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\r\n [tooltiptext]=\"helptext\"\r\n [inlinemode]=\"true\">\r\n <span\r\n [ngClass]=\"HelptextTooltipIcon\"\r\n class=\"ms-1\">\r\n </span>\r\n </sac-tooltip>\r\n </label>\r\n </div>\r\n <div\r\n class=\"align-self-center col-12\"\r\n [ngClass]=\"[!disablelabel && !stacked ? (this.labelSizes | toControlWidthCss) : '']\">\r\n <div\r\n class=\"form-check\"\r\n [class.form-switch]=\"checkboxstyle === 'switch'\"\r\n [attr.role]=\"checkboxstyle === 'switch' ? 'switch' : null\"\r\n [class.form-check-sm]=\"componentHeight === ControlHeight.Small\"\r\n [class.form-check-lg]=\"componentHeight === ControlHeight.Large\">\r\n <input\r\n class=\"form-check-input\"\r\n [class.form-check-input-sm]=\"componentHeight === ControlHeight.Small\"\r\n [class.form-check-input-lg]=\"componentHeight === ControlHeight.Large\"\r\n id=\"{{ name }}\"\r\n name=\"{{ name }}\"\r\n type=\"checkbox\"\r\n [checked]=\"value\"\r\n (blur)=\"onTouch()\"\r\n (change)=\"setValue($event.target.checked)\"\r\n [disabled]=\"isdisabled\" />\r\n <label\r\n for=\"{{ name }}\"\r\n class=\"form-check-label\"\r\n [class.form-check-label-sm]=\"componentHeight === ControlHeight.Small\"\r\n [class.form-check-label-lg]=\"componentHeight === ControlHeight.Large\">\r\n <ng-container *ngIf=\"checkboxtext\">{{ checkboxtext }}</ng-container>\r\n </label>\r\n </div>\r\n <div\r\n *ngIf=\"helptextmode === 'text' && helptext\"\r\n class=\"form-text\">\r\n {{ helptext }}\r\n </div>\r\n </div>\r\n</div>\r\n", styles: [".form-check-sm{font-size:.875em}.form-check-lg{font-size:1.25em}\n"], dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: SacToControlWidthCssPipe, name: "toControlWidthCss" }, { kind: "pipe", type: SacToLabelWidthCssPipe, name: "toLabelWidthCss" }, { kind: "pipe", type: SacToLabelHeightPipe, name: "toLabelHeight" }, { kind: "component", type: SacTooltipComponent, selector: "sac-tooltip" }] }); }
776
+ ], usesInheritance: true, ngImport: i0, template: "<div\n class=\"row\"\n [class.g-0]=\"disablelabel\"\n [class.mb-3]=\"!stacked\">\n <div\n class=\"col-12\"\n [ngClass]=\"[!disablelabel && !stacked ? (this.labelSizes | toLabelWidthCss) : 'visually-hidden']\">\n <label\n *ngIf=\"!disablelabel && !stacked\"\n for=\"{{ name }}\"\n class=\"col-form-label d-flex\"\n [ngClass]=\"componentHeight | toLabelHeight\">\n <div\n class=\"text flex-grow-0\"\n [class.flex-sm-grow-1]=\"splitlabelandhelptext\"\n >{{ label }}</div\n >\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [ngClass]=\"HelptextTooltipIcon\"\n class=\"ms-1\">\n </span>\n </sac-tooltip>\n </label>\n </div>\n <div\n class=\"align-self-center col-12\"\n [ngClass]=\"[!disablelabel && !stacked ? (this.labelSizes | toControlWidthCss) : '']\">\n <div\n class=\"form-check\"\n [class.form-switch]=\"checkboxstyle === 'switch'\"\n [attr.role]=\"checkboxstyle === 'switch' ? 'switch' : null\"\n [class.form-check-sm]=\"componentHeight === ControlHeight.Small\"\n [class.form-check-lg]=\"componentHeight === ControlHeight.Large\">\n <input\n class=\"form-check-input\"\n [class.form-check-input-sm]=\"componentHeight === ControlHeight.Small\"\n [class.form-check-input-lg]=\"componentHeight === ControlHeight.Large\"\n id=\"{{ name }}\"\n name=\"{{ name }}\"\n type=\"checkbox\"\n [checked]=\"value\"\n (blur)=\"onTouch()\"\n (change)=\"setValue($event.target.checked)\"\n [disabled]=\"isdisabled\" />\n <label\n for=\"{{ name }}\"\n class=\"form-check-label\"\n [class.form-check-label-sm]=\"componentHeight === ControlHeight.Small\"\n [class.form-check-label-lg]=\"componentHeight === ControlHeight.Large\">\n <ng-container *ngIf=\"checkboxtext\">{{ checkboxtext }}</ng-container>\n </label>\n </div>\n <div\n *ngIf=\"helptextmode === 'text' && helptext\"\n class=\"form-text\">\n {{ helptext }}\n </div>\n </div>\n</div>\n", styles: [".form-check-sm{font-size:.875em}.form-check-lg{font-size:1.25em}\n"], dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: SacToControlWidthCssPipe, name: "toControlWidthCss" }, { kind: "pipe", type: SacToLabelWidthCssPipe, name: "toLabelWidthCss" }, { kind: "pipe", type: SacToLabelHeightPipe, name: "toLabelHeight" }, { kind: "component", type: SacTooltipComponent, selector: "sac-tooltip" }] }); }
777
777
  }
778
778
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SacCheckboxComponent, decorators: [{
779
779
  type: Component,
@@ -795,7 +795,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
795
795
  SacToLabelWidthCssPipe,
796
796
  SacToLabelHeightPipe,
797
797
  SacTooltipComponent,
798
- ], template: "<div\r\n class=\"row\"\r\n [class.g-0]=\"disablelabel\"\r\n [class.mb-3]=\"!stacked\">\r\n <div\r\n class=\"col-12\"\r\n [ngClass]=\"[!disablelabel && !stacked ? (this.labelSizes | toLabelWidthCss) : 'visually-hidden']\">\r\n <label\r\n *ngIf=\"!disablelabel && !stacked\"\r\n for=\"{{ name }}\"\r\n class=\"col-form-label d-flex\"\r\n [ngClass]=\"componentHeight | toLabelHeight\">\r\n <div\r\n class=\"text flex-grow-0\"\r\n [class.flex-sm-grow-1]=\"splitlabelandhelptext\"\r\n >{{ label }}</div\r\n >\r\n <sac-tooltip\r\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\r\n [tooltiptext]=\"helptext\"\r\n [inlinemode]=\"true\">\r\n <span\r\n [ngClass]=\"HelptextTooltipIcon\"\r\n class=\"ms-1\">\r\n </span>\r\n </sac-tooltip>\r\n </label>\r\n </div>\r\n <div\r\n class=\"align-self-center col-12\"\r\n [ngClass]=\"[!disablelabel && !stacked ? (this.labelSizes | toControlWidthCss) : '']\">\r\n <div\r\n class=\"form-check\"\r\n [class.form-switch]=\"checkboxstyle === 'switch'\"\r\n [attr.role]=\"checkboxstyle === 'switch' ? 'switch' : null\"\r\n [class.form-check-sm]=\"componentHeight === ControlHeight.Small\"\r\n [class.form-check-lg]=\"componentHeight === ControlHeight.Large\">\r\n <input\r\n class=\"form-check-input\"\r\n [class.form-check-input-sm]=\"componentHeight === ControlHeight.Small\"\r\n [class.form-check-input-lg]=\"componentHeight === ControlHeight.Large\"\r\n id=\"{{ name }}\"\r\n name=\"{{ name }}\"\r\n type=\"checkbox\"\r\n [checked]=\"value\"\r\n (blur)=\"onTouch()\"\r\n (change)=\"setValue($event.target.checked)\"\r\n [disabled]=\"isdisabled\" />\r\n <label\r\n for=\"{{ name }}\"\r\n class=\"form-check-label\"\r\n [class.form-check-label-sm]=\"componentHeight === ControlHeight.Small\"\r\n [class.form-check-label-lg]=\"componentHeight === ControlHeight.Large\">\r\n <ng-container *ngIf=\"checkboxtext\">{{ checkboxtext }}</ng-container>\r\n </label>\r\n </div>\r\n <div\r\n *ngIf=\"helptextmode === 'text' && helptext\"\r\n class=\"form-text\">\r\n {{ helptext }}\r\n </div>\r\n </div>\r\n</div>\r\n", styles: [".form-check-sm{font-size:.875em}.form-check-lg{font-size:1.25em}\n"] }]
798
+ ], template: "<div\n class=\"row\"\n [class.g-0]=\"disablelabel\"\n [class.mb-3]=\"!stacked\">\n <div\n class=\"col-12\"\n [ngClass]=\"[!disablelabel && !stacked ? (this.labelSizes | toLabelWidthCss) : 'visually-hidden']\">\n <label\n *ngIf=\"!disablelabel && !stacked\"\n for=\"{{ name }}\"\n class=\"col-form-label d-flex\"\n [ngClass]=\"componentHeight | toLabelHeight\">\n <div\n class=\"text flex-grow-0\"\n [class.flex-sm-grow-1]=\"splitlabelandhelptext\"\n >{{ label }}</div\n >\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [ngClass]=\"HelptextTooltipIcon\"\n class=\"ms-1\">\n </span>\n </sac-tooltip>\n </label>\n </div>\n <div\n class=\"align-self-center col-12\"\n [ngClass]=\"[!disablelabel && !stacked ? (this.labelSizes | toControlWidthCss) : '']\">\n <div\n class=\"form-check\"\n [class.form-switch]=\"checkboxstyle === 'switch'\"\n [attr.role]=\"checkboxstyle === 'switch' ? 'switch' : null\"\n [class.form-check-sm]=\"componentHeight === ControlHeight.Small\"\n [class.form-check-lg]=\"componentHeight === ControlHeight.Large\">\n <input\n class=\"form-check-input\"\n [class.form-check-input-sm]=\"componentHeight === ControlHeight.Small\"\n [class.form-check-input-lg]=\"componentHeight === ControlHeight.Large\"\n id=\"{{ name }}\"\n name=\"{{ name }}\"\n type=\"checkbox\"\n [checked]=\"value\"\n (blur)=\"onTouch()\"\n (change)=\"setValue($event.target.checked)\"\n [disabled]=\"isdisabled\" />\n <label\n for=\"{{ name }}\"\n class=\"form-check-label\"\n [class.form-check-label-sm]=\"componentHeight === ControlHeight.Small\"\n [class.form-check-label-lg]=\"componentHeight === ControlHeight.Large\">\n <ng-container *ngIf=\"checkboxtext\">{{ checkboxtext }}</ng-container>\n </label>\n </div>\n <div\n *ngIf=\"helptextmode === 'text' && helptext\"\n class=\"form-text\">\n {{ helptext }}\n </div>\n </div>\n</div>\n", styles: [".form-check-sm{font-size:.875em}.form-check-lg{font-size:1.25em}\n"] }]
799
799
  }], ctorParameters: function () { return [{ type: SacFormLayoutDirective, decorators: [{
800
800
  type: Host
801
801
  }, {
@@ -827,7 +827,7 @@ class SacRadiobuttonsComponent extends SacRadiobuttonsCommon {
827
827
  useExisting: forwardRef(() => SacRadiobuttonsComponent),
828
828
  multi: true,
829
829
  },
830
- ], usesInheritance: true, ngImport: i0, template: "<div\r\n class=\"row mb-3\"\r\n [class.g-0]=\"disablelabel\">\r\n <div\r\n *ngIf=\"disablelabel === false\"\r\n class=\"col-12 pt-0\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'visually-hidden']\">\r\n <label\r\n class=\"col-form-label d-flex\"\r\n [ngClass]=\"componentHeight | toLabelHeight\"\r\n *ngIf=\"!disablelabel\">\r\n <div\r\n class=\"text flex-grow-0\"\r\n [class.flex-sm-grow-1]=\"splitlabelandhelptext\"\r\n >{{ label }}</div\r\n >\r\n <sac-tooltip\r\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\r\n [tooltiptext]=\"helptext\"\r\n [inlinemode]=\"true\">\r\n <span\r\n [ngClass]=\"HelptextTooltipIcon\"\r\n class=\"ms-1\">\r\n </span>\r\n </sac-tooltip>\r\n </label>\r\n </div>\r\n <div\r\n class=\"col-12\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\r\n [class.pt-1]=\"componentHeight === ControlHeight.Small\"\r\n [class.pt-2]=\"componentHeight !== ControlHeight.Small\">\r\n <ng-content></ng-content>\r\n <div\r\n *ngIf=\"helptextmode === 'text' && helptext\"\r\n class=\"form-text\">\r\n {{ helptext }}\r\n </div>\r\n </div>\r\n</div>\r\n", dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "pipe", type: SacToControlWidthCssPipe, name: "toControlWidthCss" }, { kind: "pipe", type: SacToLabelWidthCssPipe, name: "toLabelWidthCss" }, { kind: "pipe", type: SacToLabelHeightPipe, name: "toLabelHeight" }, { kind: "component", type: SacTooltipComponent, selector: "sac-tooltip" }] }); }
830
+ ], usesInheritance: true, ngImport: i0, template: "<div\n class=\"row mb-3\"\n [class.g-0]=\"disablelabel\">\n <div\n *ngIf=\"disablelabel === false\"\n class=\"col-12 pt-0\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'visually-hidden']\">\n <label\n class=\"col-form-label d-flex\"\n [ngClass]=\"componentHeight | toLabelHeight\"\n *ngIf=\"!disablelabel\">\n <div\n class=\"text flex-grow-0\"\n [class.flex-sm-grow-1]=\"splitlabelandhelptext\"\n >{{ label }}</div\n >\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [ngClass]=\"HelptextTooltipIcon\"\n class=\"ms-1\">\n </span>\n </sac-tooltip>\n </label>\n </div>\n <div\n class=\"col-12\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\n [class.pt-1]=\"componentHeight === ControlHeight.Small\"\n [class.pt-2]=\"componentHeight !== ControlHeight.Small\">\n <ng-content></ng-content>\n <div\n *ngIf=\"helptextmode === 'text' && helptext\"\n class=\"form-text\">\n {{ helptext }}\n </div>\n </div>\n</div>\n", dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "pipe", type: SacToControlWidthCssPipe, name: "toControlWidthCss" }, { kind: "pipe", type: SacToLabelWidthCssPipe, name: "toLabelWidthCss" }, { kind: "pipe", type: SacToLabelHeightPipe, name: "toLabelHeight" }, { kind: "component", type: SacTooltipComponent, selector: "sac-tooltip" }] }); }
831
831
  }
832
832
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SacRadiobuttonsComponent, decorators: [{
833
833
  type: Component,
@@ -849,7 +849,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
849
849
  SacToLabelWidthCssPipe,
850
850
  SacToLabelHeightPipe,
851
851
  SacTooltipComponent,
852
- ], template: "<div\r\n class=\"row mb-3\"\r\n [class.g-0]=\"disablelabel\">\r\n <div\r\n *ngIf=\"disablelabel === false\"\r\n class=\"col-12 pt-0\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'visually-hidden']\">\r\n <label\r\n class=\"col-form-label d-flex\"\r\n [ngClass]=\"componentHeight | toLabelHeight\"\r\n *ngIf=\"!disablelabel\">\r\n <div\r\n class=\"text flex-grow-0\"\r\n [class.flex-sm-grow-1]=\"splitlabelandhelptext\"\r\n >{{ label }}</div\r\n >\r\n <sac-tooltip\r\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\r\n [tooltiptext]=\"helptext\"\r\n [inlinemode]=\"true\">\r\n <span\r\n [ngClass]=\"HelptextTooltipIcon\"\r\n class=\"ms-1\">\r\n </span>\r\n </sac-tooltip>\r\n </label>\r\n </div>\r\n <div\r\n class=\"col-12\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\r\n [class.pt-1]=\"componentHeight === ControlHeight.Small\"\r\n [class.pt-2]=\"componentHeight !== ControlHeight.Small\">\r\n <ng-content></ng-content>\r\n <div\r\n *ngIf=\"helptextmode === 'text' && helptext\"\r\n class=\"form-text\">\r\n {{ helptext }}\r\n </div>\r\n </div>\r\n</div>\r\n" }]
852
+ ], template: "<div\n class=\"row mb-3\"\n [class.g-0]=\"disablelabel\">\n <div\n *ngIf=\"disablelabel === false\"\n class=\"col-12 pt-0\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'visually-hidden']\">\n <label\n class=\"col-form-label d-flex\"\n [ngClass]=\"componentHeight | toLabelHeight\"\n *ngIf=\"!disablelabel\">\n <div\n class=\"text flex-grow-0\"\n [class.flex-sm-grow-1]=\"splitlabelandhelptext\"\n >{{ label }}</div\n >\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [ngClass]=\"HelptextTooltipIcon\"\n class=\"ms-1\">\n </span>\n </sac-tooltip>\n </label>\n </div>\n <div\n class=\"col-12\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\n [class.pt-1]=\"componentHeight === ControlHeight.Small\"\n [class.pt-2]=\"componentHeight !== ControlHeight.Small\">\n <ng-content></ng-content>\n <div\n *ngIf=\"helptextmode === 'text' && helptext\"\n class=\"form-text\">\n {{ helptext }}\n </div>\n </div>\n</div>\n" }]
853
853
  }], ctorParameters: function () { return [{ type: SacFormLayoutDirective, decorators: [{
854
854
  type: Host
855
855
  }, {
@@ -871,11 +871,11 @@ class SacRadiobuttonComponent extends SacRadiobuttonCommon {
871
871
  super(sacRadioButtons, formLayout, injector);
872
872
  }
873
873
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SacRadiobuttonComponent, deps: [{ token: SacRadiobuttonsComponent, host: true }, { token: SacFormLayoutDirective, host: true, optional: true }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component }); }
874
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: SacRadiobuttonComponent, isStandalone: true, selector: "sac-radiobutton", usesInheritance: true, ngImport: i0, template: "<div\r\n class=\"form-check\"\r\n [class.form-check-sm]=\"componentHeight === ControlHeight.Small\"\r\n [class.form-check-lg]=\"componentHeight === ControlHeight.Large\"\r\n *ngIf=\"hidden === false\">\r\n <input\r\n id=\"{{ getName }}_{{ getIndex }}\"\r\n name=\"{{ getName }}\"\r\n type=\"radio\"\r\n class=\"form-check-input\"\r\n [class.form-check-input-sm]=\"componentHeight === ControlHeight.Small\"\r\n [class.form-check-input-lg]=\"componentHeight === ControlHeight.Large\"\r\n [value]=\"value\"\r\n [checked]=\"checked\"\r\n (change)=\"ChangeEvent()\"\r\n [disabled]=\"isDisabled\" />\r\n <label\r\n for=\"{{ getName }}_{{ getIndex }}\"\r\n class=\"form-check-label\"\r\n [class.form-check-label-sm]=\"componentHeight === ControlHeight.Small\"\r\n [class.form-check-label-lg]=\"componentHeight === ControlHeight.Large\">\r\n <ng-template *ngTemplateOutlet=\"labeltemplate || defaultItemLabelTemplate; context: { label: label }\"> </ng-template>\r\n </label>\r\n</div>\r\n\r\n<ng-template\r\n #defaultItemLabelTemplate\r\n let-label=\"label\">\r\n <ng-container>{{ label }}</ng-container>\r\n</ng-template>\r\n", styles: [".form-check-lg{padding-left:1.75rem}.form-check-input{width:1rem;height:1rem}.form-check-input-sm{width:.875rem;height:.875rem;margin-top:.4rem}.form-check-input-lg{width:1.25rem;height:1.25rem;margin-left:-1.75rem;margin-top:.4rem}.form-check-label-sm{font-size:.875rem}.form-check-label-lg{font-size:1.25rem}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }] }); }
874
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: SacRadiobuttonComponent, isStandalone: true, selector: "sac-radiobutton", usesInheritance: true, ngImport: i0, template: "<div\n class=\"form-check\"\n [class.form-check-sm]=\"componentHeight === ControlHeight.Small\"\n [class.form-check-lg]=\"componentHeight === ControlHeight.Large\"\n *ngIf=\"hidden === false\">\n <input\n id=\"{{ getName }}_{{ getIndex }}\"\n name=\"{{ getName }}\"\n type=\"radio\"\n class=\"form-check-input\"\n [class.form-check-input-sm]=\"componentHeight === ControlHeight.Small\"\n [class.form-check-input-lg]=\"componentHeight === ControlHeight.Large\"\n [value]=\"value\"\n [checked]=\"checked\"\n (change)=\"ChangeEvent()\"\n [disabled]=\"isDisabled\" />\n <label\n for=\"{{ getName }}_{{ getIndex }}\"\n class=\"form-check-label\"\n [class.form-check-label-sm]=\"componentHeight === ControlHeight.Small\"\n [class.form-check-label-lg]=\"componentHeight === ControlHeight.Large\">\n <ng-template *ngTemplateOutlet=\"labeltemplate || defaultItemLabelTemplate; context: { label: label }\"> </ng-template>\n </label>\n</div>\n\n<ng-template\n #defaultItemLabelTemplate\n let-label=\"label\">\n <ng-container>{{ label }}</ng-container>\n</ng-template>\n", styles: [".form-check-lg{padding-left:1.75rem}.form-check-input{width:1rem;height:1rem}.form-check-input-sm{width:.875rem;height:.875rem;margin-top:.4rem}.form-check-input-lg{width:1.25rem;height:1.25rem;margin-left:-1.75rem;margin-top:.4rem}.form-check-label-sm{font-size:.875rem}.form-check-label-lg{font-size:1.25rem}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }] }); }
875
875
  }
876
876
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SacRadiobuttonComponent, decorators: [{
877
877
  type: Component,
878
- args: [{ selector: 'sac-radiobutton', standalone: true, imports: [NgIf, NgTemplateOutlet, SacTooltipComponent], template: "<div\r\n class=\"form-check\"\r\n [class.form-check-sm]=\"componentHeight === ControlHeight.Small\"\r\n [class.form-check-lg]=\"componentHeight === ControlHeight.Large\"\r\n *ngIf=\"hidden === false\">\r\n <input\r\n id=\"{{ getName }}_{{ getIndex }}\"\r\n name=\"{{ getName }}\"\r\n type=\"radio\"\r\n class=\"form-check-input\"\r\n [class.form-check-input-sm]=\"componentHeight === ControlHeight.Small\"\r\n [class.form-check-input-lg]=\"componentHeight === ControlHeight.Large\"\r\n [value]=\"value\"\r\n [checked]=\"checked\"\r\n (change)=\"ChangeEvent()\"\r\n [disabled]=\"isDisabled\" />\r\n <label\r\n for=\"{{ getName }}_{{ getIndex }}\"\r\n class=\"form-check-label\"\r\n [class.form-check-label-sm]=\"componentHeight === ControlHeight.Small\"\r\n [class.form-check-label-lg]=\"componentHeight === ControlHeight.Large\">\r\n <ng-template *ngTemplateOutlet=\"labeltemplate || defaultItemLabelTemplate; context: { label: label }\"> </ng-template>\r\n </label>\r\n</div>\r\n\r\n<ng-template\r\n #defaultItemLabelTemplate\r\n let-label=\"label\">\r\n <ng-container>{{ label }}</ng-container>\r\n</ng-template>\r\n", styles: [".form-check-lg{padding-left:1.75rem}.form-check-input{width:1rem;height:1rem}.form-check-input-sm{width:.875rem;height:.875rem;margin-top:.4rem}.form-check-input-lg{width:1.25rem;height:1.25rem;margin-left:-1.75rem;margin-top:.4rem}.form-check-label-sm{font-size:.875rem}.form-check-label-lg{font-size:1.25rem}\n"] }]
878
+ args: [{ selector: 'sac-radiobutton', standalone: true, imports: [NgIf, NgTemplateOutlet, SacTooltipComponent], template: "<div\n class=\"form-check\"\n [class.form-check-sm]=\"componentHeight === ControlHeight.Small\"\n [class.form-check-lg]=\"componentHeight === ControlHeight.Large\"\n *ngIf=\"hidden === false\">\n <input\n id=\"{{ getName }}_{{ getIndex }}\"\n name=\"{{ getName }}\"\n type=\"radio\"\n class=\"form-check-input\"\n [class.form-check-input-sm]=\"componentHeight === ControlHeight.Small\"\n [class.form-check-input-lg]=\"componentHeight === ControlHeight.Large\"\n [value]=\"value\"\n [checked]=\"checked\"\n (change)=\"ChangeEvent()\"\n [disabled]=\"isDisabled\" />\n <label\n for=\"{{ getName }}_{{ getIndex }}\"\n class=\"form-check-label\"\n [class.form-check-label-sm]=\"componentHeight === ControlHeight.Small\"\n [class.form-check-label-lg]=\"componentHeight === ControlHeight.Large\">\n <ng-template *ngTemplateOutlet=\"labeltemplate || defaultItemLabelTemplate; context: { label: label }\"> </ng-template>\n </label>\n</div>\n\n<ng-template\n #defaultItemLabelTemplate\n let-label=\"label\">\n <ng-container>{{ label }}</ng-container>\n</ng-template>\n", styles: [".form-check-lg{padding-left:1.75rem}.form-check-input{width:1rem;height:1rem}.form-check-input-sm{width:.875rem;height:.875rem;margin-top:.4rem}.form-check-input-lg{width:1.25rem;height:1.25rem;margin-left:-1.75rem;margin-top:.4rem}.form-check-label-sm{font-size:.875rem}.form-check-label-lg{font-size:1.25rem}\n"] }]
879
879
  }], ctorParameters: function () { return [{ type: SacRadiobuttonsComponent, decorators: [{
880
880
  type: Host
881
881
  }] }, { type: SacFormLayoutDirective, decorators: [{
@@ -964,11 +964,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
964
964
  */
965
965
  class SacDateSelectorComponent extends SacDateSelectorCommon {
966
966
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SacDateSelectorComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
967
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: SacDateSelectorComponent, isStandalone: true, selector: "sac-dateselector", usesInheritance: true, ngImport: i0, template: "<div class=\"calendar-selector\">\r\n <div *ngIf=\"dateselection\">\r\n <div class=\"container\">\r\n <div class=\"row\">\r\n <div class=\"col text-start\">\r\n <a (click)=\"monthBack()\"><span [class]=\"iconMonthPrev\"></span></a>\r\n </div>\r\n <div class=\"col text-center\">{{month+1}}/{{year}}</div>\r\n <div class=\"col text-end\">\r\n <a (click)=\"monthNext()\"><span [class]=\"iconMonthNext\"></span></a>\r\n </div>\r\n </div>\r\n </div>\r\n <div></div>\r\n <div class=\"container\">\r\n <div class=\"row\">\r\n <ng-container *ngFor=\"let week of dates; let i=index\">\r\n <ng-container *ngFor=\"let item of week\">\r\n <div\r\n class=\"p-2 col text-center\"\r\n [ngStyle]=\"{'cursor': item.isenabled ? 'pointer' : null}\"\r\n [ngClass]=\"{'day-current': item.iscurrent, 'day-selected': item.isselected, 'day-new': item.isnew, 'day-disabled': !item.isenabled}\"\r\n (click)=\"selectDate(item)\"\r\n >\r\n {{ item.displaytext }}\r\n </div>\r\n </ng-container>\r\n <div class=\"w-100\"></div>\r\n </ng-container>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"d-flex justify-content-start\" *ngIf=\"timeselection\">\r\n <div class=\"p-2\">\r\n <div class=\"form-group\">\r\n <label>Stunde</label>\r\n <input\r\n type=\"number\"\r\n class=\"form-control form-control-sm\"\r\n [value]=\"getHours()\"\r\n (input)=\"setHours($event.target.value)\"\r\n min=\"0\"\r\n max=\"23\"\r\n />\r\n </div>\r\n </div>\r\n <div class=\"p-2\">\r\n <div class=\"form-group\">\r\n <label>Minute</label>\r\n <input\r\n type=\"number\"\r\n class=\"form-control form-control-sm\"\r\n [value]=\"getMinutes()\"\r\n (input)=\"setMinutes($event.target.value)\"\r\n min=\"0\"\r\n max=\"59\"\r\n />\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"d-flex flex-row\">\r\n <div class=\"flex-grow-1 p-2\">\r\n <button type=\"button\" class=\"btn btn-secondary\" (click)=\"setToday()\">\r\n Heute\r\n </button>\r\n </div>\r\n <div class=\"p-2\">\r\n <button\r\n type=\"button\"\r\n class=\"btn btn-secondary\"\r\n (click)=\"resetSelection()\"\r\n >\r\n Reset\r\n </button>\r\n </div>\r\n <div class=\"p-2\">\r\n <button type=\"button\" class=\"btn btn-primary\" (click)=\"applySelection()\">\r\n Apply\r\n </button>\r\n </div>\r\n </div>\r\n</div>\r\n", dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] }); }
967
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: SacDateSelectorComponent, isStandalone: true, selector: "sac-dateselector", usesInheritance: true, ngImport: i0, template: "<div class=\"calendar-selector\">\n <div *ngIf=\"dateselection\">\n <div class=\"container\">\n <div class=\"row\">\n <div class=\"col text-start\">\n <a (click)=\"monthBack()\"><span [class]=\"iconMonthPrev\"></span></a>\n </div>\n <div class=\"col text-center\">{{month+1}}/{{year}}</div>\n <div class=\"col text-end\">\n <a (click)=\"monthNext()\"><span [class]=\"iconMonthNext\"></span></a>\n </div>\n </div>\n </div>\n <div></div>\n <div class=\"container\">\n <div class=\"row\">\n <ng-container *ngFor=\"let week of dates; let i=index\">\n <ng-container *ngFor=\"let item of week\">\n <div\n class=\"p-2 col text-center\"\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 >\n {{ item.displaytext }}\n </div>\n </ng-container>\n <div class=\"w-100\"></div>\n </ng-container>\n </div>\n </div>\n </div>\n <div class=\"d-flex justify-content-start\" *ngIf=\"timeselection\">\n <div class=\"p-2\">\n <div class=\"form-group\">\n <label>Stunde</label>\n <input\n type=\"number\"\n class=\"form-control form-control-sm\"\n [value]=\"getHours()\"\n (input)=\"setHours($event.target.value)\"\n min=\"0\"\n max=\"23\"\n />\n </div>\n </div>\n <div class=\"p-2\">\n <div class=\"form-group\">\n <label>Minute</label>\n <input\n type=\"number\"\n class=\"form-control form-control-sm\"\n [value]=\"getMinutes()\"\n (input)=\"setMinutes($event.target.value)\"\n min=\"0\"\n max=\"59\"\n />\n </div>\n </div>\n </div>\n <div class=\"d-flex flex-row\">\n <div class=\"flex-grow-1 p-2\">\n <button type=\"button\" class=\"btn btn-secondary\" (click)=\"setToday()\">\n Heute\n </button>\n </div>\n <div class=\"p-2\">\n <button\n type=\"button\"\n class=\"btn btn-secondary\"\n (click)=\"resetSelection()\"\n >\n Reset\n </button>\n </div>\n <div class=\"p-2\">\n <button type=\"button\" class=\"btn btn-primary\" (click)=\"applySelection()\">\n Apply\n </button>\n </div>\n </div>\n</div>\n", dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] }); }
968
968
  }
969
969
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SacDateSelectorComponent, decorators: [{
970
970
  type: Component,
971
- args: [{ selector: 'sac-dateselector', standalone: true, imports: [NgIf, NgFor, NgStyle, NgClass], template: "<div class=\"calendar-selector\">\r\n <div *ngIf=\"dateselection\">\r\n <div class=\"container\">\r\n <div class=\"row\">\r\n <div class=\"col text-start\">\r\n <a (click)=\"monthBack()\"><span [class]=\"iconMonthPrev\"></span></a>\r\n </div>\r\n <div class=\"col text-center\">{{month+1}}/{{year}}</div>\r\n <div class=\"col text-end\">\r\n <a (click)=\"monthNext()\"><span [class]=\"iconMonthNext\"></span></a>\r\n </div>\r\n </div>\r\n </div>\r\n <div></div>\r\n <div class=\"container\">\r\n <div class=\"row\">\r\n <ng-container *ngFor=\"let week of dates; let i=index\">\r\n <ng-container *ngFor=\"let item of week\">\r\n <div\r\n class=\"p-2 col text-center\"\r\n [ngStyle]=\"{'cursor': item.isenabled ? 'pointer' : null}\"\r\n [ngClass]=\"{'day-current': item.iscurrent, 'day-selected': item.isselected, 'day-new': item.isnew, 'day-disabled': !item.isenabled}\"\r\n (click)=\"selectDate(item)\"\r\n >\r\n {{ item.displaytext }}\r\n </div>\r\n </ng-container>\r\n <div class=\"w-100\"></div>\r\n </ng-container>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"d-flex justify-content-start\" *ngIf=\"timeselection\">\r\n <div class=\"p-2\">\r\n <div class=\"form-group\">\r\n <label>Stunde</label>\r\n <input\r\n type=\"number\"\r\n class=\"form-control form-control-sm\"\r\n [value]=\"getHours()\"\r\n (input)=\"setHours($event.target.value)\"\r\n min=\"0\"\r\n max=\"23\"\r\n />\r\n </div>\r\n </div>\r\n <div class=\"p-2\">\r\n <div class=\"form-group\">\r\n <label>Minute</label>\r\n <input\r\n type=\"number\"\r\n class=\"form-control form-control-sm\"\r\n [value]=\"getMinutes()\"\r\n (input)=\"setMinutes($event.target.value)\"\r\n min=\"0\"\r\n max=\"59\"\r\n />\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"d-flex flex-row\">\r\n <div class=\"flex-grow-1 p-2\">\r\n <button type=\"button\" class=\"btn btn-secondary\" (click)=\"setToday()\">\r\n Heute\r\n </button>\r\n </div>\r\n <div class=\"p-2\">\r\n <button\r\n type=\"button\"\r\n class=\"btn btn-secondary\"\r\n (click)=\"resetSelection()\"\r\n >\r\n Reset\r\n </button>\r\n </div>\r\n <div class=\"p-2\">\r\n <button type=\"button\" class=\"btn btn-primary\" (click)=\"applySelection()\">\r\n Apply\r\n </button>\r\n </div>\r\n </div>\r\n</div>\r\n" }]
971
+ args: [{ selector: 'sac-dateselector', standalone: true, imports: [NgIf, NgFor, NgStyle, NgClass], template: "<div class=\"calendar-selector\">\n <div *ngIf=\"dateselection\">\n <div class=\"container\">\n <div class=\"row\">\n <div class=\"col text-start\">\n <a (click)=\"monthBack()\"><span [class]=\"iconMonthPrev\"></span></a>\n </div>\n <div class=\"col text-center\">{{month+1}}/{{year}}</div>\n <div class=\"col text-end\">\n <a (click)=\"monthNext()\"><span [class]=\"iconMonthNext\"></span></a>\n </div>\n </div>\n </div>\n <div></div>\n <div class=\"container\">\n <div class=\"row\">\n <ng-container *ngFor=\"let week of dates; let i=index\">\n <ng-container *ngFor=\"let item of week\">\n <div\n class=\"p-2 col text-center\"\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 >\n {{ item.displaytext }}\n </div>\n </ng-container>\n <div class=\"w-100\"></div>\n </ng-container>\n </div>\n </div>\n </div>\n <div class=\"d-flex justify-content-start\" *ngIf=\"timeselection\">\n <div class=\"p-2\">\n <div class=\"form-group\">\n <label>Stunde</label>\n <input\n type=\"number\"\n class=\"form-control form-control-sm\"\n [value]=\"getHours()\"\n (input)=\"setHours($event.target.value)\"\n min=\"0\"\n max=\"23\"\n />\n </div>\n </div>\n <div class=\"p-2\">\n <div class=\"form-group\">\n <label>Minute</label>\n <input\n type=\"number\"\n class=\"form-control form-control-sm\"\n [value]=\"getMinutes()\"\n (input)=\"setMinutes($event.target.value)\"\n min=\"0\"\n max=\"59\"\n />\n </div>\n </div>\n </div>\n <div class=\"d-flex flex-row\">\n <div class=\"flex-grow-1 p-2\">\n <button type=\"button\" class=\"btn btn-secondary\" (click)=\"setToday()\">\n Heute\n </button>\n </div>\n <div class=\"p-2\">\n <button\n type=\"button\"\n class=\"btn btn-secondary\"\n (click)=\"resetSelection()\"\n >\n Reset\n </button>\n </div>\n <div class=\"p-2\">\n <button type=\"button\" class=\"btn btn-primary\" (click)=\"applySelection()\">\n Apply\n </button>\n </div>\n </div>\n</div>\n" }]
972
972
  }] });
973
973
 
974
974
  // #region Classes
@@ -999,7 +999,7 @@ class SacDateComponent extends SacDateCommon {
999
999
  multi: true,
1000
1000
  useExisting: forwardRef(() => SacDateComponent),
1001
1001
  },
1002
- ], usesInheritance: true, ngImport: i0, template: "<div\r\n class=\"row mb-3\"\r\n [class.g-0]=\"disablelabel\">\r\n <label\r\n for=\"{{ name }}\"\r\n class=\"col-12 col-form-label d-flex\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'visually-hidden', componentHeight | toLabelHeight]\"\r\n [class.required]=\"isrequired\">\r\n <div\r\n class=\"text flex-grow-0\"\r\n [class.flex-sm-grow-1]=\"splitlabelandhelptext\">\r\n {{ label }}\r\n </div>\r\n <sac-tooltip\r\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\r\n [tooltiptext]=\"helptext\"\r\n [inlinemode]=\"true\">\r\n <span\r\n [ngClass]=\"HelptextTooltipIcon\"\r\n class=\"ms-1\">\r\n </span>\r\n </sac-tooltip>\r\n </label>\r\n <div\r\n class=\"col-12 position-relative\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\r\n [class.d-flex]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\r\n <div [class.flex-grow-1]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\r\n <div\r\n class=\"input-group\"\r\n [class.input-group-sm]=\"componentHeight === ControlHeight.Small\"\r\n [class.input-group-lg]=\"componentHeight === ControlHeight.Large\"\r\n [class.has-validation]=\"isinlineerrorenabled && invalid && (dirty || touched)\">\r\n <input\r\n id=\"{{ name }}\"\r\n name=\"{{ name }}\"\r\n type=\"text\"\r\n class=\"form-control\"\r\n [imask]=\"imaskDate\"\r\n [attr.placeholder]=\"placeholder\"\r\n [value]=\"valuestring\"\r\n [class.is-invalid]=\"invalid && (dirty || touched)\"\r\n [ngClass]=\"[componentHeight | toControlHeight]\"\r\n (blur)=\"onTouch()\"\r\n (accept)=\"setValueString($event)\"\r\n [disabled]=\"isdisabled\" />\r\n <button\r\n #pickerbutton\r\n class=\"btn btn-secondary\"\r\n type=\"button\"\r\n (click)=\"showDateSelector()\"\r\n [disabled]=\"isdisabled\">\r\n <i [class]=\"IconSelector\"></i>\r\n </button>\r\n <div\r\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\"\r\n class=\"invalid-feedback\">\r\n {{ GetErrorMessage() | async }}\r\n </div>\r\n </div>\r\n <div\r\n *ngIf=\"helptextmode === 'text' && helptext\"\r\n class=\"form-text\">\r\n {{ helptext }}\r\n </div>\r\n <div\r\n #picker\r\n *ngIf=\"_showselector\">\r\n <div\r\n class=\"popover fade show position-absolute bs-popover-auto\"\r\n role=\"tooltip\"\r\n [attr.data-popper-placement]=\"\r\n GetPickerPosition() == TooltipPosition.right\r\n ? 'right'\r\n : GetPickerPosition() == TooltipPosition.left\r\n ? 'left'\r\n : GetPickerPosition() == TooltipPosition.top || GetPickerPosition() == TooltipPosition.topend\r\n ? 'top'\r\n : GetPickerPosition() == TooltipPosition.bottom || GetPickerPosition() == TooltipPosition.bottomend\r\n ? 'bottom'\r\n : null\r\n \"\r\n [style.left.px]=\"posPopupLeft\"\r\n [style.top.px]=\"posPopupTop\">\r\n <div\r\n #pickerarrow\r\n class=\"popover-arrow position-absolute\"\r\n style=\"left: unset\"\r\n [style.top.px]=\"posArrowTop\"\r\n [style.left.px]=\"posArrowLeft\">\r\n </div>\r\n\r\n <div class=\"popover-body\">\r\n <sac-dateselector\r\n [initialvalue]=\"value\"\r\n (selectdate)=\"dateselect($event)\"\r\n dateselection=\"true\"></sac-dateselector>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div\r\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\r\n class=\"form-control-plaintext align-self-top ms-2 me-1 w-auto\"\r\n [ngClass]=\"[componentHeight | toControlHeight]\">\r\n <sac-tooltip\r\n [tooltiptext]=\"helptext\"\r\n [inlinemode]=\"true\">\r\n <span\r\n [ngClass]=\"HelptextTooltipIcon\"\r\n class=\"ml-1\">\r\n </span>\r\n </sac-tooltip>\r\n </div>\r\n </div>\r\n</div>\r\n", dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: IMaskDirective, selector: "[imask]", inputs: ["imask", "unmask", "imaskElement"], outputs: ["accept", "complete"], exportAs: ["imask"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "component", type: SacDateSelectorComponent, selector: "sac-dateselector" }, { kind: "pipe", type: SacToControlWidthCssPipe, name: "toControlWidthCss" }, { kind: "pipe", type: SacToLabelWidthCssPipe, name: "toLabelWidthCss" }, { kind: "pipe", type: SacToLabelHeightPipe, name: "toLabelHeight" }, { kind: "pipe", type: SacToControlHeightPipe, name: "toControlHeight" }, { kind: "component", type: SacTooltipComponent, selector: "sac-tooltip" }] }); }
1002
+ ], usesInheritance: true, ngImport: i0, template: "<div\n class=\"row mb-3\"\n [class.g-0]=\"disablelabel\">\n <label\n for=\"{{ name }}\"\n class=\"col-12 col-form-label d-flex\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'visually-hidden', componentHeight | toLabelHeight]\"\n [class.required]=\"isrequired\">\n <div\n class=\"text flex-grow-0\"\n [class.flex-sm-grow-1]=\"splitlabelandhelptext\">\n {{ label }}\n </div>\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [ngClass]=\"HelptextTooltipIcon\"\n class=\"ms-1\">\n </span>\n </sac-tooltip>\n </label>\n <div\n class=\"col-12 position-relative\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\n [class.d-flex]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\n <div [class.flex-grow-1]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\n <div\n class=\"input-group\"\n [class.input-group-sm]=\"componentHeight === ControlHeight.Small\"\n [class.input-group-lg]=\"componentHeight === ControlHeight.Large\"\n [class.has-validation]=\"isinlineerrorenabled && invalid && (dirty || touched)\">\n <input\n id=\"{{ name }}\"\n name=\"{{ name }}\"\n type=\"text\"\n class=\"form-control\"\n [imask]=\"imaskDate\"\n [attr.placeholder]=\"placeholder\"\n [value]=\"valuestring\"\n [class.is-invalid]=\"invalid && (dirty || touched)\"\n [ngClass]=\"[componentHeight | toControlHeight]\"\n (blur)=\"onTouch()\"\n (accept)=\"setValueString($event)\"\n [disabled]=\"isdisabled\" />\n <button\n #pickerbutton\n class=\"btn btn-secondary\"\n type=\"button\"\n (click)=\"showDateSelector()\"\n [disabled]=\"isdisabled\">\n <i [class]=\"IconSelector\"></i>\n </button>\n <div\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\"\n class=\"invalid-feedback\">\n {{ GetErrorMessage() | async }}\n </div>\n </div>\n <div\n *ngIf=\"helptextmode === 'text' && helptext\"\n class=\"form-text\">\n {{ helptext }}\n </div>\n <div\n #picker\n *ngIf=\"_showselector\">\n <div\n class=\"popover fade show position-absolute bs-popover-auto\"\n role=\"tooltip\"\n [attr.data-popper-placement]=\"\n GetPickerPosition() == TooltipPosition.right\n ? 'right'\n : GetPickerPosition() == TooltipPosition.left\n ? 'left'\n : GetPickerPosition() == TooltipPosition.top || GetPickerPosition() == TooltipPosition.topend\n ? 'top'\n : GetPickerPosition() == TooltipPosition.bottom || GetPickerPosition() == TooltipPosition.bottomend\n ? 'bottom'\n : null\n \"\n [style.left.px]=\"posPopupLeft\"\n [style.top.px]=\"posPopupTop\">\n <div\n #pickerarrow\n class=\"popover-arrow position-absolute\"\n style=\"left: unset\"\n [style.top.px]=\"posArrowTop\"\n [style.left.px]=\"posArrowLeft\">\n </div>\n\n <div class=\"popover-body\">\n <sac-dateselector\n [initialvalue]=\"value\"\n (selectdate)=\"dateselect($event)\"\n dateselection=\"true\"></sac-dateselector>\n </div>\n </div>\n </div>\n </div>\n\n <div\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\n class=\"form-control-plaintext align-self-top ms-2 me-1 w-auto\"\n [ngClass]=\"[componentHeight | toControlHeight]\">\n <sac-tooltip\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [ngClass]=\"HelptextTooltipIcon\"\n class=\"ml-1\">\n </span>\n </sac-tooltip>\n </div>\n </div>\n</div>\n", dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: IMaskDirective, selector: "[imask]", inputs: ["imask", "unmask", "imaskElement"], outputs: ["accept", "complete"], exportAs: ["imask"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "component", type: SacDateSelectorComponent, selector: "sac-dateselector" }, { kind: "pipe", type: SacToControlWidthCssPipe, name: "toControlWidthCss" }, { kind: "pipe", type: SacToLabelWidthCssPipe, name: "toLabelWidthCss" }, { kind: "pipe", type: SacToLabelHeightPipe, name: "toLabelHeight" }, { kind: "pipe", type: SacToControlHeightPipe, name: "toControlHeight" }, { kind: "component", type: SacTooltipComponent, selector: "sac-tooltip" }] }); }
1003
1003
  }
1004
1004
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SacDateComponent, decorators: [{
1005
1005
  type: Component,
@@ -1025,7 +1025,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
1025
1025
  SacToLabelHeightPipe,
1026
1026
  SacToControlHeightPipe,
1027
1027
  SacTooltipComponent,
1028
- ], template: "<div\r\n class=\"row mb-3\"\r\n [class.g-0]=\"disablelabel\">\r\n <label\r\n for=\"{{ name }}\"\r\n class=\"col-12 col-form-label d-flex\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'visually-hidden', componentHeight | toLabelHeight]\"\r\n [class.required]=\"isrequired\">\r\n <div\r\n class=\"text flex-grow-0\"\r\n [class.flex-sm-grow-1]=\"splitlabelandhelptext\">\r\n {{ label }}\r\n </div>\r\n <sac-tooltip\r\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\r\n [tooltiptext]=\"helptext\"\r\n [inlinemode]=\"true\">\r\n <span\r\n [ngClass]=\"HelptextTooltipIcon\"\r\n class=\"ms-1\">\r\n </span>\r\n </sac-tooltip>\r\n </label>\r\n <div\r\n class=\"col-12 position-relative\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\r\n [class.d-flex]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\r\n <div [class.flex-grow-1]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\r\n <div\r\n class=\"input-group\"\r\n [class.input-group-sm]=\"componentHeight === ControlHeight.Small\"\r\n [class.input-group-lg]=\"componentHeight === ControlHeight.Large\"\r\n [class.has-validation]=\"isinlineerrorenabled && invalid && (dirty || touched)\">\r\n <input\r\n id=\"{{ name }}\"\r\n name=\"{{ name }}\"\r\n type=\"text\"\r\n class=\"form-control\"\r\n [imask]=\"imaskDate\"\r\n [attr.placeholder]=\"placeholder\"\r\n [value]=\"valuestring\"\r\n [class.is-invalid]=\"invalid && (dirty || touched)\"\r\n [ngClass]=\"[componentHeight | toControlHeight]\"\r\n (blur)=\"onTouch()\"\r\n (accept)=\"setValueString($event)\"\r\n [disabled]=\"isdisabled\" />\r\n <button\r\n #pickerbutton\r\n class=\"btn btn-secondary\"\r\n type=\"button\"\r\n (click)=\"showDateSelector()\"\r\n [disabled]=\"isdisabled\">\r\n <i [class]=\"IconSelector\"></i>\r\n </button>\r\n <div\r\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\"\r\n class=\"invalid-feedback\">\r\n {{ GetErrorMessage() | async }}\r\n </div>\r\n </div>\r\n <div\r\n *ngIf=\"helptextmode === 'text' && helptext\"\r\n class=\"form-text\">\r\n {{ helptext }}\r\n </div>\r\n <div\r\n #picker\r\n *ngIf=\"_showselector\">\r\n <div\r\n class=\"popover fade show position-absolute bs-popover-auto\"\r\n role=\"tooltip\"\r\n [attr.data-popper-placement]=\"\r\n GetPickerPosition() == TooltipPosition.right\r\n ? 'right'\r\n : GetPickerPosition() == TooltipPosition.left\r\n ? 'left'\r\n : GetPickerPosition() == TooltipPosition.top || GetPickerPosition() == TooltipPosition.topend\r\n ? 'top'\r\n : GetPickerPosition() == TooltipPosition.bottom || GetPickerPosition() == TooltipPosition.bottomend\r\n ? 'bottom'\r\n : null\r\n \"\r\n [style.left.px]=\"posPopupLeft\"\r\n [style.top.px]=\"posPopupTop\">\r\n <div\r\n #pickerarrow\r\n class=\"popover-arrow position-absolute\"\r\n style=\"left: unset\"\r\n [style.top.px]=\"posArrowTop\"\r\n [style.left.px]=\"posArrowLeft\">\r\n </div>\r\n\r\n <div class=\"popover-body\">\r\n <sac-dateselector\r\n [initialvalue]=\"value\"\r\n (selectdate)=\"dateselect($event)\"\r\n dateselection=\"true\"></sac-dateselector>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div\r\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\r\n class=\"form-control-plaintext align-self-top ms-2 me-1 w-auto\"\r\n [ngClass]=\"[componentHeight | toControlHeight]\">\r\n <sac-tooltip\r\n [tooltiptext]=\"helptext\"\r\n [inlinemode]=\"true\">\r\n <span\r\n [ngClass]=\"HelptextTooltipIcon\"\r\n class=\"ml-1\">\r\n </span>\r\n </sac-tooltip>\r\n </div>\r\n </div>\r\n</div>\r\n" }]
1028
+ ], template: "<div\n class=\"row mb-3\"\n [class.g-0]=\"disablelabel\">\n <label\n for=\"{{ name }}\"\n class=\"col-12 col-form-label d-flex\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'visually-hidden', componentHeight | toLabelHeight]\"\n [class.required]=\"isrequired\">\n <div\n class=\"text flex-grow-0\"\n [class.flex-sm-grow-1]=\"splitlabelandhelptext\">\n {{ label }}\n </div>\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [ngClass]=\"HelptextTooltipIcon\"\n class=\"ms-1\">\n </span>\n </sac-tooltip>\n </label>\n <div\n class=\"col-12 position-relative\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\n [class.d-flex]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\n <div [class.flex-grow-1]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\n <div\n class=\"input-group\"\n [class.input-group-sm]=\"componentHeight === ControlHeight.Small\"\n [class.input-group-lg]=\"componentHeight === ControlHeight.Large\"\n [class.has-validation]=\"isinlineerrorenabled && invalid && (dirty || touched)\">\n <input\n id=\"{{ name }}\"\n name=\"{{ name }}\"\n type=\"text\"\n class=\"form-control\"\n [imask]=\"imaskDate\"\n [attr.placeholder]=\"placeholder\"\n [value]=\"valuestring\"\n [class.is-invalid]=\"invalid && (dirty || touched)\"\n [ngClass]=\"[componentHeight | toControlHeight]\"\n (blur)=\"onTouch()\"\n (accept)=\"setValueString($event)\"\n [disabled]=\"isdisabled\" />\n <button\n #pickerbutton\n class=\"btn btn-secondary\"\n type=\"button\"\n (click)=\"showDateSelector()\"\n [disabled]=\"isdisabled\">\n <i [class]=\"IconSelector\"></i>\n </button>\n <div\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\"\n class=\"invalid-feedback\">\n {{ GetErrorMessage() | async }}\n </div>\n </div>\n <div\n *ngIf=\"helptextmode === 'text' && helptext\"\n class=\"form-text\">\n {{ helptext }}\n </div>\n <div\n #picker\n *ngIf=\"_showselector\">\n <div\n class=\"popover fade show position-absolute bs-popover-auto\"\n role=\"tooltip\"\n [attr.data-popper-placement]=\"\n GetPickerPosition() == TooltipPosition.right\n ? 'right'\n : GetPickerPosition() == TooltipPosition.left\n ? 'left'\n : GetPickerPosition() == TooltipPosition.top || GetPickerPosition() == TooltipPosition.topend\n ? 'top'\n : GetPickerPosition() == TooltipPosition.bottom || GetPickerPosition() == TooltipPosition.bottomend\n ? 'bottom'\n : null\n \"\n [style.left.px]=\"posPopupLeft\"\n [style.top.px]=\"posPopupTop\">\n <div\n #pickerarrow\n class=\"popover-arrow position-absolute\"\n style=\"left: unset\"\n [style.top.px]=\"posArrowTop\"\n [style.left.px]=\"posArrowLeft\">\n </div>\n\n <div class=\"popover-body\">\n <sac-dateselector\n [initialvalue]=\"value\"\n (selectdate)=\"dateselect($event)\"\n dateselection=\"true\"></sac-dateselector>\n </div>\n </div>\n </div>\n </div>\n\n <div\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\n class=\"form-control-plaintext align-self-top ms-2 me-1 w-auto\"\n [ngClass]=\"[componentHeight | toControlHeight]\">\n <sac-tooltip\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [ngClass]=\"HelptextTooltipIcon\"\n class=\"ml-1\">\n </span>\n </sac-tooltip>\n </div>\n </div>\n</div>\n" }]
1029
1029
  }], ctorParameters: function () { return [{ type: SacFormLayoutDirective, decorators: [{
1030
1030
  type: Host
1031
1031
  }, {
@@ -1065,7 +1065,7 @@ class SacDateTimeComponent extends SacDateTimeCommon {
1065
1065
  multi: true,
1066
1066
  useExisting: forwardRef(() => SacDateTimeComponent),
1067
1067
  },
1068
- ], usesInheritance: true, ngImport: i0, template: "<div\r\n class=\"row mb-3\"\r\n [class.g-0]=\"disablelabel\">\r\n <label\r\n for=\"{{ name }}\"\r\n class=\"col-12 col-form-label d-flex\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'visually-hidden', componentHeight | toLabelHeight]\"\r\n [class.required]=\"isrequired\">\r\n <div\r\n class=\"text flex-grow-0\"\r\n [class.flex-sm-grow-1]=\"splitlabelandhelptext\">\r\n {{ label }}\r\n </div>\r\n <sac-tooltip\r\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\r\n [tooltiptext]=\"helptext\"\r\n [inlinemode]=\"true\">\r\n <span\r\n [ngClass]=\"HelptextTooltipIcon\"\r\n class=\"ms-1\">\r\n </span>\r\n </sac-tooltip>\r\n </label>\r\n <div\r\n class=\"col-12 position-relative\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\r\n [class.d-flex]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\r\n <div [class.flex-grow-1]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\r\n <div\r\n class=\"input-group\"\r\n [class.input-group-sm]=\"componentHeight === ControlHeight.Small\"\r\n [class.input-group-lg]=\"componentHeight === ControlHeight.Large\"\r\n [class.has-validation]=\"isinlineerrorenabled && invalid && (dirty || touched)\">\r\n <input\r\n id=\"{{ name }}\"\r\n name=\"{{ name }}\"\r\n type=\"text\"\r\n class=\"form-control\"\r\n [imask]=\"imaskDate\"\r\n [attr.placeholder]=\"placeholder\"\r\n [value]=\"valuestring\"\r\n [class.is-invalid]=\"invalid && (dirty || touched)\"\r\n [ngClass]=\"[componentHeight | toControlHeight]\"\r\n (blur)=\"onTouch()\"\r\n (accept)=\"setValueString($event)\"\r\n [disabled]=\"isdisabled\" />\r\n <button\r\n #pickerbutton\r\n class=\"btn btn-secondary\"\r\n type=\"button\"\r\n (click)=\"showDateSelector()\"\r\n [disabled]=\"isdisabled\">\r\n <i [class]=\"IconSelector\"></i>\r\n </button>\r\n <div\r\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\"\r\n class=\"invalid-feedback\">\r\n {{ GetErrorMessage() | async }}\r\n </div>\r\n </div>\r\n <div\r\n *ngIf=\"helptextmode === 'text' && helptext\"\r\n class=\"form-text\">\r\n {{ helptext }}\r\n </div>\r\n <div\r\n #picker\r\n *ngIf=\"_showselector\">\r\n <div\r\n class=\"popover fade show position-absolute bs-popover-auto\"\r\n role=\"tooltip\"\r\n [attr.data-popper-placement]=\"\r\n GetPickerPosition() == TooltipPosition.right\r\n ? 'right'\r\n : GetPickerPosition() == TooltipPosition.left\r\n ? 'left'\r\n : GetPickerPosition() == TooltipPosition.top || GetPickerPosition() == TooltipPosition.topend\r\n ? 'top'\r\n : GetPickerPosition() == TooltipPosition.bottom || GetPickerPosition() == TooltipPosition.bottomend\r\n ? 'bottom'\r\n : null\r\n \"\r\n [style.left.px]=\"posPopupLeft\"\r\n [style.top.px]=\"posPopupTop\">\r\n <div\r\n #pickerarrow\r\n class=\"popover-arrow position-absolute\"\r\n style=\"left: unset\"\r\n [style.top.px]=\"posArrowTop\"\r\n [style.left.px]=\"posArrowLeft\">\r\n </div>\r\n\r\n <div class=\"popover-body\">\r\n <sac-dateselector\r\n [initialvalue]=\"value\"\r\n (selectdate)=\"dateselect($event)\"\r\n dateselection=\"true\"\r\n timeselection=\"true\"></sac-dateselector>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div\r\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\r\n class=\"form-control-plaintext align-self-top ms-2 me-1 w-auto\"\r\n [ngClass]=\"[componentHeight | toControlHeight]\">\r\n <sac-tooltip\r\n [tooltiptext]=\"helptext\"\r\n [inlinemode]=\"true\">\r\n <span\r\n [ngClass]=\"HelptextTooltipIcon\"\r\n class=\"ml-1\">\r\n </span>\r\n </sac-tooltip>\r\n </div>\r\n </div>\r\n</div>\r\n", dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: IMaskDirective, selector: "[imask]", inputs: ["imask", "unmask", "imaskElement"], outputs: ["accept", "complete"], exportAs: ["imask"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "component", type: SacDateSelectorComponent, selector: "sac-dateselector" }, { kind: "pipe", type: SacToControlWidthCssPipe, name: "toControlWidthCss" }, { kind: "pipe", type: SacToLabelWidthCssPipe, name: "toLabelWidthCss" }, { kind: "pipe", type: SacToLabelHeightPipe, name: "toLabelHeight" }, { kind: "pipe", type: SacToControlHeightPipe, name: "toControlHeight" }, { kind: "component", type: SacTooltipComponent, selector: "sac-tooltip" }] }); }
1068
+ ], usesInheritance: true, ngImport: i0, template: "<div\n class=\"row mb-3\"\n [class.g-0]=\"disablelabel\">\n <label\n for=\"{{ name }}\"\n class=\"col-12 col-form-label d-flex\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'visually-hidden', componentHeight | toLabelHeight]\"\n [class.required]=\"isrequired\">\n <div\n class=\"text flex-grow-0\"\n [class.flex-sm-grow-1]=\"splitlabelandhelptext\">\n {{ label }}\n </div>\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [ngClass]=\"HelptextTooltipIcon\"\n class=\"ms-1\">\n </span>\n </sac-tooltip>\n </label>\n <div\n class=\"col-12 position-relative\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\n [class.d-flex]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\n <div [class.flex-grow-1]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\n <div\n class=\"input-group\"\n [class.input-group-sm]=\"componentHeight === ControlHeight.Small\"\n [class.input-group-lg]=\"componentHeight === ControlHeight.Large\"\n [class.has-validation]=\"isinlineerrorenabled && invalid && (dirty || touched)\">\n <input\n id=\"{{ name }}\"\n name=\"{{ name }}\"\n type=\"text\"\n class=\"form-control\"\n [imask]=\"imaskDate\"\n [attr.placeholder]=\"placeholder\"\n [value]=\"valuestring\"\n [class.is-invalid]=\"invalid && (dirty || touched)\"\n [ngClass]=\"[componentHeight | toControlHeight]\"\n (blur)=\"onTouch()\"\n (accept)=\"setValueString($event)\"\n [disabled]=\"isdisabled\" />\n <button\n #pickerbutton\n class=\"btn btn-secondary\"\n type=\"button\"\n (click)=\"showDateSelector()\"\n [disabled]=\"isdisabled\">\n <i [class]=\"IconSelector\"></i>\n </button>\n <div\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\"\n class=\"invalid-feedback\">\n {{ GetErrorMessage() | async }}\n </div>\n </div>\n <div\n *ngIf=\"helptextmode === 'text' && helptext\"\n class=\"form-text\">\n {{ helptext }}\n </div>\n <div\n #picker\n *ngIf=\"_showselector\">\n <div\n class=\"popover fade show position-absolute bs-popover-auto\"\n role=\"tooltip\"\n [attr.data-popper-placement]=\"\n GetPickerPosition() == TooltipPosition.right\n ? 'right'\n : GetPickerPosition() == TooltipPosition.left\n ? 'left'\n : GetPickerPosition() == TooltipPosition.top || GetPickerPosition() == TooltipPosition.topend\n ? 'top'\n : GetPickerPosition() == TooltipPosition.bottom || GetPickerPosition() == TooltipPosition.bottomend\n ? 'bottom'\n : null\n \"\n [style.left.px]=\"posPopupLeft\"\n [style.top.px]=\"posPopupTop\">\n <div\n #pickerarrow\n class=\"popover-arrow position-absolute\"\n style=\"left: unset\"\n [style.top.px]=\"posArrowTop\"\n [style.left.px]=\"posArrowLeft\">\n </div>\n\n <div class=\"popover-body\">\n <sac-dateselector\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-plaintext align-self-top ms-2 me-1 w-auto\"\n [ngClass]=\"[componentHeight | toControlHeight]\">\n <sac-tooltip\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [ngClass]=\"HelptextTooltipIcon\"\n class=\"ml-1\">\n </span>\n </sac-tooltip>\n </div>\n </div>\n</div>\n", dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: IMaskDirective, selector: "[imask]", inputs: ["imask", "unmask", "imaskElement"], outputs: ["accept", "complete"], exportAs: ["imask"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "component", type: SacDateSelectorComponent, selector: "sac-dateselector" }, { kind: "pipe", type: SacToControlWidthCssPipe, name: "toControlWidthCss" }, { kind: "pipe", type: SacToLabelWidthCssPipe, name: "toLabelWidthCss" }, { kind: "pipe", type: SacToLabelHeightPipe, name: "toLabelHeight" }, { kind: "pipe", type: SacToControlHeightPipe, name: "toControlHeight" }, { kind: "component", type: SacTooltipComponent, selector: "sac-tooltip" }] }); }
1069
1069
  }
1070
1070
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SacDateTimeComponent, decorators: [{
1071
1071
  type: Component,
@@ -1091,7 +1091,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
1091
1091
  SacToLabelHeightPipe,
1092
1092
  SacToControlHeightPipe,
1093
1093
  SacTooltipComponent,
1094
- ], template: "<div\r\n class=\"row mb-3\"\r\n [class.g-0]=\"disablelabel\">\r\n <label\r\n for=\"{{ name }}\"\r\n class=\"col-12 col-form-label d-flex\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'visually-hidden', componentHeight | toLabelHeight]\"\r\n [class.required]=\"isrequired\">\r\n <div\r\n class=\"text flex-grow-0\"\r\n [class.flex-sm-grow-1]=\"splitlabelandhelptext\">\r\n {{ label }}\r\n </div>\r\n <sac-tooltip\r\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\r\n [tooltiptext]=\"helptext\"\r\n [inlinemode]=\"true\">\r\n <span\r\n [ngClass]=\"HelptextTooltipIcon\"\r\n class=\"ms-1\">\r\n </span>\r\n </sac-tooltip>\r\n </label>\r\n <div\r\n class=\"col-12 position-relative\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\r\n [class.d-flex]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\r\n <div [class.flex-grow-1]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\r\n <div\r\n class=\"input-group\"\r\n [class.input-group-sm]=\"componentHeight === ControlHeight.Small\"\r\n [class.input-group-lg]=\"componentHeight === ControlHeight.Large\"\r\n [class.has-validation]=\"isinlineerrorenabled && invalid && (dirty || touched)\">\r\n <input\r\n id=\"{{ name }}\"\r\n name=\"{{ name }}\"\r\n type=\"text\"\r\n class=\"form-control\"\r\n [imask]=\"imaskDate\"\r\n [attr.placeholder]=\"placeholder\"\r\n [value]=\"valuestring\"\r\n [class.is-invalid]=\"invalid && (dirty || touched)\"\r\n [ngClass]=\"[componentHeight | toControlHeight]\"\r\n (blur)=\"onTouch()\"\r\n (accept)=\"setValueString($event)\"\r\n [disabled]=\"isdisabled\" />\r\n <button\r\n #pickerbutton\r\n class=\"btn btn-secondary\"\r\n type=\"button\"\r\n (click)=\"showDateSelector()\"\r\n [disabled]=\"isdisabled\">\r\n <i [class]=\"IconSelector\"></i>\r\n </button>\r\n <div\r\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\"\r\n class=\"invalid-feedback\">\r\n {{ GetErrorMessage() | async }}\r\n </div>\r\n </div>\r\n <div\r\n *ngIf=\"helptextmode === 'text' && helptext\"\r\n class=\"form-text\">\r\n {{ helptext }}\r\n </div>\r\n <div\r\n #picker\r\n *ngIf=\"_showselector\">\r\n <div\r\n class=\"popover fade show position-absolute bs-popover-auto\"\r\n role=\"tooltip\"\r\n [attr.data-popper-placement]=\"\r\n GetPickerPosition() == TooltipPosition.right\r\n ? 'right'\r\n : GetPickerPosition() == TooltipPosition.left\r\n ? 'left'\r\n : GetPickerPosition() == TooltipPosition.top || GetPickerPosition() == TooltipPosition.topend\r\n ? 'top'\r\n : GetPickerPosition() == TooltipPosition.bottom || GetPickerPosition() == TooltipPosition.bottomend\r\n ? 'bottom'\r\n : null\r\n \"\r\n [style.left.px]=\"posPopupLeft\"\r\n [style.top.px]=\"posPopupTop\">\r\n <div\r\n #pickerarrow\r\n class=\"popover-arrow position-absolute\"\r\n style=\"left: unset\"\r\n [style.top.px]=\"posArrowTop\"\r\n [style.left.px]=\"posArrowLeft\">\r\n </div>\r\n\r\n <div class=\"popover-body\">\r\n <sac-dateselector\r\n [initialvalue]=\"value\"\r\n (selectdate)=\"dateselect($event)\"\r\n dateselection=\"true\"\r\n timeselection=\"true\"></sac-dateselector>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div\r\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\r\n class=\"form-control-plaintext align-self-top ms-2 me-1 w-auto\"\r\n [ngClass]=\"[componentHeight | toControlHeight]\">\r\n <sac-tooltip\r\n [tooltiptext]=\"helptext\"\r\n [inlinemode]=\"true\">\r\n <span\r\n [ngClass]=\"HelptextTooltipIcon\"\r\n class=\"ml-1\">\r\n </span>\r\n </sac-tooltip>\r\n </div>\r\n </div>\r\n</div>\r\n" }]
1094
+ ], template: "<div\n class=\"row mb-3\"\n [class.g-0]=\"disablelabel\">\n <label\n for=\"{{ name }}\"\n class=\"col-12 col-form-label d-flex\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'visually-hidden', componentHeight | toLabelHeight]\"\n [class.required]=\"isrequired\">\n <div\n class=\"text flex-grow-0\"\n [class.flex-sm-grow-1]=\"splitlabelandhelptext\">\n {{ label }}\n </div>\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [ngClass]=\"HelptextTooltipIcon\"\n class=\"ms-1\">\n </span>\n </sac-tooltip>\n </label>\n <div\n class=\"col-12 position-relative\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\n [class.d-flex]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\n <div [class.flex-grow-1]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\n <div\n class=\"input-group\"\n [class.input-group-sm]=\"componentHeight === ControlHeight.Small\"\n [class.input-group-lg]=\"componentHeight === ControlHeight.Large\"\n [class.has-validation]=\"isinlineerrorenabled && invalid && (dirty || touched)\">\n <input\n id=\"{{ name }}\"\n name=\"{{ name }}\"\n type=\"text\"\n class=\"form-control\"\n [imask]=\"imaskDate\"\n [attr.placeholder]=\"placeholder\"\n [value]=\"valuestring\"\n [class.is-invalid]=\"invalid && (dirty || touched)\"\n [ngClass]=\"[componentHeight | toControlHeight]\"\n (blur)=\"onTouch()\"\n (accept)=\"setValueString($event)\"\n [disabled]=\"isdisabled\" />\n <button\n #pickerbutton\n class=\"btn btn-secondary\"\n type=\"button\"\n (click)=\"showDateSelector()\"\n [disabled]=\"isdisabled\">\n <i [class]=\"IconSelector\"></i>\n </button>\n <div\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\"\n class=\"invalid-feedback\">\n {{ GetErrorMessage() | async }}\n </div>\n </div>\n <div\n *ngIf=\"helptextmode === 'text' && helptext\"\n class=\"form-text\">\n {{ helptext }}\n </div>\n <div\n #picker\n *ngIf=\"_showselector\">\n <div\n class=\"popover fade show position-absolute bs-popover-auto\"\n role=\"tooltip\"\n [attr.data-popper-placement]=\"\n GetPickerPosition() == TooltipPosition.right\n ? 'right'\n : GetPickerPosition() == TooltipPosition.left\n ? 'left'\n : GetPickerPosition() == TooltipPosition.top || GetPickerPosition() == TooltipPosition.topend\n ? 'top'\n : GetPickerPosition() == TooltipPosition.bottom || GetPickerPosition() == TooltipPosition.bottomend\n ? 'bottom'\n : null\n \"\n [style.left.px]=\"posPopupLeft\"\n [style.top.px]=\"posPopupTop\">\n <div\n #pickerarrow\n class=\"popover-arrow position-absolute\"\n style=\"left: unset\"\n [style.top.px]=\"posArrowTop\"\n [style.left.px]=\"posArrowLeft\">\n </div>\n\n <div class=\"popover-body\">\n <sac-dateselector\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-plaintext align-self-top ms-2 me-1 w-auto\"\n [ngClass]=\"[componentHeight | toControlHeight]\">\n <sac-tooltip\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [ngClass]=\"HelptextTooltipIcon\"\n class=\"ml-1\">\n </span>\n </sac-tooltip>\n </div>\n </div>\n</div>\n" }]
1095
1095
  }], ctorParameters: function () { return [{ type: SacFormLayoutDirective, decorators: [{
1096
1096
  type: Host
1097
1097
  }, {
@@ -1125,7 +1125,7 @@ class SacTimeComponent extends SacTimeCommon {
1125
1125
  multi: true,
1126
1126
  useExisting: forwardRef(() => SacTimeComponent),
1127
1127
  },
1128
- ], usesInheritance: true, ngImport: i0, template: "<div\r\n class=\"row mb-3\"\r\n [class.g-0]=\"disablelabel\">\r\n <label\r\n for=\"{{ name }}\"\r\n class=\"col-12 col-form-label d-flex\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'visually-hidden', componentHeight | toLabelHeight]\"\r\n [class.required]=\"isrequired\">\r\n <div\r\n class=\"text flex-grow-0\"\r\n [class.flex-sm-grow-1]=\"splitlabelandhelptext\">\r\n {{ label }}\r\n </div>\r\n <sac-tooltip\r\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\r\n [tooltiptext]=\"helptext\"\r\n [inlinemode]=\"true\">\r\n <span\r\n [ngClass]=\"HelptextTooltipIcon\"\r\n class=\"ms-1\">\r\n </span>\r\n </sac-tooltip>\r\n </label>\r\n <div\r\n class=\"col-12 position-relative\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\r\n [class.d-flex]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\r\n <div [class.flex-grow-1]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\r\n <div\r\n class=\"input-group\"\r\n [class.input-group-sm]=\"componentHeight === ControlHeight.Small\"\r\n [class.input-group-lg]=\"componentHeight === ControlHeight.Large\"\r\n [class.has-validation]=\"isinlineerrorenabled && invalid && (dirty || touched)\">\r\n <input\r\n id=\"{{ name }}\"\r\n name=\"{{ name }}\"\r\n type=\"text\"\r\n class=\"form-control\"\r\n [imask]=\"imaskDate\"\r\n [attr.placeholder]=\"placeholder\"\r\n [value]=\"valuestring\"\r\n [class.is-invalid]=\"invalid && (dirty || touched)\"\r\n [ngClass]=\"[componentHeight | toControlHeight]\"\r\n (blur)=\"onTouch()\"\r\n (accept)=\"setValueString($event)\"\r\n [disabled]=\"isdisabled\" />\r\n <button\r\n #pickerbutton\r\n class=\"btn btn-secondary\"\r\n type=\"button\"\r\n (click)=\"showTimeSelector()\"\r\n [disabled]=\"isdisabled\">\r\n <i [class]=\"IconSelector\"></i>\r\n </button>\r\n <div\r\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\"\r\n class=\"invalid-feedback\">\r\n {{ GetErrorMessage() | async }}\r\n </div>\r\n </div>\r\n <div\r\n *ngIf=\"helptextmode === 'text' && helptext\"\r\n class=\"form-text\">\r\n {{ helptext }}\r\n </div>\r\n <div\r\n #picker\r\n *ngIf=\"_showselector\">\r\n <div\r\n class=\"popover fade show position-absolute bs-popover-auto\"\r\n role=\"tooltip\"\r\n [attr.data-popper-placement]=\"\r\n GetPickerPosition() == TooltipPosition.right\r\n ? 'right'\r\n : GetPickerPosition() == TooltipPosition.left\r\n ? 'left'\r\n : GetPickerPosition() == TooltipPosition.top || GetPickerPosition() == TooltipPosition.topend\r\n ? 'top'\r\n : GetPickerPosition() == TooltipPosition.bottom || GetPickerPosition() == TooltipPosition.bottomend\r\n ? 'bottom'\r\n : null\r\n \"\r\n [style.left.px]=\"posPopupLeft\"\r\n [style.top.px]=\"posPopupTop\">\r\n <div\r\n #pickerarrow\r\n class=\"popover-arrow position-absolute\"\r\n style=\"left: unset\"\r\n [style.top.px]=\"posArrowTop\"\r\n [style.left.px]=\"posArrowLeft\">\r\n </div>\r\n\r\n <div class=\"popover-body\">\r\n <sac-dateselector\r\n [initialvalue]=\"value\"\r\n (selectdate)=\"timeselect($event)\"\r\n timeselection=\"true\"></sac-dateselector>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div\r\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\r\n class=\"form-control-plaintext align-self-top ms-2 me-1 w-auto\"\r\n [ngClass]=\"[componentHeight | toControlHeight]\">\r\n <sac-tooltip\r\n [tooltiptext]=\"helptext\"\r\n [inlinemode]=\"true\">\r\n <span\r\n [ngClass]=\"HelptextTooltipIcon\"\r\n class=\"ml-1\">\r\n </span>\r\n </sac-tooltip>\r\n </div>\r\n </div>\r\n</div>\r\n", dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: IMaskDirective, selector: "[imask]", inputs: ["imask", "unmask", "imaskElement"], outputs: ["accept", "complete"], exportAs: ["imask"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "component", type: SacDateSelectorComponent, selector: "sac-dateselector" }, { kind: "pipe", type: SacToControlWidthCssPipe, name: "toControlWidthCss" }, { kind: "pipe", type: SacToLabelWidthCssPipe, name: "toLabelWidthCss" }, { kind: "pipe", type: SacToLabelHeightPipe, name: "toLabelHeight" }, { kind: "pipe", type: SacToControlHeightPipe, name: "toControlHeight" }, { kind: "component", type: SacTooltipComponent, selector: "sac-tooltip" }] }); }
1128
+ ], usesInheritance: true, ngImport: i0, template: "<div\n class=\"row mb-3\"\n [class.g-0]=\"disablelabel\">\n <label\n for=\"{{ name }}\"\n class=\"col-12 col-form-label d-flex\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'visually-hidden', componentHeight | toLabelHeight]\"\n [class.required]=\"isrequired\">\n <div\n class=\"text flex-grow-0\"\n [class.flex-sm-grow-1]=\"splitlabelandhelptext\">\n {{ label }}\n </div>\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [ngClass]=\"HelptextTooltipIcon\"\n class=\"ms-1\">\n </span>\n </sac-tooltip>\n </label>\n <div\n class=\"col-12 position-relative\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\n [class.d-flex]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\n <div [class.flex-grow-1]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\n <div\n class=\"input-group\"\n [class.input-group-sm]=\"componentHeight === ControlHeight.Small\"\n [class.input-group-lg]=\"componentHeight === ControlHeight.Large\"\n [class.has-validation]=\"isinlineerrorenabled && invalid && (dirty || touched)\">\n <input\n id=\"{{ name }}\"\n name=\"{{ name }}\"\n type=\"text\"\n class=\"form-control\"\n [imask]=\"imaskDate\"\n [attr.placeholder]=\"placeholder\"\n [value]=\"valuestring\"\n [class.is-invalid]=\"invalid && (dirty || touched)\"\n [ngClass]=\"[componentHeight | toControlHeight]\"\n (blur)=\"onTouch()\"\n (accept)=\"setValueString($event)\"\n [disabled]=\"isdisabled\" />\n <button\n #pickerbutton\n class=\"btn btn-secondary\"\n type=\"button\"\n (click)=\"showTimeSelector()\"\n [disabled]=\"isdisabled\">\n <i [class]=\"IconSelector\"></i>\n </button>\n <div\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\"\n class=\"invalid-feedback\">\n {{ GetErrorMessage() | async }}\n </div>\n </div>\n <div\n *ngIf=\"helptextmode === 'text' && helptext\"\n class=\"form-text\">\n {{ helptext }}\n </div>\n <div\n #picker\n *ngIf=\"_showselector\">\n <div\n class=\"popover fade show position-absolute bs-popover-auto\"\n role=\"tooltip\"\n [attr.data-popper-placement]=\"\n GetPickerPosition() == TooltipPosition.right\n ? 'right'\n : GetPickerPosition() == TooltipPosition.left\n ? 'left'\n : GetPickerPosition() == TooltipPosition.top || GetPickerPosition() == TooltipPosition.topend\n ? 'top'\n : GetPickerPosition() == TooltipPosition.bottom || GetPickerPosition() == TooltipPosition.bottomend\n ? 'bottom'\n : null\n \"\n [style.left.px]=\"posPopupLeft\"\n [style.top.px]=\"posPopupTop\">\n <div\n #pickerarrow\n class=\"popover-arrow position-absolute\"\n style=\"left: unset\"\n [style.top.px]=\"posArrowTop\"\n [style.left.px]=\"posArrowLeft\">\n </div>\n\n <div class=\"popover-body\">\n <sac-dateselector\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-plaintext align-self-top ms-2 me-1 w-auto\"\n [ngClass]=\"[componentHeight | toControlHeight]\">\n <sac-tooltip\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [ngClass]=\"HelptextTooltipIcon\"\n class=\"ml-1\">\n </span>\n </sac-tooltip>\n </div>\n </div>\n</div>\n", dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: IMaskDirective, selector: "[imask]", inputs: ["imask", "unmask", "imaskElement"], outputs: ["accept", "complete"], exportAs: ["imask"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "component", type: SacDateSelectorComponent, selector: "sac-dateselector" }, { kind: "pipe", type: SacToControlWidthCssPipe, name: "toControlWidthCss" }, { kind: "pipe", type: SacToLabelWidthCssPipe, name: "toLabelWidthCss" }, { kind: "pipe", type: SacToLabelHeightPipe, name: "toLabelHeight" }, { kind: "pipe", type: SacToControlHeightPipe, name: "toControlHeight" }, { kind: "component", type: SacTooltipComponent, selector: "sac-tooltip" }] }); }
1129
1129
  }
1130
1130
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SacTimeComponent, decorators: [{
1131
1131
  type: Component,
@@ -1151,7 +1151,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
1151
1151
  SacToLabelHeightPipe,
1152
1152
  SacToControlHeightPipe,
1153
1153
  SacTooltipComponent,
1154
- ], template: "<div\r\n class=\"row mb-3\"\r\n [class.g-0]=\"disablelabel\">\r\n <label\r\n for=\"{{ name }}\"\r\n class=\"col-12 col-form-label d-flex\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'visually-hidden', componentHeight | toLabelHeight]\"\r\n [class.required]=\"isrequired\">\r\n <div\r\n class=\"text flex-grow-0\"\r\n [class.flex-sm-grow-1]=\"splitlabelandhelptext\">\r\n {{ label }}\r\n </div>\r\n <sac-tooltip\r\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\r\n [tooltiptext]=\"helptext\"\r\n [inlinemode]=\"true\">\r\n <span\r\n [ngClass]=\"HelptextTooltipIcon\"\r\n class=\"ms-1\">\r\n </span>\r\n </sac-tooltip>\r\n </label>\r\n <div\r\n class=\"col-12 position-relative\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\r\n [class.d-flex]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\r\n <div [class.flex-grow-1]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\r\n <div\r\n class=\"input-group\"\r\n [class.input-group-sm]=\"componentHeight === ControlHeight.Small\"\r\n [class.input-group-lg]=\"componentHeight === ControlHeight.Large\"\r\n [class.has-validation]=\"isinlineerrorenabled && invalid && (dirty || touched)\">\r\n <input\r\n id=\"{{ name }}\"\r\n name=\"{{ name }}\"\r\n type=\"text\"\r\n class=\"form-control\"\r\n [imask]=\"imaskDate\"\r\n [attr.placeholder]=\"placeholder\"\r\n [value]=\"valuestring\"\r\n [class.is-invalid]=\"invalid && (dirty || touched)\"\r\n [ngClass]=\"[componentHeight | toControlHeight]\"\r\n (blur)=\"onTouch()\"\r\n (accept)=\"setValueString($event)\"\r\n [disabled]=\"isdisabled\" />\r\n <button\r\n #pickerbutton\r\n class=\"btn btn-secondary\"\r\n type=\"button\"\r\n (click)=\"showTimeSelector()\"\r\n [disabled]=\"isdisabled\">\r\n <i [class]=\"IconSelector\"></i>\r\n </button>\r\n <div\r\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\"\r\n class=\"invalid-feedback\">\r\n {{ GetErrorMessage() | async }}\r\n </div>\r\n </div>\r\n <div\r\n *ngIf=\"helptextmode === 'text' && helptext\"\r\n class=\"form-text\">\r\n {{ helptext }}\r\n </div>\r\n <div\r\n #picker\r\n *ngIf=\"_showselector\">\r\n <div\r\n class=\"popover fade show position-absolute bs-popover-auto\"\r\n role=\"tooltip\"\r\n [attr.data-popper-placement]=\"\r\n GetPickerPosition() == TooltipPosition.right\r\n ? 'right'\r\n : GetPickerPosition() == TooltipPosition.left\r\n ? 'left'\r\n : GetPickerPosition() == TooltipPosition.top || GetPickerPosition() == TooltipPosition.topend\r\n ? 'top'\r\n : GetPickerPosition() == TooltipPosition.bottom || GetPickerPosition() == TooltipPosition.bottomend\r\n ? 'bottom'\r\n : null\r\n \"\r\n [style.left.px]=\"posPopupLeft\"\r\n [style.top.px]=\"posPopupTop\">\r\n <div\r\n #pickerarrow\r\n class=\"popover-arrow position-absolute\"\r\n style=\"left: unset\"\r\n [style.top.px]=\"posArrowTop\"\r\n [style.left.px]=\"posArrowLeft\">\r\n </div>\r\n\r\n <div class=\"popover-body\">\r\n <sac-dateselector\r\n [initialvalue]=\"value\"\r\n (selectdate)=\"timeselect($event)\"\r\n timeselection=\"true\"></sac-dateselector>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div\r\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\r\n class=\"form-control-plaintext align-self-top ms-2 me-1 w-auto\"\r\n [ngClass]=\"[componentHeight | toControlHeight]\">\r\n <sac-tooltip\r\n [tooltiptext]=\"helptext\"\r\n [inlinemode]=\"true\">\r\n <span\r\n [ngClass]=\"HelptextTooltipIcon\"\r\n class=\"ml-1\">\r\n </span>\r\n </sac-tooltip>\r\n </div>\r\n </div>\r\n</div>\r\n" }]
1154
+ ], template: "<div\n class=\"row mb-3\"\n [class.g-0]=\"disablelabel\">\n <label\n for=\"{{ name }}\"\n class=\"col-12 col-form-label d-flex\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'visually-hidden', componentHeight | toLabelHeight]\"\n [class.required]=\"isrequired\">\n <div\n class=\"text flex-grow-0\"\n [class.flex-sm-grow-1]=\"splitlabelandhelptext\">\n {{ label }}\n </div>\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [ngClass]=\"HelptextTooltipIcon\"\n class=\"ms-1\">\n </span>\n </sac-tooltip>\n </label>\n <div\n class=\"col-12 position-relative\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\n [class.d-flex]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\n <div [class.flex-grow-1]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\n <div\n class=\"input-group\"\n [class.input-group-sm]=\"componentHeight === ControlHeight.Small\"\n [class.input-group-lg]=\"componentHeight === ControlHeight.Large\"\n [class.has-validation]=\"isinlineerrorenabled && invalid && (dirty || touched)\">\n <input\n id=\"{{ name }}\"\n name=\"{{ name }}\"\n type=\"text\"\n class=\"form-control\"\n [imask]=\"imaskDate\"\n [attr.placeholder]=\"placeholder\"\n [value]=\"valuestring\"\n [class.is-invalid]=\"invalid && (dirty || touched)\"\n [ngClass]=\"[componentHeight | toControlHeight]\"\n (blur)=\"onTouch()\"\n (accept)=\"setValueString($event)\"\n [disabled]=\"isdisabled\" />\n <button\n #pickerbutton\n class=\"btn btn-secondary\"\n type=\"button\"\n (click)=\"showTimeSelector()\"\n [disabled]=\"isdisabled\">\n <i [class]=\"IconSelector\"></i>\n </button>\n <div\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\"\n class=\"invalid-feedback\">\n {{ GetErrorMessage() | async }}\n </div>\n </div>\n <div\n *ngIf=\"helptextmode === 'text' && helptext\"\n class=\"form-text\">\n {{ helptext }}\n </div>\n <div\n #picker\n *ngIf=\"_showselector\">\n <div\n class=\"popover fade show position-absolute bs-popover-auto\"\n role=\"tooltip\"\n [attr.data-popper-placement]=\"\n GetPickerPosition() == TooltipPosition.right\n ? 'right'\n : GetPickerPosition() == TooltipPosition.left\n ? 'left'\n : GetPickerPosition() == TooltipPosition.top || GetPickerPosition() == TooltipPosition.topend\n ? 'top'\n : GetPickerPosition() == TooltipPosition.bottom || GetPickerPosition() == TooltipPosition.bottomend\n ? 'bottom'\n : null\n \"\n [style.left.px]=\"posPopupLeft\"\n [style.top.px]=\"posPopupTop\">\n <div\n #pickerarrow\n class=\"popover-arrow position-absolute\"\n style=\"left: unset\"\n [style.top.px]=\"posArrowTop\"\n [style.left.px]=\"posArrowLeft\">\n </div>\n\n <div class=\"popover-body\">\n <sac-dateselector\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-plaintext align-self-top ms-2 me-1 w-auto\"\n [ngClass]=\"[componentHeight | toControlHeight]\">\n <sac-tooltip\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [ngClass]=\"HelptextTooltipIcon\"\n class=\"ml-1\">\n </span>\n </sac-tooltip>\n </div>\n </div>\n</div>\n" }]
1155
1155
  }], ctorParameters: function () { return [{ type: SacFormLayoutDirective, decorators: [{
1156
1156
  type: Host
1157
1157
  }, {
@@ -1344,7 +1344,7 @@ class SacPagingComponent extends SacPagingCommon {
1344
1344
  multi: true,
1345
1345
  useExisting: forwardRef(() => SacPagingComponent),
1346
1346
  },
1347
- ], usesInheritance: true, ngImport: i0, template: "<div\r\n class=\"d-flex justify-content-between align-items-center flex-wrap\"\r\n id=\"{{name}}\"\r\n>\r\n <div class=\"col-pagination order-2 order-md-1\" id=\"{{name}}_pages\">\r\n <ul class=\"pagination mb-4 mb-md-0\">\r\n <li\r\n class=\"page-item\"\r\n [ngClass]=\"{'aspNetDisabled disabled': activePageIndex === firstPageIndex}\"\r\n >\r\n <a class=\"page-link\" (click)=\"firstPage()\">\u00AB</a>\r\n </li>\r\n <li\r\n class=\"page-item\"\r\n *ngFor=\"let page of paginators; let i = index\"\r\n [ngClass]=\"{'active': page === activePageIndex}\"\r\n >\r\n <a class=\"page-link\" (click)=\"changePage(page)\">{{page + 1 }}</a>\r\n </li>\r\n <li\r\n class=\"page-item\"\r\n [ngClass]=\"{'aspNetDisabled disabled': activePageIndex === lastPageIndex}\"\r\n >\r\n <a class=\"page-link\" (click)=\"lastPage()\">\u00BB</a>\r\n </li>\r\n </ul>\r\n </div>\r\n <div class=\"col-summary order-1 order-md-2\">\r\n <div class=\"mb-4 mb-md-0 mr-4 mb-md-0\">{{ PagingText | async }}</div>\r\n </div>\r\n <div class=\"col-pagesize order-3\" *ngIf=\"!pagesizedisabled\">\r\n <div class=\"d-flex align-items-center\" id=\"{{name}}_size\">\r\n <select\r\n class=\"form-select form-select-sm\"\r\n style=\"width: 85px\"\r\n [ngModel]=\"pageSize\"\r\n (ngModelChange)=\"changePageSize($event)\"\r\n >\r\n <option [ngValue]=\"size\" *ngFor=\"let size of getPageSizes\">\r\n {{size}}\r\n </option>\r\n </select>\r\n <div class=\"ms-2\">{{ PageSizeText | async }}</div>\r\n </div>\r\n </div>\r\n</div>\r\n", dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$1.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1$1.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1$1.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "pipe", type: AsyncPipe, name: "async" }] }); }
1347
+ ], usesInheritance: true, ngImport: i0, template: "<div\n class=\"d-flex justify-content-between align-items-center flex-wrap\"\n id=\"{{name}}\"\n>\n <div class=\"col-pagination order-2 order-md-1\" id=\"{{name}}_pages\">\n <ul class=\"pagination mb-4 mb-md-0\">\n <li\n class=\"page-item\"\n [ngClass]=\"{'aspNetDisabled disabled': activePageIndex === firstPageIndex}\"\n >\n <a class=\"page-link\" (click)=\"firstPage()\">\u00AB</a>\n </li>\n <li\n class=\"page-item\"\n *ngFor=\"let page of paginators; let i = index\"\n [ngClass]=\"{'active': page === activePageIndex}\"\n >\n <a class=\"page-link\" (click)=\"changePage(page)\">{{page + 1 }}</a>\n </li>\n <li\n class=\"page-item\"\n [ngClass]=\"{'aspNetDisabled disabled': activePageIndex === lastPageIndex}\"\n >\n <a class=\"page-link\" (click)=\"lastPage()\">\u00BB</a>\n </li>\n </ul>\n </div>\n <div class=\"col-summary order-1 order-md-2\">\n <div class=\"mb-4 mb-md-0 mr-4 mb-md-0\">{{ PagingText | async }}</div>\n </div>\n <div class=\"col-pagesize order-3\" *ngIf=\"!pagesizedisabled\">\n <div class=\"d-flex align-items-center\" id=\"{{name}}_size\">\n <select\n class=\"form-select form-select-sm\"\n style=\"width: 85px\"\n [ngModel]=\"pageSize\"\n (ngModelChange)=\"changePageSize($event)\"\n >\n <option [ngValue]=\"size\" *ngFor=\"let size of getPageSizes\">\n {{size}}\n </option>\n </select>\n <div class=\"ms-2\">{{ PageSizeText | async }}</div>\n </div>\n </div>\n</div>\n", dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$1.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1$1.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1$1.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "pipe", type: AsyncPipe, name: "async" }] }); }
1348
1348
  }
1349
1349
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SacPagingComponent, decorators: [{
1350
1350
  type: Component,
@@ -1359,7 +1359,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
1359
1359
  multi: true,
1360
1360
  useExisting: forwardRef(() => SacPagingComponent),
1361
1361
  },
1362
- ], standalone: true, imports: [NgClass, NgFor, NgIf, FormsModule, AsyncPipe], template: "<div\r\n class=\"d-flex justify-content-between align-items-center flex-wrap\"\r\n id=\"{{name}}\"\r\n>\r\n <div class=\"col-pagination order-2 order-md-1\" id=\"{{name}}_pages\">\r\n <ul class=\"pagination mb-4 mb-md-0\">\r\n <li\r\n class=\"page-item\"\r\n [ngClass]=\"{'aspNetDisabled disabled': activePageIndex === firstPageIndex}\"\r\n >\r\n <a class=\"page-link\" (click)=\"firstPage()\">\u00AB</a>\r\n </li>\r\n <li\r\n class=\"page-item\"\r\n *ngFor=\"let page of paginators; let i = index\"\r\n [ngClass]=\"{'active': page === activePageIndex}\"\r\n >\r\n <a class=\"page-link\" (click)=\"changePage(page)\">{{page + 1 }}</a>\r\n </li>\r\n <li\r\n class=\"page-item\"\r\n [ngClass]=\"{'aspNetDisabled disabled': activePageIndex === lastPageIndex}\"\r\n >\r\n <a class=\"page-link\" (click)=\"lastPage()\">\u00BB</a>\r\n </li>\r\n </ul>\r\n </div>\r\n <div class=\"col-summary order-1 order-md-2\">\r\n <div class=\"mb-4 mb-md-0 mr-4 mb-md-0\">{{ PagingText | async }}</div>\r\n </div>\r\n <div class=\"col-pagesize order-3\" *ngIf=\"!pagesizedisabled\">\r\n <div class=\"d-flex align-items-center\" id=\"{{name}}_size\">\r\n <select\r\n class=\"form-select form-select-sm\"\r\n style=\"width: 85px\"\r\n [ngModel]=\"pageSize\"\r\n (ngModelChange)=\"changePageSize($event)\"\r\n >\r\n <option [ngValue]=\"size\" *ngFor=\"let size of getPageSizes\">\r\n {{size}}\r\n </option>\r\n </select>\r\n <div class=\"ms-2\">{{ PageSizeText | async }}</div>\r\n </div>\r\n </div>\r\n</div>\r\n" }]
1362
+ ], standalone: true, imports: [NgClass, NgFor, NgIf, FormsModule, AsyncPipe], template: "<div\n class=\"d-flex justify-content-between align-items-center flex-wrap\"\n id=\"{{name}}\"\n>\n <div class=\"col-pagination order-2 order-md-1\" id=\"{{name}}_pages\">\n <ul class=\"pagination mb-4 mb-md-0\">\n <li\n class=\"page-item\"\n [ngClass]=\"{'aspNetDisabled disabled': activePageIndex === firstPageIndex}\"\n >\n <a class=\"page-link\" (click)=\"firstPage()\">\u00AB</a>\n </li>\n <li\n class=\"page-item\"\n *ngFor=\"let page of paginators; let i = index\"\n [ngClass]=\"{'active': page === activePageIndex}\"\n >\n <a class=\"page-link\" (click)=\"changePage(page)\">{{page + 1 }}</a>\n </li>\n <li\n class=\"page-item\"\n [ngClass]=\"{'aspNetDisabled disabled': activePageIndex === lastPageIndex}\"\n >\n <a class=\"page-link\" (click)=\"lastPage()\">\u00BB</a>\n </li>\n </ul>\n </div>\n <div class=\"col-summary order-1 order-md-2\">\n <div class=\"mb-4 mb-md-0 mr-4 mb-md-0\">{{ PagingText | async }}</div>\n </div>\n <div class=\"col-pagesize order-3\" *ngIf=\"!pagesizedisabled\">\n <div class=\"d-flex align-items-center\" id=\"{{name}}_size\">\n <select\n class=\"form-select form-select-sm\"\n style=\"width: 85px\"\n [ngModel]=\"pageSize\"\n (ngModelChange)=\"changePageSize($event)\"\n >\n <option [ngValue]=\"size\" *ngFor=\"let size of getPageSizes\">\n {{size}}\n </option>\n </select>\n <div class=\"ms-2\">{{ PageSizeText | async }}</div>\n </div>\n </div>\n</div>\n" }]
1363
1363
  }], ctorParameters: function () { return [{ type: i0.Injector }]; } });
1364
1364
 
1365
1365
  /**
@@ -1387,7 +1387,7 @@ class SacGridComponent extends SacGridCommon {
1387
1387
  multi: true,
1388
1388
  useExisting: forwardRef(() => SacGridComponent),
1389
1389
  },
1390
- ], queries: [{ propertyName: "template", first: true, predicate: TemplateRef, descendants: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"table-responsive\">\r\n <table class=\"table table-striped table-hover\" id=\"{{name}}\">\r\n <thead class=\"thead-light\">\r\n <tr>\r\n <ng-container\r\n *ngTemplateOutlet=\"template; context { row: {}, type: 'header'}\"\r\n >\r\n </ng-container>\r\n </tr>\r\n </thead>\r\n <tbody>\r\n <ng-container *ngFor=\"let item of value; let i=index\">\r\n <tr>\r\n <ng-container\r\n *ngTemplateOutlet=\"template; context { row: item, type: 'body'}\"\r\n >\r\n </ng-container>\r\n </tr>\r\n </ng-container>\r\n <tr\r\n *ngIf=\"value === undefined || value === null || value.length===0\"\r\n data-e2e=\"emptyrow\"\r\n >\r\n <td [attr.colspan]=\"ColumnCount\">{{emptytext}}</td>\r\n </tr>\r\n </tbody>\r\n <tfoot *ngIf=\"pagerdata\">\r\n <tr *ngIf=\"pagerdata\">\r\n <td [attr.colspan]=\"ColumnCount\">\r\n <div class=\"container-fluid\">\r\n <sac-paging\r\n name=\"{{name}}Paging\"\r\n (paging)=\"pageChange($event)\"\r\n [pagerdata]=\"pagerdata\"\r\n [pagesizes]=\"pagesizes\"\r\n [pagingtext]=\"pagingtext\"\r\n [pagesizetext]=\"pagesizetext\"\r\n [pagesizedisabled]=\"pagesizedisabled\"\r\n ></sac-paging>\r\n </div>\r\n </td>\r\n </tr>\r\n </tfoot>\r\n </table>\r\n</div>\r\n", dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: SacPagingComponent, selector: "sac-paging" }] }); }
1390
+ ], queries: [{ propertyName: "template", first: true, predicate: TemplateRef, descendants: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"table-responsive\">\n <table class=\"table table-striped table-hover\" id=\"{{name}}\">\n <thead class=\"thead-light\">\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 *ngIf=\"pagerdata\">\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 [pagesizes]=\"pagesizes\"\n [pagingtext]=\"pagingtext\"\n [pagesizetext]=\"pagesizetext\"\n [pagesizedisabled]=\"pagesizedisabled\"\n ></sac-paging>\n </div>\n </td>\n </tr>\n </tfoot>\n </table>\n</div>\n", dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: SacPagingComponent, selector: "sac-paging" }] }); }
1391
1391
  }
1392
1392
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SacGridComponent, decorators: [{
1393
1393
  type: Component,
@@ -1403,7 +1403,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
1403
1403
  NgFor,
1404
1404
  NgIf,
1405
1405
  SacPagingComponent,
1406
- ], template: "<div class=\"table-responsive\">\r\n <table class=\"table table-striped table-hover\" id=\"{{name}}\">\r\n <thead class=\"thead-light\">\r\n <tr>\r\n <ng-container\r\n *ngTemplateOutlet=\"template; context { row: {}, type: 'header'}\"\r\n >\r\n </ng-container>\r\n </tr>\r\n </thead>\r\n <tbody>\r\n <ng-container *ngFor=\"let item of value; let i=index\">\r\n <tr>\r\n <ng-container\r\n *ngTemplateOutlet=\"template; context { row: item, type: 'body'}\"\r\n >\r\n </ng-container>\r\n </tr>\r\n </ng-container>\r\n <tr\r\n *ngIf=\"value === undefined || value === null || value.length===0\"\r\n data-e2e=\"emptyrow\"\r\n >\r\n <td [attr.colspan]=\"ColumnCount\">{{emptytext}}</td>\r\n </tr>\r\n </tbody>\r\n <tfoot *ngIf=\"pagerdata\">\r\n <tr *ngIf=\"pagerdata\">\r\n <td [attr.colspan]=\"ColumnCount\">\r\n <div class=\"container-fluid\">\r\n <sac-paging\r\n name=\"{{name}}Paging\"\r\n (paging)=\"pageChange($event)\"\r\n [pagerdata]=\"pagerdata\"\r\n [pagesizes]=\"pagesizes\"\r\n [pagingtext]=\"pagingtext\"\r\n [pagesizetext]=\"pagesizetext\"\r\n [pagesizedisabled]=\"pagesizedisabled\"\r\n ></sac-paging>\r\n </div>\r\n </td>\r\n </tr>\r\n </tfoot>\r\n </table>\r\n</div>\r\n" }]
1406
+ ], template: "<div class=\"table-responsive\">\n <table class=\"table table-striped table-hover\" id=\"{{name}}\">\n <thead class=\"thead-light\">\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 *ngIf=\"pagerdata\">\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 [pagesizes]=\"pagesizes\"\n [pagingtext]=\"pagingtext\"\n [pagesizetext]=\"pagesizetext\"\n [pagesizedisabled]=\"pagesizedisabled\"\n ></sac-paging>\n </div>\n </td>\n </tr>\n </tfoot>\n </table>\n</div>\n" }]
1407
1407
  }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.Injector }]; }, propDecorators: { template: [{
1408
1408
  type: ContentChild,
1409
1409
  args: [TemplateRef, { static: false }]
@@ -1439,11 +1439,11 @@ class SacGridButtonComponent extends SacGridButtonCommon {
1439
1439
  return result.trim();
1440
1440
  }
1441
1441
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SacGridButtonComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
1442
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: SacGridButtonComponent, isStandalone: true, 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>\r\n" }); }
1442
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: SacGridButtonComponent, isStandalone: true, 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" }); }
1443
1443
  }
1444
1444
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SacGridButtonComponent, decorators: [{
1445
1445
  type: Component,
1446
- args: [{ selector: 'sac-gridbutton', standalone: true, template: "<a (click)=\"callaction()\" style=\"padding-right: 5px;\" [class.disabled]=\"isdisabled\" [attr.disabled]=\"isdisabled ? 'disabled' : null\"><span class=\"{{getIconClass()}}\"></span></a>\r\n" }]
1446
+ args: [{ selector: 'sac-gridbutton', standalone: true, template: "<a (click)=\"callaction()\" style=\"padding-right: 5px;\" [class.disabled]=\"isdisabled\" [attr.disabled]=\"isdisabled ? 'disabled' : null\"><span class=\"{{getIconClass()}}\"></span></a>\n" }]
1447
1447
  }] });
1448
1448
 
1449
1449
  /**
@@ -1464,7 +1464,7 @@ class SacGridColumnComponent extends SacGridColumnCommon {
1464
1464
  provide: SacGridColumnBaseCommon,
1465
1465
  useExisting: forwardRef(() => SacGridColumnComponent),
1466
1466
  },
1467
- ], usesInheritance: true, ngImport: i0, template: "<th\r\n scope=\"col\"\r\n *ngIf=\"IsHeader()\"\r\n [style.width]=\"width\"\r\n (click)=\"SortByColumn()\">\r\n <span>{{ header }}</span>\r\n <span\r\n class=\"ps-2\"\r\n [class]=\"IconSortUp\"\r\n *ngIf=\"IsSortedColumn() && GetSortDirection() === 'asc'\"></span>\r\n <span\r\n class=\"ps-2\"\r\n [class]=\"IconSortDown\"\r\n *ngIf=\"IsSortedColumn() && GetSortDirection() === 'desc'\"></span>\r\n</th>\r\n<td\r\n scope=\"col\"\r\n *ngIf=\"IsBody()\"\r\n [style.width]=\"width\"\r\n [class.ellipsis]=\"IsEllipsis()\"\r\n (click)=\"ColumnClick()\"\r\n [style.max-width]=\"IsEllipsis() ? width : null\"\r\n [style.overflow]=\"IsEllipsis() ? 'hidden' : null\"\r\n [style.text-overflow]=\"IsEllipsis() ? 'ellipsis' : null\"\r\n [style.white-space]=\"IsEllipsis() ? 'nowrap' : null\">\r\n <span\r\n [attr.title]=\"IsEllipsis() ? value : null\"\r\n [innerHtml]=\"value\">\r\n </span>\r\n</td>\r\n", dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] }); }
1467
+ ], 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=\"ps-2\"\n [class]=\"IconSortUp\"\n *ngIf=\"IsSortedColumn() && GetSortDirection() === 'asc'\"></span>\n <span\n class=\"ps-2\"\n [class]=\"IconSortDown\"\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\">\n </span>\n</td>\n", dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] }); }
1468
1468
  }
1469
1469
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SacGridColumnComponent, decorators: [{
1470
1470
  type: Component,
@@ -1473,7 +1473,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
1473
1473
  provide: SacGridColumnBaseCommon,
1474
1474
  useExisting: forwardRef(() => SacGridColumnComponent),
1475
1475
  },
1476
- ], standalone: true, imports: [NgIf], template: "<th\r\n scope=\"col\"\r\n *ngIf=\"IsHeader()\"\r\n [style.width]=\"width\"\r\n (click)=\"SortByColumn()\">\r\n <span>{{ header }}</span>\r\n <span\r\n class=\"ps-2\"\r\n [class]=\"IconSortUp\"\r\n *ngIf=\"IsSortedColumn() && GetSortDirection() === 'asc'\"></span>\r\n <span\r\n class=\"ps-2\"\r\n [class]=\"IconSortDown\"\r\n *ngIf=\"IsSortedColumn() && GetSortDirection() === 'desc'\"></span>\r\n</th>\r\n<td\r\n scope=\"col\"\r\n *ngIf=\"IsBody()\"\r\n [style.width]=\"width\"\r\n [class.ellipsis]=\"IsEllipsis()\"\r\n (click)=\"ColumnClick()\"\r\n [style.max-width]=\"IsEllipsis() ? width : null\"\r\n [style.overflow]=\"IsEllipsis() ? 'hidden' : null\"\r\n [style.text-overflow]=\"IsEllipsis() ? 'ellipsis' : null\"\r\n [style.white-space]=\"IsEllipsis() ? 'nowrap' : null\">\r\n <span\r\n [attr.title]=\"IsEllipsis() ? value : null\"\r\n [innerHtml]=\"value\">\r\n </span>\r\n</td>\r\n" }]
1476
+ ], standalone: true, imports: [NgIf], template: "<th\n scope=\"col\"\n *ngIf=\"IsHeader()\"\n [style.width]=\"width\"\n (click)=\"SortByColumn()\">\n <span>{{ header }}</span>\n <span\n class=\"ps-2\"\n [class]=\"IconSortUp\"\n *ngIf=\"IsSortedColumn() && GetSortDirection() === 'asc'\"></span>\n <span\n class=\"ps-2\"\n [class]=\"IconSortDown\"\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\">\n </span>\n</td>\n" }]
1477
1477
  }], ctorParameters: function () { return [{ type: SacGridComponent }, { type: i0.Injector }, { type: i0.ElementRef }]; } });
1478
1478
 
1479
1479
  /**
@@ -1495,7 +1495,7 @@ class SacGridColumnActionComponent extends SacGridColumnActionCommon {
1495
1495
  provide: SacGridColumnBaseCommon,
1496
1496
  useExisting: forwardRef(() => SacGridColumnActionComponent),
1497
1497
  },
1498
- ], usesInheritance: true, ngImport: i0, template: "<th scope=\"col\" *ngIf=\"IsHeader()\" [style.width]=\"width\"><span></span></th>\r\n<td scope=\"col\" class=\"px-2\" *ngIf=\"IsBody()\">\r\n <ng-content></ng-content>\r\n</td>\r\n", dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] }); }
1498
+ ], usesInheritance: true, ngImport: i0, template: "<th scope=\"col\" *ngIf=\"IsHeader()\" [style.width]=\"width\"><span></span></th>\n<td scope=\"col\" class=\"px-2\" *ngIf=\"IsBody()\">\n <ng-content></ng-content>\n</td>\n", dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] }); }
1499
1499
  }
1500
1500
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SacGridColumnActionComponent, decorators: [{
1501
1501
  type: Component,
@@ -1504,7 +1504,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
1504
1504
  provide: SacGridColumnBaseCommon,
1505
1505
  useExisting: forwardRef(() => SacGridColumnActionComponent),
1506
1506
  },
1507
- ], standalone: true, imports: [NgIf], template: "<th scope=\"col\" *ngIf=\"IsHeader()\" [style.width]=\"width\"><span></span></th>\r\n<td scope=\"col\" class=\"px-2\" *ngIf=\"IsBody()\">\r\n <ng-content></ng-content>\r\n</td>\r\n" }]
1507
+ ], standalone: true, imports: [NgIf], template: "<th scope=\"col\" *ngIf=\"IsHeader()\" [style.width]=\"width\"><span></span></th>\n<td scope=\"col\" class=\"px-2\" *ngIf=\"IsBody()\">\n <ng-content></ng-content>\n</td>\n" }]
1508
1508
  }], ctorParameters: function () { return [{ type: SacGridComponent }, { type: i0.Injector }, { type: i0.ElementRef }]; } });
1509
1509
 
1510
1510
  /**
@@ -1526,11 +1526,11 @@ class SacGridImageComponent extends SacGridImageCommon {
1526
1526
  }
1527
1527
  }
1528
1528
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SacGridImageComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
1529
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: SacGridImageComponent, isStandalone: true, selector: "sac-gridimage", usesInheritance: true, ngImport: i0, template: "<span><span class=\"{{getIconClass()}}\"></span></span>\r\n" }); }
1529
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: SacGridImageComponent, isStandalone: true, selector: "sac-gridimage", usesInheritance: true, ngImport: i0, template: "<span><span class=\"{{getIconClass()}}\"></span></span>\n" }); }
1530
1530
  }
1531
1531
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SacGridImageComponent, decorators: [{
1532
1532
  type: Component,
1533
- args: [{ selector: 'sac-gridimage', standalone: true, template: "<span><span class=\"{{getIconClass()}}\"></span></span>\r\n" }]
1533
+ args: [{ selector: 'sac-gridimage', standalone: true, template: "<span><span class=\"{{getIconClass()}}\"></span></span>\n" }]
1534
1534
  }] });
1535
1535
 
1536
1536
  class SACBootstrap5GridModule {
@@ -1572,7 +1572,7 @@ class SacInputComponent extends SacInputCommon {
1572
1572
  multi: true,
1573
1573
  useExisting: forwardRef(() => SacInputComponent),
1574
1574
  },
1575
- ], usesInheritance: true, ngImport: i0, template: "<div\r\n class=\"row mb-3\"\r\n [class.g-0]=\"disablelabel\">\r\n <label\r\n for=\"{{ name }}\"\r\n class=\"col-12 col-form-label d-flex\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'visually-hidden', componentHeight | toLabelHeight]\"\r\n [class.required]=\"isrequired\">\r\n <div\r\n class=\"text flex-grow-0\"\r\n [class.flex-sm-grow-1]=\"splitlabelandhelptext\">\r\n {{ label }}\r\n </div>\r\n <sac-tooltip\r\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\r\n [tooltiptext]=\"helptext\"\r\n [inlinemode]=\"true\">\r\n <span\r\n [ngClass]=\"HelptextTooltipIcon\"\r\n class=\"ms-1\">\r\n </span>\r\n </sac-tooltip>\r\n </label>\r\n <div\r\n class=\"col-12\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\r\n [class.d-flex]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\r\n <div [class.flex-grow-1]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\r\n <input\r\n id=\"{{ name }}\"\r\n name=\"{{ name }}\"\r\n type=\"text\"\r\n class=\"form-control\"\r\n [value]=\"value\"\r\n [attr.placeholder]=\"placeholder\"\r\n [readonly]=\"readonly\"\r\n (blur)=\"onTouch()\"\r\n (input)=\"setValue($event.target.value)\"\r\n (keypress)=\"onKeyPress($event)\"\r\n [attr.maxlength]=\"maxtextlength\"\r\n [class.is-invalid]=\"invalid && (dirty || touched)\"\r\n [ngClass]=\"[componentHeight | toControlHeight]\"\r\n [disabled]=\"isdisabled\" />\r\n\r\n <div\r\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\"\r\n class=\"invalid-feedback\">\r\n {{ GetErrorMessage() | async }}\r\n </div>\r\n <div\r\n *ngIf=\"helptextmode === 'text' && helptext\"\r\n class=\"form-text\">\r\n {{ helptext }}\r\n </div>\r\n </div>\r\n\r\n <div\r\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\r\n class=\"form-control-plaintext align-self-top ms-2 me-1 w-auto\"\r\n [ngClass]=\"[componentHeight | toControlHeight]\">\r\n <sac-tooltip\r\n [tooltiptext]=\"helptext\"\r\n [inlinemode]=\"true\">\r\n <span\r\n [ngClass]=\"HelptextTooltipIcon\"\r\n class=\"ml-1\">\r\n </span>\r\n </sac-tooltip>\r\n </div>\r\n </div>\r\n</div>\r\n", dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "pipe", type: SacToControlWidthCssPipe, name: "toControlWidthCss" }, { kind: "pipe", type: SacToLabelWidthCssPipe, name: "toLabelWidthCss" }, { kind: "pipe", type: SacToLabelHeightPipe, name: "toLabelHeight" }, { kind: "pipe", type: SacToControlHeightPipe, name: "toControlHeight" }, { kind: "component", type: SacTooltipComponent, selector: "sac-tooltip" }] }); }
1575
+ ], usesInheritance: true, ngImport: i0, template: "<div\n class=\"row mb-3\"\n [class.g-0]=\"disablelabel\">\n <label\n for=\"{{ name }}\"\n class=\"col-12 col-form-label d-flex\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'visually-hidden', componentHeight | toLabelHeight]\"\n [class.required]=\"isrequired\">\n <div\n class=\"text flex-grow-0\"\n [class.flex-sm-grow-1]=\"splitlabelandhelptext\">\n {{ label }}\n </div>\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [ngClass]=\"HelptextTooltipIcon\"\n class=\"ms-1\">\n </span>\n </sac-tooltip>\n </label>\n <div\n class=\"col-12\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\n [class.d-flex]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\n <div [class.flex-grow-1]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\n <input\n id=\"{{ name }}\"\n name=\"{{ name }}\"\n type=\"text\"\n class=\"form-control\"\n [value]=\"value\"\n [attr.placeholder]=\"placeholder\"\n [readonly]=\"readonly\"\n (blur)=\"onTouch()\"\n (input)=\"setValue($event.target.value)\"\n (keypress)=\"onKeyPress($event)\"\n [attr.maxlength]=\"maxtextlength\"\n [class.is-invalid]=\"invalid && (dirty || touched)\"\n [ngClass]=\"[componentHeight | toControlHeight]\"\n [disabled]=\"isdisabled\" />\n\n <div\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\"\n class=\"invalid-feedback\">\n {{ GetErrorMessage() | async }}\n </div>\n <div\n *ngIf=\"helptextmode === 'text' && helptext\"\n class=\"form-text\">\n {{ helptext }}\n </div>\n </div>\n\n <div\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\n class=\"form-control-plaintext align-self-top ms-2 me-1 w-auto\"\n [ngClass]=\"[componentHeight | toControlHeight]\">\n <sac-tooltip\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [ngClass]=\"HelptextTooltipIcon\"\n class=\"ml-1\">\n </span>\n </sac-tooltip>\n </div>\n </div>\n</div>\n", dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "pipe", type: SacToControlWidthCssPipe, name: "toControlWidthCss" }, { kind: "pipe", type: SacToLabelWidthCssPipe, name: "toLabelWidthCss" }, { kind: "pipe", type: SacToLabelHeightPipe, name: "toLabelHeight" }, { kind: "pipe", type: SacToControlHeightPipe, name: "toControlHeight" }, { kind: "component", type: SacTooltipComponent, selector: "sac-tooltip" }] }); }
1576
1576
  }
1577
1577
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SacInputComponent, decorators: [{
1578
1578
  type: Component,
@@ -1592,7 +1592,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
1592
1592
  SacToLabelHeightPipe,
1593
1593
  SacToControlHeightPipe,
1594
1594
  SacTooltipComponent,
1595
- ], template: "<div\r\n class=\"row mb-3\"\r\n [class.g-0]=\"disablelabel\">\r\n <label\r\n for=\"{{ name }}\"\r\n class=\"col-12 col-form-label d-flex\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'visually-hidden', componentHeight | toLabelHeight]\"\r\n [class.required]=\"isrequired\">\r\n <div\r\n class=\"text flex-grow-0\"\r\n [class.flex-sm-grow-1]=\"splitlabelandhelptext\">\r\n {{ label }}\r\n </div>\r\n <sac-tooltip\r\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\r\n [tooltiptext]=\"helptext\"\r\n [inlinemode]=\"true\">\r\n <span\r\n [ngClass]=\"HelptextTooltipIcon\"\r\n class=\"ms-1\">\r\n </span>\r\n </sac-tooltip>\r\n </label>\r\n <div\r\n class=\"col-12\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\r\n [class.d-flex]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\r\n <div [class.flex-grow-1]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\r\n <input\r\n id=\"{{ name }}\"\r\n name=\"{{ name }}\"\r\n type=\"text\"\r\n class=\"form-control\"\r\n [value]=\"value\"\r\n [attr.placeholder]=\"placeholder\"\r\n [readonly]=\"readonly\"\r\n (blur)=\"onTouch()\"\r\n (input)=\"setValue($event.target.value)\"\r\n (keypress)=\"onKeyPress($event)\"\r\n [attr.maxlength]=\"maxtextlength\"\r\n [class.is-invalid]=\"invalid && (dirty || touched)\"\r\n [ngClass]=\"[componentHeight | toControlHeight]\"\r\n [disabled]=\"isdisabled\" />\r\n\r\n <div\r\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\"\r\n class=\"invalid-feedback\">\r\n {{ GetErrorMessage() | async }}\r\n </div>\r\n <div\r\n *ngIf=\"helptextmode === 'text' && helptext\"\r\n class=\"form-text\">\r\n {{ helptext }}\r\n </div>\r\n </div>\r\n\r\n <div\r\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\r\n class=\"form-control-plaintext align-self-top ms-2 me-1 w-auto\"\r\n [ngClass]=\"[componentHeight | toControlHeight]\">\r\n <sac-tooltip\r\n [tooltiptext]=\"helptext\"\r\n [inlinemode]=\"true\">\r\n <span\r\n [ngClass]=\"HelptextTooltipIcon\"\r\n class=\"ml-1\">\r\n </span>\r\n </sac-tooltip>\r\n </div>\r\n </div>\r\n</div>\r\n" }]
1595
+ ], template: "<div\n class=\"row mb-3\"\n [class.g-0]=\"disablelabel\">\n <label\n for=\"{{ name }}\"\n class=\"col-12 col-form-label d-flex\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'visually-hidden', componentHeight | toLabelHeight]\"\n [class.required]=\"isrequired\">\n <div\n class=\"text flex-grow-0\"\n [class.flex-sm-grow-1]=\"splitlabelandhelptext\">\n {{ label }}\n </div>\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [ngClass]=\"HelptextTooltipIcon\"\n class=\"ms-1\">\n </span>\n </sac-tooltip>\n </label>\n <div\n class=\"col-12\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\n [class.d-flex]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\n <div [class.flex-grow-1]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\n <input\n id=\"{{ name }}\"\n name=\"{{ name }}\"\n type=\"text\"\n class=\"form-control\"\n [value]=\"value\"\n [attr.placeholder]=\"placeholder\"\n [readonly]=\"readonly\"\n (blur)=\"onTouch()\"\n (input)=\"setValue($event.target.value)\"\n (keypress)=\"onKeyPress($event)\"\n [attr.maxlength]=\"maxtextlength\"\n [class.is-invalid]=\"invalid && (dirty || touched)\"\n [ngClass]=\"[componentHeight | toControlHeight]\"\n [disabled]=\"isdisabled\" />\n\n <div\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\"\n class=\"invalid-feedback\">\n {{ GetErrorMessage() | async }}\n </div>\n <div\n *ngIf=\"helptextmode === 'text' && helptext\"\n class=\"form-text\">\n {{ helptext }}\n </div>\n </div>\n\n <div\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\n class=\"form-control-plaintext align-self-top ms-2 me-1 w-auto\"\n [ngClass]=\"[componentHeight | toControlHeight]\">\n <sac-tooltip\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [ngClass]=\"HelptextTooltipIcon\"\n class=\"ml-1\">\n </span>\n </sac-tooltip>\n </div>\n </div>\n</div>\n" }]
1596
1596
  }], ctorParameters: function () { return [{ type: SacFormLayoutDirective, decorators: [{
1597
1597
  type: Host
1598
1598
  }, {
@@ -1624,7 +1624,7 @@ class SacInputEmailComponent extends SacInputEmailCommon {
1624
1624
  multi: true,
1625
1625
  useExisting: forwardRef(() => SacInputEmailComponent),
1626
1626
  },
1627
- ], usesInheritance: true, ngImport: i0, template: "<div\r\n class=\"row mb-3\"\r\n [class.g-0]=\"disablelabel\">\r\n <label\r\n for=\"{{ name }}\"\r\n class=\"col-12 col-form-label d-flex\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'visually-hidden', componentHeight | toLabelHeight]\"\r\n [class.required]=\"isrequired\">\r\n <div\r\n class=\"text flex-grow-0\"\r\n [class.flex-sm-grow-1]=\"splitlabelandhelptext\">\r\n {{ label }}\r\n </div>\r\n <sac-tooltip\r\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\r\n [tooltiptext]=\"helptext\"\r\n [inlinemode]=\"true\">\r\n <span\r\n [ngClass]=\"HelptextTooltipIcon\"\r\n class=\"ms-1\">\r\n </span>\r\n </sac-tooltip>\r\n </label>\r\n <div\r\n class=\"col-12\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\r\n [class.d-flex]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\r\n <div [class.flex-grow-1]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\r\n <div\r\n class=\"input-group\"\r\n [class.input-group-sm]=\"componentHeight === ControlHeight.Small\"\r\n [class.input-group-lg]=\"componentHeight === ControlHeight.Large\"\r\n [class.has-validation]=\"isinlineerrorenabled && invalid && (dirty || touched)\">\r\n <span class=\"input-group-text\">@</span>\r\n <input\r\n id=\"{{ name }}\"\r\n name=\"{{ name }}\"\r\n type=\"text\"\r\n class=\"form-control\"\r\n [value]=\"value\"\r\n (blur)=\"onTouch()\"\r\n (input)=\"setValue($event.target.value)\"\r\n [attr.placeholder]=\"placeholder\"\r\n [attr.maxlength]=\"maxtextlength\"\r\n autocomplete=\"email\"\r\n [class.is-invalid]=\"invalid && (dirty || touched)\"\r\n [ngClass]=\"[componentHeight | toControlHeight]\"\r\n [disabled]=\"isdisabled\"\r\n [readonly]=\"readonly\" />\r\n <div\r\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\"\r\n class=\"invalid-feedback\">\r\n {{ GetErrorMessage() | async }}\r\n </div>\r\n </div>\r\n <div\r\n *ngIf=\"helptextmode === 'text' && helptext\"\r\n class=\"form-text\">\r\n {{ helptext }}\r\n </div>\r\n </div>\r\n\r\n <div\r\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\r\n class=\"form-control-plaintext align-self-top ms-2 me-1 w-auto\"\r\n [ngClass]=\"[componentHeight | toControlHeight]\">\r\n <sac-tooltip\r\n [tooltiptext]=\"helptext\"\r\n [inlinemode]=\"true\">\r\n <span\r\n [ngClass]=\"HelptextTooltipIcon\"\r\n class=\"ml-1\">\r\n </span>\r\n </sac-tooltip>\r\n </div>\r\n </div>\r\n</div>\r\n", dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "pipe", type: SacToControlWidthCssPipe, name: "toControlWidthCss" }, { kind: "pipe", type: SacToLabelWidthCssPipe, name: "toLabelWidthCss" }, { kind: "pipe", type: SacToLabelHeightPipe, name: "toLabelHeight" }, { kind: "pipe", type: SacToControlHeightPipe, name: "toControlHeight" }, { kind: "component", type: SacTooltipComponent, selector: "sac-tooltip" }] }); }
1627
+ ], usesInheritance: true, ngImport: i0, template: "<div\n class=\"row mb-3\"\n [class.g-0]=\"disablelabel\">\n <label\n for=\"{{ name }}\"\n class=\"col-12 col-form-label d-flex\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'visually-hidden', componentHeight | toLabelHeight]\"\n [class.required]=\"isrequired\">\n <div\n class=\"text flex-grow-0\"\n [class.flex-sm-grow-1]=\"splitlabelandhelptext\">\n {{ label }}\n </div>\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [ngClass]=\"HelptextTooltipIcon\"\n class=\"ms-1\">\n </span>\n </sac-tooltip>\n </label>\n <div\n class=\"col-12\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\n [class.d-flex]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\n <div [class.flex-grow-1]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\n <div\n class=\"input-group\"\n [class.input-group-sm]=\"componentHeight === ControlHeight.Small\"\n [class.input-group-lg]=\"componentHeight === ControlHeight.Large\"\n [class.has-validation]=\"isinlineerrorenabled && invalid && (dirty || touched)\">\n <span class=\"input-group-text\">@</span>\n <input\n id=\"{{ name }}\"\n name=\"{{ name }}\"\n type=\"text\"\n class=\"form-control\"\n [value]=\"value\"\n (blur)=\"onTouch()\"\n (input)=\"setValue($event.target.value)\"\n [attr.placeholder]=\"placeholder\"\n [attr.maxlength]=\"maxtextlength\"\n autocomplete=\"email\"\n [class.is-invalid]=\"invalid && (dirty || touched)\"\n [ngClass]=\"[componentHeight | toControlHeight]\"\n [disabled]=\"isdisabled\"\n [readonly]=\"readonly\" />\n <div\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\"\n class=\"invalid-feedback\">\n {{ GetErrorMessage() | async }}\n </div>\n </div>\n <div\n *ngIf=\"helptextmode === 'text' && helptext\"\n class=\"form-text\">\n {{ helptext }}\n </div>\n </div>\n\n <div\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\n class=\"form-control-plaintext align-self-top ms-2 me-1 w-auto\"\n [ngClass]=\"[componentHeight | toControlHeight]\">\n <sac-tooltip\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [ngClass]=\"HelptextTooltipIcon\"\n class=\"ml-1\">\n </span>\n </sac-tooltip>\n </div>\n </div>\n</div>\n", dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "pipe", type: SacToControlWidthCssPipe, name: "toControlWidthCss" }, { kind: "pipe", type: SacToLabelWidthCssPipe, name: "toLabelWidthCss" }, { kind: "pipe", type: SacToLabelHeightPipe, name: "toLabelHeight" }, { kind: "pipe", type: SacToControlHeightPipe, name: "toControlHeight" }, { kind: "component", type: SacTooltipComponent, selector: "sac-tooltip" }] }); }
1628
1628
  }
1629
1629
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SacInputEmailComponent, decorators: [{
1630
1630
  type: Component,
@@ -1648,7 +1648,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
1648
1648
  SacToLabelHeightPipe,
1649
1649
  SacToControlHeightPipe,
1650
1650
  SacTooltipComponent,
1651
- ], template: "<div\r\n class=\"row mb-3\"\r\n [class.g-0]=\"disablelabel\">\r\n <label\r\n for=\"{{ name }}\"\r\n class=\"col-12 col-form-label d-flex\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'visually-hidden', componentHeight | toLabelHeight]\"\r\n [class.required]=\"isrequired\">\r\n <div\r\n class=\"text flex-grow-0\"\r\n [class.flex-sm-grow-1]=\"splitlabelandhelptext\">\r\n {{ label }}\r\n </div>\r\n <sac-tooltip\r\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\r\n [tooltiptext]=\"helptext\"\r\n [inlinemode]=\"true\">\r\n <span\r\n [ngClass]=\"HelptextTooltipIcon\"\r\n class=\"ms-1\">\r\n </span>\r\n </sac-tooltip>\r\n </label>\r\n <div\r\n class=\"col-12\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\r\n [class.d-flex]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\r\n <div [class.flex-grow-1]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\r\n <div\r\n class=\"input-group\"\r\n [class.input-group-sm]=\"componentHeight === ControlHeight.Small\"\r\n [class.input-group-lg]=\"componentHeight === ControlHeight.Large\"\r\n [class.has-validation]=\"isinlineerrorenabled && invalid && (dirty || touched)\">\r\n <span class=\"input-group-text\">@</span>\r\n <input\r\n id=\"{{ name }}\"\r\n name=\"{{ name }}\"\r\n type=\"text\"\r\n class=\"form-control\"\r\n [value]=\"value\"\r\n (blur)=\"onTouch()\"\r\n (input)=\"setValue($event.target.value)\"\r\n [attr.placeholder]=\"placeholder\"\r\n [attr.maxlength]=\"maxtextlength\"\r\n autocomplete=\"email\"\r\n [class.is-invalid]=\"invalid && (dirty || touched)\"\r\n [ngClass]=\"[componentHeight | toControlHeight]\"\r\n [disabled]=\"isdisabled\"\r\n [readonly]=\"readonly\" />\r\n <div\r\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\"\r\n class=\"invalid-feedback\">\r\n {{ GetErrorMessage() | async }}\r\n </div>\r\n </div>\r\n <div\r\n *ngIf=\"helptextmode === 'text' && helptext\"\r\n class=\"form-text\">\r\n {{ helptext }}\r\n </div>\r\n </div>\r\n\r\n <div\r\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\r\n class=\"form-control-plaintext align-self-top ms-2 me-1 w-auto\"\r\n [ngClass]=\"[componentHeight | toControlHeight]\">\r\n <sac-tooltip\r\n [tooltiptext]=\"helptext\"\r\n [inlinemode]=\"true\">\r\n <span\r\n [ngClass]=\"HelptextTooltipIcon\"\r\n class=\"ml-1\">\r\n </span>\r\n </sac-tooltip>\r\n </div>\r\n </div>\r\n</div>\r\n" }]
1651
+ ], template: "<div\n class=\"row mb-3\"\n [class.g-0]=\"disablelabel\">\n <label\n for=\"{{ name }}\"\n class=\"col-12 col-form-label d-flex\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'visually-hidden', componentHeight | toLabelHeight]\"\n [class.required]=\"isrequired\">\n <div\n class=\"text flex-grow-0\"\n [class.flex-sm-grow-1]=\"splitlabelandhelptext\">\n {{ label }}\n </div>\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [ngClass]=\"HelptextTooltipIcon\"\n class=\"ms-1\">\n </span>\n </sac-tooltip>\n </label>\n <div\n class=\"col-12\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\n [class.d-flex]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\n <div [class.flex-grow-1]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\n <div\n class=\"input-group\"\n [class.input-group-sm]=\"componentHeight === ControlHeight.Small\"\n [class.input-group-lg]=\"componentHeight === ControlHeight.Large\"\n [class.has-validation]=\"isinlineerrorenabled && invalid && (dirty || touched)\">\n <span class=\"input-group-text\">@</span>\n <input\n id=\"{{ name }}\"\n name=\"{{ name }}\"\n type=\"text\"\n class=\"form-control\"\n [value]=\"value\"\n (blur)=\"onTouch()\"\n (input)=\"setValue($event.target.value)\"\n [attr.placeholder]=\"placeholder\"\n [attr.maxlength]=\"maxtextlength\"\n autocomplete=\"email\"\n [class.is-invalid]=\"invalid && (dirty || touched)\"\n [ngClass]=\"[componentHeight | toControlHeight]\"\n [disabled]=\"isdisabled\"\n [readonly]=\"readonly\" />\n <div\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\"\n class=\"invalid-feedback\">\n {{ GetErrorMessage() | async }}\n </div>\n </div>\n <div\n *ngIf=\"helptextmode === 'text' && helptext\"\n class=\"form-text\">\n {{ helptext }}\n </div>\n </div>\n\n <div\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\n class=\"form-control-plaintext align-self-top ms-2 me-1 w-auto\"\n [ngClass]=\"[componentHeight | toControlHeight]\">\n <sac-tooltip\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [ngClass]=\"HelptextTooltipIcon\"\n class=\"ml-1\">\n </span>\n </sac-tooltip>\n </div>\n </div>\n</div>\n" }]
1652
1652
  }], ctorParameters: function () { return [{ type: SacFormLayoutDirective, decorators: [{
1653
1653
  type: Host
1654
1654
  }, {
@@ -1680,7 +1680,7 @@ class SacInputAreaComponent extends SacInputAreaCommon {
1680
1680
  multi: true,
1681
1681
  useExisting: forwardRef(() => SacInputAreaComponent),
1682
1682
  },
1683
- ], usesInheritance: true, ngImport: i0, template: "<div\r\n class=\"row mb-3\"\r\n [class.g-0]=\"disablelabel\">\r\n <label\r\n for=\"{{ name }}\"\r\n class=\"col-12 col-form-label d-flex\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'visually-hidden', componentHeight | toLabelHeight]\"\r\n [class.required]=\"isrequired\">\r\n <div\r\n class=\"text flex-grow-0\"\r\n [class.flex-sm-grow-1]=\"splitlabelandhelptext\">\r\n {{ label }}\r\n </div>\r\n <sac-tooltip\r\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\r\n [tooltiptext]=\"helptext\"\r\n [inlinemode]=\"true\">\r\n <span\r\n [ngClass]=\"HelptextTooltipIcon\"\r\n class=\"ms-1\">\r\n </span>\r\n </sac-tooltip>\r\n </label>\r\n <div\r\n class=\"col-12\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\r\n [class.d-flex]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\r\n <div [class.flex-grow-1]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\r\n <textarea\r\n id=\"{{ name }}\"\r\n name=\"{{ name }}\"\r\n type=\"\"\r\n class=\"form-control\"\r\n [value]=\"value\"\r\n [attr.placeholder]=\"placeholder\"\r\n (blur)=\"onTouch()\"\r\n (input)=\"setValue($event.target.value)\"\r\n (keypress)=\"onKeyPress($event)\"\r\n [attr.rows]=\"rows\"\r\n [class.is-invalid]=\"invalid && (dirty || touched)\"\r\n [ngClass]=\"[componentHeight | toControlHeight]\"\r\n [disabled]=\"isdisabled\"\r\n [attr.maxlength]=\"maxtextlength\"\r\n [readonly]=\"readonly\"></textarea>\r\n <div\r\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\"\r\n class=\"invalid-feedback\">\r\n {{ GetErrorMessage() | async }}\r\n </div>\r\n <div\r\n *ngIf=\"helptextmode === 'text' && helptext\"\r\n class=\"form-text\">\r\n {{ helptext }}\r\n </div>\r\n </div>\r\n\r\n <div\r\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\r\n class=\"form-control-plaintext align-self-top ms-2 me-1 w-auto\"\r\n [ngClass]=\"[componentHeight | toControlHeight]\">\r\n <sac-tooltip\r\n [tooltiptext]=\"helptext\"\r\n [inlinemode]=\"true\">\r\n <span\r\n [ngClass]=\"HelptextTooltipIcon\"\r\n class=\"ml-1\">\r\n </span>\r\n </sac-tooltip>\r\n </div>\r\n </div>\r\n</div>\r\n", dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "pipe", type: SacToControlWidthCssPipe, name: "toControlWidthCss" }, { kind: "pipe", type: SacToLabelWidthCssPipe, name: "toLabelWidthCss" }, { kind: "pipe", type: SacToLabelHeightPipe, name: "toLabelHeight" }, { kind: "pipe", type: SacToControlHeightPipe, name: "toControlHeight" }, { kind: "component", type: SacTooltipComponent, selector: "sac-tooltip" }] }); }
1683
+ ], usesInheritance: true, ngImport: i0, template: "<div\n class=\"row mb-3\"\n [class.g-0]=\"disablelabel\">\n <label\n for=\"{{ name }}\"\n class=\"col-12 col-form-label d-flex\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'visually-hidden', componentHeight | toLabelHeight]\"\n [class.required]=\"isrequired\">\n <div\n class=\"text flex-grow-0\"\n [class.flex-sm-grow-1]=\"splitlabelandhelptext\">\n {{ label }}\n </div>\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [ngClass]=\"HelptextTooltipIcon\"\n class=\"ms-1\">\n </span>\n </sac-tooltip>\n </label>\n <div\n class=\"col-12\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\n [class.d-flex]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\n <div [class.flex-grow-1]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\n <textarea\n id=\"{{ name }}\"\n name=\"{{ name }}\"\n type=\"\"\n class=\"form-control\"\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 [class.is-invalid]=\"invalid && (dirty || touched)\"\n [ngClass]=\"[componentHeight | toControlHeight]\"\n [disabled]=\"isdisabled\"\n [attr.maxlength]=\"maxtextlength\"\n [readonly]=\"readonly\"></textarea>\n <div\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\"\n class=\"invalid-feedback\">\n {{ GetErrorMessage() | async }}\n </div>\n <div\n *ngIf=\"helptextmode === 'text' && helptext\"\n class=\"form-text\">\n {{ helptext }}\n </div>\n </div>\n\n <div\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\n class=\"form-control-plaintext align-self-top ms-2 me-1 w-auto\"\n [ngClass]=\"[componentHeight | toControlHeight]\">\n <sac-tooltip\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [ngClass]=\"HelptextTooltipIcon\"\n class=\"ml-1\">\n </span>\n </sac-tooltip>\n </div>\n </div>\n</div>\n", dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "pipe", type: SacToControlWidthCssPipe, name: "toControlWidthCss" }, { kind: "pipe", type: SacToLabelWidthCssPipe, name: "toLabelWidthCss" }, { kind: "pipe", type: SacToLabelHeightPipe, name: "toLabelHeight" }, { kind: "pipe", type: SacToControlHeightPipe, name: "toControlHeight" }, { kind: "component", type: SacTooltipComponent, selector: "sac-tooltip" }] }); }
1684
1684
  }
1685
1685
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SacInputAreaComponent, decorators: [{
1686
1686
  type: Component,
@@ -1704,7 +1704,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
1704
1704
  SacToLabelHeightPipe,
1705
1705
  SacToControlHeightPipe,
1706
1706
  SacTooltipComponent,
1707
- ], template: "<div\r\n class=\"row mb-3\"\r\n [class.g-0]=\"disablelabel\">\r\n <label\r\n for=\"{{ name }}\"\r\n class=\"col-12 col-form-label d-flex\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'visually-hidden', componentHeight | toLabelHeight]\"\r\n [class.required]=\"isrequired\">\r\n <div\r\n class=\"text flex-grow-0\"\r\n [class.flex-sm-grow-1]=\"splitlabelandhelptext\">\r\n {{ label }}\r\n </div>\r\n <sac-tooltip\r\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\r\n [tooltiptext]=\"helptext\"\r\n [inlinemode]=\"true\">\r\n <span\r\n [ngClass]=\"HelptextTooltipIcon\"\r\n class=\"ms-1\">\r\n </span>\r\n </sac-tooltip>\r\n </label>\r\n <div\r\n class=\"col-12\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\r\n [class.d-flex]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\r\n <div [class.flex-grow-1]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\r\n <textarea\r\n id=\"{{ name }}\"\r\n name=\"{{ name }}\"\r\n type=\"\"\r\n class=\"form-control\"\r\n [value]=\"value\"\r\n [attr.placeholder]=\"placeholder\"\r\n (blur)=\"onTouch()\"\r\n (input)=\"setValue($event.target.value)\"\r\n (keypress)=\"onKeyPress($event)\"\r\n [attr.rows]=\"rows\"\r\n [class.is-invalid]=\"invalid && (dirty || touched)\"\r\n [ngClass]=\"[componentHeight | toControlHeight]\"\r\n [disabled]=\"isdisabled\"\r\n [attr.maxlength]=\"maxtextlength\"\r\n [readonly]=\"readonly\"></textarea>\r\n <div\r\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\"\r\n class=\"invalid-feedback\">\r\n {{ GetErrorMessage() | async }}\r\n </div>\r\n <div\r\n *ngIf=\"helptextmode === 'text' && helptext\"\r\n class=\"form-text\">\r\n {{ helptext }}\r\n </div>\r\n </div>\r\n\r\n <div\r\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\r\n class=\"form-control-plaintext align-self-top ms-2 me-1 w-auto\"\r\n [ngClass]=\"[componentHeight | toControlHeight]\">\r\n <sac-tooltip\r\n [tooltiptext]=\"helptext\"\r\n [inlinemode]=\"true\">\r\n <span\r\n [ngClass]=\"HelptextTooltipIcon\"\r\n class=\"ml-1\">\r\n </span>\r\n </sac-tooltip>\r\n </div>\r\n </div>\r\n</div>\r\n" }]
1707
+ ], template: "<div\n class=\"row mb-3\"\n [class.g-0]=\"disablelabel\">\n <label\n for=\"{{ name }}\"\n class=\"col-12 col-form-label d-flex\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'visually-hidden', componentHeight | toLabelHeight]\"\n [class.required]=\"isrequired\">\n <div\n class=\"text flex-grow-0\"\n [class.flex-sm-grow-1]=\"splitlabelandhelptext\">\n {{ label }}\n </div>\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [ngClass]=\"HelptextTooltipIcon\"\n class=\"ms-1\">\n </span>\n </sac-tooltip>\n </label>\n <div\n class=\"col-12\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\n [class.d-flex]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\n <div [class.flex-grow-1]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\n <textarea\n id=\"{{ name }}\"\n name=\"{{ name }}\"\n type=\"\"\n class=\"form-control\"\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 [class.is-invalid]=\"invalid && (dirty || touched)\"\n [ngClass]=\"[componentHeight | toControlHeight]\"\n [disabled]=\"isdisabled\"\n [attr.maxlength]=\"maxtextlength\"\n [readonly]=\"readonly\"></textarea>\n <div\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\"\n class=\"invalid-feedback\">\n {{ GetErrorMessage() | async }}\n </div>\n <div\n *ngIf=\"helptextmode === 'text' && helptext\"\n class=\"form-text\">\n {{ helptext }}\n </div>\n </div>\n\n <div\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\n class=\"form-control-plaintext align-self-top ms-2 me-1 w-auto\"\n [ngClass]=\"[componentHeight | toControlHeight]\">\n <sac-tooltip\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [ngClass]=\"HelptextTooltipIcon\"\n class=\"ml-1\">\n </span>\n </sac-tooltip>\n </div>\n </div>\n</div>\n" }]
1708
1708
  }], ctorParameters: function () { return [{ type: SacFormLayoutDirective, decorators: [{
1709
1709
  type: Host
1710
1710
  }, {
@@ -1736,7 +1736,7 @@ class SacInputCurrencyComponent extends SacInputCurrencyCommon {
1736
1736
  multi: true,
1737
1737
  useExisting: forwardRef(() => SacInputCurrencyComponent),
1738
1738
  },
1739
- ], usesInheritance: true, ngImport: i0, template: "<div\r\n class=\"row mb-3\"\r\n [class.g-0]=\"disablelabel\">\r\n <label\r\n for=\"{{ name }}\"\r\n class=\"col-12 col-form-label d-flex\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'visually-hidden', componentHeight | toLabelHeight]\"\r\n [class.required]=\"isrequired\">\r\n <div\r\n class=\"text flex-grow-0\"\r\n [class.flex-sm-grow-1]=\"splitlabelandhelptext\">\r\n {{ label }}\r\n </div>\r\n <sac-tooltip\r\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\r\n [tooltiptext]=\"helptext\"\r\n [inlinemode]=\"true\">\r\n <span\r\n [ngClass]=\"HelptextTooltipIcon\"\r\n class=\"ms-1\">\r\n </span>\r\n </sac-tooltip>\r\n </label>\r\n <div\r\n class=\"col-12\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\r\n [class.d-flex]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\r\n <div [class.flex-grow-1]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\r\n <div\r\n class=\"input-group input-group-sm\"\r\n [class.input-group-sm]=\"componentHeight === ControlHeight.Small\"\r\n [class.input-group-lg]=\"componentHeight === ControlHeight.Large\"\r\n [class.has-validation]=\"isinlineerrorenabled && invalid && (dirty || touched)\">\r\n <input\r\n id=\"{{ name }}\"\r\n name=\"{{ name }}\"\r\n type=\"text\"\r\n class=\"form-control\"\r\n [value]=\"value\"\r\n (blur)=\"onTouch()\"\r\n (input)=\"setValue($event.target.value)\"\r\n [attr.placeholder]=\"placeholder\"\r\n (keypress)=\"onKeyPress($event)\"\r\n [disabled]=\"isdisabled\"\r\n [readonly]=\"readonly\"\r\n [class.is-invalid]=\"invalid && (dirty || touched)\"\r\n [ngClass]=\"[componentHeight | toControlHeight]\" />\r\n <span class=\"input-group-text\">{{ currency }}</span>\r\n <div\r\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\"\r\n class=\"invalid-feedback\">\r\n {{ GetErrorMessage() | async }}\r\n </div>\r\n </div>\r\n <div\r\n *ngIf=\"helptextmode === 'text' && helptext\"\r\n class=\"form-text\">\r\n {{ helptext }}\r\n </div>\r\n </div>\r\n\r\n <div\r\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\r\n class=\"form-control-plaintext align-self-top ms-2 me-1 w-auto\"\r\n [ngClass]=\"[componentHeight | toControlHeight]\">\r\n <sac-tooltip\r\n [tooltiptext]=\"helptext\"\r\n [inlinemode]=\"true\">\r\n <span\r\n [ngClass]=\"HelptextTooltipIcon\"\r\n class=\"ml-1\">\r\n </span>\r\n </sac-tooltip>\r\n </div>\r\n </div>\r\n</div>\r\n", dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "pipe", type: SacToControlWidthCssPipe, name: "toControlWidthCss" }, { kind: "pipe", type: SacToLabelWidthCssPipe, name: "toLabelWidthCss" }, { kind: "pipe", type: SacToLabelHeightPipe, name: "toLabelHeight" }, { kind: "pipe", type: SacToControlHeightPipe, name: "toControlHeight" }, { kind: "component", type: SacTooltipComponent, selector: "sac-tooltip" }] }); }
1739
+ ], usesInheritance: true, ngImport: i0, template: "<div\n class=\"row mb-3\"\n [class.g-0]=\"disablelabel\">\n <label\n for=\"{{ name }}\"\n class=\"col-12 col-form-label d-flex\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'visually-hidden', componentHeight | toLabelHeight]\"\n [class.required]=\"isrequired\">\n <div\n class=\"text flex-grow-0\"\n [class.flex-sm-grow-1]=\"splitlabelandhelptext\">\n {{ label }}\n </div>\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [ngClass]=\"HelptextTooltipIcon\"\n class=\"ms-1\">\n </span>\n </sac-tooltip>\n </label>\n <div\n class=\"col-12\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\n [class.d-flex]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\n <div [class.flex-grow-1]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\n <div\n class=\"input-group input-group-sm\"\n [class.input-group-sm]=\"componentHeight === ControlHeight.Small\"\n [class.input-group-lg]=\"componentHeight === ControlHeight.Large\"\n [class.has-validation]=\"isinlineerrorenabled && invalid && (dirty || touched)\">\n <input\n id=\"{{ name }}\"\n name=\"{{ name }}\"\n type=\"text\"\n class=\"form-control\"\n [value]=\"value\"\n (blur)=\"onTouch()\"\n (input)=\"setValue($event.target.value)\"\n [attr.placeholder]=\"placeholder\"\n (keypress)=\"onKeyPress($event)\"\n [disabled]=\"isdisabled\"\n [readonly]=\"readonly\"\n [class.is-invalid]=\"invalid && (dirty || touched)\"\n [ngClass]=\"[componentHeight | toControlHeight]\" />\n <span class=\"input-group-text\">{{ currency }}</span>\n <div\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\"\n class=\"invalid-feedback\">\n {{ GetErrorMessage() | async }}\n </div>\n </div>\n <div\n *ngIf=\"helptextmode === 'text' && helptext\"\n class=\"form-text\">\n {{ helptext }}\n </div>\n </div>\n\n <div\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\n class=\"form-control-plaintext align-self-top ms-2 me-1 w-auto\"\n [ngClass]=\"[componentHeight | toControlHeight]\">\n <sac-tooltip\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [ngClass]=\"HelptextTooltipIcon\"\n class=\"ml-1\">\n </span>\n </sac-tooltip>\n </div>\n </div>\n</div>\n", dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "pipe", type: SacToControlWidthCssPipe, name: "toControlWidthCss" }, { kind: "pipe", type: SacToLabelWidthCssPipe, name: "toLabelWidthCss" }, { kind: "pipe", type: SacToLabelHeightPipe, name: "toLabelHeight" }, { kind: "pipe", type: SacToControlHeightPipe, name: "toControlHeight" }, { kind: "component", type: SacTooltipComponent, selector: "sac-tooltip" }] }); }
1740
1740
  }
1741
1741
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SacInputCurrencyComponent, decorators: [{
1742
1742
  type: Component,
@@ -1760,7 +1760,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
1760
1760
  SacToLabelHeightPipe,
1761
1761
  SacToControlHeightPipe,
1762
1762
  SacTooltipComponent,
1763
- ], template: "<div\r\n class=\"row mb-3\"\r\n [class.g-0]=\"disablelabel\">\r\n <label\r\n for=\"{{ name }}\"\r\n class=\"col-12 col-form-label d-flex\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'visually-hidden', componentHeight | toLabelHeight]\"\r\n [class.required]=\"isrequired\">\r\n <div\r\n class=\"text flex-grow-0\"\r\n [class.flex-sm-grow-1]=\"splitlabelandhelptext\">\r\n {{ label }}\r\n </div>\r\n <sac-tooltip\r\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\r\n [tooltiptext]=\"helptext\"\r\n [inlinemode]=\"true\">\r\n <span\r\n [ngClass]=\"HelptextTooltipIcon\"\r\n class=\"ms-1\">\r\n </span>\r\n </sac-tooltip>\r\n </label>\r\n <div\r\n class=\"col-12\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\r\n [class.d-flex]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\r\n <div [class.flex-grow-1]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\r\n <div\r\n class=\"input-group input-group-sm\"\r\n [class.input-group-sm]=\"componentHeight === ControlHeight.Small\"\r\n [class.input-group-lg]=\"componentHeight === ControlHeight.Large\"\r\n [class.has-validation]=\"isinlineerrorenabled && invalid && (dirty || touched)\">\r\n <input\r\n id=\"{{ name }}\"\r\n name=\"{{ name }}\"\r\n type=\"text\"\r\n class=\"form-control\"\r\n [value]=\"value\"\r\n (blur)=\"onTouch()\"\r\n (input)=\"setValue($event.target.value)\"\r\n [attr.placeholder]=\"placeholder\"\r\n (keypress)=\"onKeyPress($event)\"\r\n [disabled]=\"isdisabled\"\r\n [readonly]=\"readonly\"\r\n [class.is-invalid]=\"invalid && (dirty || touched)\"\r\n [ngClass]=\"[componentHeight | toControlHeight]\" />\r\n <span class=\"input-group-text\">{{ currency }}</span>\r\n <div\r\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\"\r\n class=\"invalid-feedback\">\r\n {{ GetErrorMessage() | async }}\r\n </div>\r\n </div>\r\n <div\r\n *ngIf=\"helptextmode === 'text' && helptext\"\r\n class=\"form-text\">\r\n {{ helptext }}\r\n </div>\r\n </div>\r\n\r\n <div\r\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\r\n class=\"form-control-plaintext align-self-top ms-2 me-1 w-auto\"\r\n [ngClass]=\"[componentHeight | toControlHeight]\">\r\n <sac-tooltip\r\n [tooltiptext]=\"helptext\"\r\n [inlinemode]=\"true\">\r\n <span\r\n [ngClass]=\"HelptextTooltipIcon\"\r\n class=\"ml-1\">\r\n </span>\r\n </sac-tooltip>\r\n </div>\r\n </div>\r\n</div>\r\n" }]
1763
+ ], template: "<div\n class=\"row mb-3\"\n [class.g-0]=\"disablelabel\">\n <label\n for=\"{{ name }}\"\n class=\"col-12 col-form-label d-flex\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'visually-hidden', componentHeight | toLabelHeight]\"\n [class.required]=\"isrequired\">\n <div\n class=\"text flex-grow-0\"\n [class.flex-sm-grow-1]=\"splitlabelandhelptext\">\n {{ label }}\n </div>\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [ngClass]=\"HelptextTooltipIcon\"\n class=\"ms-1\">\n </span>\n </sac-tooltip>\n </label>\n <div\n class=\"col-12\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\n [class.d-flex]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\n <div [class.flex-grow-1]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\n <div\n class=\"input-group input-group-sm\"\n [class.input-group-sm]=\"componentHeight === ControlHeight.Small\"\n [class.input-group-lg]=\"componentHeight === ControlHeight.Large\"\n [class.has-validation]=\"isinlineerrorenabled && invalid && (dirty || touched)\">\n <input\n id=\"{{ name }}\"\n name=\"{{ name }}\"\n type=\"text\"\n class=\"form-control\"\n [value]=\"value\"\n (blur)=\"onTouch()\"\n (input)=\"setValue($event.target.value)\"\n [attr.placeholder]=\"placeholder\"\n (keypress)=\"onKeyPress($event)\"\n [disabled]=\"isdisabled\"\n [readonly]=\"readonly\"\n [class.is-invalid]=\"invalid && (dirty || touched)\"\n [ngClass]=\"[componentHeight | toControlHeight]\" />\n <span class=\"input-group-text\">{{ currency }}</span>\n <div\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\"\n class=\"invalid-feedback\">\n {{ GetErrorMessage() | async }}\n </div>\n </div>\n <div\n *ngIf=\"helptextmode === 'text' && helptext\"\n class=\"form-text\">\n {{ helptext }}\n </div>\n </div>\n\n <div\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\n class=\"form-control-plaintext align-self-top ms-2 me-1 w-auto\"\n [ngClass]=\"[componentHeight | toControlHeight]\">\n <sac-tooltip\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [ngClass]=\"HelptextTooltipIcon\"\n class=\"ml-1\">\n </span>\n </sac-tooltip>\n </div>\n </div>\n</div>\n" }]
1764
1764
  }], ctorParameters: function () { return [{ type: SacFormLayoutDirective, decorators: [{
1765
1765
  type: Host
1766
1766
  }, {
@@ -1792,7 +1792,7 @@ class SacInputDecimalComponent extends SacInputDecimalCommon {
1792
1792
  multi: true,
1793
1793
  useExisting: forwardRef(() => SacInputDecimalComponent),
1794
1794
  },
1795
- ], usesInheritance: true, ngImport: i0, template: "<div\r\n class=\"row mb-3\"\r\n [class.g-0]=\"disablelabel\">\r\n <label\r\n for=\"{{ name }}\"\r\n class=\"col-12 col-form-label d-flex\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'visually-hidden', componentHeight | toLabelHeight]\"\r\n [class.required]=\"isrequired\">\r\n <div\r\n class=\"text flex-grow-0\"\r\n [class.flex-sm-grow-1]=\"splitlabelandhelptext\">\r\n {{ label }}\r\n </div>\r\n <sac-tooltip\r\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\r\n [tooltiptext]=\"helptext\"\r\n [inlinemode]=\"true\">\r\n <span\r\n [ngClass]=\"HelptextTooltipIcon\"\r\n class=\"ms-1\">\r\n </span>\r\n </sac-tooltip>\r\n </label>\r\n <div\r\n class=\"col-12\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\r\n [class.d-flex]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\r\n <div [class.flex-grow-1]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\r\n <input\r\n id=\"{{ name }}\"\r\n name=\"{{ name }}\"\r\n type=\"text\"\r\n class=\"form-control\"\r\n [value]=\"value\"\r\n (blur)=\"onTouch()\"\r\n (input)=\"setValue($event.target.value)\"\r\n [attr.placeholder]=\"placeholder\"\r\n [readonly]=\"readonly\"\r\n (keypress)=\"onKeyPress($event)\"\r\n [disabled]=\"isdisabled\"\r\n [class.is-invalid]=\"invalid && (dirty || touched)\"\r\n [ngClass]=\"[componentHeight | toControlHeight]\" />\r\n\r\n <div\r\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\"\r\n class=\"invalid-feedback\">\r\n {{ GetErrorMessage() | async }}\r\n </div>\r\n <div\r\n *ngIf=\"helptextmode === 'text' && helptext\"\r\n class=\"form-text\">\r\n {{ helptext }}\r\n </div>\r\n </div>\r\n\r\n <div\r\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\r\n class=\"form-control-plaintext align-self-top ms-2 me-1 w-auto\"\r\n [ngClass]=\"[componentHeight | toControlHeight]\">\r\n <sac-tooltip\r\n [tooltiptext]=\"helptext\"\r\n [inlinemode]=\"true\">\r\n <span\r\n [ngClass]=\"HelptextTooltipIcon\"\r\n class=\"ml-1\">\r\n </span>\r\n </sac-tooltip>\r\n </div>\r\n </div>\r\n</div>\r\n", dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "pipe", type: SacToControlWidthCssPipe, name: "toControlWidthCss" }, { kind: "pipe", type: SacToLabelWidthCssPipe, name: "toLabelWidthCss" }, { kind: "pipe", type: SacToLabelHeightPipe, name: "toLabelHeight" }, { kind: "pipe", type: SacToControlHeightPipe, name: "toControlHeight" }, { kind: "component", type: SacTooltipComponent, selector: "sac-tooltip" }] }); }
1795
+ ], usesInheritance: true, ngImport: i0, template: "<div\n class=\"row mb-3\"\n [class.g-0]=\"disablelabel\">\n <label\n for=\"{{ name }}\"\n class=\"col-12 col-form-label d-flex\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'visually-hidden', componentHeight | toLabelHeight]\"\n [class.required]=\"isrequired\">\n <div\n class=\"text flex-grow-0\"\n [class.flex-sm-grow-1]=\"splitlabelandhelptext\">\n {{ label }}\n </div>\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [ngClass]=\"HelptextTooltipIcon\"\n class=\"ms-1\">\n </span>\n </sac-tooltip>\n </label>\n <div\n class=\"col-12\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\n [class.d-flex]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\n <div [class.flex-grow-1]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\n <input\n id=\"{{ name }}\"\n name=\"{{ name }}\"\n type=\"text\"\n class=\"form-control\"\n [value]=\"value\"\n (blur)=\"onTouch()\"\n (input)=\"setValue($event.target.value)\"\n [attr.placeholder]=\"placeholder\"\n [readonly]=\"readonly\"\n (keypress)=\"onKeyPress($event)\"\n [disabled]=\"isdisabled\"\n [class.is-invalid]=\"invalid && (dirty || touched)\"\n [ngClass]=\"[componentHeight | toControlHeight]\" />\n\n <div\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\"\n class=\"invalid-feedback\">\n {{ GetErrorMessage() | async }}\n </div>\n <div\n *ngIf=\"helptextmode === 'text' && helptext\"\n class=\"form-text\">\n {{ helptext }}\n </div>\n </div>\n\n <div\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\n class=\"form-control-plaintext align-self-top ms-2 me-1 w-auto\"\n [ngClass]=\"[componentHeight | toControlHeight]\">\n <sac-tooltip\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [ngClass]=\"HelptextTooltipIcon\"\n class=\"ml-1\">\n </span>\n </sac-tooltip>\n </div>\n </div>\n</div>\n", dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "pipe", type: SacToControlWidthCssPipe, name: "toControlWidthCss" }, { kind: "pipe", type: SacToLabelWidthCssPipe, name: "toLabelWidthCss" }, { kind: "pipe", type: SacToLabelHeightPipe, name: "toLabelHeight" }, { kind: "pipe", type: SacToControlHeightPipe, name: "toControlHeight" }, { kind: "component", type: SacTooltipComponent, selector: "sac-tooltip" }] }); }
1796
1796
  }
1797
1797
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SacInputDecimalComponent, decorators: [{
1798
1798
  type: Component,
@@ -1816,7 +1816,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
1816
1816
  SacToLabelHeightPipe,
1817
1817
  SacToControlHeightPipe,
1818
1818
  SacTooltipComponent,
1819
- ], template: "<div\r\n class=\"row mb-3\"\r\n [class.g-0]=\"disablelabel\">\r\n <label\r\n for=\"{{ name }}\"\r\n class=\"col-12 col-form-label d-flex\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'visually-hidden', componentHeight | toLabelHeight]\"\r\n [class.required]=\"isrequired\">\r\n <div\r\n class=\"text flex-grow-0\"\r\n [class.flex-sm-grow-1]=\"splitlabelandhelptext\">\r\n {{ label }}\r\n </div>\r\n <sac-tooltip\r\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\r\n [tooltiptext]=\"helptext\"\r\n [inlinemode]=\"true\">\r\n <span\r\n [ngClass]=\"HelptextTooltipIcon\"\r\n class=\"ms-1\">\r\n </span>\r\n </sac-tooltip>\r\n </label>\r\n <div\r\n class=\"col-12\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\r\n [class.d-flex]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\r\n <div [class.flex-grow-1]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\r\n <input\r\n id=\"{{ name }}\"\r\n name=\"{{ name }}\"\r\n type=\"text\"\r\n class=\"form-control\"\r\n [value]=\"value\"\r\n (blur)=\"onTouch()\"\r\n (input)=\"setValue($event.target.value)\"\r\n [attr.placeholder]=\"placeholder\"\r\n [readonly]=\"readonly\"\r\n (keypress)=\"onKeyPress($event)\"\r\n [disabled]=\"isdisabled\"\r\n [class.is-invalid]=\"invalid && (dirty || touched)\"\r\n [ngClass]=\"[componentHeight | toControlHeight]\" />\r\n\r\n <div\r\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\"\r\n class=\"invalid-feedback\">\r\n {{ GetErrorMessage() | async }}\r\n </div>\r\n <div\r\n *ngIf=\"helptextmode === 'text' && helptext\"\r\n class=\"form-text\">\r\n {{ helptext }}\r\n </div>\r\n </div>\r\n\r\n <div\r\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\r\n class=\"form-control-plaintext align-self-top ms-2 me-1 w-auto\"\r\n [ngClass]=\"[componentHeight | toControlHeight]\">\r\n <sac-tooltip\r\n [tooltiptext]=\"helptext\"\r\n [inlinemode]=\"true\">\r\n <span\r\n [ngClass]=\"HelptextTooltipIcon\"\r\n class=\"ml-1\">\r\n </span>\r\n </sac-tooltip>\r\n </div>\r\n </div>\r\n</div>\r\n" }]
1819
+ ], template: "<div\n class=\"row mb-3\"\n [class.g-0]=\"disablelabel\">\n <label\n for=\"{{ name }}\"\n class=\"col-12 col-form-label d-flex\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'visually-hidden', componentHeight | toLabelHeight]\"\n [class.required]=\"isrequired\">\n <div\n class=\"text flex-grow-0\"\n [class.flex-sm-grow-1]=\"splitlabelandhelptext\">\n {{ label }}\n </div>\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [ngClass]=\"HelptextTooltipIcon\"\n class=\"ms-1\">\n </span>\n </sac-tooltip>\n </label>\n <div\n class=\"col-12\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\n [class.d-flex]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\n <div [class.flex-grow-1]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\n <input\n id=\"{{ name }}\"\n name=\"{{ name }}\"\n type=\"text\"\n class=\"form-control\"\n [value]=\"value\"\n (blur)=\"onTouch()\"\n (input)=\"setValue($event.target.value)\"\n [attr.placeholder]=\"placeholder\"\n [readonly]=\"readonly\"\n (keypress)=\"onKeyPress($event)\"\n [disabled]=\"isdisabled\"\n [class.is-invalid]=\"invalid && (dirty || touched)\"\n [ngClass]=\"[componentHeight | toControlHeight]\" />\n\n <div\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\"\n class=\"invalid-feedback\">\n {{ GetErrorMessage() | async }}\n </div>\n <div\n *ngIf=\"helptextmode === 'text' && helptext\"\n class=\"form-text\">\n {{ helptext }}\n </div>\n </div>\n\n <div\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\n class=\"form-control-plaintext align-self-top ms-2 me-1 w-auto\"\n [ngClass]=\"[componentHeight | toControlHeight]\">\n <sac-tooltip\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [ngClass]=\"HelptextTooltipIcon\"\n class=\"ml-1\">\n </span>\n </sac-tooltip>\n </div>\n </div>\n</div>\n" }]
1820
1820
  }], ctorParameters: function () { return [{ type: SacFormLayoutDirective, decorators: [{
1821
1821
  type: Host
1822
1822
  }, {
@@ -1848,7 +1848,7 @@ class SacInputIntegerComponent extends SacInputIntegerCommon {
1848
1848
  multi: true,
1849
1849
  useExisting: forwardRef(() => SacInputIntegerComponent),
1850
1850
  },
1851
- ], usesInheritance: true, ngImport: i0, template: "<div\r\n class=\"row mb-3\"\r\n [class.g-0]=\"disablelabel\">\r\n <label\r\n for=\"{{ name }}\"\r\n class=\"col-12 col-form-label d-flex\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'visually-hidden', componentHeight | toLabelHeight]\"\r\n [class.required]=\"isrequired\">\r\n <div\r\n class=\"text flex-grow-0\"\r\n [class.flex-sm-grow-1]=\"splitlabelandhelptext\">\r\n {{ label }}\r\n </div>\r\n <sac-tooltip\r\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\r\n [tooltiptext]=\"helptext\"\r\n [inlinemode]=\"true\">\r\n <span\r\n [ngClass]=\"HelptextTooltipIcon\"\r\n class=\"ms-1\">\r\n </span>\r\n </sac-tooltip>\r\n </label>\r\n <div\r\n class=\"col-12\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\r\n [class.d-flex]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\r\n <div [class.flex-grow-1]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\r\n <input\r\n id=\"{{ name }}\"\r\n name=\"{{ name }}\"\r\n type=\"text\"\r\n class=\"form-control\"\r\n [value]=\"value\"\r\n (blur)=\"onTouch()\"\r\n (input)=\"setValue($event.target.value)\"\r\n [attr.placeholder]=\"placeholder\"\r\n (keypress)=\"onKeyPress($event)\"\r\n [disabled]=\"isdisabled\"\r\n [readonly]=\"readonly\"\r\n [class.is-invalid]=\"invalid && (dirty || touched)\"\r\n [ngClass]=\"[componentHeight | toControlHeight]\" />\r\n\r\n <div\r\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\"\r\n class=\"invalid-feedback\">\r\n {{ GetErrorMessage() | async }}\r\n </div>\r\n <div\r\n *ngIf=\"helptextmode === 'text' && helptext\"\r\n class=\"form-text\">\r\n {{ helptext }}\r\n </div>\r\n </div>\r\n\r\n <div\r\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\r\n class=\"form-control-plaintext align-self-top ms-2 me-1 w-auto\"\r\n [ngClass]=\"[componentHeight | toControlHeight]\">\r\n <sac-tooltip\r\n [tooltiptext]=\"helptext\"\r\n [inlinemode]=\"true\">\r\n <span\r\n [ngClass]=\"HelptextTooltipIcon\"\r\n class=\"ml-1\">\r\n </span>\r\n </sac-tooltip>\r\n </div>\r\n </div>\r\n</div>\r\n", dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "pipe", type: SacToControlWidthCssPipe, name: "toControlWidthCss" }, { kind: "pipe", type: SacToLabelWidthCssPipe, name: "toLabelWidthCss" }, { kind: "pipe", type: SacToLabelHeightPipe, name: "toLabelHeight" }, { kind: "pipe", type: SacToControlHeightPipe, name: "toControlHeight" }, { kind: "component", type: SacTooltipComponent, selector: "sac-tooltip" }] }); }
1851
+ ], usesInheritance: true, ngImport: i0, template: "<div\n class=\"row mb-3\"\n [class.g-0]=\"disablelabel\">\n <label\n for=\"{{ name }}\"\n class=\"col-12 col-form-label d-flex\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'visually-hidden', componentHeight | toLabelHeight]\"\n [class.required]=\"isrequired\">\n <div\n class=\"text flex-grow-0\"\n [class.flex-sm-grow-1]=\"splitlabelandhelptext\">\n {{ label }}\n </div>\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [ngClass]=\"HelptextTooltipIcon\"\n class=\"ms-1\">\n </span>\n </sac-tooltip>\n </label>\n <div\n class=\"col-12\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\n [class.d-flex]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\n <div [class.flex-grow-1]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\n <input\n id=\"{{ name }}\"\n name=\"{{ name }}\"\n type=\"text\"\n class=\"form-control\"\n [value]=\"value\"\n (blur)=\"onTouch()\"\n (input)=\"setValue($event.target.value)\"\n [attr.placeholder]=\"placeholder\"\n (keypress)=\"onKeyPress($event)\"\n [disabled]=\"isdisabled\"\n [readonly]=\"readonly\"\n [class.is-invalid]=\"invalid && (dirty || touched)\"\n [ngClass]=\"[componentHeight | toControlHeight]\" />\n\n <div\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\"\n class=\"invalid-feedback\">\n {{ GetErrorMessage() | async }}\n </div>\n <div\n *ngIf=\"helptextmode === 'text' && helptext\"\n class=\"form-text\">\n {{ helptext }}\n </div>\n </div>\n\n <div\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\n class=\"form-control-plaintext align-self-top ms-2 me-1 w-auto\"\n [ngClass]=\"[componentHeight | toControlHeight]\">\n <sac-tooltip\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [ngClass]=\"HelptextTooltipIcon\"\n class=\"ml-1\">\n </span>\n </sac-tooltip>\n </div>\n </div>\n</div>\n", dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "pipe", type: SacToControlWidthCssPipe, name: "toControlWidthCss" }, { kind: "pipe", type: SacToLabelWidthCssPipe, name: "toLabelWidthCss" }, { kind: "pipe", type: SacToLabelHeightPipe, name: "toLabelHeight" }, { kind: "pipe", type: SacToControlHeightPipe, name: "toControlHeight" }, { kind: "component", type: SacTooltipComponent, selector: "sac-tooltip" }] }); }
1852
1852
  }
1853
1853
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SacInputIntegerComponent, decorators: [{
1854
1854
  type: Component,
@@ -1872,7 +1872,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
1872
1872
  SacToLabelHeightPipe,
1873
1873
  SacToControlHeightPipe,
1874
1874
  SacTooltipComponent,
1875
- ], template: "<div\r\n class=\"row mb-3\"\r\n [class.g-0]=\"disablelabel\">\r\n <label\r\n for=\"{{ name }}\"\r\n class=\"col-12 col-form-label d-flex\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'visually-hidden', componentHeight | toLabelHeight]\"\r\n [class.required]=\"isrequired\">\r\n <div\r\n class=\"text flex-grow-0\"\r\n [class.flex-sm-grow-1]=\"splitlabelandhelptext\">\r\n {{ label }}\r\n </div>\r\n <sac-tooltip\r\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\r\n [tooltiptext]=\"helptext\"\r\n [inlinemode]=\"true\">\r\n <span\r\n [ngClass]=\"HelptextTooltipIcon\"\r\n class=\"ms-1\">\r\n </span>\r\n </sac-tooltip>\r\n </label>\r\n <div\r\n class=\"col-12\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\r\n [class.d-flex]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\r\n <div [class.flex-grow-1]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\r\n <input\r\n id=\"{{ name }}\"\r\n name=\"{{ name }}\"\r\n type=\"text\"\r\n class=\"form-control\"\r\n [value]=\"value\"\r\n (blur)=\"onTouch()\"\r\n (input)=\"setValue($event.target.value)\"\r\n [attr.placeholder]=\"placeholder\"\r\n (keypress)=\"onKeyPress($event)\"\r\n [disabled]=\"isdisabled\"\r\n [readonly]=\"readonly\"\r\n [class.is-invalid]=\"invalid && (dirty || touched)\"\r\n [ngClass]=\"[componentHeight | toControlHeight]\" />\r\n\r\n <div\r\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\"\r\n class=\"invalid-feedback\">\r\n {{ GetErrorMessage() | async }}\r\n </div>\r\n <div\r\n *ngIf=\"helptextmode === 'text' && helptext\"\r\n class=\"form-text\">\r\n {{ helptext }}\r\n </div>\r\n </div>\r\n\r\n <div\r\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\r\n class=\"form-control-plaintext align-self-top ms-2 me-1 w-auto\"\r\n [ngClass]=\"[componentHeight | toControlHeight]\">\r\n <sac-tooltip\r\n [tooltiptext]=\"helptext\"\r\n [inlinemode]=\"true\">\r\n <span\r\n [ngClass]=\"HelptextTooltipIcon\"\r\n class=\"ml-1\">\r\n </span>\r\n </sac-tooltip>\r\n </div>\r\n </div>\r\n</div>\r\n" }]
1875
+ ], template: "<div\n class=\"row mb-3\"\n [class.g-0]=\"disablelabel\">\n <label\n for=\"{{ name }}\"\n class=\"col-12 col-form-label d-flex\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'visually-hidden', componentHeight | toLabelHeight]\"\n [class.required]=\"isrequired\">\n <div\n class=\"text flex-grow-0\"\n [class.flex-sm-grow-1]=\"splitlabelandhelptext\">\n {{ label }}\n </div>\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [ngClass]=\"HelptextTooltipIcon\"\n class=\"ms-1\">\n </span>\n </sac-tooltip>\n </label>\n <div\n class=\"col-12\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\n [class.d-flex]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\n <div [class.flex-grow-1]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\n <input\n id=\"{{ name }}\"\n name=\"{{ name }}\"\n type=\"text\"\n class=\"form-control\"\n [value]=\"value\"\n (blur)=\"onTouch()\"\n (input)=\"setValue($event.target.value)\"\n [attr.placeholder]=\"placeholder\"\n (keypress)=\"onKeyPress($event)\"\n [disabled]=\"isdisabled\"\n [readonly]=\"readonly\"\n [class.is-invalid]=\"invalid && (dirty || touched)\"\n [ngClass]=\"[componentHeight | toControlHeight]\" />\n\n <div\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\"\n class=\"invalid-feedback\">\n {{ GetErrorMessage() | async }}\n </div>\n <div\n *ngIf=\"helptextmode === 'text' && helptext\"\n class=\"form-text\">\n {{ helptext }}\n </div>\n </div>\n\n <div\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\n class=\"form-control-plaintext align-self-top ms-2 me-1 w-auto\"\n [ngClass]=\"[componentHeight | toControlHeight]\">\n <sac-tooltip\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [ngClass]=\"HelptextTooltipIcon\"\n class=\"ml-1\">\n </span>\n </sac-tooltip>\n </div>\n </div>\n</div>\n" }]
1876
1876
  }], ctorParameters: function () { return [{ type: SacFormLayoutDirective, decorators: [{
1877
1877
  type: Host
1878
1878
  }, {
@@ -1904,7 +1904,7 @@ class SacInputPasswordComponent extends SacInputPasswordCommon {
1904
1904
  multi: true,
1905
1905
  useExisting: forwardRef(() => SacInputPasswordComponent),
1906
1906
  },
1907
- ], usesInheritance: true, ngImport: i0, template: "<div\r\n class=\"row mb-3\"\r\n [class.g-0]=\"disablelabel\">\r\n <label\r\n for=\"{{ name }}\"\r\n class=\"col-12 col-form-label d-flex\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'visually-hidden', componentHeight | toLabelHeight]\"\r\n [class.required]=\"isrequired\">\r\n <div\r\n class=\"text flex-grow-0\"\r\n [class.flex-sm-grow-1]=\"splitlabelandhelptext\">\r\n {{ label }}\r\n </div>\r\n <sac-tooltip\r\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\r\n [tooltiptext]=\"helptext\"\r\n [inlinemode]=\"true\">\r\n <span\r\n [ngClass]=\"HelptextTooltipIcon\"\r\n class=\"ms-1\">\r\n </span>\r\n </sac-tooltip>\r\n </label>\r\n <div\r\n class=\"col-12\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\r\n [class.d-flex]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\r\n <div [class.flex-grow-1]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\r\n <input\r\n id=\"{{ name }}\"\r\n name=\"{{ name }}\"\r\n type=\"password\"\r\n class=\"form-control\"\r\n [attr.placeholder]=\"placeholder\"\r\n [value]=\"value\"\r\n (blur)=\"onTouch()\"\r\n (input)=\"setValue($event.target.value)\"\r\n [attr.maxlength]=\"maxtextlength\"\r\n autocomplete=\"new-password\"\r\n [class.is-invalid]=\"invalid && (dirty || touched)\"\r\n [ngClass]=\"[componentHeight | toControlHeight]\"\r\n [disabled]=\"isdisabled\"\r\n [readonly]=\"readonly\" />\r\n\r\n <div\r\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\"\r\n class=\"invalid-feedback\">\r\n {{ GetErrorMessage() | async }}\r\n </div>\r\n <div\r\n *ngIf=\"helptextmode === 'text' && helptext\"\r\n class=\"form-text\">\r\n {{ helptext }}\r\n </div>\r\n </div>\r\n\r\n <div\r\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\r\n class=\"form-control-plaintext align-self-top ms-2 me-1 w-auto\"\r\n [ngClass]=\"[componentHeight | toControlHeight]\">\r\n <sac-tooltip\r\n [tooltiptext]=\"helptext\"\r\n [inlinemode]=\"true\">\r\n <span\r\n [ngClass]=\"HelptextTooltipIcon\"\r\n class=\"ml-1\">\r\n </span>\r\n </sac-tooltip>\r\n </div>\r\n </div>\r\n</div>\r\n", dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "pipe", type: SacToControlWidthCssPipe, name: "toControlWidthCss" }, { kind: "pipe", type: SacToLabelWidthCssPipe, name: "toLabelWidthCss" }, { kind: "pipe", type: SacToLabelHeightPipe, name: "toLabelHeight" }, { kind: "pipe", type: SacToControlHeightPipe, name: "toControlHeight" }, { kind: "component", type: SacTooltipComponent, selector: "sac-tooltip" }] }); }
1907
+ ], usesInheritance: true, ngImport: i0, template: "<div\n class=\"row mb-3\"\n [class.g-0]=\"disablelabel\">\n <label\n for=\"{{ name }}\"\n class=\"col-12 col-form-label d-flex\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'visually-hidden', componentHeight | toLabelHeight]\"\n [class.required]=\"isrequired\">\n <div\n class=\"text flex-grow-0\"\n [class.flex-sm-grow-1]=\"splitlabelandhelptext\">\n {{ label }}\n </div>\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [ngClass]=\"HelptextTooltipIcon\"\n class=\"ms-1\">\n </span>\n </sac-tooltip>\n </label>\n <div\n class=\"col-12\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\n [class.d-flex]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\n <div [class.flex-grow-1]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\n <input\n id=\"{{ name }}\"\n name=\"{{ name }}\"\n type=\"password\"\n class=\"form-control\"\n [attr.placeholder]=\"placeholder\"\n [value]=\"value\"\n (blur)=\"onTouch()\"\n (input)=\"setValue($event.target.value)\"\n [attr.maxlength]=\"maxtextlength\"\n autocomplete=\"new-password\"\n [class.is-invalid]=\"invalid && (dirty || touched)\"\n [ngClass]=\"[componentHeight | toControlHeight]\"\n [disabled]=\"isdisabled\"\n [readonly]=\"readonly\" />\n\n <div\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\"\n class=\"invalid-feedback\">\n {{ GetErrorMessage() | async }}\n </div>\n <div\n *ngIf=\"helptextmode === 'text' && helptext\"\n class=\"form-text\">\n {{ helptext }}\n </div>\n </div>\n\n <div\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\n class=\"form-control-plaintext align-self-top ms-2 me-1 w-auto\"\n [ngClass]=\"[componentHeight | toControlHeight]\">\n <sac-tooltip\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [ngClass]=\"HelptextTooltipIcon\"\n class=\"ml-1\">\n </span>\n </sac-tooltip>\n </div>\n </div>\n</div>\n", dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "pipe", type: SacToControlWidthCssPipe, name: "toControlWidthCss" }, { kind: "pipe", type: SacToLabelWidthCssPipe, name: "toLabelWidthCss" }, { kind: "pipe", type: SacToLabelHeightPipe, name: "toLabelHeight" }, { kind: "pipe", type: SacToControlHeightPipe, name: "toControlHeight" }, { kind: "component", type: SacTooltipComponent, selector: "sac-tooltip" }] }); }
1908
1908
  }
1909
1909
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SacInputPasswordComponent, decorators: [{
1910
1910
  type: Component,
@@ -1928,7 +1928,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
1928
1928
  SacToLabelHeightPipe,
1929
1929
  SacToControlHeightPipe,
1930
1930
  SacTooltipComponent,
1931
- ], template: "<div\r\n class=\"row mb-3\"\r\n [class.g-0]=\"disablelabel\">\r\n <label\r\n for=\"{{ name }}\"\r\n class=\"col-12 col-form-label d-flex\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'visually-hidden', componentHeight | toLabelHeight]\"\r\n [class.required]=\"isrequired\">\r\n <div\r\n class=\"text flex-grow-0\"\r\n [class.flex-sm-grow-1]=\"splitlabelandhelptext\">\r\n {{ label }}\r\n </div>\r\n <sac-tooltip\r\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\r\n [tooltiptext]=\"helptext\"\r\n [inlinemode]=\"true\">\r\n <span\r\n [ngClass]=\"HelptextTooltipIcon\"\r\n class=\"ms-1\">\r\n </span>\r\n </sac-tooltip>\r\n </label>\r\n <div\r\n class=\"col-12\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\r\n [class.d-flex]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\r\n <div [class.flex-grow-1]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\r\n <input\r\n id=\"{{ name }}\"\r\n name=\"{{ name }}\"\r\n type=\"password\"\r\n class=\"form-control\"\r\n [attr.placeholder]=\"placeholder\"\r\n [value]=\"value\"\r\n (blur)=\"onTouch()\"\r\n (input)=\"setValue($event.target.value)\"\r\n [attr.maxlength]=\"maxtextlength\"\r\n autocomplete=\"new-password\"\r\n [class.is-invalid]=\"invalid && (dirty || touched)\"\r\n [ngClass]=\"[componentHeight | toControlHeight]\"\r\n [disabled]=\"isdisabled\"\r\n [readonly]=\"readonly\" />\r\n\r\n <div\r\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\"\r\n class=\"invalid-feedback\">\r\n {{ GetErrorMessage() | async }}\r\n </div>\r\n <div\r\n *ngIf=\"helptextmode === 'text' && helptext\"\r\n class=\"form-text\">\r\n {{ helptext }}\r\n </div>\r\n </div>\r\n\r\n <div\r\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\r\n class=\"form-control-plaintext align-self-top ms-2 me-1 w-auto\"\r\n [ngClass]=\"[componentHeight | toControlHeight]\">\r\n <sac-tooltip\r\n [tooltiptext]=\"helptext\"\r\n [inlinemode]=\"true\">\r\n <span\r\n [ngClass]=\"HelptextTooltipIcon\"\r\n class=\"ml-1\">\r\n </span>\r\n </sac-tooltip>\r\n </div>\r\n </div>\r\n</div>\r\n" }]
1931
+ ], template: "<div\n class=\"row mb-3\"\n [class.g-0]=\"disablelabel\">\n <label\n for=\"{{ name }}\"\n class=\"col-12 col-form-label d-flex\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'visually-hidden', componentHeight | toLabelHeight]\"\n [class.required]=\"isrequired\">\n <div\n class=\"text flex-grow-0\"\n [class.flex-sm-grow-1]=\"splitlabelandhelptext\">\n {{ label }}\n </div>\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [ngClass]=\"HelptextTooltipIcon\"\n class=\"ms-1\">\n </span>\n </sac-tooltip>\n </label>\n <div\n class=\"col-12\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\n [class.d-flex]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\n <div [class.flex-grow-1]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\n <input\n id=\"{{ name }}\"\n name=\"{{ name }}\"\n type=\"password\"\n class=\"form-control\"\n [attr.placeholder]=\"placeholder\"\n [value]=\"value\"\n (blur)=\"onTouch()\"\n (input)=\"setValue($event.target.value)\"\n [attr.maxlength]=\"maxtextlength\"\n autocomplete=\"new-password\"\n [class.is-invalid]=\"invalid && (dirty || touched)\"\n [ngClass]=\"[componentHeight | toControlHeight]\"\n [disabled]=\"isdisabled\"\n [readonly]=\"readonly\" />\n\n <div\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\"\n class=\"invalid-feedback\">\n {{ GetErrorMessage() | async }}\n </div>\n <div\n *ngIf=\"helptextmode === 'text' && helptext\"\n class=\"form-text\">\n {{ helptext }}\n </div>\n </div>\n\n <div\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\n class=\"form-control-plaintext align-self-top ms-2 me-1 w-auto\"\n [ngClass]=\"[componentHeight | toControlHeight]\">\n <sac-tooltip\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [ngClass]=\"HelptextTooltipIcon\"\n class=\"ml-1\">\n </span>\n </sac-tooltip>\n </div>\n </div>\n</div>\n" }]
1932
1932
  }], ctorParameters: function () { return [{ type: SacFormLayoutDirective, decorators: [{
1933
1933
  type: Host
1934
1934
  }, {
@@ -1960,7 +1960,7 @@ class SacInputSearchComponent extends SacInputSearchCommon {
1960
1960
  multi: true,
1961
1961
  useExisting: forwardRef(() => SacInputSearchComponent),
1962
1962
  },
1963
- ], usesInheritance: true, ngImport: i0, template: "<div\r\n class=\"row mb-3\"\r\n [class.g-0]=\"disablelabel\">\r\n <label\r\n id=\"{{ name }}_label\"\r\n for=\"{{ name }}\"\r\n class=\"col-12 col-form-label d-flex\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'visually-hidden', componentHeight | toLabelHeight]\"\r\n [class.required]=\"isrequired\">\r\n <div\r\n class=\"text flex-grow-0\"\r\n [class.flex-sm-grow-1]=\"splitlabelandhelptext\">\r\n {{ label }}\r\n </div>\r\n <sac-tooltip\r\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\r\n [tooltiptext]=\"helptext\"\r\n [inlinemode]=\"true\">\r\n <span\r\n [ngClass]=\"HelptextTooltipIcon\"\r\n class=\"ms-1\">\r\n </span>\r\n </sac-tooltip>\r\n </label>\r\n <div\r\n class=\"col-12\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\r\n [class.d-flex]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\r\n <div [class.flex-grow-1]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\r\n <div\r\n class=\"input-group\"\r\n [class.input-group-sm]=\"componentHeight === ControlHeight.Small\"\r\n [class.input-group-lg]=\"componentHeight === ControlHeight.Large\">\r\n <input\r\n id=\"{{ name }}\"\r\n name=\"{{ name }}\"\r\n type=\"text\"\r\n class=\"form-control\"\r\n [value]=\"value\"\r\n [attr.placeholder]=\"placeholder\"\r\n (blur)=\"onTouch()\"\r\n (input)=\"setValue($event.target.value)\"\r\n [attr.maxlength]=\"maxtextlength\"\r\n [class.is-invalid]=\"invalid && (dirty || touched)\"\r\n [ngClass]=\"[componentHeight | toControlHeight]\"\r\n [disabled]=\"isdisabled\"\r\n [readonly]=\"readonly\" />\r\n <button\r\n type=\"button\"\r\n class=\"btn btn-secondary\"\r\n id=\"{{ name }}_search\"\r\n (click)=\"searchClick()\">\r\n <i\r\n *ngIf=\"buttonmode === 'icon' || buttonmode === 'mixed'\"\r\n [class]=\"iconname\"\r\n [class.me-2]=\"buttonmode === 'mixed'\"></i>\r\n <ng-container *ngIf=\"buttonmode === 'text' || buttonmode === 'mixed'\">{{ buttontext }}</ng-container>\r\n </button>\r\n </div>\r\n <div\r\n *ngIf=\"helptextmode === 'text' && helptext\"\r\n class=\"form-text\">\r\n {{ helptext }}\r\n </div>\r\n </div>\r\n\r\n <div\r\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\r\n class=\"form-control-plaintext align-self-top ms-2 me-1 w-auto\"\r\n [ngClass]=\"[componentHeight | toControlHeight]\">\r\n <sac-tooltip\r\n [tooltiptext]=\"helptext\"\r\n [inlinemode]=\"true\">\r\n <span\r\n [ngClass]=\"HelptextTooltipIcon\"\r\n class=\"ml-1\">\r\n </span>\r\n </sac-tooltip>\r\n </div>\r\n </div>\r\n</div>\r\n", dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: SacToControlWidthCssPipe, name: "toControlWidthCss" }, { kind: "pipe", type: SacToLabelWidthCssPipe, name: "toLabelWidthCss" }, { kind: "pipe", type: SacToLabelHeightPipe, name: "toLabelHeight" }, { kind: "pipe", type: SacToControlHeightPipe, name: "toControlHeight" }, { kind: "component", type: SacTooltipComponent, selector: "sac-tooltip" }] }); }
1963
+ ], usesInheritance: true, ngImport: i0, template: "<div\n class=\"row mb-3\"\n [class.g-0]=\"disablelabel\">\n <label\n id=\"{{ name }}_label\"\n for=\"{{ name }}\"\n class=\"col-12 col-form-label d-flex\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'visually-hidden', componentHeight | toLabelHeight]\"\n [class.required]=\"isrequired\">\n <div\n class=\"text flex-grow-0\"\n [class.flex-sm-grow-1]=\"splitlabelandhelptext\">\n {{ label }}\n </div>\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [ngClass]=\"HelptextTooltipIcon\"\n class=\"ms-1\">\n </span>\n </sac-tooltip>\n </label>\n <div\n class=\"col-12\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\n [class.d-flex]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\n <div [class.flex-grow-1]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\n <div\n class=\"input-group\"\n [class.input-group-sm]=\"componentHeight === ControlHeight.Small\"\n [class.input-group-lg]=\"componentHeight === ControlHeight.Large\">\n <input\n id=\"{{ name }}\"\n name=\"{{ name }}\"\n type=\"text\"\n class=\"form-control\"\n [value]=\"value\"\n [attr.placeholder]=\"placeholder\"\n (blur)=\"onTouch()\"\n (input)=\"setValue($event.target.value)\"\n [attr.maxlength]=\"maxtextlength\"\n [class.is-invalid]=\"invalid && (dirty || touched)\"\n [ngClass]=\"[componentHeight | toControlHeight]\"\n [disabled]=\"isdisabled\"\n [readonly]=\"readonly\" />\n <button\n type=\"button\"\n class=\"btn btn-secondary\"\n id=\"{{ name }}_search\"\n (click)=\"searchClick()\">\n <i\n *ngIf=\"buttonmode === 'icon' || buttonmode === 'mixed'\"\n [class]=\"iconname\"\n [class.me-2]=\"buttonmode === 'mixed'\"></i>\n <ng-container *ngIf=\"buttonmode === 'text' || buttonmode === 'mixed'\">{{ buttontext }}</ng-container>\n </button>\n </div>\n <div\n *ngIf=\"helptextmode === 'text' && helptext\"\n class=\"form-text\">\n {{ helptext }}\n </div>\n </div>\n\n <div\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\n class=\"form-control-plaintext align-self-top ms-2 me-1 w-auto\"\n [ngClass]=\"[componentHeight | toControlHeight]\">\n <sac-tooltip\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [ngClass]=\"HelptextTooltipIcon\"\n class=\"ml-1\">\n </span>\n </sac-tooltip>\n </div>\n </div>\n</div>\n", dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: SacToControlWidthCssPipe, name: "toControlWidthCss" }, { kind: "pipe", type: SacToLabelWidthCssPipe, name: "toLabelWidthCss" }, { kind: "pipe", type: SacToLabelHeightPipe, name: "toLabelHeight" }, { kind: "pipe", type: SacToControlHeightPipe, name: "toControlHeight" }, { kind: "component", type: SacTooltipComponent, selector: "sac-tooltip" }] }); }
1964
1964
  }
1965
1965
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SacInputSearchComponent, decorators: [{
1966
1966
  type: Component,
@@ -1983,7 +1983,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
1983
1983
  SacToLabelHeightPipe,
1984
1984
  SacToControlHeightPipe,
1985
1985
  SacTooltipComponent,
1986
- ], template: "<div\r\n class=\"row mb-3\"\r\n [class.g-0]=\"disablelabel\">\r\n <label\r\n id=\"{{ name }}_label\"\r\n for=\"{{ name }}\"\r\n class=\"col-12 col-form-label d-flex\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'visually-hidden', componentHeight | toLabelHeight]\"\r\n [class.required]=\"isrequired\">\r\n <div\r\n class=\"text flex-grow-0\"\r\n [class.flex-sm-grow-1]=\"splitlabelandhelptext\">\r\n {{ label }}\r\n </div>\r\n <sac-tooltip\r\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\r\n [tooltiptext]=\"helptext\"\r\n [inlinemode]=\"true\">\r\n <span\r\n [ngClass]=\"HelptextTooltipIcon\"\r\n class=\"ms-1\">\r\n </span>\r\n </sac-tooltip>\r\n </label>\r\n <div\r\n class=\"col-12\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\r\n [class.d-flex]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\r\n <div [class.flex-grow-1]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\r\n <div\r\n class=\"input-group\"\r\n [class.input-group-sm]=\"componentHeight === ControlHeight.Small\"\r\n [class.input-group-lg]=\"componentHeight === ControlHeight.Large\">\r\n <input\r\n id=\"{{ name }}\"\r\n name=\"{{ name }}\"\r\n type=\"text\"\r\n class=\"form-control\"\r\n [value]=\"value\"\r\n [attr.placeholder]=\"placeholder\"\r\n (blur)=\"onTouch()\"\r\n (input)=\"setValue($event.target.value)\"\r\n [attr.maxlength]=\"maxtextlength\"\r\n [class.is-invalid]=\"invalid && (dirty || touched)\"\r\n [ngClass]=\"[componentHeight | toControlHeight]\"\r\n [disabled]=\"isdisabled\"\r\n [readonly]=\"readonly\" />\r\n <button\r\n type=\"button\"\r\n class=\"btn btn-secondary\"\r\n id=\"{{ name }}_search\"\r\n (click)=\"searchClick()\">\r\n <i\r\n *ngIf=\"buttonmode === 'icon' || buttonmode === 'mixed'\"\r\n [class]=\"iconname\"\r\n [class.me-2]=\"buttonmode === 'mixed'\"></i>\r\n <ng-container *ngIf=\"buttonmode === 'text' || buttonmode === 'mixed'\">{{ buttontext }}</ng-container>\r\n </button>\r\n </div>\r\n <div\r\n *ngIf=\"helptextmode === 'text' && helptext\"\r\n class=\"form-text\">\r\n {{ helptext }}\r\n </div>\r\n </div>\r\n\r\n <div\r\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\r\n class=\"form-control-plaintext align-self-top ms-2 me-1 w-auto\"\r\n [ngClass]=\"[componentHeight | toControlHeight]\">\r\n <sac-tooltip\r\n [tooltiptext]=\"helptext\"\r\n [inlinemode]=\"true\">\r\n <span\r\n [ngClass]=\"HelptextTooltipIcon\"\r\n class=\"ml-1\">\r\n </span>\r\n </sac-tooltip>\r\n </div>\r\n </div>\r\n</div>\r\n" }]
1986
+ ], template: "<div\n class=\"row mb-3\"\n [class.g-0]=\"disablelabel\">\n <label\n id=\"{{ name }}_label\"\n for=\"{{ name }}\"\n class=\"col-12 col-form-label d-flex\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'visually-hidden', componentHeight | toLabelHeight]\"\n [class.required]=\"isrequired\">\n <div\n class=\"text flex-grow-0\"\n [class.flex-sm-grow-1]=\"splitlabelandhelptext\">\n {{ label }}\n </div>\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [ngClass]=\"HelptextTooltipIcon\"\n class=\"ms-1\">\n </span>\n </sac-tooltip>\n </label>\n <div\n class=\"col-12\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\n [class.d-flex]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\n <div [class.flex-grow-1]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\n <div\n class=\"input-group\"\n [class.input-group-sm]=\"componentHeight === ControlHeight.Small\"\n [class.input-group-lg]=\"componentHeight === ControlHeight.Large\">\n <input\n id=\"{{ name }}\"\n name=\"{{ name }}\"\n type=\"text\"\n class=\"form-control\"\n [value]=\"value\"\n [attr.placeholder]=\"placeholder\"\n (blur)=\"onTouch()\"\n (input)=\"setValue($event.target.value)\"\n [attr.maxlength]=\"maxtextlength\"\n [class.is-invalid]=\"invalid && (dirty || touched)\"\n [ngClass]=\"[componentHeight | toControlHeight]\"\n [disabled]=\"isdisabled\"\n [readonly]=\"readonly\" />\n <button\n type=\"button\"\n class=\"btn btn-secondary\"\n id=\"{{ name }}_search\"\n (click)=\"searchClick()\">\n <i\n *ngIf=\"buttonmode === 'icon' || buttonmode === 'mixed'\"\n [class]=\"iconname\"\n [class.me-2]=\"buttonmode === 'mixed'\"></i>\n <ng-container *ngIf=\"buttonmode === 'text' || buttonmode === 'mixed'\">{{ buttontext }}</ng-container>\n </button>\n </div>\n <div\n *ngIf=\"helptextmode === 'text' && helptext\"\n class=\"form-text\">\n {{ helptext }}\n </div>\n </div>\n\n <div\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\n class=\"form-control-plaintext align-self-top ms-2 me-1 w-auto\"\n [ngClass]=\"[componentHeight | toControlHeight]\">\n <sac-tooltip\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [ngClass]=\"HelptextTooltipIcon\"\n class=\"ml-1\">\n </span>\n </sac-tooltip>\n </div>\n </div>\n</div>\n" }]
1987
1987
  }], ctorParameters: function () { return [{ type: SacFormLayoutDirective, decorators: [{
1988
1988
  type: Host
1989
1989
  }, {
@@ -2070,7 +2070,7 @@ class SacDropdownComponent extends SacDropdownCommon {
2070
2070
  multi: true,
2071
2071
  useExisting: forwardRef(() => SacDropdownComponent),
2072
2072
  },
2073
- ], usesInheritance: true, ngImport: i0, template: "<div\r\n class=\"row mb-3\"\r\n [class.g-0]=\"disablelabel\">\r\n <label\r\n for=\"{{ name }}\"\r\n class=\"col-12 col-form-label d-flex\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'visually-hidden', componentHeight | toLabelHeight]\"\r\n [class.required]=\"isrequired\">\r\n <div\r\n class=\"text flex-grow-0\"\r\n [class.flex-sm-grow-1]=\"splitlabelandhelptext\">\r\n {{ label }}\r\n </div>\r\n <sac-tooltip\r\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\r\n [tooltiptext]=\"helptext\"\r\n [inlinemode]=\"true\">\r\n <span\r\n [ngClass]=\"HelptextTooltipIcon\"\r\n class=\"ms-1\">\r\n </span>\r\n </sac-tooltip>\r\n </label>\r\n <div\r\n class=\"col-12\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\r\n [class.d-flex]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\r\n <div [class.flex-grow-1]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\r\n <select\r\n #dropdownitem\r\n id=\"{{ name }}\"\r\n name=\"{{ name }}\"\r\n class=\"form-select\"\r\n [class.form-select-sm]=\"componentHeight === ControlHeight.Small\"\r\n [class.form-select-lg]=\"componentHeight === ControlHeight.Large\"\r\n [ngClass]=\"{ 'is-invalid': invalid && (dirty || touched) }\"\r\n (blur)=\"onTouch()\"\r\n (change)=\"setValue(dropdownitem.value)\"\r\n [disabled]=\"isdisabled\">\r\n <option\r\n *ngIf=\"emptylabel !== ''\"\r\n [ngValue]=\"emptyvalue\">\r\n {{ emptylabel }}\r\n </option>\r\n\r\n <ng-content></ng-content>\r\n\r\n <ng-container *ngIf=\"groupitems === ''\">\r\n <option\r\n *ngFor=\"let item of options\"\r\n [ngValue]=\"optionvalue ? item[optionvalue] : item\"\r\n [disabled]=\"optionenabled !== '' && item[optionenabled] === false\">\r\n <ng-template *ngTemplateOutlet=\"optionlabeltemplate || defaultItemLabelTemplate; context: { label: item[optionlabel], item: item }\"> </ng-template>\r\n </option>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"groupitems !== ''\">\r\n <optgroup\r\n *ngFor=\"let group of options\"\r\n [attr.label]=\"group[grouplabel]\">\r\n <option\r\n *ngFor=\"let item of group[groupitems]\"\r\n [ngValue]=\"optionvalue ? item[optionvalue] : item\"\r\n [disabled]=\"optionenabled !== '' && item[optionenabled] === false\">\r\n <ng-template *ngTemplateOutlet=\"optionlabeltemplate || defaultItemLabelTemplate; context: { label: item[optionlabel], item: item }\"> </ng-template>\r\n </option>\r\n </optgroup>\r\n </ng-container>\r\n </select>\r\n <div\r\n class=\"invalid-feedback\"\r\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\">\r\n {{ GetErrorMessage() | async }}\r\n </div>\r\n <div\r\n *ngIf=\"helptextmode === 'text' && helptext\"\r\n class=\"form-text\">\r\n {{ helptext }}\r\n </div>\r\n </div>\r\n\r\n <div\r\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\r\n class=\"form-control-plaintext align-self-top ms-2 me-1 w-auto\"\r\n [ngClass]=\"[componentHeight | toControlHeight]\">\r\n <sac-tooltip\r\n [tooltiptext]=\"helptext\"\r\n [inlinemode]=\"true\">\r\n <span\r\n [ngClass]=\"HelptextTooltipIcon\"\r\n class=\"ml-1\">\r\n </span>\r\n </sac-tooltip>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n<ng-template\r\n #defaultItemLabelTemplate\r\n let-label=\"label\">\r\n {{ label }}\r\n</ng-template>\r\n", dependencies: [{ kind: "directive", type: i0.forwardRef(function () { return NgClass; }), selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i0.forwardRef(function () { return NgIf; }), selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i0.forwardRef(function () { return SacDropdownOptionDirective; }), selector: "[sacOption],option" }, { kind: "directive", type: i0.forwardRef(function () { return NgFor; }), selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i0.forwardRef(function () { return NgTemplateOutlet; }), selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "pipe", type: i0.forwardRef(function () { return AsyncPipe; }), name: "async" }, { kind: "pipe", type: i0.forwardRef(function () { return SacToControlWidthCssPipe; }), name: "toControlWidthCss" }, { kind: "pipe", type: i0.forwardRef(function () { return SacToLabelWidthCssPipe; }), name: "toLabelWidthCss" }, { kind: "pipe", type: i0.forwardRef(function () { return SacToLabelHeightPipe; }), name: "toLabelHeight" }, { kind: "component", type: i0.forwardRef(function () { return SacTooltipComponent; }), selector: "sac-tooltip" }, { kind: "pipe", type: i0.forwardRef(function () { return SacToControlHeightPipe; }), name: "toControlHeight" }] }); }
2073
+ ], usesInheritance: true, ngImport: i0, template: "<div\n class=\"row mb-3\"\n [class.g-0]=\"disablelabel\">\n <label\n for=\"{{ name }}\"\n class=\"col-12 col-form-label d-flex\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'visually-hidden', componentHeight | toLabelHeight]\"\n [class.required]=\"isrequired\">\n <div\n class=\"text flex-grow-0\"\n [class.flex-sm-grow-1]=\"splitlabelandhelptext\">\n {{ label }}\n </div>\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [ngClass]=\"HelptextTooltipIcon\"\n class=\"ms-1\">\n </span>\n </sac-tooltip>\n </label>\n <div\n class=\"col-12\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\n [class.d-flex]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\n <div [class.flex-grow-1]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\n <select\n #dropdownitem\n id=\"{{ name }}\"\n name=\"{{ name }}\"\n class=\"form-select\"\n [class.form-select-sm]=\"componentHeight === ControlHeight.Small\"\n [class.form-select-lg]=\"componentHeight === ControlHeight.Large\"\n [ngClass]=\"{ '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 }}\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 <div\n class=\"invalid-feedback\"\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\">\n {{ GetErrorMessage() | async }}\n </div>\n <div\n *ngIf=\"helptextmode === 'text' && helptext\"\n class=\"form-text\">\n {{ helptext }}\n </div>\n </div>\n\n <div\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\n class=\"form-control-plaintext align-self-top ms-2 me-1 w-auto\"\n [ngClass]=\"[componentHeight | toControlHeight]\">\n <sac-tooltip\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [ngClass]=\"HelptextTooltipIcon\"\n class=\"ml-1\">\n </span>\n </sac-tooltip>\n </div>\n </div>\n</div>\n\n<ng-template\n #defaultItemLabelTemplate\n let-label=\"label\">\n {{ label }}\n</ng-template>\n", dependencies: [{ kind: "directive", type: i0.forwardRef(function () { return NgClass; }), selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i0.forwardRef(function () { return NgIf; }), selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i0.forwardRef(function () { return SacDropdownOptionDirective; }), selector: "[sacOption],option" }, { kind: "directive", type: i0.forwardRef(function () { return NgFor; }), selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i0.forwardRef(function () { return NgTemplateOutlet; }), selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "pipe", type: i0.forwardRef(function () { return AsyncPipe; }), name: "async" }, { kind: "pipe", type: i0.forwardRef(function () { return SacToControlWidthCssPipe; }), name: "toControlWidthCss" }, { kind: "pipe", type: i0.forwardRef(function () { return SacToLabelWidthCssPipe; }), name: "toLabelWidthCss" }, { kind: "pipe", type: i0.forwardRef(function () { return SacToLabelHeightPipe; }), name: "toLabelHeight" }, { kind: "component", type: i0.forwardRef(function () { return SacTooltipComponent; }), selector: "sac-tooltip" }, { kind: "pipe", type: i0.forwardRef(function () { return SacToControlHeightPipe; }), name: "toControlHeight" }] }); }
2074
2074
  }
2075
2075
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SacDropdownComponent, decorators: [{
2076
2076
  type: Component,
@@ -2097,7 +2097,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
2097
2097
  SacToLabelHeightPipe,
2098
2098
  SacTooltipComponent,
2099
2099
  SacToControlHeightPipe,
2100
- ], template: "<div\r\n class=\"row mb-3\"\r\n [class.g-0]=\"disablelabel\">\r\n <label\r\n for=\"{{ name }}\"\r\n class=\"col-12 col-form-label d-flex\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'visually-hidden', componentHeight | toLabelHeight]\"\r\n [class.required]=\"isrequired\">\r\n <div\r\n class=\"text flex-grow-0\"\r\n [class.flex-sm-grow-1]=\"splitlabelandhelptext\">\r\n {{ label }}\r\n </div>\r\n <sac-tooltip\r\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\r\n [tooltiptext]=\"helptext\"\r\n [inlinemode]=\"true\">\r\n <span\r\n [ngClass]=\"HelptextTooltipIcon\"\r\n class=\"ms-1\">\r\n </span>\r\n </sac-tooltip>\r\n </label>\r\n <div\r\n class=\"col-12\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\r\n [class.d-flex]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\r\n <div [class.flex-grow-1]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\r\n <select\r\n #dropdownitem\r\n id=\"{{ name }}\"\r\n name=\"{{ name }}\"\r\n class=\"form-select\"\r\n [class.form-select-sm]=\"componentHeight === ControlHeight.Small\"\r\n [class.form-select-lg]=\"componentHeight === ControlHeight.Large\"\r\n [ngClass]=\"{ 'is-invalid': invalid && (dirty || touched) }\"\r\n (blur)=\"onTouch()\"\r\n (change)=\"setValue(dropdownitem.value)\"\r\n [disabled]=\"isdisabled\">\r\n <option\r\n *ngIf=\"emptylabel !== ''\"\r\n [ngValue]=\"emptyvalue\">\r\n {{ emptylabel }}\r\n </option>\r\n\r\n <ng-content></ng-content>\r\n\r\n <ng-container *ngIf=\"groupitems === ''\">\r\n <option\r\n *ngFor=\"let item of options\"\r\n [ngValue]=\"optionvalue ? item[optionvalue] : item\"\r\n [disabled]=\"optionenabled !== '' && item[optionenabled] === false\">\r\n <ng-template *ngTemplateOutlet=\"optionlabeltemplate || defaultItemLabelTemplate; context: { label: item[optionlabel], item: item }\"> </ng-template>\r\n </option>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"groupitems !== ''\">\r\n <optgroup\r\n *ngFor=\"let group of options\"\r\n [attr.label]=\"group[grouplabel]\">\r\n <option\r\n *ngFor=\"let item of group[groupitems]\"\r\n [ngValue]=\"optionvalue ? item[optionvalue] : item\"\r\n [disabled]=\"optionenabled !== '' && item[optionenabled] === false\">\r\n <ng-template *ngTemplateOutlet=\"optionlabeltemplate || defaultItemLabelTemplate; context: { label: item[optionlabel], item: item }\"> </ng-template>\r\n </option>\r\n </optgroup>\r\n </ng-container>\r\n </select>\r\n <div\r\n class=\"invalid-feedback\"\r\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\">\r\n {{ GetErrorMessage() | async }}\r\n </div>\r\n <div\r\n *ngIf=\"helptextmode === 'text' && helptext\"\r\n class=\"form-text\">\r\n {{ helptext }}\r\n </div>\r\n </div>\r\n\r\n <div\r\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\r\n class=\"form-control-plaintext align-self-top ms-2 me-1 w-auto\"\r\n [ngClass]=\"[componentHeight | toControlHeight]\">\r\n <sac-tooltip\r\n [tooltiptext]=\"helptext\"\r\n [inlinemode]=\"true\">\r\n <span\r\n [ngClass]=\"HelptextTooltipIcon\"\r\n class=\"ml-1\">\r\n </span>\r\n </sac-tooltip>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n<ng-template\r\n #defaultItemLabelTemplate\r\n let-label=\"label\">\r\n {{ label }}\r\n</ng-template>\r\n" }]
2100
+ ], template: "<div\n class=\"row mb-3\"\n [class.g-0]=\"disablelabel\">\n <label\n for=\"{{ name }}\"\n class=\"col-12 col-form-label d-flex\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'visually-hidden', componentHeight | toLabelHeight]\"\n [class.required]=\"isrequired\">\n <div\n class=\"text flex-grow-0\"\n [class.flex-sm-grow-1]=\"splitlabelandhelptext\">\n {{ label }}\n </div>\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [ngClass]=\"HelptextTooltipIcon\"\n class=\"ms-1\">\n </span>\n </sac-tooltip>\n </label>\n <div\n class=\"col-12\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\n [class.d-flex]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\n <div [class.flex-grow-1]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\n <select\n #dropdownitem\n id=\"{{ name }}\"\n name=\"{{ name }}\"\n class=\"form-select\"\n [class.form-select-sm]=\"componentHeight === ControlHeight.Small\"\n [class.form-select-lg]=\"componentHeight === ControlHeight.Large\"\n [ngClass]=\"{ '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 }}\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 <div\n class=\"invalid-feedback\"\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\">\n {{ GetErrorMessage() | async }}\n </div>\n <div\n *ngIf=\"helptextmode === 'text' && helptext\"\n class=\"form-text\">\n {{ helptext }}\n </div>\n </div>\n\n <div\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\n class=\"form-control-plaintext align-self-top ms-2 me-1 w-auto\"\n [ngClass]=\"[componentHeight | toControlHeight]\">\n <sac-tooltip\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [ngClass]=\"HelptextTooltipIcon\"\n class=\"ml-1\">\n </span>\n </sac-tooltip>\n </div>\n </div>\n</div>\n\n<ng-template\n #defaultItemLabelTemplate\n let-label=\"label\">\n {{ label }}\n</ng-template>\n" }]
2101
2101
  }], ctorParameters: function () { return [{ type: SacFormLayoutDirective, decorators: [{
2102
2102
  type: Host
2103
2103
  }, {
@@ -2174,7 +2174,7 @@ class SacListboxComponent extends SacListboxCommon {
2174
2174
  multi: true,
2175
2175
  useExisting: forwardRef(() => SacListboxComponent),
2176
2176
  },
2177
- ], usesInheritance: true, ngImport: i0, template: "<div\r\n class=\"row mb-3\"\r\n [class.g-0]=\"disablelabel\">\r\n <label\r\n for=\"{{ name }}\"\r\n class=\"col-12 col-form-label d-flex\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'visually-hidden', componentHeight | toLabelHeight]\"\r\n [class.required]=\"isrequired\">\r\n <div\r\n class=\"text flex-grow-0\"\r\n [class.flex-sm-grow-1]=\"splitlabelandhelptext\">\r\n {{ label }}\r\n </div>\r\n <sac-tooltip\r\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\r\n [tooltiptext]=\"helptext\"\r\n [inlinemode]=\"true\"\r\n ><span\r\n [ngClass]=\"HelptextTooltipIcon\"\r\n class=\"ms-1\">\r\n </span>\r\n </sac-tooltip>\r\n </label>\r\n <div\r\n class=\"col-12\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\r\n [class.d-flex]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\r\n <div [class.flex-grow-1]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\r\n <select\r\n multiple\r\n id=\"{{ name }}\"\r\n name=\"{{ name }}\"\r\n class=\"form-select\"\r\n [class.form-select-sm]=\"componentHeight === ControlHeight.Small\"\r\n [class.form-select-lg]=\"componentHeight === ControlHeight.Large\"\r\n [size]=\"rowsize\"\r\n [ngClass]=\"{ 'is-invalid': invalid && (dirty || touched) }\"\r\n (blur)=\"onTouch()\"\r\n (change)=\"getSelectedItems($event.target)\"\r\n [disabled]=\"isdisabled\">\r\n <ng-content></ng-content>\r\n <ng-container *ngIf=\"groupitems === ''\">\r\n <option\r\n *ngFor=\"let option of options\"\r\n [value]=\"option[optionvalue]\"\r\n [disabled]=\"optionenabled !== '' && option[optionenabled] === false\">\r\n {{ option[optionlabel] }}\r\n </option>\r\n </ng-container>\r\n <ng-container *ngIf=\"groupitems !== ''\">\r\n <optgroup\r\n *ngFor=\"let option of options\"\r\n [attr.label]=\"option[grouplabel]\">\r\n <option\r\n *ngFor=\"let item of option[groupitems]\"\r\n [value]=\"item[optionvalue]\"\r\n [disabled]=\"optionenabled !== '' && item[optionenabled] === false\">\r\n {{ item[optionlabel] }}\r\n </option>\r\n </optgroup>\r\n </ng-container>\r\n </select>\r\n <div\r\n class=\"invalid-feedback\"\r\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\">\r\n {{ GetErrorMessage() | async }}\r\n </div>\r\n <div\r\n *ngIf=\"helptextmode === 'text' && helptext\"\r\n class=\"form-text\">\r\n {{ helptext }}\r\n </div>\r\n </div>\r\n\r\n <div\r\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\r\n class=\"form-control-plaintext align-self-top ms-2 me-1 w-auto\"\r\n [ngClass]=\"[componentHeight | toControlHeight]\">\r\n <sac-tooltip\r\n [tooltiptext]=\"helptext\"\r\n [inlinemode]=\"true\">\r\n <span\r\n [ngClass]=\"HelptextTooltipIcon\"\r\n class=\"ml-1\">\r\n </span>\r\n </sac-tooltip>\r\n </div>\r\n </div>\r\n</div>\r\n", dependencies: [{ kind: "directive", type: i0.forwardRef(function () { return NgClass; }), selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i0.forwardRef(function () { return NgIf; }), selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i0.forwardRef(function () { return NgFor; }), selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "pipe", type: i0.forwardRef(function () { return AsyncPipe; }), name: "async" }, { kind: "directive", type: i0.forwardRef(function () { return SacListboxOptionDirective; }), selector: "[sacOption],option" }, { kind: "pipe", type: i0.forwardRef(function () { return SacToControlWidthCssPipe; }), name: "toControlWidthCss" }, { kind: "pipe", type: i0.forwardRef(function () { return SacToLabelWidthCssPipe; }), name: "toLabelWidthCss" }, { kind: "pipe", type: i0.forwardRef(function () { return SacToLabelHeightPipe; }), name: "toLabelHeight" }, { kind: "component", type: i0.forwardRef(function () { return SacTooltipComponent; }), selector: "sac-tooltip" }, { kind: "pipe", type: i0.forwardRef(function () { return SacToControlHeightPipe; }), name: "toControlHeight" }] }); }
2177
+ ], usesInheritance: true, ngImport: i0, template: "<div\n class=\"row mb-3\"\n [class.g-0]=\"disablelabel\">\n <label\n for=\"{{ name }}\"\n class=\"col-12 col-form-label d-flex\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'visually-hidden', componentHeight | toLabelHeight]\"\n [class.required]=\"isrequired\">\n <div\n class=\"text flex-grow-0\"\n [class.flex-sm-grow-1]=\"splitlabelandhelptext\">\n {{ label }}\n </div>\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\"\n ><span\n [ngClass]=\"HelptextTooltipIcon\"\n class=\"ms-1\">\n </span>\n </sac-tooltip>\n </label>\n <div\n class=\"col-12\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\n [class.d-flex]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\n <div [class.flex-grow-1]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\n <select\n multiple\n id=\"{{ name }}\"\n name=\"{{ name }}\"\n class=\"form-select\"\n [class.form-select-sm]=\"componentHeight === ControlHeight.Small\"\n [class.form-select-lg]=\"componentHeight === ControlHeight.Large\"\n [size]=\"rowsize\"\n [ngClass]=\"{ 'is-invalid': invalid && (dirty || touched) }\"\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 {{ option[optionlabel] }}\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 {{ item[optionlabel] }}\n </option>\n </optgroup>\n </ng-container>\n </select>\n <div\n class=\"invalid-feedback\"\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\">\n {{ GetErrorMessage() | async }}\n </div>\n <div\n *ngIf=\"helptextmode === 'text' && helptext\"\n class=\"form-text\">\n {{ helptext }}\n </div>\n </div>\n\n <div\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\n class=\"form-control-plaintext align-self-top ms-2 me-1 w-auto\"\n [ngClass]=\"[componentHeight | toControlHeight]\">\n <sac-tooltip\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [ngClass]=\"HelptextTooltipIcon\"\n class=\"ml-1\">\n </span>\n </sac-tooltip>\n </div>\n </div>\n</div>\n", dependencies: [{ kind: "directive", type: i0.forwardRef(function () { return NgClass; }), selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i0.forwardRef(function () { return NgIf; }), selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i0.forwardRef(function () { return NgFor; }), selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "pipe", type: i0.forwardRef(function () { return AsyncPipe; }), name: "async" }, { kind: "directive", type: i0.forwardRef(function () { return SacListboxOptionDirective; }), selector: "[sacOption],option" }, { kind: "pipe", type: i0.forwardRef(function () { return SacToControlWidthCssPipe; }), name: "toControlWidthCss" }, { kind: "pipe", type: i0.forwardRef(function () { return SacToLabelWidthCssPipe; }), name: "toLabelWidthCss" }, { kind: "pipe", type: i0.forwardRef(function () { return SacToLabelHeightPipe; }), name: "toLabelHeight" }, { kind: "component", type: i0.forwardRef(function () { return SacTooltipComponent; }), selector: "sac-tooltip" }, { kind: "pipe", type: i0.forwardRef(function () { return SacToControlHeightPipe; }), name: "toControlHeight" }] }); }
2178
2178
  }
2179
2179
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SacListboxComponent, decorators: [{
2180
2180
  type: Component,
@@ -2200,7 +2200,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
2200
2200
  SacToLabelHeightPipe,
2201
2201
  SacTooltipComponent,
2202
2202
  SacToControlHeightPipe,
2203
- ], template: "<div\r\n class=\"row mb-3\"\r\n [class.g-0]=\"disablelabel\">\r\n <label\r\n for=\"{{ name }}\"\r\n class=\"col-12 col-form-label d-flex\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'visually-hidden', componentHeight | toLabelHeight]\"\r\n [class.required]=\"isrequired\">\r\n <div\r\n class=\"text flex-grow-0\"\r\n [class.flex-sm-grow-1]=\"splitlabelandhelptext\">\r\n {{ label }}\r\n </div>\r\n <sac-tooltip\r\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\r\n [tooltiptext]=\"helptext\"\r\n [inlinemode]=\"true\"\r\n ><span\r\n [ngClass]=\"HelptextTooltipIcon\"\r\n class=\"ms-1\">\r\n </span>\r\n </sac-tooltip>\r\n </label>\r\n <div\r\n class=\"col-12\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\r\n [class.d-flex]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\r\n <div [class.flex-grow-1]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\r\n <select\r\n multiple\r\n id=\"{{ name }}\"\r\n name=\"{{ name }}\"\r\n class=\"form-select\"\r\n [class.form-select-sm]=\"componentHeight === ControlHeight.Small\"\r\n [class.form-select-lg]=\"componentHeight === ControlHeight.Large\"\r\n [size]=\"rowsize\"\r\n [ngClass]=\"{ 'is-invalid': invalid && (dirty || touched) }\"\r\n (blur)=\"onTouch()\"\r\n (change)=\"getSelectedItems($event.target)\"\r\n [disabled]=\"isdisabled\">\r\n <ng-content></ng-content>\r\n <ng-container *ngIf=\"groupitems === ''\">\r\n <option\r\n *ngFor=\"let option of options\"\r\n [value]=\"option[optionvalue]\"\r\n [disabled]=\"optionenabled !== '' && option[optionenabled] === false\">\r\n {{ option[optionlabel] }}\r\n </option>\r\n </ng-container>\r\n <ng-container *ngIf=\"groupitems !== ''\">\r\n <optgroup\r\n *ngFor=\"let option of options\"\r\n [attr.label]=\"option[grouplabel]\">\r\n <option\r\n *ngFor=\"let item of option[groupitems]\"\r\n [value]=\"item[optionvalue]\"\r\n [disabled]=\"optionenabled !== '' && item[optionenabled] === false\">\r\n {{ item[optionlabel] }}\r\n </option>\r\n </optgroup>\r\n </ng-container>\r\n </select>\r\n <div\r\n class=\"invalid-feedback\"\r\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\">\r\n {{ GetErrorMessage() | async }}\r\n </div>\r\n <div\r\n *ngIf=\"helptextmode === 'text' && helptext\"\r\n class=\"form-text\">\r\n {{ helptext }}\r\n </div>\r\n </div>\r\n\r\n <div\r\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\r\n class=\"form-control-plaintext align-self-top ms-2 me-1 w-auto\"\r\n [ngClass]=\"[componentHeight | toControlHeight]\">\r\n <sac-tooltip\r\n [tooltiptext]=\"helptext\"\r\n [inlinemode]=\"true\">\r\n <span\r\n [ngClass]=\"HelptextTooltipIcon\"\r\n class=\"ml-1\">\r\n </span>\r\n </sac-tooltip>\r\n </div>\r\n </div>\r\n</div>\r\n" }]
2203
+ ], template: "<div\n class=\"row mb-3\"\n [class.g-0]=\"disablelabel\">\n <label\n for=\"{{ name }}\"\n class=\"col-12 col-form-label d-flex\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'visually-hidden', componentHeight | toLabelHeight]\"\n [class.required]=\"isrequired\">\n <div\n class=\"text flex-grow-0\"\n [class.flex-sm-grow-1]=\"splitlabelandhelptext\">\n {{ label }}\n </div>\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\"\n ><span\n [ngClass]=\"HelptextTooltipIcon\"\n class=\"ms-1\">\n </span>\n </sac-tooltip>\n </label>\n <div\n class=\"col-12\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\n [class.d-flex]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\n <div [class.flex-grow-1]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\n <select\n multiple\n id=\"{{ name }}\"\n name=\"{{ name }}\"\n class=\"form-select\"\n [class.form-select-sm]=\"componentHeight === ControlHeight.Small\"\n [class.form-select-lg]=\"componentHeight === ControlHeight.Large\"\n [size]=\"rowsize\"\n [ngClass]=\"{ 'is-invalid': invalid && (dirty || touched) }\"\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 {{ option[optionlabel] }}\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 {{ item[optionlabel] }}\n </option>\n </optgroup>\n </ng-container>\n </select>\n <div\n class=\"invalid-feedback\"\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\">\n {{ GetErrorMessage() | async }}\n </div>\n <div\n *ngIf=\"helptextmode === 'text' && helptext\"\n class=\"form-text\">\n {{ helptext }}\n </div>\n </div>\n\n <div\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\n class=\"form-control-plaintext align-self-top ms-2 me-1 w-auto\"\n [ngClass]=\"[componentHeight | toControlHeight]\">\n <sac-tooltip\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [ngClass]=\"HelptextTooltipIcon\"\n class=\"ml-1\">\n </span>\n </sac-tooltip>\n </div>\n </div>\n</div>\n" }]
2204
2204
  }], ctorParameters: function () { return [{ type: SacFormLayoutDirective, decorators: [{
2205
2205
  type: Host
2206
2206
  }, {
@@ -2336,7 +2336,7 @@ class SacMultilanguagemenuComponent extends SacContextmenuCommon {
2336
2336
  provide: SacContextmenuCommon,
2337
2337
  useExisting: forwardRef(() => SacMultilanguagemenuComponent),
2338
2338
  },
2339
- ], usesInheritance: true, ngImport: i0, template: "<ng-container\r\n [ngTemplateOutlet]=\"inputtemplate || defaultInputTemplate\"\r\n></ng-container>\r\n<ng-container\r\n [ngTemplateOutlet]=\"buttontemplate || defaultButtonTemplate\"\r\n></ng-container>\r\n<ng-container\r\n [ngTemplateOutlet]=\"validationtemplate || defaultValidationTemplate\"\r\n></ng-container>\r\n\r\n<ul\r\n class=\"dropdown-menu dropdown-menu-right\"\r\n sacMultilanguageMenuContainer\r\n [class.show]=\"isopen\"\r\n>\r\n <ng-content></ng-content>\r\n</ul>\r\n\r\n<ng-template #defaultButtonTemplate>\r\n <button\r\n sacMultilanguageMenuAnchor\r\n class=\"btn btn-secondary dropdown-toggle\"\r\n type=\"button\"\r\n (click)=\"toggle()\"\r\n ></button>\r\n</ng-template>\r\n\r\n<ng-template #defaultInputTemplate>\r\n <input type=\"text\" class=\"form-control\" />\r\n</ng-template>\r\n\r\n<ng-template #defaultValidationTemplate></ng-template>\r\n", dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: SacMultilanguagemenuContainerDirective, selector: "[sacMultilanguageMenuContainer]" }, { kind: "directive", type: SacMultilanguagemenuAnchorDirective, selector: "[sacMultilanguageMenuAnchor]" }] }); }
2339
+ ], usesInheritance: true, ngImport: i0, template: "<ng-container\n [ngTemplateOutlet]=\"inputtemplate || defaultInputTemplate\"\n></ng-container>\n<ng-container\n [ngTemplateOutlet]=\"buttontemplate || defaultButtonTemplate\"\n></ng-container>\n<ng-container\n [ngTemplateOutlet]=\"validationtemplate || defaultValidationTemplate\"\n></ng-container>\n\n<ul\n class=\"dropdown-menu dropdown-menu-right\"\n sacMultilanguageMenuContainer\n [class.show]=\"isopen\"\n>\n <ng-content></ng-content>\n</ul>\n\n<ng-template #defaultButtonTemplate>\n <button\n sacMultilanguageMenuAnchor\n class=\"btn btn-secondary dropdown-toggle\"\n type=\"button\"\n (click)=\"toggle()\"\n ></button>\n</ng-template>\n\n<ng-template #defaultInputTemplate>\n <input type=\"text\" class=\"form-control\" />\n</ng-template>\n\n<ng-template #defaultValidationTemplate></ng-template>\n", dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: SacMultilanguagemenuContainerDirective, selector: "[sacMultilanguageMenuContainer]" }, { kind: "directive", type: SacMultilanguagemenuAnchorDirective, selector: "[sacMultilanguageMenuAnchor]" }] }); }
2340
2340
  }
2341
2341
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SacMultilanguagemenuComponent, decorators: [{
2342
2342
  type: Component,
@@ -2349,7 +2349,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
2349
2349
  NgTemplateOutlet,
2350
2350
  SacMultilanguagemenuContainerDirective,
2351
2351
  SacMultilanguagemenuAnchorDirective,
2352
- ], template: "<ng-container\r\n [ngTemplateOutlet]=\"inputtemplate || defaultInputTemplate\"\r\n></ng-container>\r\n<ng-container\r\n [ngTemplateOutlet]=\"buttontemplate || defaultButtonTemplate\"\r\n></ng-container>\r\n<ng-container\r\n [ngTemplateOutlet]=\"validationtemplate || defaultValidationTemplate\"\r\n></ng-container>\r\n\r\n<ul\r\n class=\"dropdown-menu dropdown-menu-right\"\r\n sacMultilanguageMenuContainer\r\n [class.show]=\"isopen\"\r\n>\r\n <ng-content></ng-content>\r\n</ul>\r\n\r\n<ng-template #defaultButtonTemplate>\r\n <button\r\n sacMultilanguageMenuAnchor\r\n class=\"btn btn-secondary dropdown-toggle\"\r\n type=\"button\"\r\n (click)=\"toggle()\"\r\n ></button>\r\n</ng-template>\r\n\r\n<ng-template #defaultInputTemplate>\r\n <input type=\"text\" class=\"form-control\" />\r\n</ng-template>\r\n\r\n<ng-template #defaultValidationTemplate></ng-template>\r\n" }]
2352
+ ], template: "<ng-container\n [ngTemplateOutlet]=\"inputtemplate || defaultInputTemplate\"\n></ng-container>\n<ng-container\n [ngTemplateOutlet]=\"buttontemplate || defaultButtonTemplate\"\n></ng-container>\n<ng-container\n [ngTemplateOutlet]=\"validationtemplate || defaultValidationTemplate\"\n></ng-container>\n\n<ul\n class=\"dropdown-menu dropdown-menu-right\"\n sacMultilanguageMenuContainer\n [class.show]=\"isopen\"\n>\n <ng-content></ng-content>\n</ul>\n\n<ng-template #defaultButtonTemplate>\n <button\n sacMultilanguageMenuAnchor\n class=\"btn btn-secondary dropdown-toggle\"\n type=\"button\"\n (click)=\"toggle()\"\n ></button>\n</ng-template>\n\n<ng-template #defaultInputTemplate>\n <input type=\"text\" class=\"form-control\" />\n</ng-template>\n\n<ng-template #defaultValidationTemplate></ng-template>\n" }]
2353
2353
  }], ctorParameters: function () { return [{ type: undefined, decorators: [{
2354
2354
  type: Inject,
2355
2355
  args: [DOCUMENT]
@@ -2376,7 +2376,7 @@ class SacMultilanguagemenuItemButtonComponent extends SacContextmenuItemButtonCo
2376
2376
  provide: SacContextmenuItemCommon,
2377
2377
  useExisting: forwardRef(() => SacMultilanguagemenuItemButtonComponent),
2378
2378
  },
2379
- ], usesInheritance: true, ngImport: i0, template: "<li>\r\n <button\r\n type=\"button\"\r\n class=\"dropdown-item\"\r\n (click)=\"callaction($event)\"\r\n [class.disabled]=\"isdisabled\"\r\n [class]=\"cssclass\"\r\n [attr.disabled]=\"isdisabled ? 'disabled' : null\"\r\n >\r\n <div class=\"d-flex\">\r\n <div *ngIf=\"!isicondisabled\" style=\"min-width: 1.5rem\">\r\n <img *ngIf=\"image\" [src]=\"image\" class=\"align-baseline\" />\r\n <i *ngIf=\"icon\" [class]=\"iconstyle + ' ' + icon\"></i>\r\n </div>\r\n <div class=\"flex-grow-1\">{{ text }}</div>\r\n </div>\r\n </button>\r\n</li>\r\n", dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] }); }
2379
+ ], usesInheritance: true, ngImport: i0, template: "<li>\n <button\n type=\"button\"\n class=\"dropdown-item\"\n (click)=\"callaction($event)\"\n [class.disabled]=\"isdisabled\"\n [class]=\"cssclass\"\n [attr.disabled]=\"isdisabled ? 'disabled' : null\"\n >\n <div class=\"d-flex\">\n <div *ngIf=\"!isicondisabled\" style=\"min-width: 1.5rem\">\n <img *ngIf=\"image\" [src]=\"image\" class=\"align-baseline\" />\n <i *ngIf=\"icon\" [class]=\"iconstyle + ' ' + icon\"></i>\n </div>\n <div class=\"flex-grow-1\">{{ text }}</div>\n </div>\n </button>\n</li>\n", dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] }); }
2380
2380
  }
2381
2381
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SacMultilanguagemenuItemButtonComponent, decorators: [{
2382
2382
  type: Component,
@@ -2385,7 +2385,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
2385
2385
  provide: SacContextmenuItemCommon,
2386
2386
  useExisting: forwardRef(() => SacMultilanguagemenuItemButtonComponent),
2387
2387
  },
2388
- ], standalone: true, imports: [NgIf], template: "<li>\r\n <button\r\n type=\"button\"\r\n class=\"dropdown-item\"\r\n (click)=\"callaction($event)\"\r\n [class.disabled]=\"isdisabled\"\r\n [class]=\"cssclass\"\r\n [attr.disabled]=\"isdisabled ? 'disabled' : null\"\r\n >\r\n <div class=\"d-flex\">\r\n <div *ngIf=\"!isicondisabled\" style=\"min-width: 1.5rem\">\r\n <img *ngIf=\"image\" [src]=\"image\" class=\"align-baseline\" />\r\n <i *ngIf=\"icon\" [class]=\"iconstyle + ' ' + icon\"></i>\r\n </div>\r\n <div class=\"flex-grow-1\">{{ text }}</div>\r\n </div>\r\n </button>\r\n</li>\r\n" }]
2388
+ ], standalone: true, imports: [NgIf], template: "<li>\n <button\n type=\"button\"\n class=\"dropdown-item\"\n (click)=\"callaction($event)\"\n [class.disabled]=\"isdisabled\"\n [class]=\"cssclass\"\n [attr.disabled]=\"isdisabled ? 'disabled' : null\"\n >\n <div class=\"d-flex\">\n <div *ngIf=\"!isicondisabled\" style=\"min-width: 1.5rem\">\n <img *ngIf=\"image\" [src]=\"image\" class=\"align-baseline\" />\n <i *ngIf=\"icon\" [class]=\"iconstyle + ' ' + icon\"></i>\n </div>\n <div class=\"flex-grow-1\">{{ text }}</div>\n </div>\n </button>\n</li>\n" }]
2389
2389
  }], ctorParameters: function () { return []; } });
2390
2390
 
2391
2391
  /**
@@ -2419,7 +2419,7 @@ class SacMultilanguageInputComponent extends SacMultilanguageInputCommon {
2419
2419
  multi: true,
2420
2420
  useExisting: forwardRef(() => SacMultilanguageInputComponent),
2421
2421
  },
2422
- ], usesInheritance: true, ngImport: i0, template: "<div\r\n class=\"row mb-3\"\r\n [class.g-0]=\"disablelabel\">\r\n <label\r\n for=\"{{ name }}\"\r\n class=\"col-12 col-form-label d-flex\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'visually-hidden', componentHeight | toLabelHeight]\"\r\n [class.required]=\"isrequired\">\r\n <div\r\n class=\"text flex-grow-0\"\r\n [class.flex-sm-grow-1]=\"splitlabelandhelptext\">\r\n {{ label }}\r\n </div>\r\n <sac-tooltip\r\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\r\n [tooltiptext]=\"helptext\"\r\n [inlinemode]=\"true\">\r\n <span\r\n [ngClass]=\"HelptextTooltipIcon\"\r\n class=\"ms-1\">\r\n </span>\r\n </sac-tooltip>\r\n </label>\r\n <div\r\n class=\"col-12\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\r\n [class.d-flex]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\r\n <div [class.flex-grow-1]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\r\n <div\r\n class=\"input-group\"\r\n [class.input-group-sm]=\"componentHeight === ControlHeight.Small\"\r\n [class.input-group-lg]=\"componentHeight === ControlHeight.Large\"\r\n [class.has-validation]=\"isinlineerrorenabled && invalid && (dirty || touched)\"\r\n placement=\"bottom-right\"\r\n sac-multilanguagemenu\r\n [buttontemplate]=\"menuButton\"\r\n [inputtemplate]=\"menuInput\"\r\n [validationtemplate]=\"validationMessage\"\r\n #contextmenu>\r\n <ng-template #menuInput>\r\n <input\r\n id=\"{{ name }}\"\r\n name=\"{{ name }}\"\r\n type=\"text\"\r\n class=\"form-control\"\r\n [value]=\"LanguageValue\"\r\n [attr.placeholder]=\"placeholder\"\r\n (blur)=\"onTouch()\"\r\n (input)=\"SetLanguageValue($event.target.value)\"\r\n [attr.maxlength]=\"maxtextlength\"\r\n [class.is-invalid]=\"invalid && (dirty || touched)\"\r\n [ngClass]=\"[componentHeight | toControlHeight]\"\r\n [disabled]=\"isdisabled\" />\r\n </ng-template>\r\n\r\n <ng-template #menuButton>\r\n <button\r\n sacMultilanguageMenuAnchor\r\n [id]=\"name + '_dropdownitem'\"\r\n type=\"button\"\r\n class=\"btn dropdown-toggle\"\r\n (click)=\"contextmenu.toggle()\"\r\n [ngClass]=\"[IsAnyEmpty() ? 'btn-warning' : 'btn-secondary']\">\r\n <img\r\n src=\"{{ SelectedIcon }}\"\r\n class=\"align-baseline mr-1 ml-1\"\r\n *ngIf=\"SelectedIconType === IconType.Image\" />\r\n <span\r\n [ngClass]=\"SelectedIcon\"\r\n class=\"align-baseline mr-1 ml-1\"\r\n *ngIf=\"SelectedIconType === IconType.CssSprite\"></span>\r\n </button>\r\n </ng-template>\r\n\r\n <ng-template #validationMessage>\r\n <div\r\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\"\r\n class=\"invalid-feedback\">\r\n {{ GetErrorMessage() | async }}\r\n </div></ng-template\r\n >\r\n\r\n <ng-container *ngFor=\"let sprache of Languages\">\r\n <sac-multilanguagemenubutton\r\n *ngIf=\"sprache.IconType === IconType.Image\"\r\n text=\"{{ sprache.Text }}\"\r\n image=\"{{ sprache.Icon }}\"\r\n [cssclass]=\"IsEmpty(sprache) ? 'text-danger border-left border-danger' : ''\"\r\n (clicked)=\"SelectLanguage(sprache)\"></sac-multilanguagemenubutton>\r\n <sac-multilanguagemenubutton\r\n *ngIf=\"sprache.IconType === IconType.CssSprite\"\r\n text=\"{{ sprache.Text }}\"\r\n icon=\"{{ sprache.Icon }}\"\r\n [cssclass]=\"IsEmpty(sprache) ? 'text-danger border-left border-danger' : ''\"\r\n (clicked)=\"SelectLanguage(sprache)\"></sac-multilanguagemenubutton>\r\n </ng-container>\r\n </div>\r\n <div\r\n *ngIf=\"helptextmode === 'text' && helptext\"\r\n class=\"form-text\">\r\n {{ helptext }}\r\n </div>\r\n </div>\r\n\r\n <div\r\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\r\n class=\"form-control-plaintext align-self-top ms-2 me-1 w-auto\"\r\n [ngClass]=\"[componentHeight | toControlHeight]\">\r\n <sac-tooltip\r\n [tooltiptext]=\"helptext\"\r\n [inlinemode]=\"true\">\r\n <span\r\n [ngClass]=\"HelptextTooltipIcon\"\r\n class=\"ml-1\">\r\n </span>\r\n </sac-tooltip>\r\n </div>\r\n </div>\r\n</div>\r\n<div class=\"row\">\r\n <div class=\"col text-right\"></div>\r\n</div>\r\n", dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: SacMultilanguagemenuComponent, selector: "[sac-multilanguagemenu]", inputs: ["inputtemplate", "validationtemplate"] }, { kind: "directive", type: SacMultilanguagemenuAnchorDirective, selector: "[sacMultilanguageMenuAnchor]" }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "component", type: SacMultilanguagemenuItemButtonComponent, selector: "sac-multilanguagemenubutton" }, { kind: "pipe", type: SacToControlWidthCssPipe, name: "toControlWidthCss" }, { kind: "pipe", type: SacToLabelWidthCssPipe, name: "toLabelWidthCss" }, { kind: "pipe", type: SacToLabelHeightPipe, name: "toLabelHeight" }, { kind: "pipe", type: SacToControlHeightPipe, name: "toControlHeight" }, { kind: "component", type: SacTooltipComponent, selector: "sac-tooltip" }] }); }
2422
+ ], usesInheritance: true, ngImport: i0, template: "<div\n class=\"row mb-3\"\n [class.g-0]=\"disablelabel\">\n <label\n for=\"{{ name }}\"\n class=\"col-12 col-form-label d-flex\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'visually-hidden', componentHeight | toLabelHeight]\"\n [class.required]=\"isrequired\">\n <div\n class=\"text flex-grow-0\"\n [class.flex-sm-grow-1]=\"splitlabelandhelptext\">\n {{ label }}\n </div>\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [ngClass]=\"HelptextTooltipIcon\"\n class=\"ms-1\">\n </span>\n </sac-tooltip>\n </label>\n <div\n class=\"col-12\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\n [class.d-flex]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\n <div [class.flex-grow-1]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\n <div\n class=\"input-group\"\n [class.input-group-sm]=\"componentHeight === ControlHeight.Small\"\n [class.input-group-lg]=\"componentHeight === ControlHeight.Large\"\n [class.has-validation]=\"isinlineerrorenabled && invalid && (dirty || touched)\"\n placement=\"bottom-right\"\n sac-multilanguagemenu\n [buttontemplate]=\"menuButton\"\n [inputtemplate]=\"menuInput\"\n [validationtemplate]=\"validationMessage\"\n #contextmenu>\n <ng-template #menuInput>\n <input\n id=\"{{ name }}\"\n name=\"{{ name }}\"\n type=\"text\"\n class=\"form-control\"\n [value]=\"LanguageValue\"\n [attr.placeholder]=\"placeholder\"\n (blur)=\"onTouch()\"\n (input)=\"SetLanguageValue($event.target.value)\"\n [attr.maxlength]=\"maxtextlength\"\n [class.is-invalid]=\"invalid && (dirty || touched)\"\n [ngClass]=\"[componentHeight | toControlHeight]\"\n [disabled]=\"isdisabled\" />\n </ng-template>\n\n <ng-template #menuButton>\n <button\n sacMultilanguageMenuAnchor\n [id]=\"name + '_dropdownitem'\"\n type=\"button\"\n class=\"btn dropdown-toggle\"\n (click)=\"contextmenu.toggle()\"\n [ngClass]=\"[IsAnyEmpty() ? 'btn-warning' : 'btn-secondary']\">\n <img\n src=\"{{ SelectedIcon }}\"\n class=\"align-baseline mr-1 ml-1\"\n *ngIf=\"SelectedIconType === IconType.Image\" />\n <span\n [ngClass]=\"SelectedIcon\"\n class=\"align-baseline mr-1 ml-1\"\n *ngIf=\"SelectedIconType === IconType.CssSprite\"></span>\n </button>\n </ng-template>\n\n <ng-template #validationMessage>\n <div\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\"\n class=\"invalid-feedback\">\n {{ GetErrorMessage() | async }}\n </div></ng-template\n >\n\n <ng-container *ngFor=\"let sprache of Languages\">\n <sac-multilanguagemenubutton\n *ngIf=\"sprache.IconType === IconType.Image\"\n text=\"{{ sprache.Text }}\"\n image=\"{{ sprache.Icon }}\"\n [cssclass]=\"IsEmpty(sprache) ? 'text-danger border-left border-danger' : ''\"\n (clicked)=\"SelectLanguage(sprache)\"></sac-multilanguagemenubutton>\n <sac-multilanguagemenubutton\n *ngIf=\"sprache.IconType === IconType.CssSprite\"\n text=\"{{ sprache.Text }}\"\n icon=\"{{ sprache.Icon }}\"\n [cssclass]=\"IsEmpty(sprache) ? 'text-danger border-left border-danger' : ''\"\n (clicked)=\"SelectLanguage(sprache)\"></sac-multilanguagemenubutton>\n </ng-container>\n </div>\n <div\n *ngIf=\"helptextmode === 'text' && helptext\"\n class=\"form-text\">\n {{ helptext }}\n </div>\n </div>\n\n <div\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\n class=\"form-control-plaintext align-self-top ms-2 me-1 w-auto\"\n [ngClass]=\"[componentHeight | toControlHeight]\">\n <sac-tooltip\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [ngClass]=\"HelptextTooltipIcon\"\n class=\"ml-1\">\n </span>\n </sac-tooltip>\n </div>\n </div>\n</div>\n<div class=\"row\">\n <div class=\"col text-right\"></div>\n</div>\n", dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: SacMultilanguagemenuComponent, selector: "[sac-multilanguagemenu]", inputs: ["inputtemplate", "validationtemplate"] }, { kind: "directive", type: SacMultilanguagemenuAnchorDirective, selector: "[sacMultilanguageMenuAnchor]" }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "component", type: SacMultilanguagemenuItemButtonComponent, selector: "sac-multilanguagemenubutton" }, { kind: "pipe", type: SacToControlWidthCssPipe, name: "toControlWidthCss" }, { kind: "pipe", type: SacToLabelWidthCssPipe, name: "toLabelWidthCss" }, { kind: "pipe", type: SacToLabelHeightPipe, name: "toLabelHeight" }, { kind: "pipe", type: SacToControlHeightPipe, name: "toControlHeight" }, { kind: "component", type: SacTooltipComponent, selector: "sac-tooltip" }] }); }
2423
2423
  }
2424
2424
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SacMultilanguageInputComponent, decorators: [{
2425
2425
  type: Component,
@@ -2447,7 +2447,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
2447
2447
  SacToLabelHeightPipe,
2448
2448
  SacToControlHeightPipe,
2449
2449
  SacTooltipComponent,
2450
- ], template: "<div\r\n class=\"row mb-3\"\r\n [class.g-0]=\"disablelabel\">\r\n <label\r\n for=\"{{ name }}\"\r\n class=\"col-12 col-form-label d-flex\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'visually-hidden', componentHeight | toLabelHeight]\"\r\n [class.required]=\"isrequired\">\r\n <div\r\n class=\"text flex-grow-0\"\r\n [class.flex-sm-grow-1]=\"splitlabelandhelptext\">\r\n {{ label }}\r\n </div>\r\n <sac-tooltip\r\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\r\n [tooltiptext]=\"helptext\"\r\n [inlinemode]=\"true\">\r\n <span\r\n [ngClass]=\"HelptextTooltipIcon\"\r\n class=\"ms-1\">\r\n </span>\r\n </sac-tooltip>\r\n </label>\r\n <div\r\n class=\"col-12\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\r\n [class.d-flex]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\r\n <div [class.flex-grow-1]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\r\n <div\r\n class=\"input-group\"\r\n [class.input-group-sm]=\"componentHeight === ControlHeight.Small\"\r\n [class.input-group-lg]=\"componentHeight === ControlHeight.Large\"\r\n [class.has-validation]=\"isinlineerrorenabled && invalid && (dirty || touched)\"\r\n placement=\"bottom-right\"\r\n sac-multilanguagemenu\r\n [buttontemplate]=\"menuButton\"\r\n [inputtemplate]=\"menuInput\"\r\n [validationtemplate]=\"validationMessage\"\r\n #contextmenu>\r\n <ng-template #menuInput>\r\n <input\r\n id=\"{{ name }}\"\r\n name=\"{{ name }}\"\r\n type=\"text\"\r\n class=\"form-control\"\r\n [value]=\"LanguageValue\"\r\n [attr.placeholder]=\"placeholder\"\r\n (blur)=\"onTouch()\"\r\n (input)=\"SetLanguageValue($event.target.value)\"\r\n [attr.maxlength]=\"maxtextlength\"\r\n [class.is-invalid]=\"invalid && (dirty || touched)\"\r\n [ngClass]=\"[componentHeight | toControlHeight]\"\r\n [disabled]=\"isdisabled\" />\r\n </ng-template>\r\n\r\n <ng-template #menuButton>\r\n <button\r\n sacMultilanguageMenuAnchor\r\n [id]=\"name + '_dropdownitem'\"\r\n type=\"button\"\r\n class=\"btn dropdown-toggle\"\r\n (click)=\"contextmenu.toggle()\"\r\n [ngClass]=\"[IsAnyEmpty() ? 'btn-warning' : 'btn-secondary']\">\r\n <img\r\n src=\"{{ SelectedIcon }}\"\r\n class=\"align-baseline mr-1 ml-1\"\r\n *ngIf=\"SelectedIconType === IconType.Image\" />\r\n <span\r\n [ngClass]=\"SelectedIcon\"\r\n class=\"align-baseline mr-1 ml-1\"\r\n *ngIf=\"SelectedIconType === IconType.CssSprite\"></span>\r\n </button>\r\n </ng-template>\r\n\r\n <ng-template #validationMessage>\r\n <div\r\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\"\r\n class=\"invalid-feedback\">\r\n {{ GetErrorMessage() | async }}\r\n </div></ng-template\r\n >\r\n\r\n <ng-container *ngFor=\"let sprache of Languages\">\r\n <sac-multilanguagemenubutton\r\n *ngIf=\"sprache.IconType === IconType.Image\"\r\n text=\"{{ sprache.Text }}\"\r\n image=\"{{ sprache.Icon }}\"\r\n [cssclass]=\"IsEmpty(sprache) ? 'text-danger border-left border-danger' : ''\"\r\n (clicked)=\"SelectLanguage(sprache)\"></sac-multilanguagemenubutton>\r\n <sac-multilanguagemenubutton\r\n *ngIf=\"sprache.IconType === IconType.CssSprite\"\r\n text=\"{{ sprache.Text }}\"\r\n icon=\"{{ sprache.Icon }}\"\r\n [cssclass]=\"IsEmpty(sprache) ? 'text-danger border-left border-danger' : ''\"\r\n (clicked)=\"SelectLanguage(sprache)\"></sac-multilanguagemenubutton>\r\n </ng-container>\r\n </div>\r\n <div\r\n *ngIf=\"helptextmode === 'text' && helptext\"\r\n class=\"form-text\">\r\n {{ helptext }}\r\n </div>\r\n </div>\r\n\r\n <div\r\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\r\n class=\"form-control-plaintext align-self-top ms-2 me-1 w-auto\"\r\n [ngClass]=\"[componentHeight | toControlHeight]\">\r\n <sac-tooltip\r\n [tooltiptext]=\"helptext\"\r\n [inlinemode]=\"true\">\r\n <span\r\n [ngClass]=\"HelptextTooltipIcon\"\r\n class=\"ml-1\">\r\n </span>\r\n </sac-tooltip>\r\n </div>\r\n </div>\r\n</div>\r\n<div class=\"row\">\r\n <div class=\"col text-right\"></div>\r\n</div>\r\n" }]
2450
+ ], template: "<div\n class=\"row mb-3\"\n [class.g-0]=\"disablelabel\">\n <label\n for=\"{{ name }}\"\n class=\"col-12 col-form-label d-flex\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'visually-hidden', componentHeight | toLabelHeight]\"\n [class.required]=\"isrequired\">\n <div\n class=\"text flex-grow-0\"\n [class.flex-sm-grow-1]=\"splitlabelandhelptext\">\n {{ label }}\n </div>\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [ngClass]=\"HelptextTooltipIcon\"\n class=\"ms-1\">\n </span>\n </sac-tooltip>\n </label>\n <div\n class=\"col-12\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\n [class.d-flex]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\n <div [class.flex-grow-1]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\n <div\n class=\"input-group\"\n [class.input-group-sm]=\"componentHeight === ControlHeight.Small\"\n [class.input-group-lg]=\"componentHeight === ControlHeight.Large\"\n [class.has-validation]=\"isinlineerrorenabled && invalid && (dirty || touched)\"\n placement=\"bottom-right\"\n sac-multilanguagemenu\n [buttontemplate]=\"menuButton\"\n [inputtemplate]=\"menuInput\"\n [validationtemplate]=\"validationMessage\"\n #contextmenu>\n <ng-template #menuInput>\n <input\n id=\"{{ name }}\"\n name=\"{{ name }}\"\n type=\"text\"\n class=\"form-control\"\n [value]=\"LanguageValue\"\n [attr.placeholder]=\"placeholder\"\n (blur)=\"onTouch()\"\n (input)=\"SetLanguageValue($event.target.value)\"\n [attr.maxlength]=\"maxtextlength\"\n [class.is-invalid]=\"invalid && (dirty || touched)\"\n [ngClass]=\"[componentHeight | toControlHeight]\"\n [disabled]=\"isdisabled\" />\n </ng-template>\n\n <ng-template #menuButton>\n <button\n sacMultilanguageMenuAnchor\n [id]=\"name + '_dropdownitem'\"\n type=\"button\"\n class=\"btn dropdown-toggle\"\n (click)=\"contextmenu.toggle()\"\n [ngClass]=\"[IsAnyEmpty() ? 'btn-warning' : 'btn-secondary']\">\n <img\n src=\"{{ SelectedIcon }}\"\n class=\"align-baseline mr-1 ml-1\"\n *ngIf=\"SelectedIconType === IconType.Image\" />\n <span\n [ngClass]=\"SelectedIcon\"\n class=\"align-baseline mr-1 ml-1\"\n *ngIf=\"SelectedIconType === IconType.CssSprite\"></span>\n </button>\n </ng-template>\n\n <ng-template #validationMessage>\n <div\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\"\n class=\"invalid-feedback\">\n {{ GetErrorMessage() | async }}\n </div></ng-template\n >\n\n <ng-container *ngFor=\"let sprache of Languages\">\n <sac-multilanguagemenubutton\n *ngIf=\"sprache.IconType === IconType.Image\"\n text=\"{{ sprache.Text }}\"\n image=\"{{ sprache.Icon }}\"\n [cssclass]=\"IsEmpty(sprache) ? 'text-danger border-left border-danger' : ''\"\n (clicked)=\"SelectLanguage(sprache)\"></sac-multilanguagemenubutton>\n <sac-multilanguagemenubutton\n *ngIf=\"sprache.IconType === IconType.CssSprite\"\n text=\"{{ sprache.Text }}\"\n icon=\"{{ sprache.Icon }}\"\n [cssclass]=\"IsEmpty(sprache) ? 'text-danger border-left border-danger' : ''\"\n (clicked)=\"SelectLanguage(sprache)\"></sac-multilanguagemenubutton>\n </ng-container>\n </div>\n <div\n *ngIf=\"helptextmode === 'text' && helptext\"\n class=\"form-text\">\n {{ helptext }}\n </div>\n </div>\n\n <div\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\n class=\"form-control-plaintext align-self-top ms-2 me-1 w-auto\"\n [ngClass]=\"[componentHeight | toControlHeight]\">\n <sac-tooltip\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [ngClass]=\"HelptextTooltipIcon\"\n class=\"ml-1\">\n </span>\n </sac-tooltip>\n </div>\n </div>\n</div>\n<div class=\"row\">\n <div class=\"col text-right\"></div>\n</div>\n" }]
2451
2451
  }], ctorParameters: function () { return [{ type: SacFormLayoutDirective, decorators: [{
2452
2452
  type: Host
2453
2453
  }, {
@@ -2485,7 +2485,7 @@ class SacMultilanguageInputAreaComponent extends SacMultilanguageInputAreaCommon
2485
2485
  multi: true,
2486
2486
  useExisting: forwardRef(() => SacMultilanguageInputAreaComponent),
2487
2487
  },
2488
- ], usesInheritance: true, ngImport: i0, template: "<div\r\n class=\"row mb-3\"\r\n [class.g-0]=\"disablelabel\">\r\n <label\r\n for=\"{{ name }}\"\r\n class=\"col-12 col-form-label d-flex\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'visually-hidden', componentHeight | toLabelHeight]\"\r\n [class.required]=\"isrequired\">\r\n <div\r\n class=\"text flex-grow-0\"\r\n [class.flex-sm-grow-1]=\"splitlabelandhelptext\">\r\n {{ label }}\r\n </div>\r\n <sac-tooltip\r\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\r\n [tooltiptext]=\"helptext\"\r\n [inlinemode]=\"true\">\r\n <span\r\n [ngClass]=\"HelptextTooltipIcon\"\r\n class=\"ms-1\">\r\n </span>\r\n </sac-tooltip>\r\n </label>\r\n <div\r\n class=\"col-12\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\r\n [class.d-flex]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\r\n <div [class.flex-grow-1]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\r\n <div\r\n class=\"input-group\"\r\n [class.input-group-sm]=\"componentHeight === ControlHeight.Small\"\r\n [class.input-group-lg]=\"componentHeight === ControlHeight.Large\"\r\n [class.has-validation]=\"isinlineerrorenabled && invalid && (dirty || touched)\"\r\n placement=\"bottom-right\"\r\n sac-multilanguagemenu\r\n [buttontemplate]=\"menuButton\"\r\n [inputtemplate]=\"menuInput\"\r\n [validationtemplate]=\"validationMessage\"\r\n #contextmenu>\r\n <ng-template #menuInput>\r\n <textarea\r\n id=\"{{ name }}\"\r\n name=\"{{ name }}\"\r\n type=\"text\"\r\n class=\"form-control\"\r\n [value]=\"LanguageValue\"\r\n [attr.placeholder]=\"placeholder\"\r\n (blur)=\"onTouch()\"\r\n style=\"height: auto\"\r\n (input)=\"SetLanguageValue($event.target.value)\"\r\n [attr.rows]=\"rows\"\r\n [attr.maxlength]=\"maxtextlength\"\r\n [class.is-invalid]=\"invalid && (dirty || touched)\"\r\n [ngClass]=\"[componentHeight | toControlHeight]\"\r\n [disabled]=\"isdisabled\"></textarea>\r\n </ng-template>\r\n\r\n <ng-template #menuButton>\r\n <button\r\n sacMultilanguageMenuAnchor\r\n [id]=\"name + '_dropdownitem'\"\r\n type=\"button\"\r\n class=\"btn dropdown-toggle\"\r\n (click)=\"contextmenu.toggle()\"\r\n [ngClass]=\"[IsAnyEmpty() ? 'btn-warning' : 'btn-secondary']\">\r\n <img\r\n src=\"{{ SelectedIcon }}\"\r\n class=\"align-baseline mr-1 ml-1\"\r\n *ngIf=\"SelectedIconType === IconType.Image\" />\r\n <i\r\n [ngClass]=\"SelectedIcon\"\r\n class=\"align-baseline mr-1 ml-1\"\r\n *ngIf=\"SelectedIconType === IconType.CssSprite\"></i>\r\n </button>\r\n </ng-template>\r\n\r\n <ng-template #validationMessage>\r\n <div\r\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\"\r\n class=\"invalid-feedback\">\r\n {{ GetErrorMessage() | async }}\r\n </div></ng-template\r\n >\r\n\r\n <ng-container *ngFor=\"let sprache of Languages\">\r\n <sac-multilanguagemenubutton\r\n *ngIf=\"sprache.IconType === IconType.Image\"\r\n text=\"{{ sprache.Text }}\"\r\n image=\"{{ sprache.Icon }}\"\r\n [cssclass]=\"IsEmpty(sprache) ? 'text-danger border-left border-danger' : ''\"\r\n (clicked)=\"SelectLanguage(sprache)\"></sac-multilanguagemenubutton>\r\n <sac-multilanguagemenubutton\r\n *ngIf=\"sprache.IconType === IconType.CssSprite\"\r\n text=\"{{ sprache.Text }}\"\r\n icon=\"{{ sprache.Icon }}\"\r\n [cssclass]=\"IsEmpty(sprache) ? 'text-danger border-left border-danger' : ''\"\r\n (clicked)=\"SelectLanguage(sprache)\"></sac-multilanguagemenubutton>\r\n </ng-container>\r\n </div>\r\n <div\r\n *ngIf=\"helptextmode === 'text' && helptext\"\r\n class=\"form-text\">\r\n {{ helptext }}\r\n </div>\r\n </div>\r\n\r\n <div\r\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\r\n class=\"form-control-plaintext align-self-top ms-2 me-1 w-auto\"\r\n [ngClass]=\"[componentHeight | toControlHeight]\">\r\n <sac-tooltip\r\n [tooltiptext]=\"helptext\"\r\n [inlinemode]=\"true\">\r\n <span\r\n [ngClass]=\"HelptextTooltipIcon\"\r\n class=\"ml-1\">\r\n </span>\r\n </sac-tooltip>\r\n </div>\r\n </div>\r\n</div>\r\n<div class=\"row\">\r\n <div class=\"col text-right\"></div>\r\n</div>\r\n", dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: SacMultilanguagemenuComponent, selector: "[sac-multilanguagemenu]", inputs: ["inputtemplate", "validationtemplate"] }, { kind: "directive", type: SacMultilanguagemenuAnchorDirective, selector: "[sacMultilanguageMenuAnchor]" }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "component", type: SacMultilanguagemenuItemButtonComponent, selector: "sac-multilanguagemenubutton" }, { kind: "pipe", type: SacToControlWidthCssPipe, name: "toControlWidthCss" }, { kind: "pipe", type: SacToLabelWidthCssPipe, name: "toLabelWidthCss" }, { kind: "pipe", type: SacToLabelHeightPipe, name: "toLabelHeight" }, { kind: "pipe", type: SacToControlHeightPipe, name: "toControlHeight" }, { kind: "component", type: SacTooltipComponent, selector: "sac-tooltip" }] }); }
2488
+ ], usesInheritance: true, ngImport: i0, template: "<div\n class=\"row mb-3\"\n [class.g-0]=\"disablelabel\">\n <label\n for=\"{{ name }}\"\n class=\"col-12 col-form-label d-flex\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'visually-hidden', componentHeight | toLabelHeight]\"\n [class.required]=\"isrequired\">\n <div\n class=\"text flex-grow-0\"\n [class.flex-sm-grow-1]=\"splitlabelandhelptext\">\n {{ label }}\n </div>\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [ngClass]=\"HelptextTooltipIcon\"\n class=\"ms-1\">\n </span>\n </sac-tooltip>\n </label>\n <div\n class=\"col-12\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\n [class.d-flex]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\n <div [class.flex-grow-1]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\n <div\n class=\"input-group\"\n [class.input-group-sm]=\"componentHeight === ControlHeight.Small\"\n [class.input-group-lg]=\"componentHeight === ControlHeight.Large\"\n [class.has-validation]=\"isinlineerrorenabled && invalid && (dirty || touched)\"\n placement=\"bottom-right\"\n sac-multilanguagemenu\n [buttontemplate]=\"menuButton\"\n [inputtemplate]=\"menuInput\"\n [validationtemplate]=\"validationMessage\"\n #contextmenu>\n <ng-template #menuInput>\n <textarea\n id=\"{{ name }}\"\n name=\"{{ name }}\"\n type=\"text\"\n class=\"form-control\"\n [value]=\"LanguageValue\"\n [attr.placeholder]=\"placeholder\"\n (blur)=\"onTouch()\"\n style=\"height: auto\"\n (input)=\"SetLanguageValue($event.target.value)\"\n [attr.rows]=\"rows\"\n [attr.maxlength]=\"maxtextlength\"\n [class.is-invalid]=\"invalid && (dirty || touched)\"\n [ngClass]=\"[componentHeight | toControlHeight]\"\n [disabled]=\"isdisabled\"></textarea>\n </ng-template>\n\n <ng-template #menuButton>\n <button\n sacMultilanguageMenuAnchor\n [id]=\"name + '_dropdownitem'\"\n type=\"button\"\n class=\"btn dropdown-toggle\"\n (click)=\"contextmenu.toggle()\"\n [ngClass]=\"[IsAnyEmpty() ? 'btn-warning' : 'btn-secondary']\">\n <img\n src=\"{{ SelectedIcon }}\"\n class=\"align-baseline mr-1 ml-1\"\n *ngIf=\"SelectedIconType === IconType.Image\" />\n <i\n [ngClass]=\"SelectedIcon\"\n class=\"align-baseline mr-1 ml-1\"\n *ngIf=\"SelectedIconType === IconType.CssSprite\"></i>\n </button>\n </ng-template>\n\n <ng-template #validationMessage>\n <div\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\"\n class=\"invalid-feedback\">\n {{ GetErrorMessage() | async }}\n </div></ng-template\n >\n\n <ng-container *ngFor=\"let sprache of Languages\">\n <sac-multilanguagemenubutton\n *ngIf=\"sprache.IconType === IconType.Image\"\n text=\"{{ sprache.Text }}\"\n image=\"{{ sprache.Icon }}\"\n [cssclass]=\"IsEmpty(sprache) ? 'text-danger border-left border-danger' : ''\"\n (clicked)=\"SelectLanguage(sprache)\"></sac-multilanguagemenubutton>\n <sac-multilanguagemenubutton\n *ngIf=\"sprache.IconType === IconType.CssSprite\"\n text=\"{{ sprache.Text }}\"\n icon=\"{{ sprache.Icon }}\"\n [cssclass]=\"IsEmpty(sprache) ? 'text-danger border-left border-danger' : ''\"\n (clicked)=\"SelectLanguage(sprache)\"></sac-multilanguagemenubutton>\n </ng-container>\n </div>\n <div\n *ngIf=\"helptextmode === 'text' && helptext\"\n class=\"form-text\">\n {{ helptext }}\n </div>\n </div>\n\n <div\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\n class=\"form-control-plaintext align-self-top ms-2 me-1 w-auto\"\n [ngClass]=\"[componentHeight | toControlHeight]\">\n <sac-tooltip\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [ngClass]=\"HelptextTooltipIcon\"\n class=\"ml-1\">\n </span>\n </sac-tooltip>\n </div>\n </div>\n</div>\n<div class=\"row\">\n <div class=\"col text-right\"></div>\n</div>\n", dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: SacMultilanguagemenuComponent, selector: "[sac-multilanguagemenu]", inputs: ["inputtemplate", "validationtemplate"] }, { kind: "directive", type: SacMultilanguagemenuAnchorDirective, selector: "[sacMultilanguageMenuAnchor]" }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "component", type: SacMultilanguagemenuItemButtonComponent, selector: "sac-multilanguagemenubutton" }, { kind: "pipe", type: SacToControlWidthCssPipe, name: "toControlWidthCss" }, { kind: "pipe", type: SacToLabelWidthCssPipe, name: "toLabelWidthCss" }, { kind: "pipe", type: SacToLabelHeightPipe, name: "toLabelHeight" }, { kind: "pipe", type: SacToControlHeightPipe, name: "toControlHeight" }, { kind: "component", type: SacTooltipComponent, selector: "sac-tooltip" }] }); }
2489
2489
  }
2490
2490
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SacMultilanguageInputAreaComponent, decorators: [{
2491
2491
  type: Component,
@@ -2513,7 +2513,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
2513
2513
  SacToLabelHeightPipe,
2514
2514
  SacToControlHeightPipe,
2515
2515
  SacTooltipComponent,
2516
- ], template: "<div\r\n class=\"row mb-3\"\r\n [class.g-0]=\"disablelabel\">\r\n <label\r\n for=\"{{ name }}\"\r\n class=\"col-12 col-form-label d-flex\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'visually-hidden', componentHeight | toLabelHeight]\"\r\n [class.required]=\"isrequired\">\r\n <div\r\n class=\"text flex-grow-0\"\r\n [class.flex-sm-grow-1]=\"splitlabelandhelptext\">\r\n {{ label }}\r\n </div>\r\n <sac-tooltip\r\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\r\n [tooltiptext]=\"helptext\"\r\n [inlinemode]=\"true\">\r\n <span\r\n [ngClass]=\"HelptextTooltipIcon\"\r\n class=\"ms-1\">\r\n </span>\r\n </sac-tooltip>\r\n </label>\r\n <div\r\n class=\"col-12\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\r\n [class.d-flex]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\r\n <div [class.flex-grow-1]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\r\n <div\r\n class=\"input-group\"\r\n [class.input-group-sm]=\"componentHeight === ControlHeight.Small\"\r\n [class.input-group-lg]=\"componentHeight === ControlHeight.Large\"\r\n [class.has-validation]=\"isinlineerrorenabled && invalid && (dirty || touched)\"\r\n placement=\"bottom-right\"\r\n sac-multilanguagemenu\r\n [buttontemplate]=\"menuButton\"\r\n [inputtemplate]=\"menuInput\"\r\n [validationtemplate]=\"validationMessage\"\r\n #contextmenu>\r\n <ng-template #menuInput>\r\n <textarea\r\n id=\"{{ name }}\"\r\n name=\"{{ name }}\"\r\n type=\"text\"\r\n class=\"form-control\"\r\n [value]=\"LanguageValue\"\r\n [attr.placeholder]=\"placeholder\"\r\n (blur)=\"onTouch()\"\r\n style=\"height: auto\"\r\n (input)=\"SetLanguageValue($event.target.value)\"\r\n [attr.rows]=\"rows\"\r\n [attr.maxlength]=\"maxtextlength\"\r\n [class.is-invalid]=\"invalid && (dirty || touched)\"\r\n [ngClass]=\"[componentHeight | toControlHeight]\"\r\n [disabled]=\"isdisabled\"></textarea>\r\n </ng-template>\r\n\r\n <ng-template #menuButton>\r\n <button\r\n sacMultilanguageMenuAnchor\r\n [id]=\"name + '_dropdownitem'\"\r\n type=\"button\"\r\n class=\"btn dropdown-toggle\"\r\n (click)=\"contextmenu.toggle()\"\r\n [ngClass]=\"[IsAnyEmpty() ? 'btn-warning' : 'btn-secondary']\">\r\n <img\r\n src=\"{{ SelectedIcon }}\"\r\n class=\"align-baseline mr-1 ml-1\"\r\n *ngIf=\"SelectedIconType === IconType.Image\" />\r\n <i\r\n [ngClass]=\"SelectedIcon\"\r\n class=\"align-baseline mr-1 ml-1\"\r\n *ngIf=\"SelectedIconType === IconType.CssSprite\"></i>\r\n </button>\r\n </ng-template>\r\n\r\n <ng-template #validationMessage>\r\n <div\r\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\"\r\n class=\"invalid-feedback\">\r\n {{ GetErrorMessage() | async }}\r\n </div></ng-template\r\n >\r\n\r\n <ng-container *ngFor=\"let sprache of Languages\">\r\n <sac-multilanguagemenubutton\r\n *ngIf=\"sprache.IconType === IconType.Image\"\r\n text=\"{{ sprache.Text }}\"\r\n image=\"{{ sprache.Icon }}\"\r\n [cssclass]=\"IsEmpty(sprache) ? 'text-danger border-left border-danger' : ''\"\r\n (clicked)=\"SelectLanguage(sprache)\"></sac-multilanguagemenubutton>\r\n <sac-multilanguagemenubutton\r\n *ngIf=\"sprache.IconType === IconType.CssSprite\"\r\n text=\"{{ sprache.Text }}\"\r\n icon=\"{{ sprache.Icon }}\"\r\n [cssclass]=\"IsEmpty(sprache) ? 'text-danger border-left border-danger' : ''\"\r\n (clicked)=\"SelectLanguage(sprache)\"></sac-multilanguagemenubutton>\r\n </ng-container>\r\n </div>\r\n <div\r\n *ngIf=\"helptextmode === 'text' && helptext\"\r\n class=\"form-text\">\r\n {{ helptext }}\r\n </div>\r\n </div>\r\n\r\n <div\r\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\r\n class=\"form-control-plaintext align-self-top ms-2 me-1 w-auto\"\r\n [ngClass]=\"[componentHeight | toControlHeight]\">\r\n <sac-tooltip\r\n [tooltiptext]=\"helptext\"\r\n [inlinemode]=\"true\">\r\n <span\r\n [ngClass]=\"HelptextTooltipIcon\"\r\n class=\"ml-1\">\r\n </span>\r\n </sac-tooltip>\r\n </div>\r\n </div>\r\n</div>\r\n<div class=\"row\">\r\n <div class=\"col text-right\"></div>\r\n</div>\r\n" }]
2516
+ ], template: "<div\n class=\"row mb-3\"\n [class.g-0]=\"disablelabel\">\n <label\n for=\"{{ name }}\"\n class=\"col-12 col-form-label d-flex\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'visually-hidden', componentHeight | toLabelHeight]\"\n [class.required]=\"isrequired\">\n <div\n class=\"text flex-grow-0\"\n [class.flex-sm-grow-1]=\"splitlabelandhelptext\">\n {{ label }}\n </div>\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [ngClass]=\"HelptextTooltipIcon\"\n class=\"ms-1\">\n </span>\n </sac-tooltip>\n </label>\n <div\n class=\"col-12\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\n [class.d-flex]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\n <div [class.flex-grow-1]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\n <div\n class=\"input-group\"\n [class.input-group-sm]=\"componentHeight === ControlHeight.Small\"\n [class.input-group-lg]=\"componentHeight === ControlHeight.Large\"\n [class.has-validation]=\"isinlineerrorenabled && invalid && (dirty || touched)\"\n placement=\"bottom-right\"\n sac-multilanguagemenu\n [buttontemplate]=\"menuButton\"\n [inputtemplate]=\"menuInput\"\n [validationtemplate]=\"validationMessage\"\n #contextmenu>\n <ng-template #menuInput>\n <textarea\n id=\"{{ name }}\"\n name=\"{{ name }}\"\n type=\"text\"\n class=\"form-control\"\n [value]=\"LanguageValue\"\n [attr.placeholder]=\"placeholder\"\n (blur)=\"onTouch()\"\n style=\"height: auto\"\n (input)=\"SetLanguageValue($event.target.value)\"\n [attr.rows]=\"rows\"\n [attr.maxlength]=\"maxtextlength\"\n [class.is-invalid]=\"invalid && (dirty || touched)\"\n [ngClass]=\"[componentHeight | toControlHeight]\"\n [disabled]=\"isdisabled\"></textarea>\n </ng-template>\n\n <ng-template #menuButton>\n <button\n sacMultilanguageMenuAnchor\n [id]=\"name + '_dropdownitem'\"\n type=\"button\"\n class=\"btn dropdown-toggle\"\n (click)=\"contextmenu.toggle()\"\n [ngClass]=\"[IsAnyEmpty() ? 'btn-warning' : 'btn-secondary']\">\n <img\n src=\"{{ SelectedIcon }}\"\n class=\"align-baseline mr-1 ml-1\"\n *ngIf=\"SelectedIconType === IconType.Image\" />\n <i\n [ngClass]=\"SelectedIcon\"\n class=\"align-baseline mr-1 ml-1\"\n *ngIf=\"SelectedIconType === IconType.CssSprite\"></i>\n </button>\n </ng-template>\n\n <ng-template #validationMessage>\n <div\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\"\n class=\"invalid-feedback\">\n {{ GetErrorMessage() | async }}\n </div></ng-template\n >\n\n <ng-container *ngFor=\"let sprache of Languages\">\n <sac-multilanguagemenubutton\n *ngIf=\"sprache.IconType === IconType.Image\"\n text=\"{{ sprache.Text }}\"\n image=\"{{ sprache.Icon }}\"\n [cssclass]=\"IsEmpty(sprache) ? 'text-danger border-left border-danger' : ''\"\n (clicked)=\"SelectLanguage(sprache)\"></sac-multilanguagemenubutton>\n <sac-multilanguagemenubutton\n *ngIf=\"sprache.IconType === IconType.CssSprite\"\n text=\"{{ sprache.Text }}\"\n icon=\"{{ sprache.Icon }}\"\n [cssclass]=\"IsEmpty(sprache) ? 'text-danger border-left border-danger' : ''\"\n (clicked)=\"SelectLanguage(sprache)\"></sac-multilanguagemenubutton>\n </ng-container>\n </div>\n <div\n *ngIf=\"helptextmode === 'text' && helptext\"\n class=\"form-text\">\n {{ helptext }}\n </div>\n </div>\n\n <div\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\n class=\"form-control-plaintext align-self-top ms-2 me-1 w-auto\"\n [ngClass]=\"[componentHeight | toControlHeight]\">\n <sac-tooltip\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [ngClass]=\"HelptextTooltipIcon\"\n class=\"ml-1\">\n </span>\n </sac-tooltip>\n </div>\n </div>\n</div>\n<div class=\"row\">\n <div class=\"col text-right\"></div>\n</div>\n" }]
2517
2517
  }], ctorParameters: function () { return [{ type: SacFormLayoutDirective, decorators: [{
2518
2518
  type: Host
2519
2519
  }, {
@@ -2568,7 +2568,7 @@ class SacStaticLabelComponent extends SacStaticLabelCommon {
2568
2568
  multi: true,
2569
2569
  useExisting: forwardRef(() => SacStaticLabelComponent),
2570
2570
  },
2571
- ], usesInheritance: true, ngImport: i0, template: "<div\r\n class=\"row mb-3\"\r\n [class.g-0]=\"disablelabel\">\r\n <label\r\n *ngIf=\"disablelabel === false && !isAdaptiveLabel\"\r\n id=\"{{ name }}_label\"\r\n for=\"{{ name }}\"\r\n class=\"col-12 col-form-label d-flex\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'visually-hidden', componentHeight | toLabelHeight]\">\r\n <div\r\n class=\"text flex-grow-0\"\r\n [class.flex-sm-grow-1]=\"splitlabelandhelptext\">\r\n {{ label }}\r\n </div>\r\n <sac-tooltip\r\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\r\n [tooltiptext]=\"helptext\"\r\n [inlinemode]=\"true\"\r\n ><span\r\n [ngClass]=\"HelptextTooltipIcon\"\r\n class=\"ms-1\">\r\n </span>\r\n </sac-tooltip>\r\n </label>\r\n <div\r\n class=\"col-12\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\r\n [class.d-flex]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\r\n <div>\r\n <div\r\n [id]=\"name\"\r\n class=\"form-control-plaintext\"\r\n [ngClass]=\"[componentHeight | toControlHeight]\"\r\n [innerHTML]=\"value\"></div>\r\n <div\r\n *ngIf=\"helptextmode === 'text' && helptext\"\r\n class=\"form-text\">\r\n {{ helptext }}\r\n </div>\r\n </div>\r\n\r\n <div\r\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\r\n class=\"form-control-plaintext align-self-top ms-2 me-1 w-auto\"\r\n [ngClass]=\"[componentHeight | toControlHeight]\">\r\n <sac-tooltip\r\n [tooltiptext]=\"helptext\"\r\n [inlinemode]=\"true\">\r\n <span\r\n [ngClass]=\"HelptextTooltipIcon\"\r\n class=\"ml-1\">\r\n </span>\r\n </sac-tooltip>\r\n </div>\r\n </div>\r\n</div>\r\n", dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "pipe", type: SacToControlWidthCssPipe, name: "toControlWidthCss" }, { kind: "pipe", type: SacToLabelWidthCssPipe, name: "toLabelWidthCss" }, { kind: "pipe", type: SacToLabelHeightPipe, name: "toLabelHeight" }, { kind: "pipe", type: SacToControlHeightPipe, name: "toControlHeight" }, { kind: "component", type: SacTooltipComponent, selector: "sac-tooltip" }] }); }
2571
+ ], usesInheritance: true, ngImport: i0, template: "<div\n class=\"row mb-3\"\n [class.g-0]=\"disablelabel\">\n <label\n *ngIf=\"disablelabel === false && !isAdaptiveLabel\"\n id=\"{{ name }}_label\"\n for=\"{{ name }}\"\n class=\"col-12 col-form-label d-flex\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'visually-hidden', componentHeight | toLabelHeight]\">\n <div\n class=\"text flex-grow-0\"\n [class.flex-sm-grow-1]=\"splitlabelandhelptext\">\n {{ label }}\n </div>\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\"\n ><span\n [ngClass]=\"HelptextTooltipIcon\"\n class=\"ms-1\">\n </span>\n </sac-tooltip>\n </label>\n <div\n class=\"col-12\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\n [class.d-flex]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\n <div>\n <div\n [id]=\"name\"\n class=\"form-control-plaintext\"\n [ngClass]=\"[componentHeight | toControlHeight]\"\n [innerHTML]=\"value\"></div>\n <div\n *ngIf=\"helptextmode === 'text' && helptext\"\n class=\"form-text\">\n {{ helptext }}\n </div>\n </div>\n\n <div\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\n class=\"form-control-plaintext align-self-top ms-2 me-1 w-auto\"\n [ngClass]=\"[componentHeight | toControlHeight]\">\n <sac-tooltip\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [ngClass]=\"HelptextTooltipIcon\"\n class=\"ml-1\">\n </span>\n </sac-tooltip>\n </div>\n </div>\n</div>\n", dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "pipe", type: SacToControlWidthCssPipe, name: "toControlWidthCss" }, { kind: "pipe", type: SacToLabelWidthCssPipe, name: "toLabelWidthCss" }, { kind: "pipe", type: SacToLabelHeightPipe, name: "toLabelHeight" }, { kind: "pipe", type: SacToControlHeightPipe, name: "toControlHeight" }, { kind: "component", type: SacTooltipComponent, selector: "sac-tooltip" }] }); }
2572
2572
  }
2573
2573
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SacStaticLabelComponent, decorators: [{
2574
2574
  type: Component,
@@ -2591,7 +2591,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
2591
2591
  SacToLabelHeightPipe,
2592
2592
  SacToControlHeightPipe,
2593
2593
  SacTooltipComponent,
2594
- ], template: "<div\r\n class=\"row mb-3\"\r\n [class.g-0]=\"disablelabel\">\r\n <label\r\n *ngIf=\"disablelabel === false && !isAdaptiveLabel\"\r\n id=\"{{ name }}_label\"\r\n for=\"{{ name }}\"\r\n class=\"col-12 col-form-label d-flex\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'visually-hidden', componentHeight | toLabelHeight]\">\r\n <div\r\n class=\"text flex-grow-0\"\r\n [class.flex-sm-grow-1]=\"splitlabelandhelptext\">\r\n {{ label }}\r\n </div>\r\n <sac-tooltip\r\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\r\n [tooltiptext]=\"helptext\"\r\n [inlinemode]=\"true\"\r\n ><span\r\n [ngClass]=\"HelptextTooltipIcon\"\r\n class=\"ms-1\">\r\n </span>\r\n </sac-tooltip>\r\n </label>\r\n <div\r\n class=\"col-12\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\r\n [class.d-flex]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\r\n <div>\r\n <div\r\n [id]=\"name\"\r\n class=\"form-control-plaintext\"\r\n [ngClass]=\"[componentHeight | toControlHeight]\"\r\n [innerHTML]=\"value\"></div>\r\n <div\r\n *ngIf=\"helptextmode === 'text' && helptext\"\r\n class=\"form-text\">\r\n {{ helptext }}\r\n </div>\r\n </div>\r\n\r\n <div\r\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\r\n class=\"form-control-plaintext align-self-top ms-2 me-1 w-auto\"\r\n [ngClass]=\"[componentHeight | toControlHeight]\">\r\n <sac-tooltip\r\n [tooltiptext]=\"helptext\"\r\n [inlinemode]=\"true\">\r\n <span\r\n [ngClass]=\"HelptextTooltipIcon\"\r\n class=\"ml-1\">\r\n </span>\r\n </sac-tooltip>\r\n </div>\r\n </div>\r\n</div>\r\n" }]
2594
+ ], template: "<div\n class=\"row mb-3\"\n [class.g-0]=\"disablelabel\">\n <label\n *ngIf=\"disablelabel === false && !isAdaptiveLabel\"\n id=\"{{ name }}_label\"\n for=\"{{ name }}\"\n class=\"col-12 col-form-label d-flex\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'visually-hidden', componentHeight | toLabelHeight]\">\n <div\n class=\"text flex-grow-0\"\n [class.flex-sm-grow-1]=\"splitlabelandhelptext\">\n {{ label }}\n </div>\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\"\n ><span\n [ngClass]=\"HelptextTooltipIcon\"\n class=\"ms-1\">\n </span>\n </sac-tooltip>\n </label>\n <div\n class=\"col-12\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\n [class.d-flex]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\n <div>\n <div\n [id]=\"name\"\n class=\"form-control-plaintext\"\n [ngClass]=\"[componentHeight | toControlHeight]\"\n [innerHTML]=\"value\"></div>\n <div\n *ngIf=\"helptextmode === 'text' && helptext\"\n class=\"form-text\">\n {{ helptext }}\n </div>\n </div>\n\n <div\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\n class=\"form-control-plaintext align-self-top ms-2 me-1 w-auto\"\n [ngClass]=\"[componentHeight | toControlHeight]\">\n <sac-tooltip\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [ngClass]=\"HelptextTooltipIcon\"\n class=\"ml-1\">\n </span>\n </sac-tooltip>\n </div>\n </div>\n</div>\n" }]
2595
2595
  }], ctorParameters: function () { return [{ type: SacFormLayoutDirective, decorators: [{
2596
2596
  type: Host
2597
2597
  }, {
@@ -2634,7 +2634,7 @@ class SacStaticFormContainerComponent extends SacStaticFormContainerCommon {
2634
2634
  multi: true,
2635
2635
  useExisting: forwardRef(() => SacStaticFormContainerComponent),
2636
2636
  },
2637
- ], usesInheritance: true, ngImport: i0, template: "<div\r\n class=\"row mb-3\"\r\n [class.g-0]=\"disablelabel\">\r\n <label\r\n *ngIf=\"disablelabel === false && !isAdaptiveLabel\"\r\n id=\"{{ name }}_label\"\r\n for=\"{{ name }}\"\r\n class=\"col-12 col-form-label d-flex\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'visually-hidden', componentHeight | toLabelHeight]\"\r\n [class.required]=\"isrequired\">\r\n <div\r\n class=\"text flex-grow-0\"\r\n [class.flex-sm-grow-1]=\"splitlabelandhelptext\">\r\n {{ label }}\r\n </div>\r\n <sac-tooltip\r\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\r\n [tooltiptext]=\"helptext\"\r\n [inlinemode]=\"true\">\r\n <span\r\n [ngClass]=\"HelptextTooltipIcon\"\r\n class=\"ms-1\">\r\n </span>\r\n </sac-tooltip>\r\n </label>\r\n <div\r\n class=\"col-12\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\r\n [class.d-flex]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\r\n <div\r\n [class.flex-grow-1]=\"helptextmode === 'tooltip' && helptext && disablelabel\"\r\n [class.was-validated]=\"isinlineerrorenabled && isinvalid && errormessage\">\r\n <ng-content></ng-content>\r\n <label\r\n for=\"{{ name }}\"\r\n class=\"form-label-adaptive form-label-fixed\"\r\n [ngClass]=\"{ required: isrequired }\"\r\n *ngIf=\"isAdaptiveLabel && !disablelabel\"\r\n >{{ label }}</label\r\n >\r\n <div\r\n class=\"invalid-feedback\"\r\n *ngIf=\"isinlineerrorenabled && isinvalid && errormessage\">\r\n {{ errormessage }}\r\n </div>\r\n <div\r\n *ngIf=\"helptextmode === 'text' && helptext\"\r\n class=\"form-text\">\r\n {{ helptext }}\r\n </div>\r\n </div>\r\n\r\n <div\r\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\r\n class=\"form-control-plaintext align-self-top ms-2 me-1 w-auto\"\r\n [ngClass]=\"[componentHeight | toControlHeight]\">\r\n <sac-tooltip\r\n [tooltiptext]=\"helptext\"\r\n [inlinemode]=\"true\">\r\n <span\r\n [ngClass]=\"HelptextTooltipIcon\"\r\n class=\"ml-1\">\r\n </span>\r\n </sac-tooltip>\r\n </div>\r\n </div>\r\n</div>\r\n", dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "pipe", type: SacToControlWidthCssPipe, name: "toControlWidthCss" }, { kind: "pipe", type: SacToControlHeightPipe, name: "toControlHeight" }, { kind: "pipe", type: SacToLabelWidthCssPipe, name: "toLabelWidthCss" }, { kind: "pipe", type: SacToLabelHeightPipe, name: "toLabelHeight" }, { kind: "component", type: SacTooltipComponent, selector: "sac-tooltip" }] }); }
2637
+ ], usesInheritance: true, ngImport: i0, template: "<div\n class=\"row mb-3\"\n [class.g-0]=\"disablelabel\">\n <label\n *ngIf=\"disablelabel === false && !isAdaptiveLabel\"\n id=\"{{ name }}_label\"\n for=\"{{ name }}\"\n class=\"col-12 col-form-label d-flex\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'visually-hidden', componentHeight | toLabelHeight]\"\n [class.required]=\"isrequired\">\n <div\n class=\"text flex-grow-0\"\n [class.flex-sm-grow-1]=\"splitlabelandhelptext\">\n {{ label }}\n </div>\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [ngClass]=\"HelptextTooltipIcon\"\n class=\"ms-1\">\n </span>\n </sac-tooltip>\n </label>\n <div\n class=\"col-12\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\n [class.d-flex]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\n <div\n [class.flex-grow-1]=\"helptextmode === 'tooltip' && helptext && disablelabel\"\n [class.was-validated]=\"isinlineerrorenabled && isinvalid && errormessage\">\n <ng-content></ng-content>\n <label\n for=\"{{ name }}\"\n class=\"form-label-adaptive form-label-fixed\"\n [ngClass]=\"{ required: isrequired }\"\n *ngIf=\"isAdaptiveLabel && !disablelabel\"\n >{{ label }}</label\n >\n <div\n class=\"invalid-feedback\"\n *ngIf=\"isinlineerrorenabled && isinvalid && errormessage\">\n {{ errormessage }}\n </div>\n <div\n *ngIf=\"helptextmode === 'text' && helptext\"\n class=\"form-text\">\n {{ helptext }}\n </div>\n </div>\n\n <div\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\n class=\"form-control-plaintext align-self-top ms-2 me-1 w-auto\"\n [ngClass]=\"[componentHeight | toControlHeight]\">\n <sac-tooltip\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [ngClass]=\"HelptextTooltipIcon\"\n class=\"ml-1\">\n </span>\n </sac-tooltip>\n </div>\n </div>\n</div>\n", dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "pipe", type: SacToControlWidthCssPipe, name: "toControlWidthCss" }, { kind: "pipe", type: SacToControlHeightPipe, name: "toControlHeight" }, { kind: "pipe", type: SacToLabelWidthCssPipe, name: "toLabelWidthCss" }, { kind: "pipe", type: SacToLabelHeightPipe, name: "toLabelHeight" }, { kind: "component", type: SacTooltipComponent, selector: "sac-tooltip" }] }); }
2638
2638
  }
2639
2639
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SacStaticFormContainerComponent, decorators: [{
2640
2640
  type: Component,
@@ -2657,7 +2657,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
2657
2657
  SacToLabelWidthCssPipe,
2658
2658
  SacToLabelHeightPipe,
2659
2659
  SacTooltipComponent,
2660
- ], template: "<div\r\n class=\"row mb-3\"\r\n [class.g-0]=\"disablelabel\">\r\n <label\r\n *ngIf=\"disablelabel === false && !isAdaptiveLabel\"\r\n id=\"{{ name }}_label\"\r\n for=\"{{ name }}\"\r\n class=\"col-12 col-form-label d-flex\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'visually-hidden', componentHeight | toLabelHeight]\"\r\n [class.required]=\"isrequired\">\r\n <div\r\n class=\"text flex-grow-0\"\r\n [class.flex-sm-grow-1]=\"splitlabelandhelptext\">\r\n {{ label }}\r\n </div>\r\n <sac-tooltip\r\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\r\n [tooltiptext]=\"helptext\"\r\n [inlinemode]=\"true\">\r\n <span\r\n [ngClass]=\"HelptextTooltipIcon\"\r\n class=\"ms-1\">\r\n </span>\r\n </sac-tooltip>\r\n </label>\r\n <div\r\n class=\"col-12\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\r\n [class.d-flex]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\r\n <div\r\n [class.flex-grow-1]=\"helptextmode === 'tooltip' && helptext && disablelabel\"\r\n [class.was-validated]=\"isinlineerrorenabled && isinvalid && errormessage\">\r\n <ng-content></ng-content>\r\n <label\r\n for=\"{{ name }}\"\r\n class=\"form-label-adaptive form-label-fixed\"\r\n [ngClass]=\"{ required: isrequired }\"\r\n *ngIf=\"isAdaptiveLabel && !disablelabel\"\r\n >{{ label }}</label\r\n >\r\n <div\r\n class=\"invalid-feedback\"\r\n *ngIf=\"isinlineerrorenabled && isinvalid && errormessage\">\r\n {{ errormessage }}\r\n </div>\r\n <div\r\n *ngIf=\"helptextmode === 'text' && helptext\"\r\n class=\"form-text\">\r\n {{ helptext }}\r\n </div>\r\n </div>\r\n\r\n <div\r\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\r\n class=\"form-control-plaintext align-self-top ms-2 me-1 w-auto\"\r\n [ngClass]=\"[componentHeight | toControlHeight]\">\r\n <sac-tooltip\r\n [tooltiptext]=\"helptext\"\r\n [inlinemode]=\"true\">\r\n <span\r\n [ngClass]=\"HelptextTooltipIcon\"\r\n class=\"ml-1\">\r\n </span>\r\n </sac-tooltip>\r\n </div>\r\n </div>\r\n</div>\r\n" }]
2660
+ ], template: "<div\n class=\"row mb-3\"\n [class.g-0]=\"disablelabel\">\n <label\n *ngIf=\"disablelabel === false && !isAdaptiveLabel\"\n id=\"{{ name }}_label\"\n for=\"{{ name }}\"\n class=\"col-12 col-form-label d-flex\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'visually-hidden', componentHeight | toLabelHeight]\"\n [class.required]=\"isrequired\">\n <div\n class=\"text flex-grow-0\"\n [class.flex-sm-grow-1]=\"splitlabelandhelptext\">\n {{ label }}\n </div>\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [ngClass]=\"HelptextTooltipIcon\"\n class=\"ms-1\">\n </span>\n </sac-tooltip>\n </label>\n <div\n class=\"col-12\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\n [class.d-flex]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\n <div\n [class.flex-grow-1]=\"helptextmode === 'tooltip' && helptext && disablelabel\"\n [class.was-validated]=\"isinlineerrorenabled && isinvalid && errormessage\">\n <ng-content></ng-content>\n <label\n for=\"{{ name }}\"\n class=\"form-label-adaptive form-label-fixed\"\n [ngClass]=\"{ required: isrequired }\"\n *ngIf=\"isAdaptiveLabel && !disablelabel\"\n >{{ label }}</label\n >\n <div\n class=\"invalid-feedback\"\n *ngIf=\"isinlineerrorenabled && isinvalid && errormessage\">\n {{ errormessage }}\n </div>\n <div\n *ngIf=\"helptextmode === 'text' && helptext\"\n class=\"form-text\">\n {{ helptext }}\n </div>\n </div>\n\n <div\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\n class=\"form-control-plaintext align-self-top ms-2 me-1 w-auto\"\n [ngClass]=\"[componentHeight | toControlHeight]\">\n <sac-tooltip\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [ngClass]=\"HelptextTooltipIcon\"\n class=\"ml-1\">\n </span>\n </sac-tooltip>\n </div>\n </div>\n</div>\n" }]
2661
2661
  }], ctorParameters: function () { return [{ type: SacFormLayoutDirective, decorators: [{
2662
2662
  type: Host
2663
2663
  }, {
@@ -2686,11 +2686,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
2686
2686
  */
2687
2687
  class SacTabItemComponent extends SacTabItemCommon {
2688
2688
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SacTabItemComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
2689
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: SacTabItemComponent, isStandalone: true, selector: "sac-tabitem", usesInheritance: true, ngImport: i0, template: "<div [id]=\"id\" [hidden]=\"unloadwhenhidden === false && active === false\" *ngIf=\"(unloadwhenhidden === true && active === true) || unloadwhenhidden === false\" class=\"tab-pane\">\r\n <ng-template [ngTemplateOutlet]=\"templateRef\"></ng-template>\r\n</div>\r\n", dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }] }); }
2689
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: SacTabItemComponent, isStandalone: true, selector: "sac-tabitem", usesInheritance: true, ngImport: i0, template: "<div [id]=\"id\" [hidden]=\"unloadwhenhidden === false && active === false\" *ngIf=\"(unloadwhenhidden === true && active === true) || unloadwhenhidden === false\" class=\"tab-pane\">\n <ng-template [ngTemplateOutlet]=\"templateRef\"></ng-template>\n</div>\n", dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }] }); }
2690
2690
  }
2691
2691
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SacTabItemComponent, decorators: [{
2692
2692
  type: Component,
2693
- args: [{ selector: 'sac-tabitem', standalone: true, imports: [NgIf, NgTemplateOutlet], template: "<div [id]=\"id\" [hidden]=\"unloadwhenhidden === false && active === false\" *ngIf=\"(unloadwhenhidden === true && active === true) || unloadwhenhidden === false\" class=\"tab-pane\">\r\n <ng-template [ngTemplateOutlet]=\"templateRef\"></ng-template>\r\n</div>\r\n" }]
2693
+ args: [{ selector: 'sac-tabitem', standalone: true, imports: [NgIf, NgTemplateOutlet], template: "<div [id]=\"id\" [hidden]=\"unloadwhenhidden === false && active === false\" *ngIf=\"(unloadwhenhidden === true && active === true) || unloadwhenhidden === false\" class=\"tab-pane\">\n <ng-template [ngTemplateOutlet]=\"templateRef\"></ng-template>\n</div>\n" }]
2694
2694
  }] });
2695
2695
 
2696
2696
  /**
@@ -2705,7 +2705,7 @@ class SacTabComponent extends SacTabCommon {
2705
2705
  return this._tabItems.toArray();
2706
2706
  }
2707
2707
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SacTabComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
2708
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: SacTabComponent, isStandalone: true, selector: "sac-tab", queries: [{ propertyName: "_tabItems", predicate: SacTabItemComponent }], usesInheritance: true, ngImport: i0, template: "<!-- Nav tabs -->\r\n<ul class=\"nav nav-tabs\" role=\"tablist\">\r\n <li class=\"nav-item\" *ngFor=\"let item of _tabItems\">\r\n <a\r\n [id]=\"GetTabItemButtonId(item.id)\"\r\n role=\"tab\"\r\n class=\"nav-link\"\r\n data-toggle=\"tab\"\r\n [ngClass]=\"{ 'active': item.active, 'disabled': item.disabled }\"\r\n (click)=\"selectTab(item)\"\r\n [ngStyle]=\"{'cursor': item.disabled ? 'not-allowed' : 'pointer'}\"\r\n >{{item.label}}</a\r\n >\r\n </li>\r\n</ul>\r\n\r\n<!-- Tab panes -->\r\n<div class=\"tab-content pl-3 pt-2\">\r\n <ng-content></ng-content>\r\n</div>\r\n", dependencies: [{ kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }] }); }
2708
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: SacTabComponent, isStandalone: true, selector: "sac-tab", queries: [{ propertyName: "_tabItems", predicate: SacTabItemComponent }], usesInheritance: true, ngImport: i0, template: "<!-- Nav tabs -->\n<ul class=\"nav nav-tabs\" role=\"tablist\">\n <li class=\"nav-item\" *ngFor=\"let item of _tabItems\">\n <a\n [id]=\"GetTabItemButtonId(item.id)\"\n role=\"tab\"\n class=\"nav-link\"\n data-toggle=\"tab\"\n [ngClass]=\"{ 'active': item.active, 'disabled': item.disabled }\"\n (click)=\"selectTab(item)\"\n [ngStyle]=\"{'cursor': item.disabled ? 'not-allowed' : 'pointer'}\"\n >{{item.label}}</a\n >\n </li>\n</ul>\n\n<!-- Tab panes -->\n<div class=\"tab-content pl-3 pt-2\">\n <ng-content></ng-content>\n</div>\n", dependencies: [{ kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }] }); }
2709
2709
  }
2710
2710
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SacTabComponent, decorators: [{
2711
2711
  type: Component,
@@ -2713,7 +2713,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
2713
2713
  NgFor,
2714
2714
  NgClass,
2715
2715
  NgStyle,
2716
- ], template: "<!-- Nav tabs -->\r\n<ul class=\"nav nav-tabs\" role=\"tablist\">\r\n <li class=\"nav-item\" *ngFor=\"let item of _tabItems\">\r\n <a\r\n [id]=\"GetTabItemButtonId(item.id)\"\r\n role=\"tab\"\r\n class=\"nav-link\"\r\n data-toggle=\"tab\"\r\n [ngClass]=\"{ 'active': item.active, 'disabled': item.disabled }\"\r\n (click)=\"selectTab(item)\"\r\n [ngStyle]=\"{'cursor': item.disabled ? 'not-allowed' : 'pointer'}\"\r\n >{{item.label}}</a\r\n >\r\n </li>\r\n</ul>\r\n\r\n<!-- Tab panes -->\r\n<div class=\"tab-content pl-3 pt-2\">\r\n <ng-content></ng-content>\r\n</div>\r\n" }]
2716
+ ], template: "<!-- Nav tabs -->\n<ul class=\"nav nav-tabs\" role=\"tablist\">\n <li class=\"nav-item\" *ngFor=\"let item of _tabItems\">\n <a\n [id]=\"GetTabItemButtonId(item.id)\"\n role=\"tab\"\n class=\"nav-link\"\n data-toggle=\"tab\"\n [ngClass]=\"{ 'active': item.active, 'disabled': item.disabled }\"\n (click)=\"selectTab(item)\"\n [ngStyle]=\"{'cursor': item.disabled ? 'not-allowed' : 'pointer'}\"\n >{{item.label}}</a\n >\n </li>\n</ul>\n\n<!-- Tab panes -->\n<div class=\"tab-content pl-3 pt-2\">\n <ng-content></ng-content>\n</div>\n" }]
2717
2717
  }], propDecorators: { _tabItems: [{
2718
2718
  type: ContentChildren,
2719
2719
  args: [SacTabItemComponent]
@@ -2771,7 +2771,7 @@ class SacTinyMceComponent extends SacTinyMceCommon {
2771
2771
  useExisting: forwardRef(() => SacTinyMceComponent),
2772
2772
  multi: true,
2773
2773
  },
2774
- ], usesInheritance: true, ngImport: i0, template: "<div\r\n class=\"row mb-3\"\r\n [class.g-0]=\"disablelabel\">\r\n <label\r\n for=\"{{ name }}\"\r\n class=\"col-12 col-form-label d-flex\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'visually-hidden', componentHeight | toLabelHeight]\"\r\n [class.required]=\"isrequired\">\r\n <div\r\n class=\"text flex-grow-0\"\r\n [class.flex-sm-grow-1]=\"splitlabelandhelptext\">\r\n {{ label }}\r\n </div>\r\n <sac-tooltip\r\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\r\n [tooltiptext]=\"helptext\"\r\n [inlinemode]=\"true\">\r\n <span\r\n [ngClass]=\"HelptextTooltipIcon\"\r\n class=\"ms-1\">\r\n </span>\r\n </sac-tooltip>\r\n </label>\r\n <div\r\n class=\"col-12\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\r\n [class.d-flex]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\r\n <div [class.flex-grow-1]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\r\n <editor\r\n [id]=\"name + '_tinymce'\"\r\n [init]=\"_config\"\r\n [initialValue]=\"value\"\r\n ngModel\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n (ngModelChange)=\"setValue($event)\"\r\n (onSaveContent)=\"save($event.event.content)\"\r\n [disabled]=\"disabled\"\r\n [class.is-invalid]=\"isinlineerrorenabled && invalid && (dirty || touched)\"></editor>\r\n <div\r\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\"\r\n class=\"invalid-feedback\">\r\n {{ GetErrorMessage() | async }}\r\n </div>\r\n <div\r\n *ngIf=\"helptextmode === 'text' && helptext\"\r\n class=\"form-text\">\r\n {{ helptext }}\r\n </div>\r\n </div>\r\n\r\n <div\r\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\r\n class=\"form-control-plaintext align-self-top ms-2 me-1 w-auto\"\r\n [ngClass]=\"[componentHeight | toControlHeight]\">\r\n <sac-tooltip\r\n [tooltiptext]=\"helptext\"\r\n [inlinemode]=\"true\">\r\n <span\r\n [ngClass]=\"HelptextTooltipIcon\"\r\n class=\"ml-1\">\r\n </span>\r\n </sac-tooltip>\r\n </div>\r\n </div>\r\n\r\n <sac-dialog\r\n *ngIf=\"selectdialogvisible\"\r\n [allowesc]=\"false\"\r\n [backdrop]=\"true\"\r\n [(isvisible)]=\"selectdialogvisible\"\r\n title=\"{{ lngResourceService.GetString(validationKeyService.TinyMceFileselectDialogtitle) | async }}\"\r\n size=\"large\"\r\n height=\"500px\">\r\n <ng-container dialogbody>\r\n <sac-filebrowser\r\n [apiurl]=\"filebrowserapiurl\"\r\n (file)=\"selectDialogSettings.value = $event\"\r\n [allowfoldercreate]=\"allowfoldercreate\"\r\n [allowfolderrename]=\"allowfolderrename\"\r\n [allowfolderdelete]=\"allowfolderdelete\"\r\n [allowfileupload]=\"allowfileupload\"\r\n [allowfilerename]=\"allowfilerename\"\r\n [allowfiledelete]=\"allowfiledelete\"\r\n [selectedfile]=\"selectDialogSettings.value\"\r\n [allowedtypes]=\"selectDialogSettings.allowedtypes\"></sac-filebrowser>\r\n </ng-container>\r\n <ng-container dialogfooter>\r\n <sac-button\r\n role=\"primary\"\r\n [name]=\"name + '_modalOk'\"\r\n text=\"{{ lngResourceService.GetString(validationKeyService.TinyMceFileselectOk) | async }}\"\r\n (clicked)=\"setSelectDialogResult()\"></sac-button>\r\n <sac-button\r\n [name]=\"name + '_modalClose'\"\r\n text=\"{{ lngResourceService.GetString(validationKeyService.TinyMceFileselectCancel) | async }}\"\r\n (clicked)=\"closeSelectDialog()\"></sac-button>\r\n </ng-container>\r\n </sac-dialog>\r\n</div>\r\n", styles: [".is-invalid{border:1px solid var(--bs-form-invalid-border-color)}\n"], dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: EditorComponent, selector: "editor", inputs: ["cloudChannel", "apiKey", "init", "id", "initialValue", "outputFormat", "inline", "tagName", "plugins", "toolbar", "modelEvents", "allowedEvents", "ignoreEvents", "disabled"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: SacDialogComponent, selector: "sac-dialog" }, { kind: "component", type: SacButtonComponent, selector: "sac-button" }, { kind: "component", type: SacBrowserComponent, selector: "sac-filebrowser" }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "pipe", type: SacToControlWidthCssPipe, name: "toControlWidthCss" }, { kind: "pipe", type: SacToLabelWidthCssPipe, name: "toLabelWidthCss" }, { kind: "pipe", type: SacToLabelHeightPipe, name: "toLabelHeight" }, { kind: "component", type: SacTooltipComponent, selector: "sac-tooltip" }, { kind: "pipe", type: SacToControlHeightPipe, name: "toControlHeight" }] }); }
2774
+ ], usesInheritance: true, ngImport: i0, template: "<div\n class=\"row mb-3\"\n [class.g-0]=\"disablelabel\">\n <label\n for=\"{{ name }}\"\n class=\"col-12 col-form-label d-flex\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'visually-hidden', componentHeight | toLabelHeight]\"\n [class.required]=\"isrequired\">\n <div\n class=\"text flex-grow-0\"\n [class.flex-sm-grow-1]=\"splitlabelandhelptext\">\n {{ label }}\n </div>\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [ngClass]=\"HelptextTooltipIcon\"\n class=\"ms-1\">\n </span>\n </sac-tooltip>\n </label>\n <div\n class=\"col-12\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\n [class.d-flex]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\n <div [class.flex-grow-1]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\n <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 <div\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\"\n class=\"invalid-feedback\">\n {{ GetErrorMessage() | async }}\n </div>\n <div\n *ngIf=\"helptextmode === 'text' && helptext\"\n class=\"form-text\">\n {{ helptext }}\n </div>\n </div>\n\n <div\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\n class=\"form-control-plaintext align-self-top ms-2 me-1 w-auto\"\n [ngClass]=\"[componentHeight | toControlHeight]\">\n <sac-tooltip\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [ngClass]=\"HelptextTooltipIcon\"\n class=\"ml-1\">\n </span>\n </sac-tooltip>\n </div>\n </div>\n\n <sac-dialog\n *ngIf=\"selectdialogvisible\"\n [allowesc]=\"false\"\n [backdrop]=\"true\"\n [(isvisible)]=\"selectdialogvisible\"\n title=\"{{ lngResourceService.GetString(validationKeyService.TinyMceFileselectDialogtitle) | async }}\"\n size=\"large\"\n height=\"500px\">\n <ng-container dialogbody>\n <sac-filebrowser\n [apiurl]=\"filebrowserapiurl\"\n (file)=\"selectDialogSettings.value = $event\"\n [allowfoldercreate]=\"allowfoldercreate\"\n [allowfolderrename]=\"allowfolderrename\"\n [allowfolderdelete]=\"allowfolderdelete\"\n [allowfileupload]=\"allowfileupload\"\n [allowfilerename]=\"allowfilerename\"\n [allowfiledelete]=\"allowfiledelete\"\n [selectedfile]=\"selectDialogSettings.value\"\n [allowedtypes]=\"selectDialogSettings.allowedtypes\"></sac-filebrowser>\n </ng-container>\n <ng-container dialogfooter>\n <sac-button\n role=\"primary\"\n [name]=\"name + '_modalOk'\"\n text=\"{{ lngResourceService.GetString(validationKeyService.TinyMceFileselectOk) | async }}\"\n (clicked)=\"setSelectDialogResult()\"></sac-button>\n <sac-button\n [name]=\"name + '_modalClose'\"\n text=\"{{ lngResourceService.GetString(validationKeyService.TinyMceFileselectCancel) | async }}\"\n (clicked)=\"closeSelectDialog()\"></sac-button>\n </ng-container>\n </sac-dialog>\n</div>\n", styles: [".is-invalid{border:1px solid var(--bs-form-invalid-border-color)}\n"], dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: EditorComponent, selector: "editor", inputs: ["cloudChannel", "apiKey", "init", "id", "initialValue", "outputFormat", "inline", "tagName", "plugins", "toolbar", "modelEvents", "allowedEvents", "ignoreEvents", "disabled"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: SacDialogComponent, selector: "sac-dialog" }, { kind: "component", type: SacButtonComponent, selector: "sac-button" }, { kind: "component", type: SacBrowserComponent, selector: "sac-filebrowser" }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "pipe", type: SacToControlWidthCssPipe, name: "toControlWidthCss" }, { kind: "pipe", type: SacToLabelWidthCssPipe, name: "toLabelWidthCss" }, { kind: "pipe", type: SacToLabelHeightPipe, name: "toLabelHeight" }, { kind: "component", type: SacTooltipComponent, selector: "sac-tooltip" }, { kind: "pipe", type: SacToControlHeightPipe, name: "toControlHeight" }] }); }
2775
2775
  }
2776
2776
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SacTinyMceComponent, decorators: [{
2777
2777
  type: Component,
@@ -2800,7 +2800,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
2800
2800
  SacToLabelHeightPipe,
2801
2801
  SacTooltipComponent,
2802
2802
  SacToControlHeightPipe,
2803
- ], template: "<div\r\n class=\"row mb-3\"\r\n [class.g-0]=\"disablelabel\">\r\n <label\r\n for=\"{{ name }}\"\r\n class=\"col-12 col-form-label d-flex\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'visually-hidden', componentHeight | toLabelHeight]\"\r\n [class.required]=\"isrequired\">\r\n <div\r\n class=\"text flex-grow-0\"\r\n [class.flex-sm-grow-1]=\"splitlabelandhelptext\">\r\n {{ label }}\r\n </div>\r\n <sac-tooltip\r\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\r\n [tooltiptext]=\"helptext\"\r\n [inlinemode]=\"true\">\r\n <span\r\n [ngClass]=\"HelptextTooltipIcon\"\r\n class=\"ms-1\">\r\n </span>\r\n </sac-tooltip>\r\n </label>\r\n <div\r\n class=\"col-12\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\r\n [class.d-flex]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\r\n <div [class.flex-grow-1]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\r\n <editor\r\n [id]=\"name + '_tinymce'\"\r\n [init]=\"_config\"\r\n [initialValue]=\"value\"\r\n ngModel\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n (ngModelChange)=\"setValue($event)\"\r\n (onSaveContent)=\"save($event.event.content)\"\r\n [disabled]=\"disabled\"\r\n [class.is-invalid]=\"isinlineerrorenabled && invalid && (dirty || touched)\"></editor>\r\n <div\r\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\"\r\n class=\"invalid-feedback\">\r\n {{ GetErrorMessage() | async }}\r\n </div>\r\n <div\r\n *ngIf=\"helptextmode === 'text' && helptext\"\r\n class=\"form-text\">\r\n {{ helptext }}\r\n </div>\r\n </div>\r\n\r\n <div\r\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\r\n class=\"form-control-plaintext align-self-top ms-2 me-1 w-auto\"\r\n [ngClass]=\"[componentHeight | toControlHeight]\">\r\n <sac-tooltip\r\n [tooltiptext]=\"helptext\"\r\n [inlinemode]=\"true\">\r\n <span\r\n [ngClass]=\"HelptextTooltipIcon\"\r\n class=\"ml-1\">\r\n </span>\r\n </sac-tooltip>\r\n </div>\r\n </div>\r\n\r\n <sac-dialog\r\n *ngIf=\"selectdialogvisible\"\r\n [allowesc]=\"false\"\r\n [backdrop]=\"true\"\r\n [(isvisible)]=\"selectdialogvisible\"\r\n title=\"{{ lngResourceService.GetString(validationKeyService.TinyMceFileselectDialogtitle) | async }}\"\r\n size=\"large\"\r\n height=\"500px\">\r\n <ng-container dialogbody>\r\n <sac-filebrowser\r\n [apiurl]=\"filebrowserapiurl\"\r\n (file)=\"selectDialogSettings.value = $event\"\r\n [allowfoldercreate]=\"allowfoldercreate\"\r\n [allowfolderrename]=\"allowfolderrename\"\r\n [allowfolderdelete]=\"allowfolderdelete\"\r\n [allowfileupload]=\"allowfileupload\"\r\n [allowfilerename]=\"allowfilerename\"\r\n [allowfiledelete]=\"allowfiledelete\"\r\n [selectedfile]=\"selectDialogSettings.value\"\r\n [allowedtypes]=\"selectDialogSettings.allowedtypes\"></sac-filebrowser>\r\n </ng-container>\r\n <ng-container dialogfooter>\r\n <sac-button\r\n role=\"primary\"\r\n [name]=\"name + '_modalOk'\"\r\n text=\"{{ lngResourceService.GetString(validationKeyService.TinyMceFileselectOk) | async }}\"\r\n (clicked)=\"setSelectDialogResult()\"></sac-button>\r\n <sac-button\r\n [name]=\"name + '_modalClose'\"\r\n text=\"{{ lngResourceService.GetString(validationKeyService.TinyMceFileselectCancel) | async }}\"\r\n (clicked)=\"closeSelectDialog()\"></sac-button>\r\n </ng-container>\r\n </sac-dialog>\r\n</div>\r\n", styles: [".is-invalid{border:1px solid var(--bs-form-invalid-border-color)}\n"] }]
2803
+ ], template: "<div\n class=\"row mb-3\"\n [class.g-0]=\"disablelabel\">\n <label\n for=\"{{ name }}\"\n class=\"col-12 col-form-label d-flex\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'visually-hidden', componentHeight | toLabelHeight]\"\n [class.required]=\"isrequired\">\n <div\n class=\"text flex-grow-0\"\n [class.flex-sm-grow-1]=\"splitlabelandhelptext\">\n {{ label }}\n </div>\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [ngClass]=\"HelptextTooltipIcon\"\n class=\"ms-1\">\n </span>\n </sac-tooltip>\n </label>\n <div\n class=\"col-12\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\n [class.d-flex]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\n <div [class.flex-grow-1]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\n <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 <div\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\"\n class=\"invalid-feedback\">\n {{ GetErrorMessage() | async }}\n </div>\n <div\n *ngIf=\"helptextmode === 'text' && helptext\"\n class=\"form-text\">\n {{ helptext }}\n </div>\n </div>\n\n <div\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\n class=\"form-control-plaintext align-self-top ms-2 me-1 w-auto\"\n [ngClass]=\"[componentHeight | toControlHeight]\">\n <sac-tooltip\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [ngClass]=\"HelptextTooltipIcon\"\n class=\"ml-1\">\n </span>\n </sac-tooltip>\n </div>\n </div>\n\n <sac-dialog\n *ngIf=\"selectdialogvisible\"\n [allowesc]=\"false\"\n [backdrop]=\"true\"\n [(isvisible)]=\"selectdialogvisible\"\n title=\"{{ lngResourceService.GetString(validationKeyService.TinyMceFileselectDialogtitle) | async }}\"\n size=\"large\"\n height=\"500px\">\n <ng-container dialogbody>\n <sac-filebrowser\n [apiurl]=\"filebrowserapiurl\"\n (file)=\"selectDialogSettings.value = $event\"\n [allowfoldercreate]=\"allowfoldercreate\"\n [allowfolderrename]=\"allowfolderrename\"\n [allowfolderdelete]=\"allowfolderdelete\"\n [allowfileupload]=\"allowfileupload\"\n [allowfilerename]=\"allowfilerename\"\n [allowfiledelete]=\"allowfiledelete\"\n [selectedfile]=\"selectDialogSettings.value\"\n [allowedtypes]=\"selectDialogSettings.allowedtypes\"></sac-filebrowser>\n </ng-container>\n <ng-container dialogfooter>\n <sac-button\n role=\"primary\"\n [name]=\"name + '_modalOk'\"\n text=\"{{ lngResourceService.GetString(validationKeyService.TinyMceFileselectOk) | async }}\"\n (clicked)=\"setSelectDialogResult()\"></sac-button>\n <sac-button\n [name]=\"name + '_modalClose'\"\n text=\"{{ lngResourceService.GetString(validationKeyService.TinyMceFileselectCancel) | async }}\"\n (clicked)=\"closeSelectDialog()\"></sac-button>\n </ng-container>\n </sac-dialog>\n</div>\n", styles: [".is-invalid{border:1px solid var(--bs-form-invalid-border-color)}\n"] }]
2804
2804
  }], ctorParameters: function () { return [{ type: SacFormLayoutDirective, decorators: [{
2805
2805
  type: Host
2806
2806
  }, {
@@ -2869,7 +2869,7 @@ class SacDropzoneSingleComponent extends SacDropzoneSingleCommon {
2869
2869
  multi: true,
2870
2870
  useExisting: forwardRef(() => SacDropzoneSingleComponent),
2871
2871
  },
2872
- ], usesInheritance: true, ngImport: i0, template: "<div\r\n id=\"{{ name }}\"\r\n class=\"row mb-3\"\r\n [class.g-0]=\"disablelabel\">\r\n <label\r\n *ngIf=\"disablelabel === false && !isAdaptiveLabel\"\r\n id=\"{{ name }}_label\"\r\n for=\"{{ name }}_uploadinput\"\r\n class=\"col-12 col-form-label d-flex\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'visually-hidden', componentHeight | toLabelHeight]\"\r\n [class.required]=\"isrequired\">\r\n <div\r\n class=\"text flex-grow-0\"\r\n [class.flex-sm-grow-1]=\"splitlabelandhelptext\">\r\n {{ label }}\r\n </div>\r\n <sac-tooltip\r\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\r\n [tooltiptext]=\"helptext\"\r\n [inlinemode]=\"true\">\r\n <span\r\n [ngClass]=\"HelptextTooltipIcon\"\r\n class=\"ms-1\">\r\n </span>\r\n </sac-tooltip>\r\n </label>\r\n <div\r\n class=\"col-12\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\r\n [class.d-flex]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\r\n <div [class.flex-grow-1]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\r\n <div\r\n class=\"dropzone d-flex justify-content-center position-relative\"\r\n (drop)=\"dropHandler($event)\"\r\n (dragover)=\"onDragOver($event)\"\r\n (dragleave)=\"onDragLeave($event)\"\r\n [style.min-height]=\"uploadheight\"\r\n [class.active]=\"active\"\r\n [class.is-invalid]=\"invalid && (dirty || touched)\">\r\n <div\r\n class=\"content d-flex justify-content-center position-relative\"\r\n *ngIf=\"uploads.length === 0\">\r\n <div class=\"align-self-center text-center\">\r\n <div [class.is-invalid]=\"isinlineerrorenabled && invalid && (dirty || touched)\">\r\n <ng-content></ng-content>\r\n </div>\r\n </div>\r\n </div>\r\n <div\r\n class=\"content d-flex justify-content-center align-items-center w-50 my-3\"\r\n *ngIf=\"uploads.length > 0\">\r\n <div class=\"flex-fill progress-container\">\r\n <div\r\n class=\"dropzone-uploadstates\"\r\n *ngFor=\"let file of uploads\">\r\n <div\r\n class=\"input-group upload-component upload-component-multiple\"\r\n [class.input-group-sm]=\"componentHeight === ControlHeight.Small\"\r\n [class.input-group-lg]=\"componentHeight === ControlHeight.Large\">\r\n <div class=\"form-control upload-progress border-secondary\">\r\n <div class=\"progress\">\r\n <div\r\n class=\"progress-bar\"\r\n [class.progress-bar-success]=\"file.progress === 100\"\r\n role=\"progressbar\"\r\n [attr.aria-valuenow]=\"file.progress\"\r\n aria-valuemin=\"0\"\r\n aria-valuemax=\"100\"\r\n [style.width.%]=\"file.progress\">\r\n <span class=\"progress-text text-dark\">{{ file.name }}</span>\r\n </div>\r\n </div>\r\n </div>\r\n <a\r\n class=\"btn\"\r\n (click)=\"cancel(file.uploadId)\"\r\n [class.btn-secondary]=\"!(invalid && (dirty || touched))\"\r\n [class.btn-danger]=\"invalid && (dirty || touched)\">\r\n <span [class]=\"IconDelete\"></span>\r\n </a>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <input\r\n #files\r\n id=\"{{ name }}_uploadinput\"\r\n type=\"file\"\r\n class=\"custom-file-input\"\r\n (click)=\"files.value = ''\"\r\n (uploadxState)=\"onUpload($event)\"\r\n [disabled]=\"HasQueueItem()\" />\r\n </div>\r\n <div\r\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\"\r\n class=\"invalid-feedback\">\r\n {{ GetErrorMessage() | async }}\r\n </div>\r\n <div\r\n *ngIf=\"helptextmode === 'text' && helptext\"\r\n class=\"form-text\">\r\n {{ helptext }}\r\n </div>\r\n </div>\r\n\r\n <div\r\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\r\n class=\"form-control-plaintext align-self-top ms-2 me-1 w-auto\"\r\n [ngClass]=\"[componentHeight | toControlHeight]\">\r\n <sac-tooltip\r\n [tooltiptext]=\"helptext\"\r\n [inlinemode]=\"true\">\r\n <span\r\n [ngClass]=\"HelptextTooltipIcon\"\r\n class=\"ml-1\">\r\n </span>\r\n </sac-tooltip>\r\n </div>\r\n </div>\r\n</div>\r\n", styles: [".dropzone{min-height:9.75rem;border:.125rem dashed lightgray;border-radius:.5rem;background:transparent}.dropzone.is-invalid{border-color:var(--bs-form-invalid-border-color)}.dropzone .content{position:relative;inset:0}.dropzone .content .is-invalid{color:var(--bs-form-invalid-border-color)}.dropzone .content .progress-container{min-width:50%;z-index:100}.dropzone .content .dropzone-uploadstates .upload-progress{padding:0}.dropzone .content .dropzone-uploadstates .upload-progress .progress{height:100%;border-top-right-radius:0;border-bottom-right-radius:0}.dropzone .content .dropzone-uploadstates .upload-progress .progress .progress-text{left:0;right:0;position:absolute}.dropzone .custom-file-input{min-height:100%;height:unset;width:100%;opacity:0;position:absolute}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "pipe", type: SacToControlWidthCssPipe, name: "toControlWidthCss" }, { kind: "pipe", type: SacToLabelWidthCssPipe, name: "toLabelWidthCss" }, { kind: "pipe", type: SacToLabelHeightPipe, name: "toLabelHeight" }, { kind: "component", type: SacTooltipComponent, selector: "sac-tooltip" }, { kind: "pipe", type: SacToControlHeightPipe, name: "toControlHeight" }] }); }
2872
+ ], usesInheritance: true, ngImport: i0, template: "<div\n id=\"{{ name }}\"\n class=\"row mb-3\"\n [class.g-0]=\"disablelabel\">\n <label\n *ngIf=\"disablelabel === false && !isAdaptiveLabel\"\n id=\"{{ name }}_label\"\n for=\"{{ name }}_uploadinput\"\n class=\"col-12 col-form-label d-flex\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'visually-hidden', componentHeight | toLabelHeight]\"\n [class.required]=\"isrequired\">\n <div\n class=\"text flex-grow-0\"\n [class.flex-sm-grow-1]=\"splitlabelandhelptext\">\n {{ label }}\n </div>\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [ngClass]=\"HelptextTooltipIcon\"\n class=\"ms-1\">\n </span>\n </sac-tooltip>\n </label>\n <div\n class=\"col-12\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\n [class.d-flex]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\n <div [class.flex-grow-1]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\n <div\n class=\"dropzone d-flex justify-content-center position-relative\"\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 d-flex justify-content-center position-relative\"\n *ngIf=\"uploads.length === 0\">\n <div class=\"align-self-center text-center\">\n <div [class.is-invalid]=\"isinlineerrorenabled && invalid && (dirty || touched)\">\n <ng-content></ng-content>\n </div>\n </div>\n </div>\n <div\n class=\"content d-flex justify-content-center align-items-center w-50 my-3\"\n *ngIf=\"uploads.length > 0\">\n <div class=\"flex-fill progress-container\">\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 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 text-dark\">{{ file.name }}</span>\n </div>\n </div>\n </div>\n <a\n class=\"btn\"\n (click)=\"cancel(file.uploadId)\"\n [class.btn-secondary]=\"!(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 <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 <div\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\"\n class=\"invalid-feedback\">\n {{ GetErrorMessage() | async }}\n </div>\n <div\n *ngIf=\"helptextmode === 'text' && helptext\"\n class=\"form-text\">\n {{ helptext }}\n </div>\n </div>\n\n <div\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\n class=\"form-control-plaintext align-self-top ms-2 me-1 w-auto\"\n [ngClass]=\"[componentHeight | toControlHeight]\">\n <sac-tooltip\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [ngClass]=\"HelptextTooltipIcon\"\n class=\"ml-1\">\n </span>\n </sac-tooltip>\n </div>\n </div>\n</div>\n", styles: [".dropzone{min-height:9.75rem;border:.125rem dashed lightgray;border-radius:.5rem;background:transparent}.dropzone.is-invalid{border-color:var(--bs-form-invalid-border-color)}.dropzone .content{position:relative;inset:0}.dropzone .content .is-invalid{color:var(--bs-form-invalid-border-color)}.dropzone .content .progress-container{min-width:50%;z-index:100}.dropzone .content .dropzone-uploadstates .upload-progress{padding:0}.dropzone .content .dropzone-uploadstates .upload-progress .progress{height:100%;border-top-right-radius:0;border-bottom-right-radius:0}.dropzone .content .dropzone-uploadstates .upload-progress .progress .progress-text{left:0;right:0;position:absolute}.dropzone .custom-file-input{min-height:100%;height:unset;width:100%;opacity:0;position:absolute}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "pipe", type: SacToControlWidthCssPipe, name: "toControlWidthCss" }, { kind: "pipe", type: SacToLabelWidthCssPipe, name: "toLabelWidthCss" }, { kind: "pipe", type: SacToLabelHeightPipe, name: "toLabelHeight" }, { kind: "component", type: SacTooltipComponent, selector: "sac-tooltip" }, { kind: "pipe", type: SacToControlHeightPipe, name: "toControlHeight" }] }); }
2873
2873
  }
2874
2874
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SacDropzoneSingleComponent, decorators: [{
2875
2875
  type: Component,
@@ -2894,7 +2894,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
2894
2894
  SacToLabelHeightPipe,
2895
2895
  SacTooltipComponent,
2896
2896
  SacToControlHeightPipe,
2897
- ], template: "<div\r\n id=\"{{ name }}\"\r\n class=\"row mb-3\"\r\n [class.g-0]=\"disablelabel\">\r\n <label\r\n *ngIf=\"disablelabel === false && !isAdaptiveLabel\"\r\n id=\"{{ name }}_label\"\r\n for=\"{{ name }}_uploadinput\"\r\n class=\"col-12 col-form-label d-flex\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'visually-hidden', componentHeight | toLabelHeight]\"\r\n [class.required]=\"isrequired\">\r\n <div\r\n class=\"text flex-grow-0\"\r\n [class.flex-sm-grow-1]=\"splitlabelandhelptext\">\r\n {{ label }}\r\n </div>\r\n <sac-tooltip\r\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\r\n [tooltiptext]=\"helptext\"\r\n [inlinemode]=\"true\">\r\n <span\r\n [ngClass]=\"HelptextTooltipIcon\"\r\n class=\"ms-1\">\r\n </span>\r\n </sac-tooltip>\r\n </label>\r\n <div\r\n class=\"col-12\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\r\n [class.d-flex]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\r\n <div [class.flex-grow-1]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\r\n <div\r\n class=\"dropzone d-flex justify-content-center position-relative\"\r\n (drop)=\"dropHandler($event)\"\r\n (dragover)=\"onDragOver($event)\"\r\n (dragleave)=\"onDragLeave($event)\"\r\n [style.min-height]=\"uploadheight\"\r\n [class.active]=\"active\"\r\n [class.is-invalid]=\"invalid && (dirty || touched)\">\r\n <div\r\n class=\"content d-flex justify-content-center position-relative\"\r\n *ngIf=\"uploads.length === 0\">\r\n <div class=\"align-self-center text-center\">\r\n <div [class.is-invalid]=\"isinlineerrorenabled && invalid && (dirty || touched)\">\r\n <ng-content></ng-content>\r\n </div>\r\n </div>\r\n </div>\r\n <div\r\n class=\"content d-flex justify-content-center align-items-center w-50 my-3\"\r\n *ngIf=\"uploads.length > 0\">\r\n <div class=\"flex-fill progress-container\">\r\n <div\r\n class=\"dropzone-uploadstates\"\r\n *ngFor=\"let file of uploads\">\r\n <div\r\n class=\"input-group upload-component upload-component-multiple\"\r\n [class.input-group-sm]=\"componentHeight === ControlHeight.Small\"\r\n [class.input-group-lg]=\"componentHeight === ControlHeight.Large\">\r\n <div class=\"form-control upload-progress border-secondary\">\r\n <div class=\"progress\">\r\n <div\r\n class=\"progress-bar\"\r\n [class.progress-bar-success]=\"file.progress === 100\"\r\n role=\"progressbar\"\r\n [attr.aria-valuenow]=\"file.progress\"\r\n aria-valuemin=\"0\"\r\n aria-valuemax=\"100\"\r\n [style.width.%]=\"file.progress\">\r\n <span class=\"progress-text text-dark\">{{ file.name }}</span>\r\n </div>\r\n </div>\r\n </div>\r\n <a\r\n class=\"btn\"\r\n (click)=\"cancel(file.uploadId)\"\r\n [class.btn-secondary]=\"!(invalid && (dirty || touched))\"\r\n [class.btn-danger]=\"invalid && (dirty || touched)\">\r\n <span [class]=\"IconDelete\"></span>\r\n </a>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <input\r\n #files\r\n id=\"{{ name }}_uploadinput\"\r\n type=\"file\"\r\n class=\"custom-file-input\"\r\n (click)=\"files.value = ''\"\r\n (uploadxState)=\"onUpload($event)\"\r\n [disabled]=\"HasQueueItem()\" />\r\n </div>\r\n <div\r\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\"\r\n class=\"invalid-feedback\">\r\n {{ GetErrorMessage() | async }}\r\n </div>\r\n <div\r\n *ngIf=\"helptextmode === 'text' && helptext\"\r\n class=\"form-text\">\r\n {{ helptext }}\r\n </div>\r\n </div>\r\n\r\n <div\r\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\r\n class=\"form-control-plaintext align-self-top ms-2 me-1 w-auto\"\r\n [ngClass]=\"[componentHeight | toControlHeight]\">\r\n <sac-tooltip\r\n [tooltiptext]=\"helptext\"\r\n [inlinemode]=\"true\">\r\n <span\r\n [ngClass]=\"HelptextTooltipIcon\"\r\n class=\"ml-1\">\r\n </span>\r\n </sac-tooltip>\r\n </div>\r\n </div>\r\n</div>\r\n", styles: [".dropzone{min-height:9.75rem;border:.125rem dashed lightgray;border-radius:.5rem;background:transparent}.dropzone.is-invalid{border-color:var(--bs-form-invalid-border-color)}.dropzone .content{position:relative;inset:0}.dropzone .content .is-invalid{color:var(--bs-form-invalid-border-color)}.dropzone .content .progress-container{min-width:50%;z-index:100}.dropzone .content .dropzone-uploadstates .upload-progress{padding:0}.dropzone .content .dropzone-uploadstates .upload-progress .progress{height:100%;border-top-right-radius:0;border-bottom-right-radius:0}.dropzone .content .dropzone-uploadstates .upload-progress .progress .progress-text{left:0;right:0;position:absolute}.dropzone .custom-file-input{min-height:100%;height:unset;width:100%;opacity:0;position:absolute}\n"] }]
2897
+ ], template: "<div\n id=\"{{ name }}\"\n class=\"row mb-3\"\n [class.g-0]=\"disablelabel\">\n <label\n *ngIf=\"disablelabel === false && !isAdaptiveLabel\"\n id=\"{{ name }}_label\"\n for=\"{{ name }}_uploadinput\"\n class=\"col-12 col-form-label d-flex\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'visually-hidden', componentHeight | toLabelHeight]\"\n [class.required]=\"isrequired\">\n <div\n class=\"text flex-grow-0\"\n [class.flex-sm-grow-1]=\"splitlabelandhelptext\">\n {{ label }}\n </div>\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [ngClass]=\"HelptextTooltipIcon\"\n class=\"ms-1\">\n </span>\n </sac-tooltip>\n </label>\n <div\n class=\"col-12\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\n [class.d-flex]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\n <div [class.flex-grow-1]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\n <div\n class=\"dropzone d-flex justify-content-center position-relative\"\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 d-flex justify-content-center position-relative\"\n *ngIf=\"uploads.length === 0\">\n <div class=\"align-self-center text-center\">\n <div [class.is-invalid]=\"isinlineerrorenabled && invalid && (dirty || touched)\">\n <ng-content></ng-content>\n </div>\n </div>\n </div>\n <div\n class=\"content d-flex justify-content-center align-items-center w-50 my-3\"\n *ngIf=\"uploads.length > 0\">\n <div class=\"flex-fill progress-container\">\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 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 text-dark\">{{ file.name }}</span>\n </div>\n </div>\n </div>\n <a\n class=\"btn\"\n (click)=\"cancel(file.uploadId)\"\n [class.btn-secondary]=\"!(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 <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 <div\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\"\n class=\"invalid-feedback\">\n {{ GetErrorMessage() | async }}\n </div>\n <div\n *ngIf=\"helptextmode === 'text' && helptext\"\n class=\"form-text\">\n {{ helptext }}\n </div>\n </div>\n\n <div\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\n class=\"form-control-plaintext align-self-top ms-2 me-1 w-auto\"\n [ngClass]=\"[componentHeight | toControlHeight]\">\n <sac-tooltip\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [ngClass]=\"HelptextTooltipIcon\"\n class=\"ml-1\">\n </span>\n </sac-tooltip>\n </div>\n </div>\n</div>\n", styles: [".dropzone{min-height:9.75rem;border:.125rem dashed lightgray;border-radius:.5rem;background:transparent}.dropzone.is-invalid{border-color:var(--bs-form-invalid-border-color)}.dropzone .content{position:relative;inset:0}.dropzone .content .is-invalid{color:var(--bs-form-invalid-border-color)}.dropzone .content .progress-container{min-width:50%;z-index:100}.dropzone .content .dropzone-uploadstates .upload-progress{padding:0}.dropzone .content .dropzone-uploadstates .upload-progress .progress{height:100%;border-top-right-radius:0;border-bottom-right-radius:0}.dropzone .content .dropzone-uploadstates .upload-progress .progress .progress-text{left:0;right:0;position:absolute}.dropzone .custom-file-input{min-height:100%;height:unset;width:100%;opacity:0;position:absolute}\n"] }]
2898
2898
  }], ctorParameters: function () { return [{ type: SacFormLayoutDirective, decorators: [{
2899
2899
  type: Host
2900
2900
  }, {
@@ -2929,7 +2929,7 @@ class SacUploadComponent extends SacUploadSingleCommon {
2929
2929
  multi: true,
2930
2930
  useExisting: forwardRef(() => SacUploadComponent),
2931
2931
  },
2932
- ], usesInheritance: true, ngImport: i0, template: "<div\r\n id=\"{{ name }}\"\r\n class=\"row mb-3\"\r\n [class.g-0]=\"disablelabel\">\r\n <label\r\n *ngIf=\"disablelabel === false && !isAdaptiveLabel\"\r\n id=\"{{ name }}_label\"\r\n for=\"{{ name }}_uploadinput\"\r\n class=\"col-12 col-form-label d-flex\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'visually-hidden', componentHeight | toLabelHeight]\"\r\n [class.required]=\"isrequired\">\r\n <div\r\n class=\"text flex-grow-0\"\r\n [class.flex-sm-grow-1]=\"splitlabelandhelptext\">\r\n {{ label }}\r\n </div>\r\n <sac-tooltip\r\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\r\n [tooltiptext]=\"helptext\"\r\n [inlinemode]=\"true\">\r\n <span\r\n [ngClass]=\"HelptextTooltipIcon\"\r\n class=\"ms-1\">\r\n </span>\r\n </sac-tooltip>\r\n </label>\r\n <div\r\n class=\"col-12\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\r\n [class.d-flex]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\r\n <div [class.flex-grow-1]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\r\n <div\r\n class=\"input-group upload-component upload-single\"\r\n [class.input-group-sm]=\"componentHeight === ControlHeight.Small\"\r\n [class.input-group-lg]=\"componentHeight === ControlHeight.Large\"\r\n [class.is-invalid]=\"isinlineerrorenabled && invalid && (dirty || touched)\">\r\n <!-- image-preview-input -->\r\n <div\r\n class=\"btn upload-input custom-file\"\r\n [class.disabled]=\"HasQueueItem()\"\r\n [class.btn-secondary]=\"!(invalid && (dirty || touched))\"\r\n [class.btn-danger]=\"invalid && (dirty || touched)\">\r\n <i\r\n class=\"pe-2\"\r\n [class]=\"IconBrowse\"></i>\r\n <span class=\"upload-browse\">{{ lngResourceService.GetString(validationKeyService.UploadButtonBrowse) | async }}</span>\r\n <input\r\n type=\"file\"\r\n id=\"{{ name }}_uploadinput\"\r\n class=\"custom-file-input\"\r\n #files\r\n (click)=\"files.value = ''\"\r\n (uploadxState)=\"onUpload($event)\"\r\n multiple\r\n [disabled]=\"HasQueueItem()\" />\r\n </div>\r\n <div\r\n class=\"form-control upload-progress\"\r\n [ngClass]=\"[componentHeight | toControlHeight]\"\r\n [class.is-invalid]=\"invalid && (dirty || touched)\">\r\n <div class=\"progress\">\r\n <div\r\n class=\"progress-bar\"\r\n [class.progress-bar-success]=\"Progress() === 100\"\r\n role=\"progressbar\"\r\n [attr.aria-valuenow]=\"Progress()\"\r\n aria-valuemin=\"0\"\r\n aria-valuemax=\"100\"\r\n [style.width.%]=\"Progress()\">\r\n <span class=\"progress-text text-dark\">{{ Filename() | async }}</span>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <button\r\n class=\"btn\"\r\n (click)=\"cancelAll()\"\r\n [attr.disabled]=\"HasQueueItem() === false ? 'disabled' : null\"\r\n [class.disabled]=\"HasQueueItem() === false ? 'disabled' : null\"\r\n [class.btn-secondary]=\"!(invalid && (dirty || touched))\"\r\n [class.btn-danger]=\"invalid && (dirty || touched)\">\r\n <span [class]=\"IconDelete\"></span>\r\n </button>\r\n <button\r\n *ngIf=\"(autoupload === false && enablepause) || (autoupload && enablepause && IsPaused() === false)\"\r\n class=\"btn\"\r\n (click)=\"pauseAll()\"\r\n [attr.disabled]=\"IsUploading() === false ? 'disabled' : null\"\r\n [class.disabled]=\"IsUploading() === false ? 'disabled' : null\"\r\n [class.btn-secondary]=\"!(invalid && (dirty || touched))\"\r\n [class.btn-danger]=\"invalid && (dirty || touched)\">\r\n <span [class]=\"IconPause\"></span>\r\n </button>\r\n <button\r\n *ngIf=\"autoupload && enablepause && IsPaused()\"\r\n class=\"btn\"\r\n (click)=\"uploadAll()\"\r\n [class.btn-secondary]=\"!(invalid && (dirty || touched))\"\r\n [class.btn-danger]=\"invalid && (dirty || touched)\">\r\n <span [class]=\"IconContinue\"></span>\r\n </button>\r\n <button\r\n *ngIf=\"autoupload === false\"\r\n class=\"btn text-nowrap\"\r\n (click)=\"uploadAll()\"\r\n [attr.disabled]=\"IsStateToUpload() === false ? 'disabled' : null\"\r\n [class.disabled]=\"IsStateToUpload() === false ? 'disabled' : null\"\r\n [class.btn-secondary]=\"!(invalid && (dirty || touched))\"\r\n [class.btn-danger]=\"invalid && (dirty || touched)\">\r\n <span\r\n [class]=\"IconUpload\"\r\n class=\"pe-2\"></span\r\n >{{ lngResourceService.GetString(validationKeyService.UploadButtonUpload) | async }}\r\n </button>\r\n </div>\r\n <div\r\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\"\r\n class=\"invalid-feedback\">\r\n {{ GetErrorMessage() | async }}\r\n </div>\r\n <div\r\n *ngIf=\"helptextmode === 'text' && helptext\"\r\n class=\"form-text\">\r\n {{ helptext }}\r\n </div>\r\n </div>\r\n\r\n <div\r\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\r\n class=\"form-control-plaintext align-self-top ms-2 me-1 w-auto\"\r\n [ngClass]=\"[componentHeight | toControlHeight]\">\r\n <sac-tooltip\r\n [tooltiptext]=\"helptext\"\r\n [inlinemode]=\"true\">\r\n <span\r\n [ngClass]=\"HelptextTooltipIcon\"\r\n class=\"ml-1\">\r\n </span>\r\n </sac-tooltip>\r\n </div>\r\n </div>\r\n</div>\r\n", styles: [".upload-component .custom-file{height:100%}.upload-component .custom-file .custom-file-input{inset:0;position:absolute;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;border:0}.upload-component .upload-progress .progress{height:100%}.upload-component .upload-progress .progress .progress-text{position:absolute;left:0;right:0}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "pipe", type: SacToControlWidthCssPipe, name: "toControlWidthCss" }, { kind: "pipe", type: SacToLabelWidthCssPipe, name: "toLabelWidthCss" }, { kind: "pipe", type: SacToLabelHeightPipe, name: "toLabelHeight" }, { kind: "pipe", type: SacToControlHeightPipe, name: "toControlHeight" }, { kind: "component", type: SacTooltipComponent, selector: "sac-tooltip" }] }); }
2932
+ ], usesInheritance: true, ngImport: i0, template: "<div\n id=\"{{ name }}\"\n class=\"row mb-3\"\n [class.g-0]=\"disablelabel\">\n <label\n *ngIf=\"disablelabel === false && !isAdaptiveLabel\"\n id=\"{{ name }}_label\"\n for=\"{{ name }}_uploadinput\"\n class=\"col-12 col-form-label d-flex\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'visually-hidden', componentHeight | toLabelHeight]\"\n [class.required]=\"isrequired\">\n <div\n class=\"text flex-grow-0\"\n [class.flex-sm-grow-1]=\"splitlabelandhelptext\">\n {{ label }}\n </div>\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [ngClass]=\"HelptextTooltipIcon\"\n class=\"ms-1\">\n </span>\n </sac-tooltip>\n </label>\n <div\n class=\"col-12\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\n [class.d-flex]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\n <div [class.flex-grow-1]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\n <div\n class=\"input-group upload-component upload-single\"\n [class.input-group-sm]=\"componentHeight === ControlHeight.Small\"\n [class.input-group-lg]=\"componentHeight === ControlHeight.Large\"\n [class.is-invalid]=\"isinlineerrorenabled && invalid && (dirty || touched)\">\n <!-- image-preview-input -->\n <div\n class=\"btn upload-input custom-file\"\n [class.disabled]=\"HasQueueItem()\"\n [class.btn-secondary]=\"!(invalid && (dirty || touched))\"\n [class.btn-danger]=\"invalid && (dirty || touched)\">\n <i\n class=\"pe-2\"\n [ngClass]=\"IconBrowse\"></i>\n <span class=\"upload-browse\">{{ buttonbrowse ? buttonbrowse : (lngResourceService.GetString(validationKeyService.UploadButtonBrowse) | async) }}</span>\n <input\n type=\"file\"\n id=\"{{ name }}_uploadinput\"\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 class=\"form-control upload-progress\"\n [ngClass]=\"[componentHeight | toControlHeight]\"\n [class.is-invalid]=\"invalid && (dirty || touched)\">\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 <button\n class=\"btn\"\n (click)=\"cancelAll()\"\n [attr.disabled]=\"HasQueueItem() === false ? 'disabled' : null\"\n [class.disabled]=\"HasQueueItem() === false ? 'disabled' : null\"\n [class.btn-secondary]=\"!(invalid && (dirty || touched))\"\n [class.btn-danger]=\"invalid && (dirty || touched)\">\n <span [class]=\"IconDelete\"></span>\n </button>\n <button\n *ngIf=\"(autoupload === false && enablepause) || (autoupload && enablepause && IsPaused() === false)\"\n class=\"btn\"\n (click)=\"pauseAll()\"\n [attr.disabled]=\"IsUploading() === false ? 'disabled' : null\"\n [class.disabled]=\"IsUploading() === false ? 'disabled' : null\"\n [class.btn-secondary]=\"!(invalid && (dirty || touched))\"\n [class.btn-danger]=\"invalid && (dirty || touched)\">\n <span [class]=\"IconPause\"></span>\n </button>\n <button\n *ngIf=\"autoupload && enablepause && IsPaused()\"\n class=\"btn\"\n (click)=\"uploadAll()\"\n [class.btn-secondary]=\"!(invalid && (dirty || touched))\"\n [class.btn-danger]=\"invalid && (dirty || touched)\">\n <span [class]=\"IconContinue\"></span>\n </button>\n <button\n *ngIf=\"autoupload === false\"\n class=\"btn text-nowrap\"\n (click)=\"uploadAll()\"\n [attr.disabled]=\"IsStateToUpload() === false ? 'disabled' : null\"\n [class.disabled]=\"IsStateToUpload() === false ? 'disabled' : null\"\n [class.btn-secondary]=\"!(invalid && (dirty || touched))\"\n [class.btn-danger]=\"invalid && (dirty || touched)\">\n <span\n [ngClass]=\"IconUpload\"\n class=\"pe-2\"></span\n >{{ buttonupload ? buttonupload : (lngResourceService.GetString(validationKeyService.UploadButtonUpload) | async) }}\n </button>\n </div>\n <div\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\"\n class=\"invalid-feedback\">\n {{ GetErrorMessage() | async }}\n </div>\n <div\n *ngIf=\"helptextmode === 'text' && helptext\"\n class=\"form-text\">\n {{ helptext }}\n </div>\n </div>\n\n <div\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\n class=\"form-control-plaintext align-self-top ms-2 me-1 w-auto\"\n [ngClass]=\"[componentHeight | toControlHeight]\">\n <sac-tooltip\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [ngClass]=\"HelptextTooltipIcon\"\n class=\"ml-1\">\n </span>\n </sac-tooltip>\n </div>\n </div>\n</div>\n", styles: [".upload-component .custom-file{height:100%}.upload-component .custom-file .custom-file-input{inset:0;position:absolute;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;border:0}.upload-component .upload-progress .progress{height:100%}.upload-component .upload-progress .progress .progress-text{position:absolute;left:0;right:0}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "pipe", type: SacToControlWidthCssPipe, name: "toControlWidthCss" }, { kind: "pipe", type: SacToLabelWidthCssPipe, name: "toLabelWidthCss" }, { kind: "pipe", type: SacToLabelHeightPipe, name: "toLabelHeight" }, { kind: "pipe", type: SacToControlHeightPipe, name: "toControlHeight" }, { kind: "component", type: SacTooltipComponent, selector: "sac-tooltip" }] }); }
2933
2933
  }
2934
2934
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SacUploadComponent, decorators: [{
2935
2935
  type: Component,
@@ -2953,7 +2953,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
2953
2953
  SacToLabelHeightPipe,
2954
2954
  SacToControlHeightPipe,
2955
2955
  SacTooltipComponent,
2956
- ], template: "<div\r\n id=\"{{ name }}\"\r\n class=\"row mb-3\"\r\n [class.g-0]=\"disablelabel\">\r\n <label\r\n *ngIf=\"disablelabel === false && !isAdaptiveLabel\"\r\n id=\"{{ name }}_label\"\r\n for=\"{{ name }}_uploadinput\"\r\n class=\"col-12 col-form-label d-flex\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'visually-hidden', componentHeight | toLabelHeight]\"\r\n [class.required]=\"isrequired\">\r\n <div\r\n class=\"text flex-grow-0\"\r\n [class.flex-sm-grow-1]=\"splitlabelandhelptext\">\r\n {{ label }}\r\n </div>\r\n <sac-tooltip\r\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\r\n [tooltiptext]=\"helptext\"\r\n [inlinemode]=\"true\">\r\n <span\r\n [ngClass]=\"HelptextTooltipIcon\"\r\n class=\"ms-1\">\r\n </span>\r\n </sac-tooltip>\r\n </label>\r\n <div\r\n class=\"col-12\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\r\n [class.d-flex]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\r\n <div [class.flex-grow-1]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\r\n <div\r\n class=\"input-group upload-component upload-single\"\r\n [class.input-group-sm]=\"componentHeight === ControlHeight.Small\"\r\n [class.input-group-lg]=\"componentHeight === ControlHeight.Large\"\r\n [class.is-invalid]=\"isinlineerrorenabled && invalid && (dirty || touched)\">\r\n <!-- image-preview-input -->\r\n <div\r\n class=\"btn upload-input custom-file\"\r\n [class.disabled]=\"HasQueueItem()\"\r\n [class.btn-secondary]=\"!(invalid && (dirty || touched))\"\r\n [class.btn-danger]=\"invalid && (dirty || touched)\">\r\n <i\r\n class=\"pe-2\"\r\n [class]=\"IconBrowse\"></i>\r\n <span class=\"upload-browse\">{{ lngResourceService.GetString(validationKeyService.UploadButtonBrowse) | async }}</span>\r\n <input\r\n type=\"file\"\r\n id=\"{{ name }}_uploadinput\"\r\n class=\"custom-file-input\"\r\n #files\r\n (click)=\"files.value = ''\"\r\n (uploadxState)=\"onUpload($event)\"\r\n multiple\r\n [disabled]=\"HasQueueItem()\" />\r\n </div>\r\n <div\r\n class=\"form-control upload-progress\"\r\n [ngClass]=\"[componentHeight | toControlHeight]\"\r\n [class.is-invalid]=\"invalid && (dirty || touched)\">\r\n <div class=\"progress\">\r\n <div\r\n class=\"progress-bar\"\r\n [class.progress-bar-success]=\"Progress() === 100\"\r\n role=\"progressbar\"\r\n [attr.aria-valuenow]=\"Progress()\"\r\n aria-valuemin=\"0\"\r\n aria-valuemax=\"100\"\r\n [style.width.%]=\"Progress()\">\r\n <span class=\"progress-text text-dark\">{{ Filename() | async }}</span>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <button\r\n class=\"btn\"\r\n (click)=\"cancelAll()\"\r\n [attr.disabled]=\"HasQueueItem() === false ? 'disabled' : null\"\r\n [class.disabled]=\"HasQueueItem() === false ? 'disabled' : null\"\r\n [class.btn-secondary]=\"!(invalid && (dirty || touched))\"\r\n [class.btn-danger]=\"invalid && (dirty || touched)\">\r\n <span [class]=\"IconDelete\"></span>\r\n </button>\r\n <button\r\n *ngIf=\"(autoupload === false && enablepause) || (autoupload && enablepause && IsPaused() === false)\"\r\n class=\"btn\"\r\n (click)=\"pauseAll()\"\r\n [attr.disabled]=\"IsUploading() === false ? 'disabled' : null\"\r\n [class.disabled]=\"IsUploading() === false ? 'disabled' : null\"\r\n [class.btn-secondary]=\"!(invalid && (dirty || touched))\"\r\n [class.btn-danger]=\"invalid && (dirty || touched)\">\r\n <span [class]=\"IconPause\"></span>\r\n </button>\r\n <button\r\n *ngIf=\"autoupload && enablepause && IsPaused()\"\r\n class=\"btn\"\r\n (click)=\"uploadAll()\"\r\n [class.btn-secondary]=\"!(invalid && (dirty || touched))\"\r\n [class.btn-danger]=\"invalid && (dirty || touched)\">\r\n <span [class]=\"IconContinue\"></span>\r\n </button>\r\n <button\r\n *ngIf=\"autoupload === false\"\r\n class=\"btn text-nowrap\"\r\n (click)=\"uploadAll()\"\r\n [attr.disabled]=\"IsStateToUpload() === false ? 'disabled' : null\"\r\n [class.disabled]=\"IsStateToUpload() === false ? 'disabled' : null\"\r\n [class.btn-secondary]=\"!(invalid && (dirty || touched))\"\r\n [class.btn-danger]=\"invalid && (dirty || touched)\">\r\n <span\r\n [class]=\"IconUpload\"\r\n class=\"pe-2\"></span\r\n >{{ lngResourceService.GetString(validationKeyService.UploadButtonUpload) | async }}\r\n </button>\r\n </div>\r\n <div\r\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\"\r\n class=\"invalid-feedback\">\r\n {{ GetErrorMessage() | async }}\r\n </div>\r\n <div\r\n *ngIf=\"helptextmode === 'text' && helptext\"\r\n class=\"form-text\">\r\n {{ helptext }}\r\n </div>\r\n </div>\r\n\r\n <div\r\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\r\n class=\"form-control-plaintext align-self-top ms-2 me-1 w-auto\"\r\n [ngClass]=\"[componentHeight | toControlHeight]\">\r\n <sac-tooltip\r\n [tooltiptext]=\"helptext\"\r\n [inlinemode]=\"true\">\r\n <span\r\n [ngClass]=\"HelptextTooltipIcon\"\r\n class=\"ml-1\">\r\n </span>\r\n </sac-tooltip>\r\n </div>\r\n </div>\r\n</div>\r\n", styles: [".upload-component .custom-file{height:100%}.upload-component .custom-file .custom-file-input{inset:0;position:absolute;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;border:0}.upload-component .upload-progress .progress{height:100%}.upload-component .upload-progress .progress .progress-text{position:absolute;left:0;right:0}\n"] }]
2956
+ ], template: "<div\n id=\"{{ name }}\"\n class=\"row mb-3\"\n [class.g-0]=\"disablelabel\">\n <label\n *ngIf=\"disablelabel === false && !isAdaptiveLabel\"\n id=\"{{ name }}_label\"\n for=\"{{ name }}_uploadinput\"\n class=\"col-12 col-form-label d-flex\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'visually-hidden', componentHeight | toLabelHeight]\"\n [class.required]=\"isrequired\">\n <div\n class=\"text flex-grow-0\"\n [class.flex-sm-grow-1]=\"splitlabelandhelptext\">\n {{ label }}\n </div>\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [ngClass]=\"HelptextTooltipIcon\"\n class=\"ms-1\">\n </span>\n </sac-tooltip>\n </label>\n <div\n class=\"col-12\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\n [class.d-flex]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\n <div [class.flex-grow-1]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\n <div\n class=\"input-group upload-component upload-single\"\n [class.input-group-sm]=\"componentHeight === ControlHeight.Small\"\n [class.input-group-lg]=\"componentHeight === ControlHeight.Large\"\n [class.is-invalid]=\"isinlineerrorenabled && invalid && (dirty || touched)\">\n <!-- image-preview-input -->\n <div\n class=\"btn upload-input custom-file\"\n [class.disabled]=\"HasQueueItem()\"\n [class.btn-secondary]=\"!(invalid && (dirty || touched))\"\n [class.btn-danger]=\"invalid && (dirty || touched)\">\n <i\n class=\"pe-2\"\n [ngClass]=\"IconBrowse\"></i>\n <span class=\"upload-browse\">{{ buttonbrowse ? buttonbrowse : (lngResourceService.GetString(validationKeyService.UploadButtonBrowse) | async) }}</span>\n <input\n type=\"file\"\n id=\"{{ name }}_uploadinput\"\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 class=\"form-control upload-progress\"\n [ngClass]=\"[componentHeight | toControlHeight]\"\n [class.is-invalid]=\"invalid && (dirty || touched)\">\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 <button\n class=\"btn\"\n (click)=\"cancelAll()\"\n [attr.disabled]=\"HasQueueItem() === false ? 'disabled' : null\"\n [class.disabled]=\"HasQueueItem() === false ? 'disabled' : null\"\n [class.btn-secondary]=\"!(invalid && (dirty || touched))\"\n [class.btn-danger]=\"invalid && (dirty || touched)\">\n <span [class]=\"IconDelete\"></span>\n </button>\n <button\n *ngIf=\"(autoupload === false && enablepause) || (autoupload && enablepause && IsPaused() === false)\"\n class=\"btn\"\n (click)=\"pauseAll()\"\n [attr.disabled]=\"IsUploading() === false ? 'disabled' : null\"\n [class.disabled]=\"IsUploading() === false ? 'disabled' : null\"\n [class.btn-secondary]=\"!(invalid && (dirty || touched))\"\n [class.btn-danger]=\"invalid && (dirty || touched)\">\n <span [class]=\"IconPause\"></span>\n </button>\n <button\n *ngIf=\"autoupload && enablepause && IsPaused()\"\n class=\"btn\"\n (click)=\"uploadAll()\"\n [class.btn-secondary]=\"!(invalid && (dirty || touched))\"\n [class.btn-danger]=\"invalid && (dirty || touched)\">\n <span [class]=\"IconContinue\"></span>\n </button>\n <button\n *ngIf=\"autoupload === false\"\n class=\"btn text-nowrap\"\n (click)=\"uploadAll()\"\n [attr.disabled]=\"IsStateToUpload() === false ? 'disabled' : null\"\n [class.disabled]=\"IsStateToUpload() === false ? 'disabled' : null\"\n [class.btn-secondary]=\"!(invalid && (dirty || touched))\"\n [class.btn-danger]=\"invalid && (dirty || touched)\">\n <span\n [ngClass]=\"IconUpload\"\n class=\"pe-2\"></span\n >{{ buttonupload ? buttonupload : (lngResourceService.GetString(validationKeyService.UploadButtonUpload) | async) }}\n </button>\n </div>\n <div\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\"\n class=\"invalid-feedback\">\n {{ GetErrorMessage() | async }}\n </div>\n <div\n *ngIf=\"helptextmode === 'text' && helptext\"\n class=\"form-text\">\n {{ helptext }}\n </div>\n </div>\n\n <div\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\n class=\"form-control-plaintext align-self-top ms-2 me-1 w-auto\"\n [ngClass]=\"[componentHeight | toControlHeight]\">\n <sac-tooltip\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [ngClass]=\"HelptextTooltipIcon\"\n class=\"ml-1\">\n </span>\n </sac-tooltip>\n </div>\n </div>\n</div>\n", styles: [".upload-component .custom-file{height:100%}.upload-component .custom-file .custom-file-input{inset:0;position:absolute;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;border:0}.upload-component .upload-progress .progress{height:100%}.upload-component .upload-progress .progress .progress-text{position:absolute;left:0;right:0}\n"] }]
2957
2957
  }], ctorParameters: function () { return [{ type: SacFormLayoutDirective, decorators: [{
2958
2958
  type: Host
2959
2959
  }, {
@@ -2988,7 +2988,7 @@ class SacUploadMultipleComponent extends SacUploadMultipleCommon {
2988
2988
  multi: true,
2989
2989
  useExisting: forwardRef(() => SacUploadMultipleComponent),
2990
2990
  },
2991
- ], usesInheritance: true, ngImport: i0, template: "<div\r\n id=\"{{ name }}\"\r\n class=\"row mb-3\"\r\n [class.g-0]=\"disablelabel\">\r\n <label\r\n *ngIf=\"disablelabel === false && !isAdaptiveLabel\"\r\n id=\"{{ name }}_label\"\r\n for=\"{{ name }}_uploadinput\"\r\n class=\"col-12 col-form-label d-flex\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'visually-hidden', componentHeight | toLabelHeight]\"\r\n [class.required]=\"isrequired\">\r\n <div\r\n class=\"text flex-grow-0\"\r\n [class.flex-sm-grow-1]=\"splitlabelandhelptext\">\r\n {{ label }}\r\n </div>\r\n <sac-tooltip\r\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\r\n [tooltiptext]=\"helptext\"\r\n [inlinemode]=\"true\">\r\n <span\r\n [ngClass]=\"HelptextTooltipIcon\"\r\n class=\"ms-1\">\r\n </span>\r\n </sac-tooltip>\r\n </label>\r\n <div\r\n class=\"col-12\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\">\r\n <div class=\"upload-component\">\r\n <div class=\"row\">\r\n <div class=\"col-12\">\r\n <div\r\n [class.d-flex]=\"helptextmode === 'tooltip' && helptext && disablelabel\"\r\n [class.is-invalid]=\"isinlineerrorenabled && invalid && (dirty || touched)\">\r\n <div\r\n class=\"btn-group\"\r\n [class.btn-group-sm]=\"componentHeight === ControlHeight.Small\"\r\n [class.btn-group-lg]=\"componentHeight === ControlHeight.Large\"\r\n [class.is-invalid]=\"isinlineerrorenabled && invalid && (dirty || touched)\">\r\n <div\r\n class=\"btn upload-input custom-file\"\r\n [class.disabled]=\"maxfiles > 0 && uploads.length >= maxfiles\"\r\n [class.btn-secondary]=\"!(invalid && (dirty || touched))\"\r\n [class.btn-danger]=\"invalid && (dirty || touched)\">\r\n <i\r\n [class]=\"IconBrowse\"\r\n class=\"pe-2\"></i>\r\n <span class=\"upload-browse\">Browse</span>\r\n <input\r\n id=\"{{ name }}_uploadinput\"\r\n type=\"file\"\r\n class=\"custom-file-input\"\r\n #files\r\n (click)=\"files.value = ''\"\r\n (uploadxState)=\"onUpload($event)\"\r\n multiple\r\n [disabled]=\"maxfiles > 0 && uploads.length >= maxfiles\" />\r\n </div>\r\n\r\n <div\r\n class=\"btn-group\"\r\n [class.btn-group-sm]=\"componentHeight === ControlHeight.Small\"\r\n [class.btn-group-lg]=\"componentHeight === ControlHeight.Large\">\r\n <!-- image-preview-clear button -->\r\n <button\r\n class=\"btn\"\r\n (click)=\"cancelAll()\"\r\n [attr.disabled]=\"HasQueueItem() === false ? 'disabled' : null\"\r\n [class.btn-secondary]=\"!(invalid && (dirty || touched))\"\r\n [class.btn-danger]=\"invalid && (dirty || touched)\">\r\n <span [class]=\"IconDelete\"></span>\r\n </button>\r\n <button\r\n *ngIf=\"(autoupload === false && enablepause) || (autoupload && enablepause && IsPaused() === false)\"\r\n class=\"btn\"\r\n (click)=\"pauseAll()\"\r\n [attr.disabled]=\"IsUploading() === false ? 'disabled' : null\"\r\n [class.btn-secondary]=\"!(invalid && (dirty || touched))\"\r\n [class.btn-danger]=\"invalid && (dirty || touched)\">\r\n <span [class]=\"IconPause\"></span>\r\n </button>\r\n <button\r\n *ngIf=\"autoupload && enablepause && IsPaused() === true\"\r\n class=\"btn\"\r\n (click)=\"uploadAll()\"\r\n [class.btn-secondary]=\"!(invalid && (dirty || touched))\"\r\n [class.btn-danger]=\"invalid && (dirty || touched)\">\r\n <span [class]=\"IconContinue\"></span>\r\n </button>\r\n <button\r\n *ngIf=\"autoupload === false\"\r\n class=\"btn text-nowrap\"\r\n (click)=\"uploadAll()\"\r\n [attr.disabled]=\"IsStateToUpload() === false ? 'disabled' : null\"\r\n [class.btn-secondary]=\"!(invalid && (dirty || touched))\"\r\n [class.btn-danger]=\"invalid && (dirty || touched)\">\r\n <span\r\n [class]=\"IconUpload\"\r\n class=\"pe-2\"></span>\r\n {{ lngResourceService.GetString(validationKeyService.UploadButtonUpload) | async }}\r\n </button>\r\n </div>\r\n </div>\r\n <div\r\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\r\n class=\"form-control-plaintext align-self-top ms-2 me-1 w-auto\"\r\n [ngClass]=\"[componentHeight | toControlHeight]\">\r\n <sac-tooltip\r\n [tooltiptext]=\"helptext\"\r\n [inlinemode]=\"true\">\r\n <span\r\n [ngClass]=\"HelptextTooltipIcon\"\r\n class=\"ml-1\">\r\n </span>\r\n </sac-tooltip>\r\n </div>\r\n </div>\r\n <div\r\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\"\r\n class=\"invalid-feedback\">\r\n {{ GetErrorMessage() | async }}\r\n </div>\r\n <div\r\n *ngIf=\"helptextmode === 'text' && helptext\"\r\n class=\"form-text\">\r\n {{ helptext }}\r\n </div>\r\n </div>\r\n\r\n <div\r\n *ngFor=\"let file of uploads\"\r\n style=\"margin-top: 5px\">\r\n <div\r\n class=\"input-group upload-component upload-multiple\"\r\n [class.input-group-sm]=\"componentHeight === ControlHeight.Small\"\r\n [class.input-group-lg]=\"componentHeight === ControlHeight.Large\">\r\n <div\r\n class=\"form-control upload-progress\"\r\n [class.is-invalid]=\"invalid && (dirty || touched)\">\r\n <div class=\"progress\">\r\n <div\r\n class=\"progress-bar\"\r\n [class.progress-bar-success]=\"file.progress === 100\"\r\n role=\"progressbar\"\r\n [attr.aria-valuenow]=\"file.progress\"\r\n aria-valuemin=\"0\"\r\n aria-valuemax=\"100\"\r\n [style.width.%]=\"file.progress\">\r\n <span class=\"progress-text text-dark\">{{ file.name }}</span>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <button\r\n class=\"btn\"\r\n (click)=\"cancel(file.uploadId)\"\r\n [class.btn-secondary]=\"!(invalid && (dirty || touched))\"\r\n [class.btn-danger]=\"invalid && (dirty || touched)\">\r\n <span [class]=\"IconDelete\"></span>\r\n </button>\r\n <button\r\n *ngIf=\"(autoupload === false && enablepause) || (autoupload && enablepause && file.status !== 'paused')\"\r\n class=\"btn\"\r\n (click)=\"pause(file.uploadId)\"\r\n [attr.disabled]=\"file.status !== 'uploading' ? 'disabled' : null\"\r\n [class.btn-secondary]=\"!(invalid && (dirty || touched))\"\r\n [class.btn-danger]=\"invalid && (dirty || touched)\">\r\n <span [class]=\"IconPause\"></span>\r\n </button>\r\n <button\r\n *ngIf=\"autoupload && enablepause && file.status === 'paused'\"\r\n class=\"btn\"\r\n (click)=\"upload(file.uploadId)\"\r\n [class.btn-secondary]=\"!(invalid && (dirty || touched))\"\r\n [class.btn-danger]=\"invalid && (dirty || touched)\">\r\n <span [class]=\"IconContinue\"></span>\r\n </button>\r\n <button\r\n *ngIf=\"autoupload === false\"\r\n class=\"btn text-nowrap\"\r\n (click)=\"upload(file.uploadId)\"\r\n [attr.disabled]=\"file.status !== 'added' && file.status !== 'paused' ? 'disabled' : null\"\r\n [class.btn-secondary]=\"!(invalid && (dirty || touched))\"\r\n [class.btn-danger]=\"invalid && (dirty || touched)\">\r\n <span\r\n [class]=\"IconUpload\"\r\n class=\"pe-2\"></span\r\n >{{ lngResourceService.GetString(validationKeyService.UploadButtonUpload) | async }}\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n", styles: [".upload-component .custom-file{height:100%}.upload-component .custom-file .custom-file-input{inset:0;position:absolute;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;border:0}.upload-component .upload-progress .progress{height:100%}.upload-component .upload-progress .progress .progress-text{position:absolute;left:0;right:0}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "pipe", type: SacToControlWidthCssPipe, name: "toControlWidthCss" }, { kind: "pipe", type: SacToLabelWidthCssPipe, name: "toLabelWidthCss" }, { kind: "pipe", type: SacToLabelHeightPipe, name: "toLabelHeight" }, { kind: "component", type: SacTooltipComponent, selector: "sac-tooltip" }, { kind: "pipe", type: SacToControlHeightPipe, name: "toControlHeight" }] }); }
2991
+ ], usesInheritance: true, ngImport: i0, template: "<div\n id=\"{{ name }}\"\n class=\"row mb-3\"\n [class.g-0]=\"disablelabel\">\n <label\n *ngIf=\"disablelabel === false && !isAdaptiveLabel\"\n id=\"{{ name }}_label\"\n for=\"{{ name }}_uploadinput\"\n class=\"col-12 col-form-label d-flex\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'visually-hidden', componentHeight | toLabelHeight]\"\n [class.required]=\"isrequired\">\n <div\n class=\"text flex-grow-0\"\n [class.flex-sm-grow-1]=\"splitlabelandhelptext\">\n {{ label }}\n </div>\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [ngClass]=\"HelptextTooltipIcon\"\n class=\"ms-1\">\n </span>\n </sac-tooltip>\n </label>\n <div\n class=\"col-12\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\">\n <div class=\"upload-component\">\n <div class=\"row\">\n <div class=\"col-12\">\n <div\n [class.d-flex]=\"helptextmode === 'tooltip' && helptext && disablelabel\"\n [class.is-invalid]=\"isinlineerrorenabled && invalid && (dirty || touched)\">\n <div\n class=\"btn-group\"\n [class.btn-group-sm]=\"componentHeight === ControlHeight.Small\"\n [class.btn-group-lg]=\"componentHeight === ControlHeight.Large\"\n [class.is-invalid]=\"isinlineerrorenabled && invalid && (dirty || touched)\">\n <div\n class=\"btn upload-input custom-file\"\n [class.disabled]=\"maxfiles > 0 && uploads.length >= maxfiles\"\n [class.btn-secondary]=\"!(invalid && (dirty || touched))\"\n [class.btn-danger]=\"invalid && (dirty || touched)\">\n <i\n [ngClass]=\"IconBrowse\"\n class=\"pe-2\"></i>\n <span class=\"upload-browse\">{{\n buttonbrowse ? buttonbrowse : (lngResourceService.GetString(validationKeyService.UploadButtonBrowse) | async)\n }}</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 <button\n class=\"btn\"\n (click)=\"cancelAll()\"\n [attr.disabled]=\"HasQueueItem() === false ? 'disabled' : null\"\n [class.btn-secondary]=\"!(invalid && (dirty || touched))\"\n [class.btn-danger]=\"invalid && (dirty || touched)\">\n <span [class]=\"IconDelete\"></span>\n </button>\n <button\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-secondary]=\"!(invalid && (dirty || touched))\"\n [class.btn-danger]=\"invalid && (dirty || touched)\">\n <span [class]=\"IconPause\"></span>\n </button>\n <button\n *ngIf=\"autoupload && enablepause && IsPaused() === true\"\n class=\"btn\"\n (click)=\"uploadAll()\"\n [class.btn-secondary]=\"!(invalid && (dirty || touched))\"\n [class.btn-danger]=\"invalid && (dirty || touched)\">\n <span [class]=\"IconContinue\"></span>\n </button>\n <button\n *ngIf=\"autoupload === false\"\n class=\"btn text-nowrap\"\n (click)=\"uploadAll()\"\n [attr.disabled]=\"IsStateToUpload() === false ? 'disabled' : null\"\n [class.btn-secondary]=\"!(invalid && (dirty || touched))\"\n [class.btn-danger]=\"invalid && (dirty || touched)\">\n <span\n [ngClass]=\"IconUpload\"\n class=\"pe-2\"></span\n >{{ buttonupload ? buttonupload : (lngResourceService.GetString(validationKeyService.UploadButtonUpload) | async) }}\n </button>\n </div>\n </div>\n <div\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\n class=\"form-control-plaintext align-self-top ms-2 me-1 w-auto\"\n [ngClass]=\"[componentHeight | toControlHeight]\">\n <sac-tooltip\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [ngClass]=\"HelptextTooltipIcon\"\n class=\"ml-1\">\n </span>\n </sac-tooltip>\n </div>\n </div>\n <div\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\"\n class=\"invalid-feedback\">\n {{ GetErrorMessage() | async }}\n </div>\n <div\n *ngIf=\"helptextmode === 'text' && helptext\"\n class=\"form-text\">\n {{ helptext }}\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\n class=\"form-control upload-progress\"\n [class.is-invalid]=\"invalid && (dirty || touched)\">\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\n <button\n class=\"btn\"\n (click)=\"cancel(file.uploadId)\"\n [class.btn-secondary]=\"!(invalid && (dirty || touched))\"\n [class.btn-danger]=\"invalid && (dirty || touched)\">\n <span [class]=\"IconDelete\"></span>\n </button>\n <button\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-secondary]=\"!(invalid && (dirty || touched))\"\n [class.btn-danger]=\"invalid && (dirty || touched)\">\n <span [class]=\"IconPause\"></span>\n </button>\n <button\n *ngIf=\"autoupload && enablepause && file.status === 'paused'\"\n class=\"btn\"\n (click)=\"upload(file.uploadId)\"\n [class.btn-secondary]=\"!(invalid && (dirty || touched))\"\n [class.btn-danger]=\"invalid && (dirty || touched)\">\n <span [class]=\"IconContinue\"></span>\n </button>\n <button\n *ngIf=\"autoupload === false\"\n class=\"btn text-nowrap\"\n (click)=\"upload(file.uploadId)\"\n [attr.disabled]=\"file.status !== 'added' && file.status !== 'paused' ? 'disabled' : null\"\n [class.btn-secondary]=\"!(invalid && (dirty || touched))\"\n [class.btn-danger]=\"invalid && (dirty || touched)\">\n <span\n [ngClass]=\"IconUpload\"\n class=\"pe-2\"></span\n >{{ buttonupload ? buttonupload : (lngResourceService.GetString(validationKeyService.UploadButtonUpload) | async) }}\n </button>\n </div>\n </div>\n </div>\n </div>\n </div>\n</div>\n", styles: [".upload-component .custom-file{height:100%}.upload-component .custom-file .custom-file-input{inset:0;position:absolute;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;border:0}.upload-component .upload-progress .progress{height:100%}.upload-component .upload-progress .progress .progress-text{position:absolute;left:0;right:0}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "pipe", type: SacToControlWidthCssPipe, name: "toControlWidthCss" }, { kind: "pipe", type: SacToLabelWidthCssPipe, name: "toLabelWidthCss" }, { kind: "pipe", type: SacToLabelHeightPipe, name: "toLabelHeight" }, { kind: "component", type: SacTooltipComponent, selector: "sac-tooltip" }, { kind: "pipe", type: SacToControlHeightPipe, name: "toControlHeight" }] }); }
2992
2992
  }
2993
2993
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SacUploadMultipleComponent, decorators: [{
2994
2994
  type: Component,
@@ -3013,7 +3013,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
3013
3013
  SacToLabelHeightPipe,
3014
3014
  SacTooltipComponent,
3015
3015
  SacToControlHeightPipe,
3016
- ], template: "<div\r\n id=\"{{ name }}\"\r\n class=\"row mb-3\"\r\n [class.g-0]=\"disablelabel\">\r\n <label\r\n *ngIf=\"disablelabel === false && !isAdaptiveLabel\"\r\n id=\"{{ name }}_label\"\r\n for=\"{{ name }}_uploadinput\"\r\n class=\"col-12 col-form-label d-flex\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'visually-hidden', componentHeight | toLabelHeight]\"\r\n [class.required]=\"isrequired\">\r\n <div\r\n class=\"text flex-grow-0\"\r\n [class.flex-sm-grow-1]=\"splitlabelandhelptext\">\r\n {{ label }}\r\n </div>\r\n <sac-tooltip\r\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\r\n [tooltiptext]=\"helptext\"\r\n [inlinemode]=\"true\">\r\n <span\r\n [ngClass]=\"HelptextTooltipIcon\"\r\n class=\"ms-1\">\r\n </span>\r\n </sac-tooltip>\r\n </label>\r\n <div\r\n class=\"col-12\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\">\r\n <div class=\"upload-component\">\r\n <div class=\"row\">\r\n <div class=\"col-12\">\r\n <div\r\n [class.d-flex]=\"helptextmode === 'tooltip' && helptext && disablelabel\"\r\n [class.is-invalid]=\"isinlineerrorenabled && invalid && (dirty || touched)\">\r\n <div\r\n class=\"btn-group\"\r\n [class.btn-group-sm]=\"componentHeight === ControlHeight.Small\"\r\n [class.btn-group-lg]=\"componentHeight === ControlHeight.Large\"\r\n [class.is-invalid]=\"isinlineerrorenabled && invalid && (dirty || touched)\">\r\n <div\r\n class=\"btn upload-input custom-file\"\r\n [class.disabled]=\"maxfiles > 0 && uploads.length >= maxfiles\"\r\n [class.btn-secondary]=\"!(invalid && (dirty || touched))\"\r\n [class.btn-danger]=\"invalid && (dirty || touched)\">\r\n <i\r\n [class]=\"IconBrowse\"\r\n class=\"pe-2\"></i>\r\n <span class=\"upload-browse\">Browse</span>\r\n <input\r\n id=\"{{ name }}_uploadinput\"\r\n type=\"file\"\r\n class=\"custom-file-input\"\r\n #files\r\n (click)=\"files.value = ''\"\r\n (uploadxState)=\"onUpload($event)\"\r\n multiple\r\n [disabled]=\"maxfiles > 0 && uploads.length >= maxfiles\" />\r\n </div>\r\n\r\n <div\r\n class=\"btn-group\"\r\n [class.btn-group-sm]=\"componentHeight === ControlHeight.Small\"\r\n [class.btn-group-lg]=\"componentHeight === ControlHeight.Large\">\r\n <!-- image-preview-clear button -->\r\n <button\r\n class=\"btn\"\r\n (click)=\"cancelAll()\"\r\n [attr.disabled]=\"HasQueueItem() === false ? 'disabled' : null\"\r\n [class.btn-secondary]=\"!(invalid && (dirty || touched))\"\r\n [class.btn-danger]=\"invalid && (dirty || touched)\">\r\n <span [class]=\"IconDelete\"></span>\r\n </button>\r\n <button\r\n *ngIf=\"(autoupload === false && enablepause) || (autoupload && enablepause && IsPaused() === false)\"\r\n class=\"btn\"\r\n (click)=\"pauseAll()\"\r\n [attr.disabled]=\"IsUploading() === false ? 'disabled' : null\"\r\n [class.btn-secondary]=\"!(invalid && (dirty || touched))\"\r\n [class.btn-danger]=\"invalid && (dirty || touched)\">\r\n <span [class]=\"IconPause\"></span>\r\n </button>\r\n <button\r\n *ngIf=\"autoupload && enablepause && IsPaused() === true\"\r\n class=\"btn\"\r\n (click)=\"uploadAll()\"\r\n [class.btn-secondary]=\"!(invalid && (dirty || touched))\"\r\n [class.btn-danger]=\"invalid && (dirty || touched)\">\r\n <span [class]=\"IconContinue\"></span>\r\n </button>\r\n <button\r\n *ngIf=\"autoupload === false\"\r\n class=\"btn text-nowrap\"\r\n (click)=\"uploadAll()\"\r\n [attr.disabled]=\"IsStateToUpload() === false ? 'disabled' : null\"\r\n [class.btn-secondary]=\"!(invalid && (dirty || touched))\"\r\n [class.btn-danger]=\"invalid && (dirty || touched)\">\r\n <span\r\n [class]=\"IconUpload\"\r\n class=\"pe-2\"></span>\r\n {{ lngResourceService.GetString(validationKeyService.UploadButtonUpload) | async }}\r\n </button>\r\n </div>\r\n </div>\r\n <div\r\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\r\n class=\"form-control-plaintext align-self-top ms-2 me-1 w-auto\"\r\n [ngClass]=\"[componentHeight | toControlHeight]\">\r\n <sac-tooltip\r\n [tooltiptext]=\"helptext\"\r\n [inlinemode]=\"true\">\r\n <span\r\n [ngClass]=\"HelptextTooltipIcon\"\r\n class=\"ml-1\">\r\n </span>\r\n </sac-tooltip>\r\n </div>\r\n </div>\r\n <div\r\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\"\r\n class=\"invalid-feedback\">\r\n {{ GetErrorMessage() | async }}\r\n </div>\r\n <div\r\n *ngIf=\"helptextmode === 'text' && helptext\"\r\n class=\"form-text\">\r\n {{ helptext }}\r\n </div>\r\n </div>\r\n\r\n <div\r\n *ngFor=\"let file of uploads\"\r\n style=\"margin-top: 5px\">\r\n <div\r\n class=\"input-group upload-component upload-multiple\"\r\n [class.input-group-sm]=\"componentHeight === ControlHeight.Small\"\r\n [class.input-group-lg]=\"componentHeight === ControlHeight.Large\">\r\n <div\r\n class=\"form-control upload-progress\"\r\n [class.is-invalid]=\"invalid && (dirty || touched)\">\r\n <div class=\"progress\">\r\n <div\r\n class=\"progress-bar\"\r\n [class.progress-bar-success]=\"file.progress === 100\"\r\n role=\"progressbar\"\r\n [attr.aria-valuenow]=\"file.progress\"\r\n aria-valuemin=\"0\"\r\n aria-valuemax=\"100\"\r\n [style.width.%]=\"file.progress\">\r\n <span class=\"progress-text text-dark\">{{ file.name }}</span>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <button\r\n class=\"btn\"\r\n (click)=\"cancel(file.uploadId)\"\r\n [class.btn-secondary]=\"!(invalid && (dirty || touched))\"\r\n [class.btn-danger]=\"invalid && (dirty || touched)\">\r\n <span [class]=\"IconDelete\"></span>\r\n </button>\r\n <button\r\n *ngIf=\"(autoupload === false && enablepause) || (autoupload && enablepause && file.status !== 'paused')\"\r\n class=\"btn\"\r\n (click)=\"pause(file.uploadId)\"\r\n [attr.disabled]=\"file.status !== 'uploading' ? 'disabled' : null\"\r\n [class.btn-secondary]=\"!(invalid && (dirty || touched))\"\r\n [class.btn-danger]=\"invalid && (dirty || touched)\">\r\n <span [class]=\"IconPause\"></span>\r\n </button>\r\n <button\r\n *ngIf=\"autoupload && enablepause && file.status === 'paused'\"\r\n class=\"btn\"\r\n (click)=\"upload(file.uploadId)\"\r\n [class.btn-secondary]=\"!(invalid && (dirty || touched))\"\r\n [class.btn-danger]=\"invalid && (dirty || touched)\">\r\n <span [class]=\"IconContinue\"></span>\r\n </button>\r\n <button\r\n *ngIf=\"autoupload === false\"\r\n class=\"btn text-nowrap\"\r\n (click)=\"upload(file.uploadId)\"\r\n [attr.disabled]=\"file.status !== 'added' && file.status !== 'paused' ? 'disabled' : null\"\r\n [class.btn-secondary]=\"!(invalid && (dirty || touched))\"\r\n [class.btn-danger]=\"invalid && (dirty || touched)\">\r\n <span\r\n [class]=\"IconUpload\"\r\n class=\"pe-2\"></span\r\n >{{ lngResourceService.GetString(validationKeyService.UploadButtonUpload) | async }}\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n", styles: [".upload-component .custom-file{height:100%}.upload-component .custom-file .custom-file-input{inset:0;position:absolute;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;border:0}.upload-component .upload-progress .progress{height:100%}.upload-component .upload-progress .progress .progress-text{position:absolute;left:0;right:0}\n"] }]
3016
+ ], template: "<div\n id=\"{{ name }}\"\n class=\"row mb-3\"\n [class.g-0]=\"disablelabel\">\n <label\n *ngIf=\"disablelabel === false && !isAdaptiveLabel\"\n id=\"{{ name }}_label\"\n for=\"{{ name }}_uploadinput\"\n class=\"col-12 col-form-label d-flex\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'visually-hidden', componentHeight | toLabelHeight]\"\n [class.required]=\"isrequired\">\n <div\n class=\"text flex-grow-0\"\n [class.flex-sm-grow-1]=\"splitlabelandhelptext\">\n {{ label }}\n </div>\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [ngClass]=\"HelptextTooltipIcon\"\n class=\"ms-1\">\n </span>\n </sac-tooltip>\n </label>\n <div\n class=\"col-12\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\">\n <div class=\"upload-component\">\n <div class=\"row\">\n <div class=\"col-12\">\n <div\n [class.d-flex]=\"helptextmode === 'tooltip' && helptext && disablelabel\"\n [class.is-invalid]=\"isinlineerrorenabled && invalid && (dirty || touched)\">\n <div\n class=\"btn-group\"\n [class.btn-group-sm]=\"componentHeight === ControlHeight.Small\"\n [class.btn-group-lg]=\"componentHeight === ControlHeight.Large\"\n [class.is-invalid]=\"isinlineerrorenabled && invalid && (dirty || touched)\">\n <div\n class=\"btn upload-input custom-file\"\n [class.disabled]=\"maxfiles > 0 && uploads.length >= maxfiles\"\n [class.btn-secondary]=\"!(invalid && (dirty || touched))\"\n [class.btn-danger]=\"invalid && (dirty || touched)\">\n <i\n [ngClass]=\"IconBrowse\"\n class=\"pe-2\"></i>\n <span class=\"upload-browse\">{{\n buttonbrowse ? buttonbrowse : (lngResourceService.GetString(validationKeyService.UploadButtonBrowse) | async)\n }}</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 <button\n class=\"btn\"\n (click)=\"cancelAll()\"\n [attr.disabled]=\"HasQueueItem() === false ? 'disabled' : null\"\n [class.btn-secondary]=\"!(invalid && (dirty || touched))\"\n [class.btn-danger]=\"invalid && (dirty || touched)\">\n <span [class]=\"IconDelete\"></span>\n </button>\n <button\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-secondary]=\"!(invalid && (dirty || touched))\"\n [class.btn-danger]=\"invalid && (dirty || touched)\">\n <span [class]=\"IconPause\"></span>\n </button>\n <button\n *ngIf=\"autoupload && enablepause && IsPaused() === true\"\n class=\"btn\"\n (click)=\"uploadAll()\"\n [class.btn-secondary]=\"!(invalid && (dirty || touched))\"\n [class.btn-danger]=\"invalid && (dirty || touched)\">\n <span [class]=\"IconContinue\"></span>\n </button>\n <button\n *ngIf=\"autoupload === false\"\n class=\"btn text-nowrap\"\n (click)=\"uploadAll()\"\n [attr.disabled]=\"IsStateToUpload() === false ? 'disabled' : null\"\n [class.btn-secondary]=\"!(invalid && (dirty || touched))\"\n [class.btn-danger]=\"invalid && (dirty || touched)\">\n <span\n [ngClass]=\"IconUpload\"\n class=\"pe-2\"></span\n >{{ buttonupload ? buttonupload : (lngResourceService.GetString(validationKeyService.UploadButtonUpload) | async) }}\n </button>\n </div>\n </div>\n <div\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\n class=\"form-control-plaintext align-self-top ms-2 me-1 w-auto\"\n [ngClass]=\"[componentHeight | toControlHeight]\">\n <sac-tooltip\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [ngClass]=\"HelptextTooltipIcon\"\n class=\"ml-1\">\n </span>\n </sac-tooltip>\n </div>\n </div>\n <div\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\"\n class=\"invalid-feedback\">\n {{ GetErrorMessage() | async }}\n </div>\n <div\n *ngIf=\"helptextmode === 'text' && helptext\"\n class=\"form-text\">\n {{ helptext }}\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\n class=\"form-control upload-progress\"\n [class.is-invalid]=\"invalid && (dirty || touched)\">\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\n <button\n class=\"btn\"\n (click)=\"cancel(file.uploadId)\"\n [class.btn-secondary]=\"!(invalid && (dirty || touched))\"\n [class.btn-danger]=\"invalid && (dirty || touched)\">\n <span [class]=\"IconDelete\"></span>\n </button>\n <button\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-secondary]=\"!(invalid && (dirty || touched))\"\n [class.btn-danger]=\"invalid && (dirty || touched)\">\n <span [class]=\"IconPause\"></span>\n </button>\n <button\n *ngIf=\"autoupload && enablepause && file.status === 'paused'\"\n class=\"btn\"\n (click)=\"upload(file.uploadId)\"\n [class.btn-secondary]=\"!(invalid && (dirty || touched))\"\n [class.btn-danger]=\"invalid && (dirty || touched)\">\n <span [class]=\"IconContinue\"></span>\n </button>\n <button\n *ngIf=\"autoupload === false\"\n class=\"btn text-nowrap\"\n (click)=\"upload(file.uploadId)\"\n [attr.disabled]=\"file.status !== 'added' && file.status !== 'paused' ? 'disabled' : null\"\n [class.btn-secondary]=\"!(invalid && (dirty || touched))\"\n [class.btn-danger]=\"invalid && (dirty || touched)\">\n <span\n [ngClass]=\"IconUpload\"\n class=\"pe-2\"></span\n >{{ buttonupload ? buttonupload : (lngResourceService.GetString(validationKeyService.UploadButtonUpload) | async) }}\n </button>\n </div>\n </div>\n </div>\n </div>\n </div>\n</div>\n", styles: [".upload-component .custom-file{height:100%}.upload-component .custom-file .custom-file-input{inset:0;position:absolute;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;border:0}.upload-component .upload-progress .progress{height:100%}.upload-component .upload-progress .progress .progress-text{position:absolute;left:0;right:0}\n"] }]
3017
3017
  }], ctorParameters: function () { return [{ type: SacFormLayoutDirective, decorators: [{
3018
3018
  type: Host
3019
3019
  }, {
@@ -3072,7 +3072,7 @@ class SacTreeviewComponent extends SacTreeviewCommon {
3072
3072
  useExisting: forwardRef(() => SacTreeviewComponent),
3073
3073
  multi: true,
3074
3074
  },
3075
- ], usesInheritance: true, ngImport: i0, template: "<div\r\n class=\"row mb-3\"\r\n [class.g-0]=\"disablelabel\">\r\n <label\r\n for=\"{{ name }}\"\r\n class=\"col-12 col-form-label d-flex\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'visually-hidden', componentHeight | toLabelHeight]\"\r\n [class.required]=\"isrequired\">\r\n <div\r\n class=\"text flex-grow-0\"\r\n [class.flex-sm-grow-1]=\"splitlabelandhelptext\">\r\n {{ label }}\r\n </div>\r\n <sac-tooltip\r\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\r\n [tooltiptext]=\"helptext\"\r\n [inlinemode]=\"true\">\r\n <span\r\n [ngClass]=\"HelptextTooltipIcon\"\r\n class=\"ms-1\">\r\n </span>\r\n </sac-tooltip>\r\n </label>\r\n <div\r\n class=\"col-12\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\">\r\n <div [class.d-flex]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\r\n <div\r\n class=\"w-100\"\r\n [style.min-width]=\"helptextmode === 'tooltip' && helptext && disablelabel ? 0 : null\"\r\n [class.me-1]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\r\n <ul\r\n class=\"list-group list-group-flush\"\r\n id=\"{{ name }}\"\r\n [class.is-invalid]=\"invalid && (dirty || touched)\"\r\n [class.border]=\"invalid && (dirty || touched)\"\r\n [class.border-danger]=\"invalid && (dirty || touched)\">\r\n <ng-container *ngFor=\"let node of data\">\r\n <ng-template\r\n [ngTemplateOutlet]=\"treeItem\"\r\n [ngTemplateOutletContext]=\"{ node: node, deep: 0, path: '', textpath: '' }\">\r\n </ng-template>\r\n </ng-container>\r\n </ul>\r\n\r\n <div\r\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\"\r\n class=\"invalid-feedback\">\r\n {{ GetErrorMessage() | async }}\r\n </div>\r\n\r\n <div\r\n *ngIf=\"helptextmode === 'text' && helptext\"\r\n class=\"form-text\">\r\n {{ helptext }}\r\n </div>\r\n </div>\r\n\r\n <div\r\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\r\n class=\"form-control-plaintext align-self-top ms-2 me-1 w-auto\"\r\n [ngClass]=\"[componentHeight | toControlHeight]\">\r\n <sac-tooltip\r\n [tooltiptext]=\"helptext\"\r\n [inlinemode]=\"true\">\r\n <span\r\n [ngClass]=\"HelptextTooltipIcon\"\r\n class=\"ml-1\">\r\n </span>\r\n </sac-tooltip>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n<ng-template\r\n #treeItem\r\n let-node=\"node\"\r\n let-deep=\"deep\"\r\n let-path=\"path\"\r\n let-textpath=\"textpath\">\r\n <li\r\n class=\"list-group-item list-group-item-action py-1 px-2 d-flex align-items-center\"\r\n [class.active]=\"isSelectedState(node)\"\r\n (mouseenter)=\"setHoverState(node, true)\"\r\n (mouseleave)=\"setHoverState(node, false)\"\r\n style=\"cursor: pointer\"\r\n attr.data-path=\"{{ path }}/{{ getStringField(node, attrid) }}\"\r\n attr.data-textpath=\"{{ textpath }}/{{ getStringField(node, attrlabel) }}\">\r\n <div\r\n class=\"mx-3\"\r\n *ngFor=\"let i of count(deep)\">\r\n </div>\r\n\r\n <div\r\n (click)=\"onNodeClicked(node)\"\r\n *ngIf=\"expandedstate === 'true' || expandedstate === true\"\r\n class=\"me-2\"\r\n [ngClass]=\"!hasChildren(node) ? iconFolderEmpty : !isExpandedState(node) ? iconFolderCollabsed : isExpandedState(node) ? iconFolderOpen : ''\">\r\n </div>\r\n\r\n <div\r\n (click)=\"onNodeClicked(node)\"\r\n *ngIf=\"attricon && getStringField(node, attricon)\">\r\n <ng-template\r\n [ngTemplateOutlet]=\"templateicon || defaultTemplateIcon\"\r\n [ngTemplateOutletContext]=\"{ node: node }\">\r\n </ng-template>\r\n </div>\r\n\r\n <div\r\n (click)=\"onNodeClicked(node)\"\r\n class=\"flex-grow-1 py-1\"\r\n [style.max-width.percent]=\"enableellipsis ? '100' : null\"\r\n [style.overflow]=\"enableellipsis ? 'hidden' : null\"\r\n [style.text-overflow]=\"enableellipsis ? 'ellipsis' : null\"\r\n [style.white-space]=\"enableellipsis ? 'nowrap' : null\">\r\n <ng-template\r\n [ngTemplateOutlet]=\"templatelabel || defaultTemplateLabel\"\r\n [ngTemplateOutletContext]=\"{ node: node, label: getStringField(node, attrlabel) }\">\r\n </ng-template>\r\n </div>\r\n\r\n <div\r\n (click)=\"setSelectedState(node)\"\r\n class=\"flex-shrink-0\"\r\n *ngIf=\"!isDisabledState(node) && (showactionalways || isSelectedState(node) || isHoverState(node))\">\r\n <ng-template\r\n [ngTemplateOutlet]=\"templateaction || defaultTemplateAction\"\r\n [ngTemplateOutletContext]=\"{ node: node, actionhandler: onActionClicked.bind(this) }\">\r\n </ng-template>\r\n </div>\r\n </li>\r\n\r\n <ng-container *ngIf=\"isExpandedState(node)\">\r\n <ng-template\r\n *ngFor=\"let child of getChildren(node)\"\r\n [ngTemplateOutlet]=\"treeItem\"\r\n [ngTemplateOutletContext]=\"{\r\n node: child,\r\n deep: deep + 1,\r\n path: path + '/' + getStringField(node, attrid),\r\n textpath: textpath + '/' + getStringField(node, attrlabel)\r\n }\">\r\n </ng-template>\r\n </ng-container>\r\n</ng-template>\r\n<ng-template\r\n #defaultTemplateLabel\r\n let-label=\"label\"\r\n let-node=\"node\">\r\n <span [title]=\"label\">\r\n {{ label }}\r\n </span>\r\n</ng-template>\r\n\r\n<ng-template\r\n #defaultTemplateIcon\r\n let-node=\"node\">\r\n <div\r\n class=\"me-2\"\r\n [ngClass]=\"getStringField(node, attricon)\">\r\n </div>\r\n</ng-template>\r\n\r\n<ng-template\r\n #defaultTemplateAction\r\n let-node=\"node\"\r\n let-actionhandler=\"actionhandler\">\r\n <a\r\n class=\"btn btn-sm btn-link text-secondary\"\r\n (click)=\"actionhandler({ action: 'default', node: node })\">\r\n <i [class]=\"iconAction\"></i>\r\n </a>\r\n</ng-template>\r\n", dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "pipe", type: SacToLabelWidthCssPipe, name: "toLabelWidthCss" }, { kind: "pipe", type: SacToLabelHeightPipe, name: "toLabelHeight" }, { kind: "component", type: SacTooltipComponent, selector: "sac-tooltip" }, { kind: "pipe", type: SacToControlWidthCssPipe, name: "toControlWidthCss" }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "pipe", type: SacToControlHeightPipe, name: "toControlHeight" }] }); }
3075
+ ], usesInheritance: true, ngImport: i0, template: "<div\n class=\"row mb-3\"\n [class.g-0]=\"disablelabel\">\n <label\n for=\"{{ name }}\"\n class=\"col-12 col-form-label d-flex\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'visually-hidden', componentHeight | toLabelHeight]\"\n [class.required]=\"isrequired\">\n <div\n class=\"text flex-grow-0\"\n [class.flex-sm-grow-1]=\"splitlabelandhelptext\">\n {{ label }}\n </div>\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [ngClass]=\"HelptextTooltipIcon\"\n class=\"ms-1\">\n </span>\n </sac-tooltip>\n </label>\n <div\n class=\"col-12\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\">\n <div [class.d-flex]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\n <div\n class=\"w-100\"\n [style.min-width]=\"helptextmode === 'tooltip' && helptext && disablelabel ? 0 : null\"\n [class.me-1]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\n <ul\n class=\"list-group list-group-flush\"\n id=\"{{ name }}\"\n [class.is-invalid]=\"invalid && (dirty || touched)\"\n [class.border]=\"invalid && (dirty || touched)\"\n [class.border-danger]=\"invalid && (dirty || touched)\">\n <ng-container *ngFor=\"let node of data\">\n <ng-template\n [ngTemplateOutlet]=\"treeItem\"\n [ngTemplateOutletContext]=\"{ node: node, deep: 0, path: '', textpath: '' }\">\n </ng-template>\n </ng-container>\n </ul>\n\n <div\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\"\n class=\"invalid-feedback\">\n {{ GetErrorMessage() | async }}\n </div>\n\n <div\n *ngIf=\"helptextmode === 'text' && helptext\"\n class=\"form-text\">\n {{ helptext }}\n </div>\n </div>\n\n <div\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\n class=\"form-control-plaintext align-self-top ms-2 me-1 w-auto\"\n [ngClass]=\"[componentHeight | toControlHeight]\">\n <sac-tooltip\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [ngClass]=\"HelptextTooltipIcon\"\n class=\"ml-1\">\n </span>\n </sac-tooltip>\n </div>\n </div>\n </div>\n</div>\n<ng-template\n #treeItem\n let-node=\"node\"\n let-deep=\"deep\"\n let-path=\"path\"\n let-textpath=\"textpath\">\n <li\n class=\"list-group-item list-group-item-action py-1 px-2 d-flex align-items-center\"\n [class.active]=\"isSelectedState(node)\"\n (mouseenter)=\"setHoverState(node, true)\"\n (mouseleave)=\"setHoverState(node, false)\"\n style=\"cursor: pointer\"\n attr.data-path=\"{{ path }}/{{ getStringField(node, attrid) }}\"\n attr.data-textpath=\"{{ textpath }}/{{ getStringField(node, attrlabel) }}\">\n <div\n class=\"mx-3\"\n *ngFor=\"let i of count(deep)\">\n </div>\n\n <div\n (click)=\"onNodeClicked(node)\"\n *ngIf=\"expandedstate === 'true' || expandedstate === true\"\n class=\"me-2\"\n [ngClass]=\"!hasChildren(node) ? iconFolderEmpty : !isExpandedState(node) ? iconFolderCollabsed : isExpandedState(node) ? iconFolderOpen : ''\">\n </div>\n\n <div\n (click)=\"onNodeClicked(node)\"\n *ngIf=\"attricon && getStringField(node, attricon)\">\n <ng-template\n [ngTemplateOutlet]=\"templateicon || defaultTemplateIcon\"\n [ngTemplateOutletContext]=\"{ node: node }\">\n </ng-template>\n </div>\n\n <div\n (click)=\"onNodeClicked(node)\"\n class=\"flex-grow-1 py-1\"\n [style.max-width.percent]=\"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 class=\"flex-shrink-0\"\n *ngIf=\"!isDisabledState(node) && (showactionalways || isSelectedState(node) || isHoverState(node))\">\n <ng-template\n [ngTemplateOutlet]=\"templateaction || defaultTemplateAction\"\n [ngTemplateOutletContext]=\"{ node: node, actionhandler: onActionClicked.bind(this) }\">\n </ng-template>\n </div>\n </li>\n\n <ng-container *ngIf=\"isExpandedState(node)\">\n <ng-template\n *ngFor=\"let child of getChildren(node)\"\n [ngTemplateOutlet]=\"treeItem\"\n [ngTemplateOutletContext]=\"{\n node: child,\n deep: deep + 1,\n path: path + '/' + getStringField(node, attrid),\n textpath: textpath + '/' + getStringField(node, attrlabel)\n }\">\n </ng-template>\n </ng-container>\n</ng-template>\n<ng-template\n #defaultTemplateLabel\n let-label=\"label\"\n let-node=\"node\">\n <span [title]=\"label\">\n {{ label }}\n </span>\n</ng-template>\n\n<ng-template\n #defaultTemplateIcon\n let-node=\"node\">\n <div\n class=\"me-2\"\n [ngClass]=\"getStringField(node, attricon)\">\n </div>\n</ng-template>\n\n<ng-template\n #defaultTemplateAction\n let-node=\"node\"\n let-actionhandler=\"actionhandler\">\n <a\n class=\"btn btn-sm btn-link text-secondary\"\n (click)=\"actionhandler({ action: 'default', node: node })\">\n <i [class]=\"iconAction\"></i>\n </a>\n</ng-template>\n", dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "pipe", type: SacToLabelWidthCssPipe, name: "toLabelWidthCss" }, { kind: "pipe", type: SacToLabelHeightPipe, name: "toLabelHeight" }, { kind: "component", type: SacTooltipComponent, selector: "sac-tooltip" }, { kind: "pipe", type: SacToControlWidthCssPipe, name: "toControlWidthCss" }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "pipe", type: SacToControlHeightPipe, name: "toControlHeight" }] }); }
3076
3076
  }
3077
3077
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SacTreeviewComponent, decorators: [{
3078
3078
  type: Component,
@@ -3102,7 +3102,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
3102
3102
  SacToControlWidthCssPipe,
3103
3103
  AsyncPipe,
3104
3104
  SacToControlHeightPipe,
3105
- ], template: "<div\r\n class=\"row mb-3\"\r\n [class.g-0]=\"disablelabel\">\r\n <label\r\n for=\"{{ name }}\"\r\n class=\"col-12 col-form-label d-flex\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'visually-hidden', componentHeight | toLabelHeight]\"\r\n [class.required]=\"isrequired\">\r\n <div\r\n class=\"text flex-grow-0\"\r\n [class.flex-sm-grow-1]=\"splitlabelandhelptext\">\r\n {{ label }}\r\n </div>\r\n <sac-tooltip\r\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\r\n [tooltiptext]=\"helptext\"\r\n [inlinemode]=\"true\">\r\n <span\r\n [ngClass]=\"HelptextTooltipIcon\"\r\n class=\"ms-1\">\r\n </span>\r\n </sac-tooltip>\r\n </label>\r\n <div\r\n class=\"col-12\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\">\r\n <div [class.d-flex]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\r\n <div\r\n class=\"w-100\"\r\n [style.min-width]=\"helptextmode === 'tooltip' && helptext && disablelabel ? 0 : null\"\r\n [class.me-1]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\r\n <ul\r\n class=\"list-group list-group-flush\"\r\n id=\"{{ name }}\"\r\n [class.is-invalid]=\"invalid && (dirty || touched)\"\r\n [class.border]=\"invalid && (dirty || touched)\"\r\n [class.border-danger]=\"invalid && (dirty || touched)\">\r\n <ng-container *ngFor=\"let node of data\">\r\n <ng-template\r\n [ngTemplateOutlet]=\"treeItem\"\r\n [ngTemplateOutletContext]=\"{ node: node, deep: 0, path: '', textpath: '' }\">\r\n </ng-template>\r\n </ng-container>\r\n </ul>\r\n\r\n <div\r\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\"\r\n class=\"invalid-feedback\">\r\n {{ GetErrorMessage() | async }}\r\n </div>\r\n\r\n <div\r\n *ngIf=\"helptextmode === 'text' && helptext\"\r\n class=\"form-text\">\r\n {{ helptext }}\r\n </div>\r\n </div>\r\n\r\n <div\r\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\r\n class=\"form-control-plaintext align-self-top ms-2 me-1 w-auto\"\r\n [ngClass]=\"[componentHeight | toControlHeight]\">\r\n <sac-tooltip\r\n [tooltiptext]=\"helptext\"\r\n [inlinemode]=\"true\">\r\n <span\r\n [ngClass]=\"HelptextTooltipIcon\"\r\n class=\"ml-1\">\r\n </span>\r\n </sac-tooltip>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n<ng-template\r\n #treeItem\r\n let-node=\"node\"\r\n let-deep=\"deep\"\r\n let-path=\"path\"\r\n let-textpath=\"textpath\">\r\n <li\r\n class=\"list-group-item list-group-item-action py-1 px-2 d-flex align-items-center\"\r\n [class.active]=\"isSelectedState(node)\"\r\n (mouseenter)=\"setHoverState(node, true)\"\r\n (mouseleave)=\"setHoverState(node, false)\"\r\n style=\"cursor: pointer\"\r\n attr.data-path=\"{{ path }}/{{ getStringField(node, attrid) }}\"\r\n attr.data-textpath=\"{{ textpath }}/{{ getStringField(node, attrlabel) }}\">\r\n <div\r\n class=\"mx-3\"\r\n *ngFor=\"let i of count(deep)\">\r\n </div>\r\n\r\n <div\r\n (click)=\"onNodeClicked(node)\"\r\n *ngIf=\"expandedstate === 'true' || expandedstate === true\"\r\n class=\"me-2\"\r\n [ngClass]=\"!hasChildren(node) ? iconFolderEmpty : !isExpandedState(node) ? iconFolderCollabsed : isExpandedState(node) ? iconFolderOpen : ''\">\r\n </div>\r\n\r\n <div\r\n (click)=\"onNodeClicked(node)\"\r\n *ngIf=\"attricon && getStringField(node, attricon)\">\r\n <ng-template\r\n [ngTemplateOutlet]=\"templateicon || defaultTemplateIcon\"\r\n [ngTemplateOutletContext]=\"{ node: node }\">\r\n </ng-template>\r\n </div>\r\n\r\n <div\r\n (click)=\"onNodeClicked(node)\"\r\n class=\"flex-grow-1 py-1\"\r\n [style.max-width.percent]=\"enableellipsis ? '100' : null\"\r\n [style.overflow]=\"enableellipsis ? 'hidden' : null\"\r\n [style.text-overflow]=\"enableellipsis ? 'ellipsis' : null\"\r\n [style.white-space]=\"enableellipsis ? 'nowrap' : null\">\r\n <ng-template\r\n [ngTemplateOutlet]=\"templatelabel || defaultTemplateLabel\"\r\n [ngTemplateOutletContext]=\"{ node: node, label: getStringField(node, attrlabel) }\">\r\n </ng-template>\r\n </div>\r\n\r\n <div\r\n (click)=\"setSelectedState(node)\"\r\n class=\"flex-shrink-0\"\r\n *ngIf=\"!isDisabledState(node) && (showactionalways || isSelectedState(node) || isHoverState(node))\">\r\n <ng-template\r\n [ngTemplateOutlet]=\"templateaction || defaultTemplateAction\"\r\n [ngTemplateOutletContext]=\"{ node: node, actionhandler: onActionClicked.bind(this) }\">\r\n </ng-template>\r\n </div>\r\n </li>\r\n\r\n <ng-container *ngIf=\"isExpandedState(node)\">\r\n <ng-template\r\n *ngFor=\"let child of getChildren(node)\"\r\n [ngTemplateOutlet]=\"treeItem\"\r\n [ngTemplateOutletContext]=\"{\r\n node: child,\r\n deep: deep + 1,\r\n path: path + '/' + getStringField(node, attrid),\r\n textpath: textpath + '/' + getStringField(node, attrlabel)\r\n }\">\r\n </ng-template>\r\n </ng-container>\r\n</ng-template>\r\n<ng-template\r\n #defaultTemplateLabel\r\n let-label=\"label\"\r\n let-node=\"node\">\r\n <span [title]=\"label\">\r\n {{ label }}\r\n </span>\r\n</ng-template>\r\n\r\n<ng-template\r\n #defaultTemplateIcon\r\n let-node=\"node\">\r\n <div\r\n class=\"me-2\"\r\n [ngClass]=\"getStringField(node, attricon)\">\r\n </div>\r\n</ng-template>\r\n\r\n<ng-template\r\n #defaultTemplateAction\r\n let-node=\"node\"\r\n let-actionhandler=\"actionhandler\">\r\n <a\r\n class=\"btn btn-sm btn-link text-secondary\"\r\n (click)=\"actionhandler({ action: 'default', node: node })\">\r\n <i [class]=\"iconAction\"></i>\r\n </a>\r\n</ng-template>\r\n" }]
3105
+ ], template: "<div\n class=\"row mb-3\"\n [class.g-0]=\"disablelabel\">\n <label\n for=\"{{ name }}\"\n class=\"col-12 col-form-label d-flex\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'visually-hidden', componentHeight | toLabelHeight]\"\n [class.required]=\"isrequired\">\n <div\n class=\"text flex-grow-0\"\n [class.flex-sm-grow-1]=\"splitlabelandhelptext\">\n {{ label }}\n </div>\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [ngClass]=\"HelptextTooltipIcon\"\n class=\"ms-1\">\n </span>\n </sac-tooltip>\n </label>\n <div\n class=\"col-12\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\">\n <div [class.d-flex]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\n <div\n class=\"w-100\"\n [style.min-width]=\"helptextmode === 'tooltip' && helptext && disablelabel ? 0 : null\"\n [class.me-1]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\n <ul\n class=\"list-group list-group-flush\"\n id=\"{{ name }}\"\n [class.is-invalid]=\"invalid && (dirty || touched)\"\n [class.border]=\"invalid && (dirty || touched)\"\n [class.border-danger]=\"invalid && (dirty || touched)\">\n <ng-container *ngFor=\"let node of data\">\n <ng-template\n [ngTemplateOutlet]=\"treeItem\"\n [ngTemplateOutletContext]=\"{ node: node, deep: 0, path: '', textpath: '' }\">\n </ng-template>\n </ng-container>\n </ul>\n\n <div\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\"\n class=\"invalid-feedback\">\n {{ GetErrorMessage() | async }}\n </div>\n\n <div\n *ngIf=\"helptextmode === 'text' && helptext\"\n class=\"form-text\">\n {{ helptext }}\n </div>\n </div>\n\n <div\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\n class=\"form-control-plaintext align-self-top ms-2 me-1 w-auto\"\n [ngClass]=\"[componentHeight | toControlHeight]\">\n <sac-tooltip\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [ngClass]=\"HelptextTooltipIcon\"\n class=\"ml-1\">\n </span>\n </sac-tooltip>\n </div>\n </div>\n </div>\n</div>\n<ng-template\n #treeItem\n let-node=\"node\"\n let-deep=\"deep\"\n let-path=\"path\"\n let-textpath=\"textpath\">\n <li\n class=\"list-group-item list-group-item-action py-1 px-2 d-flex align-items-center\"\n [class.active]=\"isSelectedState(node)\"\n (mouseenter)=\"setHoverState(node, true)\"\n (mouseleave)=\"setHoverState(node, false)\"\n style=\"cursor: pointer\"\n attr.data-path=\"{{ path }}/{{ getStringField(node, attrid) }}\"\n attr.data-textpath=\"{{ textpath }}/{{ getStringField(node, attrlabel) }}\">\n <div\n class=\"mx-3\"\n *ngFor=\"let i of count(deep)\">\n </div>\n\n <div\n (click)=\"onNodeClicked(node)\"\n *ngIf=\"expandedstate === 'true' || expandedstate === true\"\n class=\"me-2\"\n [ngClass]=\"!hasChildren(node) ? iconFolderEmpty : !isExpandedState(node) ? iconFolderCollabsed : isExpandedState(node) ? iconFolderOpen : ''\">\n </div>\n\n <div\n (click)=\"onNodeClicked(node)\"\n *ngIf=\"attricon && getStringField(node, attricon)\">\n <ng-template\n [ngTemplateOutlet]=\"templateicon || defaultTemplateIcon\"\n [ngTemplateOutletContext]=\"{ node: node }\">\n </ng-template>\n </div>\n\n <div\n (click)=\"onNodeClicked(node)\"\n class=\"flex-grow-1 py-1\"\n [style.max-width.percent]=\"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 class=\"flex-shrink-0\"\n *ngIf=\"!isDisabledState(node) && (showactionalways || isSelectedState(node) || isHoverState(node))\">\n <ng-template\n [ngTemplateOutlet]=\"templateaction || defaultTemplateAction\"\n [ngTemplateOutletContext]=\"{ node: node, actionhandler: onActionClicked.bind(this) }\">\n </ng-template>\n </div>\n </li>\n\n <ng-container *ngIf=\"isExpandedState(node)\">\n <ng-template\n *ngFor=\"let child of getChildren(node)\"\n [ngTemplateOutlet]=\"treeItem\"\n [ngTemplateOutletContext]=\"{\n node: child,\n deep: deep + 1,\n path: path + '/' + getStringField(node, attrid),\n textpath: textpath + '/' + getStringField(node, attrlabel)\n }\">\n </ng-template>\n </ng-container>\n</ng-template>\n<ng-template\n #defaultTemplateLabel\n let-label=\"label\"\n let-node=\"node\">\n <span [title]=\"label\">\n {{ label }}\n </span>\n</ng-template>\n\n<ng-template\n #defaultTemplateIcon\n let-node=\"node\">\n <div\n class=\"me-2\"\n [ngClass]=\"getStringField(node, attricon)\">\n </div>\n</ng-template>\n\n<ng-template\n #defaultTemplateAction\n let-node=\"node\"\n let-actionhandler=\"actionhandler\">\n <a\n class=\"btn btn-sm btn-link text-secondary\"\n (click)=\"actionhandler({ action: 'default', node: node })\">\n <i [class]=\"iconAction\"></i>\n </a>\n</ng-template>\n" }]
3106
3106
  }], ctorParameters: function () { return [{ type: SacFormLayoutDirective, decorators: [{
3107
3107
  type: Host
3108
3108
  }, {
@@ -3142,7 +3142,7 @@ class SacValidationSummaryComponent extends SacValidationSummaryCommon {
3142
3142
  multi: true,
3143
3143
  useExisting: SacValidationSummaryComponent,
3144
3144
  },
3145
- ], usesInheritance: true, ngImport: i0, template: "<div class=\"alert alert-danger\" role=\"alert\" *ngIf=\"hasErrors\">\r\n <ul class=\"mb-0\">\r\n <li *ngFor=\"let error of formErrors\">{{error | async}}</li>\r\n </ul>\r\n</div>\r\n", dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "pipe", type: AsyncPipe, name: "async" }], viewProviders: [{ provide: ControlContainer, useExisting: SacFormDirective }] }); }
3145
+ ], usesInheritance: true, ngImport: i0, template: "<div class=\"alert alert-danger\" role=\"alert\" *ngIf=\"hasErrors\">\n <ul class=\"mb-0\">\n <li *ngFor=\"let error of formErrors\">{{error | async}}</li>\n </ul>\n</div>\n", dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "pipe", type: AsyncPipe, name: "async" }], viewProviders: [{ provide: ControlContainer, useExisting: SacFormDirective }] }); }
3146
3146
  }
3147
3147
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SacValidationSummaryComponent, decorators: [{
3148
3148
  type: Component,
@@ -3152,7 +3152,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
3152
3152
  multi: true,
3153
3153
  useExisting: SacValidationSummaryComponent,
3154
3154
  },
3155
- ], viewProviders: [{ provide: ControlContainer, useExisting: SacFormDirective }], standalone: true, imports: [NgIf, NgFor, AsyncPipe], template: "<div class=\"alert alert-danger\" role=\"alert\" *ngIf=\"hasErrors\">\r\n <ul class=\"mb-0\">\r\n <li *ngFor=\"let error of formErrors\">{{error | async}}</li>\r\n </ul>\r\n</div>\r\n" }]
3155
+ ], viewProviders: [{ provide: ControlContainer, useExisting: SacFormDirective }], standalone: true, imports: [NgIf, NgFor, AsyncPipe], template: "<div class=\"alert alert-danger\" role=\"alert\" *ngIf=\"hasErrors\">\n <ul class=\"mb-0\">\n <li *ngFor=\"let error of formErrors\">{{error | async}}</li>\n </ul>\n</div>\n" }]
3156
3156
  }], ctorParameters: function () { return [{ type: SacFormDirective, decorators: [{
3157
3157
  type: Host
3158
3158
  }, {
@@ -3202,7 +3202,7 @@ class SacWizardComponent extends SacWizardCommon {
3202
3202
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SacWizardComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
3203
3203
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: SacWizardComponent, isStandalone: true, selector: "sac-wizard", providers: [
3204
3204
  { provide: NG_VALUE_ACCESSOR, multi: true, useExisting: SacWizardComponent },
3205
- ], queries: [{ propertyName: "_wizardItems", predicate: SacWizardItemComponent }], usesInheritance: true, ngImport: i0, template: "<ul class=\"nav nav-wizard\" role=\"tablist\">\r\n <li *ngFor=\"let item of _wizardItems\" class=\"nav-item\" [ngClass]=\"{ 'active': item._active, 'disabled': item._disabled, 'success': item._iscomplete }\"\r\n [ngStyle]=\"{'cursor': item._disabled ? 'not-allowed' : 'pointer'}\">\r\n <a role=\"tab\" (click)=\"selectStep(item)\">\r\n <div class=\"circle\">\r\n <span class=\"step\"></span>\r\n </div>\r\n </a>\r\n <div class=\"info\">\r\n <a (click)=\"selectStep(item)\">{{item._label}}</a>\r\n </div>\r\n </li>\r\n</ul>\r\n", dependencies: [{ kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }] }); }
3205
+ ], queries: [{ propertyName: "_wizardItems", predicate: SacWizardItemComponent }], usesInheritance: true, ngImport: i0, template: "<ul class=\"nav nav-wizard\" role=\"tablist\">\n <li *ngFor=\"let item of _wizardItems\" class=\"nav-item\" [ngClass]=\"{ 'active': item._active, 'disabled': item._disabled, 'success': item._iscomplete }\"\n [ngStyle]=\"{'cursor': item._disabled ? 'not-allowed' : 'pointer'}\">\n <a role=\"tab\" (click)=\"selectStep(item)\">\n <div class=\"circle\">\n <span class=\"step\"></span>\n </div>\n </a>\n <div class=\"info\">\n <a (click)=\"selectStep(item)\">{{item._label}}</a>\n </div>\n </li>\n</ul>\n", dependencies: [{ kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }] }); }
3206
3206
  }
3207
3207
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SacWizardComponent, decorators: [{
3208
3208
  type: Component,
@@ -3212,7 +3212,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
3212
3212
  NgFor,
3213
3213
  NgClass,
3214
3214
  NgStyle,
3215
- ], template: "<ul class=\"nav nav-wizard\" role=\"tablist\">\r\n <li *ngFor=\"let item of _wizardItems\" class=\"nav-item\" [ngClass]=\"{ 'active': item._active, 'disabled': item._disabled, 'success': item._iscomplete }\"\r\n [ngStyle]=\"{'cursor': item._disabled ? 'not-allowed' : 'pointer'}\">\r\n <a role=\"tab\" (click)=\"selectStep(item)\">\r\n <div class=\"circle\">\r\n <span class=\"step\"></span>\r\n </div>\r\n </a>\r\n <div class=\"info\">\r\n <a (click)=\"selectStep(item)\">{{item._label}}</a>\r\n </div>\r\n </li>\r\n</ul>\r\n" }]
3215
+ ], template: "<ul class=\"nav nav-wizard\" role=\"tablist\">\n <li *ngFor=\"let item of _wizardItems\" class=\"nav-item\" [ngClass]=\"{ 'active': item._active, 'disabled': item._disabled, 'success': item._iscomplete }\"\n [ngStyle]=\"{'cursor': item._disabled ? 'not-allowed' : 'pointer'}\">\n <a role=\"tab\" (click)=\"selectStep(item)\">\n <div class=\"circle\">\n <span class=\"step\"></span>\n </div>\n </a>\n <div class=\"info\">\n <a (click)=\"selectStep(item)\">{{item._label}}</a>\n </div>\n </li>\n</ul>\n" }]
3216
3216
  }], propDecorators: { _wizardItems: [{
3217
3217
  type: ContentChildren,
3218
3218
  args: [SacWizardItemComponent]