@simpleangularcontrols/sac-bootstrap5 16.0.0-rc.20 → 16.0.0-rc.21
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/controls/checkbox/checkbox.d.ts +1 -1
- package/controls/checkbox/radiobuttons.d.ts +1 -1
- package/controls/dialog/dialog.d.ts +4 -4
- package/controls/grid/grid.d.ts +4 -4
- package/controls/grid/gridbutton.d.ts +5 -2
- package/controls/grid/gridimage.d.ts +0 -5
- package/controls/input/input.d.ts +1 -1
- package/controls/input/inputarea.d.ts +1 -1
- package/controls/input/inputcurrency.d.ts +1 -1
- package/controls/input/inputdecimal.d.ts +1 -1
- package/controls/input/inputemail.d.ts +1 -1
- package/controls/input/inputinteger.d.ts +1 -1
- package/controls/input/inputpassword.d.ts +1 -1
- package/controls/input/inputsearch.d.ts +1 -1
- package/controls/list/dropdown.d.ts +14 -14
- package/controls/list/listbox.d.ts +13 -13
- package/controls/multilanguage/multilanguageinput.d.ts +1 -1
- package/controls/multilanguage/multilanguageinputarea.d.ts +1 -1
- package/controls/static/staticlabel.d.ts +1 -1
- package/controls/tabs/tab.d.ts +1 -1
- package/controls/upload/upload.d.ts +1 -1
- package/controls/validation/validationsummary.d.ts +1 -1
- package/esm2022/controls/buttons/button.mjs +5 -5
- package/esm2022/controls/buttons/button.module.mjs +5 -9
- package/esm2022/controls/checkbox/checkbox.mjs +9 -8
- package/esm2022/controls/checkbox/radiobuttons.mjs +8 -7
- package/esm2022/controls/contextmenu/contextmenu.mjs +10 -4
- package/esm2022/controls/datetime/date.mjs +12 -11
- package/esm2022/controls/datetime/dateselector.mjs +4 -4
- package/esm2022/controls/datetime/datetime.mjs +5 -4
- package/esm2022/controls/datetime/time.mjs +5 -4
- package/esm2022/controls/dialog/dialog.mjs +16 -12
- package/esm2022/controls/grid/grid.mjs +8 -12
- package/esm2022/controls/grid/grid.module.mjs +2 -2
- package/esm2022/controls/grid/gridbutton.mjs +11 -27
- package/esm2022/controls/grid/gridcolumn.mjs +3 -3
- package/esm2022/controls/grid/gridcolumnaction.mjs +3 -3
- package/esm2022/controls/grid/gridimage.mjs +5 -17
- package/esm2022/controls/grid/paging.mjs +6 -6
- package/esm2022/controls/input/input.mjs +8 -7
- package/esm2022/controls/input/inputarea.mjs +8 -7
- package/esm2022/controls/input/inputcurrency.mjs +8 -7
- package/esm2022/controls/input/inputdecimal.mjs +8 -7
- package/esm2022/controls/input/inputemail.mjs +8 -7
- package/esm2022/controls/input/inputinteger.mjs +8 -7
- package/esm2022/controls/input/inputpassword.mjs +8 -8
- package/esm2022/controls/input/inputsearch.mjs +8 -7
- package/esm2022/controls/list/dropdown.mjs +32 -31
- package/esm2022/controls/list/listbox.mjs +32 -31
- package/esm2022/controls/multilanguage/multilanguageinput.mjs +8 -7
- package/esm2022/controls/multilanguage/multilanguageinputarea.mjs +8 -7
- package/esm2022/controls/static/formcontainer.mjs +5 -4
- package/esm2022/controls/static/staticlabel.mjs +8 -7
- package/esm2022/controls/tabs/tab.mjs +8 -10
- package/esm2022/controls/tinymce/tinymce.mjs +5 -4
- package/esm2022/controls/tooltip/tooltip.mjs +4 -4
- package/esm2022/controls/treeview/treeview.mjs +6 -12
- package/esm2022/controls/upload/dropzonemultiple.mjs +5 -4
- package/esm2022/controls/upload/dropzonesingle.mjs +5 -4
- package/esm2022/controls/upload/upload.mjs +8 -7
- package/esm2022/controls/upload/uploadmultiple.mjs +5 -4
- package/esm2022/controls/validation/validationsummary.mjs +5 -5
- package/esm2022/controls/wizard/wizard.mjs +3 -3
- package/fesm2022/simpleangularcontrols-sac-bootstrap5.mjs +198 -207
- package/fesm2022/simpleangularcontrols-sac-bootstrap5.mjs.map +1 -1
- package/package.json +2 -2
- package/simpleangularcontrols-sac-bootstrap5-16.0.0-rc.21.tgz +0 -0
- package/simpleangularcontrols-sac-bootstrap5-16.0.0-rc.20.tgz +0 -0
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
import { AsyncPipe, NgClass, NgIf } from '@angular/common';
|
|
2
|
-
import { Component, Host, Optional, forwardRef } from '@angular/core';
|
|
3
|
-
import { NG_VALIDATORS, NG_VALUE_ACCESSOR } from '@angular/forms';
|
|
4
|
-
import { SacInputEmailCommon } from '@simpleangularcontrols/sac-common';
|
|
5
1
|
import { SacToControlHeightPipe } from '../layout/tocontrolheight.pipe';
|
|
6
2
|
import { SacToControlWidthCssPipe } from '../layout/tocontrolwidthcss.pipe';
|
|
7
3
|
import { SacToLabelHeightPipe } from '../layout/tolabelheight.pipe';
|
|
8
4
|
import { SacToLabelWidthCssPipe } from '../layout/tolabelwidthcss.pipe';
|
|
9
5
|
import { SacTooltipComponent } from '../tooltip/tooltip';
|
|
6
|
+
import { AsyncPipe, NgClass, NgIf } from '@angular/common';
|
|
7
|
+
import { Component, Host, Optional, forwardRef } from '@angular/core';
|
|
8
|
+
import { NG_VALIDATORS, NG_VALUE_ACCESSOR } from '@angular/forms';
|
|
9
|
+
import { SacInputEmailCommon, SacTestingAttributePipe } from '@simpleangularcontrols/sac-common';
|
|
10
10
|
import * as i0 from "@angular/core";
|
|
11
11
|
import * as i1 from "../layout/formlayout.directive";
|
|
12
12
|
/**
|
|
@@ -34,7 +34,7 @@ class SacInputEmailComponent extends SacInputEmailCommon {
|
|
|
34
34
|
multi: true,
|
|
35
35
|
useExisting: forwardRef(() => SacInputEmailComponent),
|
|
36
36
|
},
|
|
37
|
-
], usesInheritance: true, ngImport: i0, template: "<div\n class=\"row mb-3\"\n [class.g-0]=\"disablelabel\">\n <label\n for=\"{{ name }}\"\n class=\"col-12 col-form-label d-flex\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'visually-hidden', componentHeight | toLabelHeight]\"\n [class.required]=\"isrequired\">\n <div\n class=\"text flex-grow-0\"\n [class.flex-sm-grow-1]=\"splitlabelandhelptext\">\n {{ label }}\n </div>\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [ngClass]=\"HelptextTooltipIcon\"\n class=\"ms-1\">\n </span>\n </sac-tooltip>\n </label>\n <div\n class=\"col-12\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\n [class.d-flex]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\n <div [class.flex-grow-1]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\n <div\n class=\"input-group\"\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 inputmode=\"email\"\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" }] }); }
|
|
37
|
+
], usesInheritance: true, ngImport: i0, template: "<div\n class=\"row mb-3\"\n [class.g-0]=\"disablelabel\"\n [attr.data-e2e-key]=\"name | testingattribute : e2eidentifier\">\n <label\n for=\"{{ name }}\"\n class=\"col-12 col-form-label d-flex\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : '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 inputmode=\"email\"\n class=\"form-control\"\n [value]=\"value\"\n (blur)=\"onTouch()\"\n (input)=\"setValue($event.target.value)\"\n (keypress)=\"onKeyPress($event)\"\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" }, { kind: "pipe", type: SacTestingAttributePipe, name: "testingattribute" }] }); }
|
|
38
38
|
}
|
|
39
39
|
export { SacInputEmailComponent };
|
|
40
40
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SacInputEmailComponent, decorators: [{
|
|
@@ -59,10 +59,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
59
59
|
SacToLabelHeightPipe,
|
|
60
60
|
SacToControlHeightPipe,
|
|
61
61
|
SacTooltipComponent,
|
|
62
|
-
|
|
62
|
+
SacTestingAttributePipe,
|
|
63
|
+
], template: "<div\n class=\"row mb-3\"\n [class.g-0]=\"disablelabel\"\n [attr.data-e2e-key]=\"name | testingattribute : e2eidentifier\">\n <label\n for=\"{{ name }}\"\n class=\"col-12 col-form-label d-flex\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : '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 inputmode=\"email\"\n class=\"form-control\"\n [value]=\"value\"\n (blur)=\"onTouch()\"\n (input)=\"setValue($event.target.value)\"\n (keypress)=\"onKeyPress($event)\"\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" }]
|
|
63
64
|
}], ctorParameters: function () { return [{ type: i1.SacFormLayoutDirective, decorators: [{
|
|
64
65
|
type: Host
|
|
65
66
|
}, {
|
|
66
67
|
type: Optional
|
|
67
68
|
}] }, { type: i0.Injector }]; } });
|
|
68
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
69
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXRlbWFpbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NhYy1ib290c3RyYXA1L3NyYy9jb250cm9scy9pbnB1dC9pbnB1dGVtYWlsLnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2FjLWJvb3RzdHJhcDUvc3JjL2NvbnRyb2xzL2lucHV0L2lucHV0ZW1haWwuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN4RSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUM1RSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNwRSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN4RSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUN6RCxPQUFPLEVBQUUsU0FBUyxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBWSxRQUFRLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2hGLE9BQU8sRUFBRSxhQUFhLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQzs7O0FBRWpHOztHQUVHO0FBQ0gsTUE2QmEsc0JBQXVCLFNBQVEsbUJBQW1CO0lBQzNELHVCQUF1QjtJQUV2Qjs7OztPQUlHO0lBQ0gsWUFBZ0MsVUFBa0MsRUFBRSxRQUFrQjtRQUNsRixLQUFLLENBQUMsVUFBVSxFQUFFLFFBQVEsQ0FBQyxDQUFDO0lBQ2hDLENBQUM7K0dBVlEsc0JBQXNCO21HQUF0QixzQkFBc0IsNkRBekJwQjtZQUNQO2dCQUNJLE9BQU8sRUFBRSxpQkFBaUI7Z0JBQzFCLEtBQUssRUFBRSxJQUFJO2dCQUNYLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsc0JBQXNCLENBQUM7YUFDeEQ7WUFDRDtnQkFDSSxPQUFPLEVBQUUsYUFBYTtnQkFDdEIsS0FBSyxFQUFFLElBQUk7Z0JBQ1gsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxzQkFBc0IsQ0FBQzthQUN4RDtTQUNKLGlEQzdCTCx3ekdBZ0ZBLDRDRGhEUSxPQUFPLG9GQUNQLElBQUksd0ZBQ0osU0FBUyx5Q0FDVCx3QkFBd0IscURBQ3hCLHNCQUFzQixtREFDdEIsb0JBQW9CLGlEQUNwQixzQkFBc0Isd0RBQ3RCLG1CQUFtQixtREFDbkIsdUJBQXVCOztTQUdsQixzQkFBc0I7NEZBQXRCLHNCQUFzQjtrQkE3QmxDLFNBQVM7K0JBQ0ksZ0JBQWdCLGFBR2Y7d0JBQ1A7NEJBQ0ksT0FBTyxFQUFFLGlCQUFpQjs0QkFDMUIsS0FBSyxFQUFFLElBQUk7NEJBQ1gsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsdUJBQXVCLENBQUM7eUJBQ3hEO3dCQUNEOzRCQUNJLE9BQU8sRUFBRSxhQUFhOzRCQUN0QixLQUFLLEVBQUUsSUFBSTs0QkFDWCxXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSx1QkFBdUIsQ0FBQzt5QkFDeEQ7cUJBQ0osY0FDVyxJQUFJLFdBQ1A7d0JBQ0wsT0FBTzt3QkFDUCxJQUFJO3dCQUNKLFNBQVM7d0JBQ1Qsd0JBQXdCO3dCQUN4QixzQkFBc0I7d0JBQ3RCLG9CQUFvQjt3QkFDcEIsc0JBQXNCO3dCQUN0QixtQkFBbUI7d0JBQ25CLHVCQUF1QjtxQkFDMUI7OzBCQVVZLElBQUk7OzBCQUFJLFFBQVEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTYWNGb3JtTGF5b3V0RGlyZWN0aXZlIH0gZnJvbSAnLi4vbGF5b3V0L2Zvcm1sYXlvdXQuZGlyZWN0aXZlJztcbmltcG9ydCB7IFNhY1RvQ29udHJvbEhlaWdodFBpcGUgfSBmcm9tICcuLi9sYXlvdXQvdG9jb250cm9saGVpZ2h0LnBpcGUnO1xuaW1wb3J0IHsgU2FjVG9Db250cm9sV2lkdGhDc3NQaXBlIH0gZnJvbSAnLi4vbGF5b3V0L3RvY29udHJvbHdpZHRoY3NzLnBpcGUnO1xuaW1wb3J0IHsgU2FjVG9MYWJlbEhlaWdodFBpcGUgfSBmcm9tICcuLi9sYXlvdXQvdG9sYWJlbGhlaWdodC5waXBlJztcbmltcG9ydCB7IFNhY1RvTGFiZWxXaWR0aENzc1BpcGUgfSBmcm9tICcuLi9sYXlvdXQvdG9sYWJlbHdpZHRoY3NzLnBpcGUnO1xuaW1wb3J0IHsgU2FjVG9vbHRpcENvbXBvbmVudCB9IGZyb20gJy4uL3Rvb2x0aXAvdG9vbHRpcCc7XG5pbXBvcnQgeyBBc3luY1BpcGUsIE5nQ2xhc3MsIE5nSWYgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBIb3N0LCBJbmplY3RvciwgT3B0aW9uYWwsIGZvcndhcmRSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5HX1ZBTElEQVRPUlMsIE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgU2FjSW5wdXRFbWFpbENvbW1vbiwgU2FjVGVzdGluZ0F0dHJpYnV0ZVBpcGUgfSBmcm9tICdAc2ltcGxlYW5ndWxhcmNvbnRyb2xzL3NhYy1jb21tb24nO1xuXG4vKipcbiAqIElucHV0IEJveCBmw7xyIEUtTWFpbCBBZHJlc3NlblxuICovXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3NhYy1pbnB1dGVtYWlsJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vaW5wdXRlbWFpbC5odG1sJyxcbiAgICAvLyBWYWx1ZSBBY2Nlc3MgUHJvdmlkZXIgcmVnaXN0cmllcmVuLCBkYW1pdCBXZXJ0IHZpYSBNb2RlbCBnZXNjaHJpZWJlbiB1bmQgZ2VsZXNlbiB3ZXJkZW4ga2FublxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICB7XG4gICAgICAgICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICAgICAgICAgIG11bHRpOiB0cnVlLFxuICAgICAgICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gU2FjSW5wdXRFbWFpbENvbXBvbmVudCksXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICAgIHByb3ZpZGU6IE5HX1ZBTElEQVRPUlMsXG4gICAgICAgICAgICBtdWx0aTogdHJ1ZSxcbiAgICAgICAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFNhY0lucHV0RW1haWxDb21wb25lbnQpLFxuICAgICAgICB9LFxuICAgIF0sXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbXG4gICAgICAgIE5nQ2xhc3MsXG4gICAgICAgIE5nSWYsXG4gICAgICAgIEFzeW5jUGlwZSxcbiAgICAgICAgU2FjVG9Db250cm9sV2lkdGhDc3NQaXBlLFxuICAgICAgICBTYWNUb0xhYmVsV2lkdGhDc3NQaXBlLFxuICAgICAgICBTYWNUb0xhYmVsSGVpZ2h0UGlwZSxcbiAgICAgICAgU2FjVG9Db250cm9sSGVpZ2h0UGlwZSxcbiAgICAgICAgU2FjVG9vbHRpcENvbXBvbmVudCxcbiAgICAgICAgU2FjVGVzdGluZ0F0dHJpYnV0ZVBpcGUsXG4gICAgXSxcbn0pXG5leHBvcnQgY2xhc3MgU2FjSW5wdXRFbWFpbENvbXBvbmVudCBleHRlbmRzIFNhY0lucHV0RW1haWxDb21tb24ge1xuICAgIC8vICNyZWdpb24gQ29uc3RydWN0b3JzXG5cbiAgICAvKipcbiAgICAgKiBDb25zdHJ1Y3RvclxuICAgICAqIEBwYXJhbSBmb3JtTGF5b3V0IFNhY0Zvcm1MYXlvdXQgdG8gZGVmaW5lIHNjb3BlZCBsYXlvdXQgc2V0dGluZ3NcbiAgICAgKiBAcGFyYW0gaW5qZWN0b3IgSW5qZWN0b3IgZm9yIGluamVjdGluZyBzZXJ2aWNlc1xuICAgICAqL1xuICAgIGNvbnN0cnVjdG9yKEBIb3N0KCkgQE9wdGlvbmFsKCkgZm9ybUxheW91dDogU2FjRm9ybUxheW91dERpcmVjdGl2ZSwgaW5qZWN0b3I6IEluamVjdG9yKSB7XG4gICAgICAgIHN1cGVyKGZvcm1MYXlvdXQsIGluamVjdG9yKTtcbiAgICB9XG5cbiAgICAvLyAjZW5kcmVnaW9uIENvbnN0cnVjdG9yc1xufVxuIiwiPGRpdlxuICAgIGNsYXNzPVwicm93IG1iLTNcIlxuICAgIFtjbGFzcy5nLTBdPVwiZGlzYWJsZWxhYmVsXCJcbiAgICBbYXR0ci5kYXRhLWUyZS1rZXldPVwibmFtZSB8IHRlc3RpbmdhdHRyaWJ1dGUgOiBlMmVpZGVudGlmaWVyXCI+XG4gICAgPGxhYmVsXG4gICAgICAgIGZvcj1cInt7IG5hbWUgfX1cIlxuICAgICAgICBjbGFzcz1cImNvbC0xMiBjb2wtZm9ybS1sYWJlbCBkLWZsZXhcIlxuICAgICAgICBbbmdDbGFzc109XCJbZGlzYWJsZWxhYmVsID09PSBmYWxzZSA/ICh0aGlzLmxhYmVsU2l6ZXMgfCB0b0xhYmVsV2lkdGhDc3MpIDogJ3Zpc3VhbGx5LWhpZGRlbicsIGNvbXBvbmVudEhlaWdodCB8IHRvTGFiZWxIZWlnaHRdXCJcbiAgICAgICAgW2NsYXNzLnJlcXVpcmVkXT1cImlzcmVxdWlyZWRcIj5cbiAgICAgICAgPGRpdlxuICAgICAgICAgICAgY2xhc3M9XCJ0ZXh0IGZsZXgtZ3Jvdy0wXCJcbiAgICAgICAgICAgIFtjbGFzcy5mbGV4LXNtLWdyb3ctMV09XCJzcGxpdGxhYmVsYW5kaGVscHRleHRcIj5cbiAgICAgICAgICAgIHt7IGxhYmVsIH19XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8c2FjLXRvb2x0aXBcbiAgICAgICAgICAgICpuZ0lmPVwiaGVscHRleHRtb2RlID09PSAndG9vbHRpcCcgJiYgaGVscHRleHRcIlxuICAgICAgICAgICAgW3Rvb2x0aXB0ZXh0XT1cImhlbHB0ZXh0XCJcbiAgICAgICAgICAgIFtpbmxpbmVtb2RlXT1cInRydWVcIj5cbiAgICAgICAgICAgIDxzcGFuXG4gICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwiSGVscHRleHRUb29sdGlwSWNvblwiXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJtcy0xXCI+XG4gICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgIDwvc2FjLXRvb2x0aXA+XG4gICAgPC9sYWJlbD5cbiAgICA8ZGl2XG4gICAgICAgIGNsYXNzPVwiY29sLTEyXCJcbiAgICAgICAgW25nQ2xhc3NdPVwiW2Rpc2FibGVsYWJlbCA9PT0gZmFsc2UgPyAodGhpcy5sYWJlbFNpemVzIHwgdG9Db250cm9sV2lkdGhDc3MpIDogJyddXCJcbiAgICAgICAgW2NsYXNzLmQtZmxleF09XCJoZWxwdGV4dG1vZGUgPT09ICd0b29sdGlwJyAmJiBoZWxwdGV4dCAmJiBkaXNhYmxlbGFiZWxcIj5cbiAgICAgICAgPGRpdiBbY2xhc3MuZmxleC1ncm93LTFdPVwiaGVscHRleHRtb2RlID09PSAndG9vbHRpcCcgJiYgaGVscHRleHQgJiYgZGlzYWJsZWxhYmVsXCI+XG4gICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgY2xhc3M9XCJpbnB1dC1ncm91cFwiXG4gICAgICAgICAgICAgICAgW2NsYXNzLmlucHV0LWdyb3VwLXNtXT1cImNvbXBvbmVudEhlaWdodCA9PT0gQ29udHJvbEhlaWdodC5TbWFsbFwiXG4gICAgICAgICAgICAgICAgW2NsYXNzLmlucHV0LWdyb3VwLWxnXT1cImNvbXBvbmVudEhlaWdodCA9PT0gQ29udHJvbEhlaWdodC5MYXJnZVwiXG4gICAgICAgICAgICAgICAgW2NsYXNzLmhhcy12YWxpZGF0aW9uXT1cImlzaW5saW5lZXJyb3JlbmFibGVkICYmIGludmFsaWQgJiYgKGRpcnR5IHx8IHRvdWNoZWQpXCI+XG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJpbnB1dC1ncm91cC10ZXh0XCI+QDwvc3Bhbj5cbiAgICAgICAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgICAgICAgICAgaWQ9XCJ7eyBuYW1lIH19XCJcbiAgICAgICAgICAgICAgICAgICAgbmFtZT1cInt7IG5hbWUgfX1cIlxuICAgICAgICAgICAgICAgICAgICB0eXBlPVwidGV4dFwiXG4gICAgICAgICAgICAgICAgICAgIGlucHV0bW9kZT1cImVtYWlsXCJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIlxuICAgICAgICAgICAgICAgICAgICBbdmFsdWVdPVwidmFsdWVcIlxuICAgICAgICAgICAgICAgICAgICAoYmx1cik9XCJvblRvdWNoKClcIlxuICAgICAgICAgICAgICAgICAgICAoaW5wdXQpPVwic2V0VmFsdWUoJGV2ZW50LnRhcmdldC52YWx1ZSlcIlxuICAgICAgICAgICAgICAgICAgICAoa2V5cHJlc3MpPVwib25LZXlQcmVzcygkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAgICAgW2F0dHIucGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXJcIlxuICAgICAgICAgICAgICAgICAgICBbYXR0ci5tYXhsZW5ndGhdPVwibWF4dGV4dGxlbmd0aFwiXG4gICAgICAgICAgICAgICAgICAgIGF1dG9jb21wbGV0ZT1cImVtYWlsXCJcbiAgICAgICAgICAgICAgICAgICAgW2NsYXNzLmlzLWludmFsaWRdPVwiaW52YWxpZCAmJiAoZGlydHkgfHwgdG91Y2hlZClcIlxuICAgICAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJbY29tcG9uZW50SGVpZ2h0IHwgdG9Db250cm9sSGVpZ2h0XVwiXG4gICAgICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJpc2Rpc2FibGVkXCJcbiAgICAgICAgICAgICAgICAgICAgW3JlYWRvbmx5XT1cInJlYWRvbmx5XCIgLz5cbiAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiaXNpbmxpbmVlcnJvcmVuYWJsZWQgJiYgaW52YWxpZCAmJiAoZGlydHkgfHwgdG91Y2hlZClcIlxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImludmFsaWQtZmVlZGJhY2tcIj5cbiAgICAgICAgICAgICAgICAgICAge3sgR2V0RXJyb3JNZXNzYWdlKCkgfCBhc3luYyB9fVxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgKm5nSWY9XCJoZWxwdGV4dG1vZGUgPT09ICd0ZXh0JyAmJiBoZWxwdGV4dFwiXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJmb3JtLXRleHRcIj5cbiAgICAgICAgICAgICAgICB7eyBoZWxwdGV4dCB9fVxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuXG4gICAgICAgIDxkaXZcbiAgICAgICAgICAgICpuZ0lmPVwiaGVscHRleHRtb2RlID09PSAndG9vbHRpcCcgJiYgaGVscHRleHQgJiYgZGlzYWJsZWxhYmVsXCJcbiAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sLXBsYWludGV4dCBhbGlnbi1zZWxmLXRvcCBtcy0yIG1lLTEgdy1hdXRvXCJcbiAgICAgICAgICAgIFtuZ0NsYXNzXT1cIltjb21wb25lbnRIZWlnaHQgfCB0b0NvbnRyb2xIZWlnaHRdXCI+XG4gICAgICAgICAgICA8c2FjLXRvb2x0aXBcbiAgICAgICAgICAgICAgICBbdG9vbHRpcHRleHRdPVwiaGVscHRleHRcIlxuICAgICAgICAgICAgICAgIFtpbmxpbmVtb2RlXT1cInRydWVcIj5cbiAgICAgICAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJIZWxwdGV4dFRvb2x0aXBJY29uXCJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJtbC0xXCI+XG4gICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgPC9zYWMtdG9vbHRpcD5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
|
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
import { AsyncPipe, NgClass, NgIf } from '@angular/common';
|
|
2
|
-
import { Component, Host, Optional, forwardRef } from '@angular/core';
|
|
3
|
-
import { NG_VALIDATORS, NG_VALUE_ACCESSOR } from '@angular/forms';
|
|
4
|
-
import { SacInputIntegerCommon } from '@simpleangularcontrols/sac-common';
|
|
5
1
|
import { SacToControlHeightPipe } from '../layout/tocontrolheight.pipe';
|
|
6
2
|
import { SacToControlWidthCssPipe } from '../layout/tocontrolwidthcss.pipe';
|
|
7
3
|
import { SacToLabelHeightPipe } from '../layout/tolabelheight.pipe';
|
|
8
4
|
import { SacToLabelWidthCssPipe } from '../layout/tolabelwidthcss.pipe';
|
|
9
5
|
import { SacTooltipComponent } from '../tooltip/tooltip';
|
|
6
|
+
import { AsyncPipe, NgClass, NgIf } from '@angular/common';
|
|
7
|
+
import { Component, Host, Optional, forwardRef } from '@angular/core';
|
|
8
|
+
import { NG_VALIDATORS, NG_VALUE_ACCESSOR } from '@angular/forms';
|
|
9
|
+
import { SacInputIntegerCommon, SacTestingAttributePipe } from '@simpleangularcontrols/sac-common';
|
|
10
10
|
import * as i0 from "@angular/core";
|
|
11
11
|
import * as i1 from "../layout/formlayout.directive";
|
|
12
12
|
/**
|
|
@@ -34,7 +34,7 @@ class SacInputIntegerComponent extends SacInputIntegerCommon {
|
|
|
34
34
|
multi: true,
|
|
35
35
|
useExisting: forwardRef(() => SacInputIntegerComponent),
|
|
36
36
|
},
|
|
37
|
-
], usesInheritance: true, ngImport: i0, template: "<div\n class=\"row mb-3\"\n [class.g-0]=\"disablelabel\">\n <label\n for=\"{{ name }}\"\n class=\"col-12 col-form-label d-flex\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'visually-hidden', componentHeight | toLabelHeight]\"\n [class.required]=\"isrequired\">\n <div\n class=\"text flex-grow-0\"\n [class.flex-sm-grow-1]=\"splitlabelandhelptext\">\n {{ label }}\n </div>\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [ngClass]=\"HelptextTooltipIcon\"\n class=\"ms-1\">\n </span>\n </sac-tooltip>\n </label>\n <div\n class=\"col-12\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\n [class.d-flex]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\n <div [class.flex-grow-1]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\n <input\n id=\"{{ name }}\"\n name=\"{{ name }}\"\n type=\"text\"\n inputmode=\"decimal\"\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" }] }); }
|
|
37
|
+
], usesInheritance: true, ngImport: i0, template: "<div\n class=\"row mb-3\"\n [class.g-0]=\"disablelabel\"\n [attr.data-e2e-key]=\"name | testingattribute : e2eidentifier\">\n <label\n for=\"{{ name }}\"\n class=\"col-12 col-form-label d-flex\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : '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 inputmode=\"decimal\"\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" }, { kind: "pipe", type: SacTestingAttributePipe, name: "testingattribute" }] }); }
|
|
38
38
|
}
|
|
39
39
|
export { SacInputIntegerComponent };
|
|
40
40
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SacInputIntegerComponent, decorators: [{
|
|
@@ -59,10 +59,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
59
59
|
SacToLabelHeightPipe,
|
|
60
60
|
SacToControlHeightPipe,
|
|
61
61
|
SacTooltipComponent,
|
|
62
|
-
|
|
62
|
+
SacTestingAttributePipe,
|
|
63
|
+
], template: "<div\n class=\"row mb-3\"\n [class.g-0]=\"disablelabel\"\n [attr.data-e2e-key]=\"name | testingattribute : e2eidentifier\">\n <label\n for=\"{{ name }}\"\n class=\"col-12 col-form-label d-flex\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : '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 inputmode=\"decimal\"\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" }]
|
|
63
64
|
}], ctorParameters: function () { return [{ type: i1.SacFormLayoutDirective, decorators: [{
|
|
64
65
|
type: Host
|
|
65
66
|
}, {
|
|
66
67
|
type: Optional
|
|
67
68
|
}] }, { type: i0.Injector }]; } });
|
|
68
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
69
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXRpbnRlZ2VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2FjLWJvb3RzdHJhcDUvc3JjL2NvbnRyb2xzL2lucHV0L2lucHV0aW50ZWdlci50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NhYy1ib290c3RyYXA1L3NyYy9jb250cm9scy9pbnB1dC9pbnB1dGludGVnZXIuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN4RSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUM1RSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNwRSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN4RSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUN6RCxPQUFPLEVBQUUsU0FBUyxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBWSxRQUFRLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2hGLE9BQU8sRUFBRSxhQUFhLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQzs7O0FBRW5HOztHQUVHO0FBQ0gsTUE2QmEsd0JBQXlCLFNBQVEscUJBQXFCO0lBQy9ELHVCQUF1QjtJQUV2Qjs7OztPQUlHO0lBQ0gsWUFBZ0MsVUFBa0MsRUFBRSxRQUFrQjtRQUNsRixLQUFLLENBQUMsVUFBVSxFQUFFLFFBQVEsQ0FBQyxDQUFDO0lBQ2hDLENBQUM7K0dBVlEsd0JBQXdCO21HQUF4Qix3QkFBd0IsK0RBekJ0QjtZQUNQO2dCQUNJLE9BQU8sRUFBRSxpQkFBaUI7Z0JBQzFCLEtBQUssRUFBRSxJQUFJO2dCQUNYLFdBQVcsRUFBRSx3QkFBd0I7YUFDeEM7WUFDRDtnQkFDSSxPQUFPLEVBQUUsYUFBYTtnQkFDdEIsS0FBSyxFQUFFLElBQUk7Z0JBQ1gsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyx3QkFBd0IsQ0FBQzthQUMxRDtTQUNKLGlEQzdCTCxxdkZBd0VBLDRDRHhDUSxPQUFPLG9GQUNQLElBQUksd0ZBQ0osU0FBUyx5Q0FDVCx3QkFBd0IscURBQ3hCLHNCQUFzQixtREFDdEIsb0JBQW9CLGlEQUNwQixzQkFBc0Isd0RBQ3RCLG1CQUFtQixtREFDbkIsdUJBQXVCOztTQUdsQix3QkFBd0I7NEZBQXhCLHdCQUF3QjtrQkE3QnBDLFNBQVM7K0JBQ0ksa0JBQWtCLGFBR2pCO3dCQUNQOzRCQUNJLE9BQU8sRUFBRSxpQkFBaUI7NEJBQzFCLEtBQUssRUFBRSxJQUFJOzRCQUNYLFdBQVcsMEJBQTBCO3lCQUN4Qzt3QkFDRDs0QkFDSSxPQUFPLEVBQUUsYUFBYTs0QkFDdEIsS0FBSyxFQUFFLElBQUk7NEJBQ1gsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUseUJBQXlCLENBQUM7eUJBQzFEO3FCQUNKLGNBQ1csSUFBSSxXQUNQO3dCQUNMLE9BQU87d0JBQ1AsSUFBSTt3QkFDSixTQUFTO3dCQUNULHdCQUF3Qjt3QkFDeEIsc0JBQXNCO3dCQUN0QixvQkFBb0I7d0JBQ3BCLHNCQUFzQjt3QkFDdEIsbUJBQW1CO3dCQUNuQix1QkFBdUI7cUJBQzFCOzswQkFVWSxJQUFJOzswQkFBSSxRQUFRIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU2FjRm9ybUxheW91dERpcmVjdGl2ZSB9IGZyb20gJy4uL2xheW91dC9mb3JtbGF5b3V0LmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBTYWNUb0NvbnRyb2xIZWlnaHRQaXBlIH0gZnJvbSAnLi4vbGF5b3V0L3RvY29udHJvbGhlaWdodC5waXBlJztcbmltcG9ydCB7IFNhY1RvQ29udHJvbFdpZHRoQ3NzUGlwZSB9IGZyb20gJy4uL2xheW91dC90b2NvbnRyb2x3aWR0aGNzcy5waXBlJztcbmltcG9ydCB7IFNhY1RvTGFiZWxIZWlnaHRQaXBlIH0gZnJvbSAnLi4vbGF5b3V0L3RvbGFiZWxoZWlnaHQucGlwZSc7XG5pbXBvcnQgeyBTYWNUb0xhYmVsV2lkdGhDc3NQaXBlIH0gZnJvbSAnLi4vbGF5b3V0L3RvbGFiZWx3aWR0aGNzcy5waXBlJztcbmltcG9ydCB7IFNhY1Rvb2x0aXBDb21wb25lbnQgfSBmcm9tICcuLi90b29sdGlwL3Rvb2x0aXAnO1xuaW1wb3J0IHsgQXN5bmNQaXBlLCBOZ0NsYXNzLCBOZ0lmIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENvbXBvbmVudCwgSG9zdCwgSW5qZWN0b3IsIE9wdGlvbmFsLCBmb3J3YXJkUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOR19WQUxJREFUT1JTLCBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFNhY0lucHV0SW50ZWdlckNvbW1vbiwgU2FjVGVzdGluZ0F0dHJpYnV0ZVBpcGUgfSBmcm9tICdAc2ltcGxlYW5ndWxhcmNvbnRyb2xzL3NhYy1jb21tb24nO1xuXG4vKipcbiAqIElucHV0IEtvbXBvbnRlbiBmw7xyIEdhbnp6YWhsZW5cbiAqL1xuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdzYWMtaW5wdXRpbnRlZ2VyJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vaW5wdXRpbnRlZ2VyLmh0bWwnLFxuICAgIC8vIFZhbHVlIEFjY2VzcyBQcm92aWRlciByZWdpc3RyaWVyZW4sIGRhbWl0IFdlcnQgdmlhIE1vZGVsIGdlc2NocmllYmVuIHVuZCBnZWxlc2VuIHdlcmRlbiBrYW5uXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgICAgICAgICAgbXVsdGk6IHRydWUsXG4gICAgICAgICAgICB1c2VFeGlzdGluZzogU2FjSW5wdXRJbnRlZ2VyQ29tcG9uZW50LFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgICBwcm92aWRlOiBOR19WQUxJREFUT1JTLFxuICAgICAgICAgICAgbXVsdGk6IHRydWUsXG4gICAgICAgICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBTYWNJbnB1dEludGVnZXJDb21wb25lbnQpLFxuICAgICAgICB9LFxuICAgIF0sXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbXG4gICAgICAgIE5nQ2xhc3MsXG4gICAgICAgIE5nSWYsXG4gICAgICAgIEFzeW5jUGlwZSxcbiAgICAgICAgU2FjVG9Db250cm9sV2lkdGhDc3NQaXBlLFxuICAgICAgICBTYWNUb0xhYmVsV2lkdGhDc3NQaXBlLFxuICAgICAgICBTYWNUb0xhYmVsSGVpZ2h0UGlwZSxcbiAgICAgICAgU2FjVG9Db250cm9sSGVpZ2h0UGlwZSxcbiAgICAgICAgU2FjVG9vbHRpcENvbXBvbmVudCxcbiAgICAgICAgU2FjVGVzdGluZ0F0dHJpYnV0ZVBpcGUsXG4gICAgXSxcbn0pXG5leHBvcnQgY2xhc3MgU2FjSW5wdXRJbnRlZ2VyQ29tcG9uZW50IGV4dGVuZHMgU2FjSW5wdXRJbnRlZ2VyQ29tbW9uIHtcbiAgICAvLyAjcmVnaW9uIENvbnN0cnVjdG9yc1xuXG4gICAgLyoqXG4gICAgICogQ29uc3RydWN0b3JcbiAgICAgKiBAcGFyYW0gZm9ybUxheW91dCBTYWNGb3JtTGF5b3V0IHRvIGRlZmluZSBzY29wZWQgbGF5b3V0IHNldHRpbmdzXG4gICAgICogQHBhcmFtIGluamVjdG9yIEluamVjdG9yIGZvciBpbmplY3Rpbmcgc2VydmljZXNcbiAgICAgKi9cbiAgICBjb25zdHJ1Y3RvcihASG9zdCgpIEBPcHRpb25hbCgpIGZvcm1MYXlvdXQ6IFNhY0Zvcm1MYXlvdXREaXJlY3RpdmUsIGluamVjdG9yOiBJbmplY3Rvcikge1xuICAgICAgICBzdXBlcihmb3JtTGF5b3V0LCBpbmplY3Rvcik7XG4gICAgfVxuXG4gICAgLy8gI2VuZHJlZ2lvbiBDb25zdHJ1Y3RvcnNcbn1cbiIsIjxkaXZcbiAgICBjbGFzcz1cInJvdyBtYi0zXCJcbiAgICBbY2xhc3MuZy0wXT1cImRpc2FibGVsYWJlbFwiXG4gICAgW2F0dHIuZGF0YS1lMmUta2V5XT1cIm5hbWUgfCB0ZXN0aW5nYXR0cmlidXRlIDogZTJlaWRlbnRpZmllclwiPlxuICAgIDxsYWJlbFxuICAgICAgICBmb3I9XCJ7eyBuYW1lIH19XCJcbiAgICAgICAgY2xhc3M9XCJjb2wtMTIgY29sLWZvcm0tbGFiZWwgZC1mbGV4XCJcbiAgICAgICAgW25nQ2xhc3NdPVwiW2Rpc2FibGVsYWJlbCA9PT0gZmFsc2UgPyAodGhpcy5sYWJlbFNpemVzIHwgdG9MYWJlbFdpZHRoQ3NzKSA6ICd2aXN1YWxseS1oaWRkZW4nLCBjb21wb25lbnRIZWlnaHQgfCB0b0xhYmVsSGVpZ2h0XVwiXG4gICAgICAgIFtjbGFzcy5yZXF1aXJlZF09XCJpc3JlcXVpcmVkXCI+XG4gICAgICAgIDxkaXZcbiAgICAgICAgICAgIGNsYXNzPVwidGV4dCBmbGV4LWdyb3ctMFwiXG4gICAgICAgICAgICBbY2xhc3MuZmxleC1zbS1ncm93LTFdPVwic3BsaXRsYWJlbGFuZGhlbHB0ZXh0XCI+XG4gICAgICAgICAgICB7eyBsYWJlbCB9fVxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPHNhYy10b29sdGlwXG4gICAgICAgICAgICAqbmdJZj1cImhlbHB0ZXh0bW9kZSA9PT0gJ3Rvb2x0aXAnICYmIGhlbHB0ZXh0XCJcbiAgICAgICAgICAgIFt0b29sdGlwdGV4dF09XCJoZWxwdGV4dFwiXG4gICAgICAgICAgICBbaW5saW5lbW9kZV09XCJ0cnVlXCI+XG4gICAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cIkhlbHB0ZXh0VG9vbHRpcEljb25cIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwibXMtMVwiPlxuICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICA8L3NhYy10b29sdGlwPlxuICAgIDwvbGFiZWw+XG4gICAgPGRpdlxuICAgICAgICBjbGFzcz1cImNvbC0xMlwiXG4gICAgICAgIFtuZ0NsYXNzXT1cIltkaXNhYmxlbGFiZWwgPT09IGZhbHNlID8gKHRoaXMubGFiZWxTaXplcyB8IHRvQ29udHJvbFdpZHRoQ3NzKSA6ICcnXVwiXG4gICAgICAgIFtjbGFzcy5kLWZsZXhdPVwiaGVscHRleHRtb2RlID09PSAndG9vbHRpcCcgJiYgaGVscHRleHQgJiYgZGlzYWJsZWxhYmVsXCI+XG4gICAgICAgIDxkaXYgW2NsYXNzLmZsZXgtZ3Jvdy0xXT1cImhlbHB0ZXh0bW9kZSA9PT0gJ3Rvb2x0aXAnICYmIGhlbHB0ZXh0ICYmIGRpc2FibGVsYWJlbFwiPlxuICAgICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICAgICAgaWQ9XCJ7eyBuYW1lIH19XCJcbiAgICAgICAgICAgICAgICBuYW1lPVwie3sgbmFtZSB9fVwiXG4gICAgICAgICAgICAgICAgdHlwZT1cInRleHRcIlxuICAgICAgICAgICAgICAgIGlucHV0bW9kZT1cImRlY2ltYWxcIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sXCJcbiAgICAgICAgICAgICAgICBbdmFsdWVdPVwidmFsdWVcIlxuICAgICAgICAgICAgICAgIChibHVyKT1cIm9uVG91Y2goKVwiXG4gICAgICAgICAgICAgICAgKGlucHV0KT1cInNldFZhbHVlKCRldmVudC50YXJnZXQudmFsdWUpXCJcbiAgICAgICAgICAgICAgICBbYXR0ci5wbGFjZWhvbGRlcl09XCJwbGFjZWhvbGRlclwiXG4gICAgICAgICAgICAgICAgKGtleXByZXNzKT1cIm9uS2V5UHJlc3MoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cImlzZGlzYWJsZWRcIlxuICAgICAgICAgICAgICAgIFtyZWFkb25seV09XCJyZWFkb25seVwiXG4gICAgICAgICAgICAgICAgW2NsYXNzLmlzLWludmFsaWRdPVwiaW52YWxpZCAmJiAoZGlydHkgfHwgdG91Y2hlZClcIlxuICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cIltjb21wb25lbnRIZWlnaHQgfCB0b0NvbnRyb2xIZWlnaHRdXCIgLz5cblxuICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICpuZ0lmPVwiaXNpbmxpbmVlcnJvcmVuYWJsZWQgJiYgaW52YWxpZCAmJiAoZGlydHkgfHwgdG91Y2hlZClcIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwiaW52YWxpZC1mZWVkYmFja1wiPlxuICAgICAgICAgICAgICAgIHt7IEdldEVycm9yTWVzc2FnZSgpIHwgYXN5bmMgfX1cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICpuZ0lmPVwiaGVscHRleHRtb2RlID09PSAndGV4dCcgJiYgaGVscHRleHRcIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwiZm9ybS10ZXh0XCI+XG4gICAgICAgICAgICAgICAge3sgaGVscHRleHQgfX1cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cblxuICAgICAgICA8ZGl2XG4gICAgICAgICAgICAqbmdJZj1cImhlbHB0ZXh0bW9kZSA9PT0gJ3Rvb2x0aXAnICYmIGhlbHB0ZXh0ICYmIGRpc2FibGVsYWJlbFwiXG4gICAgICAgICAgICBjbGFzcz1cImZvcm0tY29udHJvbC1wbGFpbnRleHQgYWxpZ24tc2VsZi10b3AgbXMtMiBtZS0xIHctYXV0b1wiXG4gICAgICAgICAgICBbbmdDbGFzc109XCJbY29tcG9uZW50SGVpZ2h0IHwgdG9Db250cm9sSGVpZ2h0XVwiPlxuICAgICAgICAgICAgPHNhYy10b29sdGlwXG4gICAgICAgICAgICAgICAgW3Rvb2x0aXB0ZXh0XT1cImhlbHB0ZXh0XCJcbiAgICAgICAgICAgICAgICBbaW5saW5lbW9kZV09XCJ0cnVlXCI+XG4gICAgICAgICAgICAgICAgPHNwYW5cbiAgICAgICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwiSGVscHRleHRUb29sdGlwSWNvblwiXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwibWwtMVwiPlxuICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgIDwvc2FjLXRvb2x0aXA+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuPC9kaXY+XG4iXX0=
|
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
import { AsyncPipe, NgClass, NgIf } from '@angular/common';
|
|
2
|
-
import { Component, Host, Optional, forwardRef } from '@angular/core';
|
|
3
|
-
import { NG_VALIDATORS, NG_VALUE_ACCESSOR } from '@angular/forms';
|
|
4
|
-
import { SacInputPasswordCommon } from '@simpleangularcontrols/sac-common';
|
|
5
1
|
import { SacToControlHeightPipe } from '../layout/tocontrolheight.pipe';
|
|
6
2
|
import { SacToControlWidthCssPipe } from '../layout/tocontrolwidthcss.pipe';
|
|
7
3
|
import { SacToLabelHeightPipe } from '../layout/tolabelheight.pipe';
|
|
8
4
|
import { SacToLabelWidthCssPipe } from '../layout/tolabelwidthcss.pipe';
|
|
9
5
|
import { SacTooltipComponent } from '../tooltip/tooltip';
|
|
6
|
+
import { AsyncPipe, NgClass, NgIf } from '@angular/common';
|
|
7
|
+
import { Component, Host, Optional, forwardRef } from '@angular/core';
|
|
8
|
+
import { NG_VALIDATORS, NG_VALUE_ACCESSOR } from '@angular/forms';
|
|
9
|
+
import { SacInputPasswordCommon, SacTestingAttributePipe } from '@simpleangularcontrols/sac-common';
|
|
10
10
|
import * as i0 from "@angular/core";
|
|
11
11
|
import * as i1 from "../layout/formlayout.directive";
|
|
12
12
|
/**
|
|
@@ -34,7 +34,7 @@ class SacInputPasswordComponent extends SacInputPasswordCommon {
|
|
|
34
34
|
multi: true,
|
|
35
35
|
useExisting: forwardRef(() => SacInputPasswordComponent),
|
|
36
36
|
},
|
|
37
|
-
], usesInheritance: true, ngImport: i0, template: "<div\n class=\"row mb-3\"\n [class.g-0]=\"disablelabel\">\n <label\n for=\"{{ name }}\"\n class=\"col-12 col-form-label d-flex\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'visually-hidden', componentHeight | toLabelHeight]\"\n [class.required]=\"isrequired\">\n <div\n class=\"text flex-grow-0\"\n [class.flex-sm-grow-1]=\"splitlabelandhelptext\">\n {{ label }}\n </div>\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [ngClass]=\"HelptextTooltipIcon\"\n class=\"ms-1\">\n </span>\n </sac-tooltip>\n </label>\n <div\n class=\"col-12\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\n [class.d-flex]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\n <div [class.flex-grow-1]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\n <div\n [class.input-group]=\"passwordeye\"\n [class.has-validation]=\"passwordeye && isinlineerrorenabled && invalid && (dirty || touched)\">\n <input\n id=\"{{ name }}\"\n name=\"{{ name }}\"\n [type]=\"passwordeyevisible ? 'text' : 'password'\"\n class=\"form-control\"\n [attr.placeholder]=\"placeholder\"\n [value]=\"value\"\n (blur)=\"onTouch()\"\n (input)=\"setValue($event.target.value)\"\n [attr.maxlength]=\"maxtextlength\"\n autocomplete=\"new-password\"\n [class.is-invalid]=\"invalid && (dirty || touched)\"\n [ngClass]=\"[componentHeight | toControlHeight]\"\n [disabled]=\"isdisabled\"\n [readonly]=\"readonly\" />\n <a\n *ngIf=\"passwordeye\"\n class=\"btn btn-outline-secondary\"\n (click)=\"onTogglePasswordEye()\"\n ><span [ngClass]=\"passwordeyevisible ? PasswordEyeVisibleIcon : PasswordEyeHiddenIcon\"></span>\n </a>\n <div\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\"\n class=\"invalid-feedback\">\n {{ GetErrorMessage() | async }}\n </div>\n </div>\n <div\n *ngIf=\"helptextmode === 'text' && helptext\"\n class=\"form-text\">\n {{ helptext }}\n </div>\n </div>\n\n <div\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\n class=\"form-control-plaintext align-self-top ms-2 me-1 w-auto\"\n [ngClass]=\"[componentHeight | toControlHeight]\">\n <sac-tooltip\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [ngClass]=\"HelptextTooltipIcon\"\n class=\"ml-1\">\n </span>\n </sac-tooltip>\n </div>\n </div>\n</div>\n", dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "pipe", type: SacToControlWidthCssPipe, name: "toControlWidthCss" }, { kind: "pipe", type: SacToLabelWidthCssPipe, name: "toLabelWidthCss" }, { kind: "pipe", type: SacToLabelHeightPipe, name: "toLabelHeight" }, { kind: "pipe", type: SacToControlHeightPipe, name: "toControlHeight" }, { kind: "component", type: SacTooltipComponent, selector: "sac-tooltip" }] }); }
|
|
37
|
+
], usesInheritance: true, ngImport: i0, template: "<div\n class=\"row mb-3\"\n [class.g-0]=\"disablelabel\"\n [attr.data-e2e-key]=\"name | testingattribute : e2eidentifier\">\n <label\n for=\"{{ name }}\"\n class=\"col-12 col-form-label d-flex\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'visually-hidden', componentHeight | toLabelHeight]\"\n [class.required]=\"isrequired\">\n <div\n class=\"text flex-grow-0\"\n [class.flex-sm-grow-1]=\"splitlabelandhelptext\">\n {{ label }}\n </div>\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [ngClass]=\"HelptextTooltipIcon\"\n class=\"ms-1\">\n </span>\n </sac-tooltip>\n </label>\n <div\n class=\"col-12\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\n [class.d-flex]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\n <div [class.flex-grow-1]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\n <div\n [class.input-group]=\"passwordeye\"\n [class.has-validation]=\"passwordeye && isinlineerrorenabled && invalid && (dirty || touched)\">\n <input\n id=\"{{ name }}\"\n name=\"{{ name }}\"\n [type]=\"passwordeyevisible ? 'text' : 'password'\"\n class=\"form-control\"\n [attr.placeholder]=\"placeholder\"\n [value]=\"value\"\n (blur)=\"onTouch()\"\n (input)=\"setValue($event.target.value)\"\n (keypress)=\"onKeyPress($event)\"\n [attr.maxlength]=\"maxtextlength\"\n autocomplete=\"new-password\"\n [class.is-invalid]=\"invalid && (dirty || touched)\"\n [ngClass]=\"[componentHeight | toControlHeight]\"\n [disabled]=\"isdisabled\"\n [readonly]=\"readonly\" />\n <a\n *ngIf=\"passwordeye\"\n class=\"btn btn-outline-secondary\"\n (click)=\"onTogglePasswordEye()\"\n ><span [ngClass]=\"passwordeyevisible ? PasswordEyeVisibleIcon : PasswordEyeHiddenIcon\"></span>\n </a>\n <div\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\"\n class=\"invalid-feedback\">\n {{ GetErrorMessage() | async }}\n </div>\n </div>\n <div\n *ngIf=\"helptextmode === 'text' && helptext\"\n class=\"form-text\">\n {{ helptext }}\n </div>\n </div>\n\n <div\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\n class=\"form-control-plaintext align-self-top ms-2 me-1 w-auto\"\n [ngClass]=\"[componentHeight | toControlHeight]\">\n <sac-tooltip\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [ngClass]=\"HelptextTooltipIcon\"\n class=\"ml-1\">\n </span>\n </sac-tooltip>\n </div>\n </div>\n</div>\n", dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "pipe", type: SacToControlWidthCssPipe, name: "toControlWidthCss" }, { kind: "pipe", type: SacToLabelWidthCssPipe, name: "toLabelWidthCss" }, { kind: "pipe", type: SacToLabelHeightPipe, name: "toLabelHeight" }, { kind: "pipe", type: SacToControlHeightPipe, name: "toControlHeight" }, { kind: "component", type: SacTooltipComponent, selector: "sac-tooltip" }, { kind: "pipe", type: SacTestingAttributePipe, name: "testingattribute" }] }); }
|
|
38
38
|
}
|
|
39
39
|
export { SacInputPasswordComponent };
|
|
40
40
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SacInputPasswordComponent, decorators: [{
|
|
@@ -58,11 +58,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
58
58
|
SacToLabelWidthCssPipe,
|
|
59
59
|
SacToLabelHeightPipe,
|
|
60
60
|
SacToControlHeightPipe,
|
|
61
|
-
SacTooltipComponent,
|
|
62
|
-
], template: "<div\n class=\"row mb-3\"\n [class.g-0]=\"disablelabel\">\n <label\n for=\"{{ name }}\"\n class=\"col-12 col-form-label d-flex\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'visually-hidden', componentHeight | toLabelHeight]\"\n [class.required]=\"isrequired\">\n <div\n class=\"text flex-grow-0\"\n [class.flex-sm-grow-1]=\"splitlabelandhelptext\">\n {{ label }}\n </div>\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [ngClass]=\"HelptextTooltipIcon\"\n class=\"ms-1\">\n </span>\n </sac-tooltip>\n </label>\n <div\n class=\"col-12\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\n [class.d-flex]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\n <div [class.flex-grow-1]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\n <div\n [class.input-group]=\"passwordeye\"\n [class.has-validation]=\"passwordeye && isinlineerrorenabled && invalid && (dirty || touched)\">\n <input\n id=\"{{ name }}\"\n name=\"{{ name }}\"\n [type]=\"passwordeyevisible ? 'text' : 'password'\"\n class=\"form-control\"\n [attr.placeholder]=\"placeholder\"\n [value]=\"value\"\n (blur)=\"onTouch()\"\n (input)=\"setValue($event.target.value)\"\n [attr.maxlength]=\"maxtextlength\"\n autocomplete=\"new-password\"\n [class.is-invalid]=\"invalid && (dirty || touched)\"\n [ngClass]=\"[componentHeight | toControlHeight]\"\n [disabled]=\"isdisabled\"\n [readonly]=\"readonly\" />\n <a\n *ngIf=\"passwordeye\"\n class=\"btn btn-outline-secondary\"\n (click)=\"onTogglePasswordEye()\"\n ><span [ngClass]=\"passwordeyevisible ? PasswordEyeVisibleIcon : PasswordEyeHiddenIcon\"></span>\n </a>\n <div\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\"\n class=\"invalid-feedback\">\n {{ GetErrorMessage() | async }}\n </div>\n </div>\n <div\n *ngIf=\"helptextmode === 'text' && helptext\"\n class=\"form-text\">\n {{ helptext }}\n </div>\n </div>\n\n <div\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\n class=\"form-control-plaintext align-self-top ms-2 me-1 w-auto\"\n [ngClass]=\"[componentHeight | toControlHeight]\">\n <sac-tooltip\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [ngClass]=\"HelptextTooltipIcon\"\n class=\"ml-1\">\n </span>\n </sac-tooltip>\n </div>\n </div>\n</div>\n" }]
|
|
61
|
+
SacTooltipComponent, SacTestingAttributePipe
|
|
62
|
+
], template: "<div\n class=\"row mb-3\"\n [class.g-0]=\"disablelabel\"\n [attr.data-e2e-key]=\"name | testingattribute : e2eidentifier\">\n <label\n for=\"{{ name }}\"\n class=\"col-12 col-form-label d-flex\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'visually-hidden', componentHeight | toLabelHeight]\"\n [class.required]=\"isrequired\">\n <div\n class=\"text flex-grow-0\"\n [class.flex-sm-grow-1]=\"splitlabelandhelptext\">\n {{ label }}\n </div>\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [ngClass]=\"HelptextTooltipIcon\"\n class=\"ms-1\">\n </span>\n </sac-tooltip>\n </label>\n <div\n class=\"col-12\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\n [class.d-flex]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\n <div [class.flex-grow-1]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\n <div\n [class.input-group]=\"passwordeye\"\n [class.has-validation]=\"passwordeye && isinlineerrorenabled && invalid && (dirty || touched)\">\n <input\n id=\"{{ name }}\"\n name=\"{{ name }}\"\n [type]=\"passwordeyevisible ? 'text' : 'password'\"\n class=\"form-control\"\n [attr.placeholder]=\"placeholder\"\n [value]=\"value\"\n (blur)=\"onTouch()\"\n (input)=\"setValue($event.target.value)\"\n (keypress)=\"onKeyPress($event)\"\n [attr.maxlength]=\"maxtextlength\"\n autocomplete=\"new-password\"\n [class.is-invalid]=\"invalid && (dirty || touched)\"\n [ngClass]=\"[componentHeight | toControlHeight]\"\n [disabled]=\"isdisabled\"\n [readonly]=\"readonly\" />\n <a\n *ngIf=\"passwordeye\"\n class=\"btn btn-outline-secondary\"\n (click)=\"onTogglePasswordEye()\"\n ><span [ngClass]=\"passwordeyevisible ? PasswordEyeVisibleIcon : PasswordEyeHiddenIcon\"></span>\n </a>\n <div\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\"\n class=\"invalid-feedback\">\n {{ GetErrorMessage() | async }}\n </div>\n </div>\n <div\n *ngIf=\"helptextmode === 'text' && helptext\"\n class=\"form-text\">\n {{ helptext }}\n </div>\n </div>\n\n <div\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\n class=\"form-control-plaintext align-self-top ms-2 me-1 w-auto\"\n [ngClass]=\"[componentHeight | toControlHeight]\">\n <sac-tooltip\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [ngClass]=\"HelptextTooltipIcon\"\n class=\"ml-1\">\n </span>\n </sac-tooltip>\n </div>\n </div>\n</div>\n" }]
|
|
63
63
|
}], ctorParameters: function () { return [{ type: i1.SacFormLayoutDirective, decorators: [{
|
|
64
64
|
type: Host
|
|
65
65
|
}, {
|
|
66
66
|
type: Optional
|
|
67
67
|
}] }, { type: i0.Injector }]; } });
|
|
68
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
68
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXRwYXNzd29yZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NhYy1ib290c3RyYXA1L3NyYy9jb250cm9scy9pbnB1dC9pbnB1dHBhc3N3b3JkLnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2FjLWJvb3RzdHJhcDUvc3JjL2NvbnRyb2xzL2lucHV0L2lucHV0cGFzc3dvcmQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN4RSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUM1RSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNwRSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN4RSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUN6RCxPQUFPLEVBQUUsU0FBUyxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBWSxRQUFRLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2hGLE9BQU8sRUFBRSxhQUFhLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQzs7O0FBRXBHOztHQUVHO0FBQ0gsTUE0QmEseUJBQTBCLFNBQVEsc0JBQXNCO0lBQ25FLHVCQUF1QjtJQUV2Qjs7OztPQUlHO0lBQ0gsWUFDc0IsVUFBa0MsRUFDdEQsUUFBa0I7UUFFbEIsS0FBSyxDQUFDLFVBQVUsRUFBRSxRQUFRLENBQUMsQ0FBQztJQUM5QixDQUFDOytHQWJVLHlCQUF5QjttR0FBekIseUJBQXlCLGdFQXhCekI7WUFDVDtnQkFDRSxPQUFPLEVBQUUsaUJBQWlCO2dCQUMxQixLQUFLLEVBQUUsSUFBSTtnQkFDWCxXQUFXLEVBQUUseUJBQXlCO2FBQ3ZDO1lBQ0Q7Z0JBQ0UsT0FBTyxFQUFFLGFBQWE7Z0JBQ3RCLEtBQUssRUFBRSxJQUFJO2dCQUNYLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMseUJBQXlCLENBQUM7YUFDekQ7U0FDRixpREM3QkgsaTdHQWtGQSw0Q0RsREksT0FBTyxvRkFDUCxJQUFJLHdGQUNKLFNBQVMseUNBQ1Qsd0JBQXdCLHFEQUN4QixzQkFBc0IsbURBQ3RCLG9CQUFvQixpREFDcEIsc0JBQXNCLHdEQUN0QixtQkFBbUIsbURBQUMsdUJBQXVCOztTQUdsQyx5QkFBeUI7NEZBQXpCLHlCQUF5QjtrQkE1QnJDLFNBQVM7K0JBQ0UsbUJBQW1CLGFBR2xCO3dCQUNUOzRCQUNFLE9BQU8sRUFBRSxpQkFBaUI7NEJBQzFCLEtBQUssRUFBRSxJQUFJOzRCQUNYLFdBQVcsMkJBQTJCO3lCQUN2Qzt3QkFDRDs0QkFDRSxPQUFPLEVBQUUsYUFBYTs0QkFDdEIsS0FBSyxFQUFFLElBQUk7NEJBQ1gsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsMEJBQTBCLENBQUM7eUJBQ3pEO3FCQUNGLGNBQ1csSUFBSSxXQUNQO3dCQUNQLE9BQU87d0JBQ1AsSUFBSTt3QkFDSixTQUFTO3dCQUNULHdCQUF3Qjt3QkFDeEIsc0JBQXNCO3dCQUN0QixvQkFBb0I7d0JBQ3BCLHNCQUFzQjt3QkFDdEIsbUJBQW1CLEVBQUMsdUJBQXVCO3FCQUM1Qzs7MEJBV0UsSUFBSTs7MEJBQUksUUFBUSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFNhY0Zvcm1MYXlvdXREaXJlY3RpdmUgfSBmcm9tICcuLi9sYXlvdXQvZm9ybWxheW91dC5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgU2FjVG9Db250cm9sSGVpZ2h0UGlwZSB9IGZyb20gJy4uL2xheW91dC90b2NvbnRyb2xoZWlnaHQucGlwZSc7XG5pbXBvcnQgeyBTYWNUb0NvbnRyb2xXaWR0aENzc1BpcGUgfSBmcm9tICcuLi9sYXlvdXQvdG9jb250cm9sd2lkdGhjc3MucGlwZSc7XG5pbXBvcnQgeyBTYWNUb0xhYmVsSGVpZ2h0UGlwZSB9IGZyb20gJy4uL2xheW91dC90b2xhYmVsaGVpZ2h0LnBpcGUnO1xuaW1wb3J0IHsgU2FjVG9MYWJlbFdpZHRoQ3NzUGlwZSB9IGZyb20gJy4uL2xheW91dC90b2xhYmVsd2lkdGhjc3MucGlwZSc7XG5pbXBvcnQgeyBTYWNUb29sdGlwQ29tcG9uZW50IH0gZnJvbSAnLi4vdG9vbHRpcC90b29sdGlwJztcbmltcG9ydCB7IEFzeW5jUGlwZSwgTmdDbGFzcywgTmdJZiB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDb21wb25lbnQsIEhvc3QsIEluamVjdG9yLCBPcHRpb25hbCwgZm9yd2FyZFJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTkdfVkFMSURBVE9SUywgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBTYWNJbnB1dFBhc3N3b3JkQ29tbW9uLCBTYWNUZXN0aW5nQXR0cmlidXRlUGlwZSB9IGZyb20gJ0BzaW1wbGVhbmd1bGFyY29udHJvbHMvc2FjLWNvbW1vbic7XG5cbi8qKlxuICogSW5wdXQgQm94IGbDvHIgUGFzc3fDtnJ0ZXJcbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc2FjLWlucHV0cGFzc3dvcmQnLFxuICB0ZW1wbGF0ZVVybDogJy4vaW5wdXRwYXNzd29yZC5odG1sJyxcbiAgLy8gVmFsdWUgQWNjZXNzIFByb3ZpZGVyIHJlZ2lzdHJpZXJlbiwgZGFtaXQgV2VydCB2aWEgTW9kZWwgZ2VzY2hyaWViZW4gdW5kIGdlbGVzZW4gd2VyZGVuIGthbm5cbiAgcHJvdmlkZXJzOiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgICBtdWx0aTogdHJ1ZSxcbiAgICAgIHVzZUV4aXN0aW5nOiBTYWNJbnB1dFBhc3N3b3JkQ29tcG9uZW50LFxuICAgIH0sXG4gICAge1xuICAgICAgcHJvdmlkZTogTkdfVkFMSURBVE9SUyxcbiAgICAgIG11bHRpOiB0cnVlLFxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gU2FjSW5wdXRQYXNzd29yZENvbXBvbmVudCksXG4gICAgfSxcbiAgXSxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1xuICAgIE5nQ2xhc3MsXG4gICAgTmdJZixcbiAgICBBc3luY1BpcGUsXG4gICAgU2FjVG9Db250cm9sV2lkdGhDc3NQaXBlLFxuICAgIFNhY1RvTGFiZWxXaWR0aENzc1BpcGUsXG4gICAgU2FjVG9MYWJlbEhlaWdodFBpcGUsXG4gICAgU2FjVG9Db250cm9sSGVpZ2h0UGlwZSxcbiAgICBTYWNUb29sdGlwQ29tcG9uZW50LFNhY1Rlc3RpbmdBdHRyaWJ1dGVQaXBlXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIFNhY0lucHV0UGFzc3dvcmRDb21wb25lbnQgZXh0ZW5kcyBTYWNJbnB1dFBhc3N3b3JkQ29tbW9uIHtcbiAgLy8gI3JlZ2lvbiBDb25zdHJ1Y3RvcnNcblxuICAvKipcbiAgICogQ29uc3RydWN0b3JcbiAgICogQHBhcmFtIGZvcm1MYXlvdXQgU2FjRm9ybUxheW91dCB0byBkZWZpbmUgc2NvcGVkIGxheW91dCBzZXR0aW5nc1xuICAgKiBAcGFyYW0gaW5qZWN0b3IgSW5qZWN0b3IgZm9yIGluamVjdGluZyBzZXJ2aWNlc1xuICAgKi9cbiAgY29uc3RydWN0b3IoXG4gICAgQEhvc3QoKSBAT3B0aW9uYWwoKSBmb3JtTGF5b3V0OiBTYWNGb3JtTGF5b3V0RGlyZWN0aXZlLFxuICAgIGluamVjdG9yOiBJbmplY3RvclxuICApIHtcbiAgICBzdXBlcihmb3JtTGF5b3V0LCBpbmplY3Rvcik7XG4gIH1cblxuICAvLyAjZW5kcmVnaW9uIENvbnN0cnVjdG9yc1xufVxuIiwiPGRpdlxuICAgIGNsYXNzPVwicm93IG1iLTNcIlxuICAgIFtjbGFzcy5nLTBdPVwiZGlzYWJsZWxhYmVsXCJcbiAgICBbYXR0ci5kYXRhLWUyZS1rZXldPVwibmFtZSB8IHRlc3RpbmdhdHRyaWJ1dGUgOiBlMmVpZGVudGlmaWVyXCI+XG4gICAgPGxhYmVsXG4gICAgICAgIGZvcj1cInt7IG5hbWUgfX1cIlxuICAgICAgICBjbGFzcz1cImNvbC0xMiBjb2wtZm9ybS1sYWJlbCBkLWZsZXhcIlxuICAgICAgICBbbmdDbGFzc109XCJbZGlzYWJsZWxhYmVsID09PSBmYWxzZSA/ICh0aGlzLmxhYmVsU2l6ZXMgfCB0b0xhYmVsV2lkdGhDc3MpIDogJ3Zpc3VhbGx5LWhpZGRlbicsIGNvbXBvbmVudEhlaWdodCB8IHRvTGFiZWxIZWlnaHRdXCJcbiAgICAgICAgW2NsYXNzLnJlcXVpcmVkXT1cImlzcmVxdWlyZWRcIj5cbiAgICAgICAgPGRpdlxuICAgICAgICAgICAgY2xhc3M9XCJ0ZXh0IGZsZXgtZ3Jvdy0wXCJcbiAgICAgICAgICAgIFtjbGFzcy5mbGV4LXNtLWdyb3ctMV09XCJzcGxpdGxhYmVsYW5kaGVscHRleHRcIj5cbiAgICAgICAgICAgIHt7IGxhYmVsIH19XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8c2FjLXRvb2x0aXBcbiAgICAgICAgICAgICpuZ0lmPVwiaGVscHRleHRtb2RlID09PSAndG9vbHRpcCcgJiYgaGVscHRleHRcIlxuICAgICAgICAgICAgW3Rvb2x0aXB0ZXh0XT1cImhlbHB0ZXh0XCJcbiAgICAgICAgICAgIFtpbmxpbmVtb2RlXT1cInRydWVcIj5cbiAgICAgICAgICAgIDxzcGFuXG4gICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwiSGVscHRleHRUb29sdGlwSWNvblwiXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJtcy0xXCI+XG4gICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgIDwvc2FjLXRvb2x0aXA+XG4gICAgPC9sYWJlbD5cbiAgICA8ZGl2XG4gICAgICAgIGNsYXNzPVwiY29sLTEyXCJcbiAgICAgICAgW25nQ2xhc3NdPVwiW2Rpc2FibGVsYWJlbCA9PT0gZmFsc2UgPyAodGhpcy5sYWJlbFNpemVzIHwgdG9Db250cm9sV2lkdGhDc3MpIDogJyddXCJcbiAgICAgICAgW2NsYXNzLmQtZmxleF09XCJoZWxwdGV4dG1vZGUgPT09ICd0b29sdGlwJyAmJiBoZWxwdGV4dCAmJiBkaXNhYmxlbGFiZWxcIj5cbiAgICAgICAgPGRpdiBbY2xhc3MuZmxleC1ncm93LTFdPVwiaGVscHRleHRtb2RlID09PSAndG9vbHRpcCcgJiYgaGVscHRleHQgJiYgZGlzYWJsZWxhYmVsXCI+XG4gICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgW2NsYXNzLmlucHV0LWdyb3VwXT1cInBhc3N3b3JkZXllXCJcbiAgICAgICAgICAgICAgICBbY2xhc3MuaGFzLXZhbGlkYXRpb25dPVwicGFzc3dvcmRleWUgJiYgaXNpbmxpbmVlcnJvcmVuYWJsZWQgJiYgaW52YWxpZCAmJiAoZGlydHkgfHwgdG91Y2hlZClcIj5cbiAgICAgICAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgICAgICAgICAgaWQ9XCJ7eyBuYW1lIH19XCJcbiAgICAgICAgICAgICAgICAgICAgbmFtZT1cInt7IG5hbWUgfX1cIlxuICAgICAgICAgICAgICAgICAgICBbdHlwZV09XCJwYXNzd29yZGV5ZXZpc2libGUgPyAndGV4dCcgOiAncGFzc3dvcmQnXCJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIlxuICAgICAgICAgICAgICAgICAgICBbYXR0ci5wbGFjZWhvbGRlcl09XCJwbGFjZWhvbGRlclwiXG4gICAgICAgICAgICAgICAgICAgIFt2YWx1ZV09XCJ2YWx1ZVwiXG4gICAgICAgICAgICAgICAgICAgIChibHVyKT1cIm9uVG91Y2goKVwiXG4gICAgICAgICAgICAgICAgICAgIChpbnB1dCk9XCJzZXRWYWx1ZSgkZXZlbnQudGFyZ2V0LnZhbHVlKVwiXG4gICAgICAgICAgICAgICAgICAgIChrZXlwcmVzcyk9XCJvbktleVByZXNzKCRldmVudClcIlxuICAgICAgICAgICAgICAgICAgICBbYXR0ci5tYXhsZW5ndGhdPVwibWF4dGV4dGxlbmd0aFwiXG4gICAgICAgICAgICAgICAgICAgIGF1dG9jb21wbGV0ZT1cIm5ldy1wYXNzd29yZFwiXG4gICAgICAgICAgICAgICAgICAgIFtjbGFzcy5pcy1pbnZhbGlkXT1cImludmFsaWQgJiYgKGRpcnR5IHx8IHRvdWNoZWQpXCJcbiAgICAgICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwiW2NvbXBvbmVudEhlaWdodCB8IHRvQ29udHJvbEhlaWdodF1cIlxuICAgICAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiaXNkaXNhYmxlZFwiXG4gICAgICAgICAgICAgICAgICAgIFtyZWFkb25seV09XCJyZWFkb25seVwiIC8+XG4gICAgICAgICAgICAgICAgPGFcbiAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJwYXNzd29yZGV5ZVwiXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYnRuIGJ0bi1vdXRsaW5lLXNlY29uZGFyeVwiXG4gICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJvblRvZ2dsZVBhc3N3b3JkRXllKClcIlxuICAgICAgICAgICAgICAgICAgICA+PHNwYW4gW25nQ2xhc3NdPVwicGFzc3dvcmRleWV2aXNpYmxlID8gUGFzc3dvcmRFeWVWaXNpYmxlSWNvbiA6IFBhc3N3b3JkRXllSGlkZGVuSWNvblwiPjwvc3Bhbj5cbiAgICAgICAgICAgICAgICA8L2E+XG4gICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgICAqbmdJZj1cImlzaW5saW5lZXJyb3JlbmFibGVkICYmIGludmFsaWQgJiYgKGRpcnR5IHx8IHRvdWNoZWQpXCJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJpbnZhbGlkLWZlZWRiYWNrXCI+XG4gICAgICAgICAgICAgICAgICAgIHt7IEdldEVycm9yTWVzc2FnZSgpIHwgYXN5bmMgfX1cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICpuZ0lmPVwiaGVscHRleHRtb2RlID09PSAndGV4dCcgJiYgaGVscHRleHRcIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwiZm9ybS10ZXh0XCI+XG4gICAgICAgICAgICAgICAge3sgaGVscHRleHQgfX1cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cblxuICAgICAgICA8ZGl2XG4gICAgICAgICAgICAqbmdJZj1cImhlbHB0ZXh0bW9kZSA9PT0gJ3Rvb2x0aXAnICYmIGhlbHB0ZXh0ICYmIGRpc2FibGVsYWJlbFwiXG4gICAgICAgICAgICBjbGFzcz1cImZvcm0tY29udHJvbC1wbGFpbnRleHQgYWxpZ24tc2VsZi10b3AgbXMtMiBtZS0xIHctYXV0b1wiXG4gICAgICAgICAgICBbbmdDbGFzc109XCJbY29tcG9uZW50SGVpZ2h0IHwgdG9Db250cm9sSGVpZ2h0XVwiPlxuICAgICAgICAgICAgPHNhYy10b29sdGlwXG4gICAgICAgICAgICAgICAgW3Rvb2x0aXB0ZXh0XT1cImhlbHB0ZXh0XCJcbiAgICAgICAgICAgICAgICBbaW5saW5lbW9kZV09XCJ0cnVlXCI+XG4gICAgICAgICAgICAgICAgPHNwYW5cbiAgICAgICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwiSGVscHRleHRUb29sdGlwSWNvblwiXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwibWwtMVwiPlxuICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgIDwvc2FjLXRvb2x0aXA+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuPC9kaXY+XG4iXX0=
|
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
import { NgClass, NgIf } from '@angular/common';
|
|
2
|
-
import { Component, Host, Optional, forwardRef } from '@angular/core';
|
|
3
|
-
import { NG_VALIDATORS, NG_VALUE_ACCESSOR } from '@angular/forms';
|
|
4
|
-
import { SacInputSearchCommon } from '@simpleangularcontrols/sac-common';
|
|
5
1
|
import { SacToControlHeightPipe } from '../layout/tocontrolheight.pipe';
|
|
6
2
|
import { SacToControlWidthCssPipe } from '../layout/tocontrolwidthcss.pipe';
|
|
7
3
|
import { SacToLabelHeightPipe } from '../layout/tolabelheight.pipe';
|
|
8
4
|
import { SacToLabelWidthCssPipe } from '../layout/tolabelwidthcss.pipe';
|
|
9
5
|
import { SacTooltipComponent } from '../tooltip/tooltip';
|
|
6
|
+
import { NgClass, NgIf } from '@angular/common';
|
|
7
|
+
import { Component, Host, Optional, forwardRef } from '@angular/core';
|
|
8
|
+
import { NG_VALIDATORS, NG_VALUE_ACCESSOR } from '@angular/forms';
|
|
9
|
+
import { SacInputSearchCommon, SacTestingAttributePipe } from '@simpleangularcontrols/sac-common';
|
|
10
10
|
import * as i0 from "@angular/core";
|
|
11
11
|
import * as i1 from "../layout/formlayout.directive";
|
|
12
12
|
/**
|
|
@@ -34,7 +34,7 @@ class SacInputSearchComponent extends SacInputSearchCommon {
|
|
|
34
34
|
multi: true,
|
|
35
35
|
useExisting: forwardRef(() => SacInputSearchComponent),
|
|
36
36
|
},
|
|
37
|
-
], usesInheritance: true, ngImport: i0, template: "<div\n class=\"row mb-3\"\n [class.g-0]=\"disablelabel\">\n <label\n id=\"{{ name }}_label\"\n for=\"{{ name }}\"\n class=\"col-12 col-form-label d-flex\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'visually-hidden', componentHeight | toLabelHeight]\"\n [class.required]=\"isrequired\">\n <div\n class=\"text flex-grow-0\"\n [class.flex-sm-grow-1]=\"splitlabelandhelptext\">\n {{ label }}\n </div>\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [ngClass]=\"HelptextTooltipIcon\"\n class=\"ms-1\">\n </span>\n </sac-tooltip>\n </label>\n <div\n class=\"col-12\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\n [class.d-flex]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\n <div [class.flex-grow-1]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\n <div\n class=\"input-group\"\n [class.input-group-sm]=\"componentHeight === ControlHeight.Small\"\n [class.input-group-lg]=\"componentHeight === ControlHeight.Large\">\n <input\n id=\"{{ name }}\"\n name=\"{{ name }}\"\n type=\"text\"\n inputmode=\"search\"\n class=\"form-control\"\n [value]=\"value\"\n [attr.placeholder]=\"placeholder\"\n (blur)=\"onTouch()\"\n (input)=\"setValue($event.target.value)\"\n [attr.maxlength]=\"maxtextlength\"\n [class.is-invalid]=\"invalid && (dirty || touched)\"\n [ngClass]=\"[componentHeight | toControlHeight]\"\n [disabled]=\"isdisabled\"\n [readonly]=\"readonly\" />\n <button\n type=\"button\"\n class=\"btn btn-secondary\"\n id=\"{{ name }}_search\"\n (click)=\"searchClick()\">\n <i\n *ngIf=\"buttonmode === 'icon' || buttonmode === 'mixed'\"\n [class]=\"iconname\"\n [class.me-2]=\"buttonmode === 'mixed'\"></i>\n <ng-container *ngIf=\"buttonmode === 'text' || buttonmode === 'mixed'\">{{ buttontext }}</ng-container>\n </button>\n </div>\n <div\n *ngIf=\"helptextmode === 'text' && helptext\"\n class=\"form-text\">\n {{ helptext }}\n </div>\n </div>\n\n <div\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\n class=\"form-control-plaintext align-self-top ms-2 me-1 w-auto\"\n [ngClass]=\"[componentHeight | toControlHeight]\">\n <sac-tooltip\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [ngClass]=\"HelptextTooltipIcon\"\n class=\"ml-1\">\n </span>\n </sac-tooltip>\n </div>\n </div>\n</div>\n", dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: SacToControlWidthCssPipe, name: "toControlWidthCss" }, { kind: "pipe", type: SacToLabelWidthCssPipe, name: "toLabelWidthCss" }, { kind: "pipe", type: SacToLabelHeightPipe, name: "toLabelHeight" }, { kind: "pipe", type: SacToControlHeightPipe, name: "toControlHeight" }, { kind: "component", type: SacTooltipComponent, selector: "sac-tooltip" }] }); }
|
|
37
|
+
], usesInheritance: true, ngImport: i0, template: "<div\n class=\"row mb-3\"\n [class.g-0]=\"disablelabel\"\n [attr.data-e2e-key]=\"name | testingattribute : e2eidentifier\">\n <label\n id=\"{{ name }}_label\"\n for=\"{{ name }}\"\n class=\"col-12 col-form-label d-flex\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'visually-hidden', componentHeight | toLabelHeight]\"\n [class.required]=\"isrequired\">\n <div\n class=\"text flex-grow-0\"\n [class.flex-sm-grow-1]=\"splitlabelandhelptext\">\n {{ label }}\n </div>\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [ngClass]=\"HelptextTooltipIcon\"\n class=\"ms-1\">\n </span>\n </sac-tooltip>\n </label>\n <div\n class=\"col-12\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\n [class.d-flex]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\n <div [class.flex-grow-1]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\n <div\n class=\"input-group\"\n [class.input-group-sm]=\"componentHeight === ControlHeight.Small\"\n [class.input-group-lg]=\"componentHeight === ControlHeight.Large\">\n <input\n id=\"{{ name }}\"\n name=\"{{ name }}\"\n type=\"text\"\n inputmode=\"search\"\n class=\"form-control\"\n [value]=\"value\"\n [attr.placeholder]=\"placeholder\"\n (blur)=\"onTouch()\"\n (input)=\"setValue($event.target.value)\"\n (keypress)=\"onKeyPress($event)\"\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" }, { kind: "pipe", type: SacTestingAttributePipe, name: "testingattribute" }] }); }
|
|
38
38
|
}
|
|
39
39
|
export { SacInputSearchComponent };
|
|
40
40
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SacInputSearchComponent, decorators: [{
|
|
@@ -58,10 +58,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
58
58
|
SacToLabelHeightPipe,
|
|
59
59
|
SacToControlHeightPipe,
|
|
60
60
|
SacTooltipComponent,
|
|
61
|
-
|
|
61
|
+
SacTestingAttributePipe,
|
|
62
|
+
], template: "<div\n class=\"row mb-3\"\n [class.g-0]=\"disablelabel\"\n [attr.data-e2e-key]=\"name | testingattribute : e2eidentifier\">\n <label\n id=\"{{ name }}_label\"\n for=\"{{ name }}\"\n class=\"col-12 col-form-label d-flex\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'visually-hidden', componentHeight | toLabelHeight]\"\n [class.required]=\"isrequired\">\n <div\n class=\"text flex-grow-0\"\n [class.flex-sm-grow-1]=\"splitlabelandhelptext\">\n {{ label }}\n </div>\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [ngClass]=\"HelptextTooltipIcon\"\n class=\"ms-1\">\n </span>\n </sac-tooltip>\n </label>\n <div\n class=\"col-12\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\n [class.d-flex]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\n <div [class.flex-grow-1]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\n <div\n class=\"input-group\"\n [class.input-group-sm]=\"componentHeight === ControlHeight.Small\"\n [class.input-group-lg]=\"componentHeight === ControlHeight.Large\">\n <input\n id=\"{{ name }}\"\n name=\"{{ name }}\"\n type=\"text\"\n inputmode=\"search\"\n class=\"form-control\"\n [value]=\"value\"\n [attr.placeholder]=\"placeholder\"\n (blur)=\"onTouch()\"\n (input)=\"setValue($event.target.value)\"\n (keypress)=\"onKeyPress($event)\"\n [attr.maxlength]=\"maxtextlength\"\n [class.is-invalid]=\"invalid && (dirty || touched)\"\n [ngClass]=\"[componentHeight | toControlHeight]\"\n [disabled]=\"isdisabled\"\n [readonly]=\"readonly\" />\n <button\n type=\"button\"\n class=\"btn btn-secondary\"\n id=\"{{ name }}_search\"\n (click)=\"searchClick()\">\n <i\n *ngIf=\"buttonmode === 'icon' || buttonmode === 'mixed'\"\n [class]=\"iconname\"\n [class.me-2]=\"buttonmode === 'mixed'\"></i>\n <ng-container *ngIf=\"buttonmode === 'text' || buttonmode === 'mixed'\">{{ buttontext }}</ng-container>\n </button>\n </div>\n <div\n *ngIf=\"helptextmode === 'text' && helptext\"\n class=\"form-text\">\n {{ helptext }}\n </div>\n </div>\n\n <div\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\n class=\"form-control-plaintext align-self-top ms-2 me-1 w-auto\"\n [ngClass]=\"[componentHeight | toControlHeight]\">\n <sac-tooltip\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [ngClass]=\"HelptextTooltipIcon\"\n class=\"ml-1\">\n </span>\n </sac-tooltip>\n </div>\n </div>\n</div>\n" }]
|
|
62
63
|
}], ctorParameters: function () { return [{ type: i1.SacFormLayoutDirective, decorators: [{
|
|
63
64
|
type: Host
|
|
64
65
|
}, {
|
|
65
66
|
type: Optional
|
|
66
67
|
}] }, { type: i0.Injector }]; } });
|
|
67
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
68
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXRzZWFyY2guanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zYWMtYm9vdHN0cmFwNS9zcmMvY29udHJvbHMvaW5wdXQvaW5wdXRzZWFyY2gudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zYWMtYm9vdHN0cmFwNS9zcmMvY29udHJvbHMvaW5wdXQvaW5wdXRzZWFyY2guaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN4RSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUM1RSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNwRSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN4RSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUN6RCxPQUFPLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ2hELE9BQU8sRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFZLFFBQVEsRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDaEYsT0FBTyxFQUFFLGFBQWEsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSx1QkFBdUIsRUFBRSxNQUFNLG1DQUFtQyxDQUFDOzs7QUFFbEc7O0dBRUc7QUFDSCxNQTRCYSx1QkFBd0IsU0FBUSxvQkFBb0I7SUFDN0QsdUJBQXVCO0lBRXZCOzs7O09BSUc7SUFDSCxZQUFnQyxVQUFrQyxFQUFFLFFBQWtCO1FBQ2xGLEtBQUssQ0FBQyxVQUFVLEVBQUUsUUFBUSxDQUFDLENBQUM7SUFDaEMsQ0FBQzsrR0FWUSx1QkFBdUI7bUdBQXZCLHVCQUF1Qiw4REF4QnJCO1lBQ1A7Z0JBQ0ksT0FBTyxFQUFFLGlCQUFpQjtnQkFDMUIsS0FBSyxFQUFFLElBQUk7Z0JBQ1gsV0FBVyxFQUFFLHVCQUF1QjthQUN2QztZQUNEO2dCQUNJLE9BQU8sRUFBRSxhQUFhO2dCQUN0QixLQUFLLEVBQUUsSUFBSTtnQkFDWCxXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLHVCQUF1QixDQUFDO2FBQ3pEO1NBQ0osaURDN0JMLDQrR0FvRkEsNENEcERRLE9BQU8sb0ZBQ1AsSUFBSSx3RkFDSix3QkFBd0IscURBQ3hCLHNCQUFzQixtREFDdEIsb0JBQW9CLGlEQUNwQixzQkFBc0Isd0RBQ3RCLG1CQUFtQixtREFDbkIsdUJBQXVCOztTQUdsQix1QkFBdUI7NEZBQXZCLHVCQUF1QjtrQkE1Qm5DLFNBQVM7K0JBQ0ksaUJBQWlCLGFBR2hCO3dCQUNQOzRCQUNJLE9BQU8sRUFBRSxpQkFBaUI7NEJBQzFCLEtBQUssRUFBRSxJQUFJOzRCQUNYLFdBQVcseUJBQXlCO3lCQUN2Qzt3QkFDRDs0QkFDSSxPQUFPLEVBQUUsYUFBYTs0QkFDdEIsS0FBSyxFQUFFLElBQUk7NEJBQ1gsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsd0JBQXdCLENBQUM7eUJBQ3pEO3FCQUNKLGNBQ1csSUFBSSxXQUNQO3dCQUNMLE9BQU87d0JBQ1AsSUFBSTt3QkFDSix3QkFBd0I7d0JBQ3hCLHNCQUFzQjt3QkFDdEIsb0JBQW9CO3dCQUNwQixzQkFBc0I7d0JBQ3RCLG1CQUFtQjt3QkFDbkIsdUJBQXVCO3FCQUMxQjs7MEJBVVksSUFBSTs7MEJBQUksUUFBUSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFNhY0Zvcm1MYXlvdXREaXJlY3RpdmUgfSBmcm9tICcuLi9sYXlvdXQvZm9ybWxheW91dC5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgU2FjVG9Db250cm9sSGVpZ2h0UGlwZSB9IGZyb20gJy4uL2xheW91dC90b2NvbnRyb2xoZWlnaHQucGlwZSc7XG5pbXBvcnQgeyBTYWNUb0NvbnRyb2xXaWR0aENzc1BpcGUgfSBmcm9tICcuLi9sYXlvdXQvdG9jb250cm9sd2lkdGhjc3MucGlwZSc7XG5pbXBvcnQgeyBTYWNUb0xhYmVsSGVpZ2h0UGlwZSB9IGZyb20gJy4uL2xheW91dC90b2xhYmVsaGVpZ2h0LnBpcGUnO1xuaW1wb3J0IHsgU2FjVG9MYWJlbFdpZHRoQ3NzUGlwZSB9IGZyb20gJy4uL2xheW91dC90b2xhYmVsd2lkdGhjc3MucGlwZSc7XG5pbXBvcnQgeyBTYWNUb29sdGlwQ29tcG9uZW50IH0gZnJvbSAnLi4vdG9vbHRpcC90b29sdGlwJztcbmltcG9ydCB7IE5nQ2xhc3MsIE5nSWYgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBIb3N0LCBJbmplY3RvciwgT3B0aW9uYWwsIGZvcndhcmRSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5HX1ZBTElEQVRPUlMsIE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgU2FjSW5wdXRTZWFyY2hDb21tb24sIFNhY1Rlc3RpbmdBdHRyaWJ1dGVQaXBlIH0gZnJvbSAnQHNpbXBsZWFuZ3VsYXJjb250cm9scy9zYWMtY29tbW9uJztcblxuLyoqXG4gKiBJbnB1dCBCb3ggZsO8ciBTdWNoZVxuICovXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3NhYy1pbnB1dHNlYXJjaCcsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2lucHV0c2VhcmNoLmh0bWwnLFxuICAgIC8vIFZhbHVlIEFjY2VzcyBQcm92aWRlciByZWdpc3RyaWVyZW4sIGRhbWl0IFdlcnQgdmlhIE1vZGVsIGdlc2NocmllYmVuIHVuZCBnZWxlc2VuIHdlcmRlbiBrYW5uXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgICAgICAgICAgbXVsdGk6IHRydWUsXG4gICAgICAgICAgICB1c2VFeGlzdGluZzogU2FjSW5wdXRTZWFyY2hDb21wb25lbnQsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICAgIHByb3ZpZGU6IE5HX1ZBTElEQVRPUlMsXG4gICAgICAgICAgICBtdWx0aTogdHJ1ZSxcbiAgICAgICAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFNhY0lucHV0U2VhcmNoQ29tcG9uZW50KSxcbiAgICAgICAgfSxcbiAgICBdLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaW1wb3J0czogW1xuICAgICAgICBOZ0NsYXNzLFxuICAgICAgICBOZ0lmLFxuICAgICAgICBTYWNUb0NvbnRyb2xXaWR0aENzc1BpcGUsXG4gICAgICAgIFNhY1RvTGFiZWxXaWR0aENzc1BpcGUsXG4gICAgICAgIFNhY1RvTGFiZWxIZWlnaHRQaXBlLFxuICAgICAgICBTYWNUb0NvbnRyb2xIZWlnaHRQaXBlLFxuICAgICAgICBTYWNUb29sdGlwQ29tcG9uZW50LFxuICAgICAgICBTYWNUZXN0aW5nQXR0cmlidXRlUGlwZSxcbiAgICBdLFxufSlcbmV4cG9ydCBjbGFzcyBTYWNJbnB1dFNlYXJjaENvbXBvbmVudCBleHRlbmRzIFNhY0lucHV0U2VhcmNoQ29tbW9uIHtcbiAgICAvLyAjcmVnaW9uIENvbnN0cnVjdG9yc1xuXG4gICAgLyoqXG4gICAgICogQ29uc3RydWN0b3JcbiAgICAgKiBAcGFyYW0gZm9ybUxheW91dCBTYWNGb3JtTGF5b3V0IHRvIGRlZmluZSBzY29wZWQgbGF5b3V0IHNldHRpbmdzXG4gICAgICogQHBhcmFtIGluamVjdG9yIEluamVjdG9yIGZvciBpbmplY3Rpbmcgc2VydmljZXNcbiAgICAgKi9cbiAgICBjb25zdHJ1Y3RvcihASG9zdCgpIEBPcHRpb25hbCgpIGZvcm1MYXlvdXQ6IFNhY0Zvcm1MYXlvdXREaXJlY3RpdmUsIGluamVjdG9yOiBJbmplY3Rvcikge1xuICAgICAgICBzdXBlcihmb3JtTGF5b3V0LCBpbmplY3Rvcik7XG4gICAgfVxuXG4gICAgLy8gI2VuZHJlZ2lvbiBDb25zdHJ1Y3RvcnNcbn1cbiIsIjxkaXZcbiAgICBjbGFzcz1cInJvdyBtYi0zXCJcbiAgICBbY2xhc3MuZy0wXT1cImRpc2FibGVsYWJlbFwiXG4gICAgW2F0dHIuZGF0YS1lMmUta2V5XT1cIm5hbWUgfCB0ZXN0aW5nYXR0cmlidXRlIDogZTJlaWRlbnRpZmllclwiPlxuICAgIDxsYWJlbFxuICAgICAgICBpZD1cInt7IG5hbWUgfX1fbGFiZWxcIlxuICAgICAgICBmb3I9XCJ7eyBuYW1lIH19XCJcbiAgICAgICAgY2xhc3M9XCJjb2wtMTIgY29sLWZvcm0tbGFiZWwgZC1mbGV4XCJcbiAgICAgICAgW25nQ2xhc3NdPVwiW2Rpc2FibGVsYWJlbCA9PT0gZmFsc2UgPyAodGhpcy5sYWJlbFNpemVzIHwgdG9MYWJlbFdpZHRoQ3NzKSA6ICd2aXN1YWxseS1oaWRkZW4nLCBjb21wb25lbnRIZWlnaHQgfCB0b0xhYmVsSGVpZ2h0XVwiXG4gICAgICAgIFtjbGFzcy5yZXF1aXJlZF09XCJpc3JlcXVpcmVkXCI+XG4gICAgICAgIDxkaXZcbiAgICAgICAgICAgIGNsYXNzPVwidGV4dCBmbGV4LWdyb3ctMFwiXG4gICAgICAgICAgICBbY2xhc3MuZmxleC1zbS1ncm93LTFdPVwic3BsaXRsYWJlbGFuZGhlbHB0ZXh0XCI+XG4gICAgICAgICAgICB7eyBsYWJlbCB9fVxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPHNhYy10b29sdGlwXG4gICAgICAgICAgICAqbmdJZj1cImhlbHB0ZXh0bW9kZSA9PT0gJ3Rvb2x0aXAnICYmIGhlbHB0ZXh0XCJcbiAgICAgICAgICAgIFt0b29sdGlwdGV4dF09XCJoZWxwdGV4dFwiXG4gICAgICAgICAgICBbaW5saW5lbW9kZV09XCJ0cnVlXCI+XG4gICAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cIkhlbHB0ZXh0VG9vbHRpcEljb25cIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwibXMtMVwiPlxuICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICA8L3NhYy10b29sdGlwPlxuICAgIDwvbGFiZWw+XG4gICAgPGRpdlxuICAgICAgICBjbGFzcz1cImNvbC0xMlwiXG4gICAgICAgIFtuZ0NsYXNzXT1cIltkaXNhYmxlbGFiZWwgPT09IGZhbHNlID8gKHRoaXMubGFiZWxTaXplcyB8IHRvQ29udHJvbFdpZHRoQ3NzKSA6ICcnXVwiXG4gICAgICAgIFtjbGFzcy5kLWZsZXhdPVwiaGVscHRleHRtb2RlID09PSAndG9vbHRpcCcgJiYgaGVscHRleHQgJiYgZGlzYWJsZWxhYmVsXCI+XG4gICAgICAgIDxkaXYgW2NsYXNzLmZsZXgtZ3Jvdy0xXT1cImhlbHB0ZXh0bW9kZSA9PT0gJ3Rvb2x0aXAnICYmIGhlbHB0ZXh0ICYmIGRpc2FibGVsYWJlbFwiPlxuICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgIGNsYXNzPVwiaW5wdXQtZ3JvdXBcIlxuICAgICAgICAgICAgICAgIFtjbGFzcy5pbnB1dC1ncm91cC1zbV09XCJjb21wb25lbnRIZWlnaHQgPT09IENvbnRyb2xIZWlnaHQuU21hbGxcIlxuICAgICAgICAgICAgICAgIFtjbGFzcy5pbnB1dC1ncm91cC1sZ109XCJjb21wb25lbnRIZWlnaHQgPT09IENvbnRyb2xIZWlnaHQuTGFyZ2VcIj5cbiAgICAgICAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgICAgICAgICAgaWQ9XCJ7eyBuYW1lIH19XCJcbiAgICAgICAgICAgICAgICAgICAgbmFtZT1cInt7IG5hbWUgfX1cIlxuICAgICAgICAgICAgICAgICAgICB0eXBlPVwidGV4dFwiXG4gICAgICAgICAgICAgICAgICAgIGlucHV0bW9kZT1cInNlYXJjaFwiXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sXCJcbiAgICAgICAgICAgICAgICAgICAgW3ZhbHVlXT1cInZhbHVlXCJcbiAgICAgICAgICAgICAgICAgICAgW2F0dHIucGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXJcIlxuICAgICAgICAgICAgICAgICAgICAoYmx1cik9XCJvblRvdWNoKClcIlxuICAgICAgICAgICAgICAgICAgICAoaW5wdXQpPVwic2V0VmFsdWUoJGV2ZW50LnRhcmdldC52YWx1ZSlcIlxuICAgICAgICAgICAgICAgICAgICAoa2V5cHJlc3MpPVwib25LZXlQcmVzcygkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAgICAgW2F0dHIubWF4bGVuZ3RoXT1cIm1heHRleHRsZW5ndGhcIlxuICAgICAgICAgICAgICAgICAgICBbY2xhc3MuaXMtaW52YWxpZF09XCJpbnZhbGlkICYmIChkaXJ0eSB8fCB0b3VjaGVkKVwiXG4gICAgICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cIltjb21wb25lbnRIZWlnaHQgfCB0b0NvbnRyb2xIZWlnaHRdXCJcbiAgICAgICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cImlzZGlzYWJsZWRcIlxuICAgICAgICAgICAgICAgICAgICBbcmVhZG9ubHldPVwicmVhZG9ubHlcIiAvPlxuICAgICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYnRuIGJ0bi1zZWNvbmRhcnlcIlxuICAgICAgICAgICAgICAgICAgICBpZD1cInt7IG5hbWUgfX1fc2VhcmNoXCJcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cInNlYXJjaENsaWNrKClcIj5cbiAgICAgICAgICAgICAgICAgICAgPGlcbiAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiYnV0dG9ubW9kZSA9PT0gJ2ljb24nIHx8IGJ1dHRvbm1vZGUgPT09ICdtaXhlZCdcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2NsYXNzXT1cImljb25uYW1lXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtjbGFzcy5tZS0yXT1cImJ1dHRvbm1vZGUgPT09ICdtaXhlZCdcIj48L2k+XG4gICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJidXR0b25tb2RlID09PSAndGV4dCcgfHwgYnV0dG9ubW9kZSA9PT0gJ21peGVkJ1wiPnt7IGJ1dHRvbnRleHQgfX08L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICpuZ0lmPVwiaGVscHRleHRtb2RlID09PSAndGV4dCcgJiYgaGVscHRleHRcIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwiZm9ybS10ZXh0XCI+XG4gICAgICAgICAgICAgICAge3sgaGVscHRleHQgfX1cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cblxuICAgICAgICA8ZGl2XG4gICAgICAgICAgICAqbmdJZj1cImhlbHB0ZXh0bW9kZSA9PT0gJ3Rvb2x0aXAnICYmIGhlbHB0ZXh0ICYmIGRpc2FibGVsYWJlbFwiXG4gICAgICAgICAgICBjbGFzcz1cImZvcm0tY29udHJvbC1wbGFpbnRleHQgYWxpZ24tc2VsZi10b3AgbXMtMiBtZS0xIHctYXV0b1wiXG4gICAgICAgICAgICBbbmdDbGFzc109XCJbY29tcG9uZW50SGVpZ2h0IHwgdG9Db250cm9sSGVpZ2h0XVwiPlxuICAgICAgICAgICAgPHNhYy10b29sdGlwXG4gICAgICAgICAgICAgICAgW3Rvb2x0aXB0ZXh0XT1cImhlbHB0ZXh0XCJcbiAgICAgICAgICAgICAgICBbaW5saW5lbW9kZV09XCJ0cnVlXCI+XG4gICAgICAgICAgICAgICAgPHNwYW5cbiAgICAgICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwiSGVscHRleHRUb29sdGlwSWNvblwiXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwibWwtMVwiPlxuICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgIDwvc2FjLXRvb2x0aXA+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuPC9kaXY+XG4iXX0=
|