ecabs-components 1.1.77 → 1.1.79
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/README.md +3 -1
- package/esm2022/lib/base/directives/digits-only.directive.mjs +131 -19
- package/esm2022/lib/base/models/phone.models.mjs +1 -1
- package/esm2022/lib/base/utils/phone-number.utils.mjs +1 -1
- package/esm2022/lib/ecabs-button-toggle/ecabs-button-toggle.component.mjs +1 -1
- package/esm2022/lib/ecabs-chip-group/ecabs-chip-group.component.mjs +10 -4
- package/esm2022/lib/ecabs-date-time-picker/ecabs-date-time-picker.component.mjs +1 -1
- package/esm2022/lib/ecabs-date-time-range-picker/ecabs-date-time-range-picker.component.mjs +1 -1
- package/esm2022/lib/ecabs-dialog-confirm-deletion/ecabs-dialog-confirm-deletion.component.mjs +1 -1
- package/esm2022/lib/ecabs-increment/ecabs-increment.component.mjs +1 -1
- package/esm2022/lib/ecabs-input/ecabs-input.component.mjs +7 -4
- package/esm2022/lib/ecabs-input-range/ecabs-input-range.component.mjs +1 -1
- package/esm2022/lib/ecabs-place-autocomplete-v2/ecabs-place-autocomplete-v2.component.mjs +1 -1
- package/fesm2022/ecabs-components.mjs +151 -30
- package/fesm2022/ecabs-components.mjs.map +1 -1
- package/lib/base/directives/digits-only.directive.d.ts +13 -2
- package/lib/ecabs-chip-group/ecabs-chip-group.component.d.ts +3 -1
- package/lib/ecabs-input/ecabs-input.component.d.ts +2 -1
- package/package.json +1 -1
- package/src/assets/styles/scss/modules/_chip.scss +64 -64
- package/src/assets/styles/scss/modules/_form.scss +312 -312
- package/src/assets/styles/scss/modules/_statuses.scss +36 -36
- package/src/assets/styles/scss/utilities/_colors.scss +56 -56
- package/src/assets/styles/tailwind/index.scss +1 -1
|
@@ -832,6 +832,7 @@ class EcabsDigitsOnlyDirective {
|
|
|
832
832
|
el;
|
|
833
833
|
digitsOnly = false;
|
|
834
834
|
allowHyphen = false;
|
|
835
|
+
allowRange = false;
|
|
835
836
|
decimal = false;
|
|
836
837
|
decimalSeparator = '.';
|
|
837
838
|
unit = 0;
|
|
@@ -839,6 +840,7 @@ class EcabsDigitsOnlyDirective {
|
|
|
839
840
|
minus = '-';
|
|
840
841
|
minusCounter = 0;
|
|
841
842
|
regex;
|
|
843
|
+
rangeRegex;
|
|
842
844
|
decimalCounter = 0;
|
|
843
845
|
navigationKeys = [
|
|
844
846
|
'Backspace',
|
|
@@ -872,18 +874,19 @@ class EcabsDigitsOnlyDirective {
|
|
|
872
874
|
(this.decimal &&
|
|
873
875
|
e.key === this.decimalSeparator &&
|
|
874
876
|
this.decimalCounter <= 1) || // Allow: only one decimal point
|
|
875
|
-
(
|
|
877
|
+
(e.key === this.minus && this.isMinusAllowed()) // Allow: leading minus and/or range separator
|
|
876
878
|
) {
|
|
877
879
|
return;
|
|
878
880
|
}
|
|
879
|
-
|
|
880
|
-
if (e.key === ' ' || !this.regex.test(e.key)) {
|
|
881
|
+
if (e.key === ' ' || e.key === this.minus || !this.regex.test(e.key)) {
|
|
881
882
|
e.preventDefault();
|
|
882
883
|
}
|
|
883
884
|
}
|
|
884
885
|
}
|
|
885
886
|
onKeyUp() {
|
|
886
887
|
if (this.digitsOnly) {
|
|
888
|
+
this.minusCounter =
|
|
889
|
+
this.el.nativeElement.value.split(this.minus).length - 1;
|
|
887
890
|
if (!this.decimal) {
|
|
888
891
|
const regex = /[.,]/g;
|
|
889
892
|
this.inputElement.value = this.inputElement.value.replace(regex, '');
|
|
@@ -891,9 +894,9 @@ class EcabsDigitsOnlyDirective {
|
|
|
891
894
|
}
|
|
892
895
|
this.decimalCounter =
|
|
893
896
|
this.el.nativeElement.value.split(this.decimalSeparator).length - 1;
|
|
894
|
-
this.
|
|
895
|
-
this.
|
|
896
|
-
|
|
897
|
+
if (isNaN(+this.inputElement.value) &&
|
|
898
|
+
!this.isPartialNegative(this.inputElement.value) &&
|
|
899
|
+
!this.isPartialRange(this.inputElement.value)) {
|
|
897
900
|
this.inputElement.value = this.sanitizeInput(this.inputElement.value);
|
|
898
901
|
}
|
|
899
902
|
}
|
|
@@ -909,7 +912,16 @@ class EcabsDigitsOnlyDirective {
|
|
|
909
912
|
event.preventDefault();
|
|
910
913
|
}
|
|
911
914
|
ngOnInit() {
|
|
912
|
-
this.regex = new RegExp(this.allowHyphen ? '^[\\d -]+$' : '\\d');
|
|
915
|
+
this.regex = new RegExp(this.allowHyphen || this.allowRange ? '^[\\d -]+$' : '\\d');
|
|
916
|
+
if (this.allowRange) {
|
|
917
|
+
const sep = this.escapeRegExp(this.decimalSeparator);
|
|
918
|
+
const head = this.decimal ? `\\d+(${sep}\\d*)?` : '\\d+';
|
|
919
|
+
const tail = this.decimal ? `\\d*(${sep}\\d*)?` : '\\d*';
|
|
920
|
+
// When combined with `allowHyphen`, a leading minus (negative lower
|
|
921
|
+
// bound) is allowed, e.g. "-5-20".
|
|
922
|
+
const lead = this.allowHyphen ? `${this.minus}?` : '';
|
|
923
|
+
this.rangeRegex = new RegExp(`^${lead}${head}(${this.minus}${tail})?$`);
|
|
924
|
+
}
|
|
913
925
|
}
|
|
914
926
|
pasteData(pastedContent) {
|
|
915
927
|
const sanitizedContent = isNaN(+pastedContent)
|
|
@@ -922,28 +934,126 @@ class EcabsDigitsOnlyDirective {
|
|
|
922
934
|
}
|
|
923
935
|
}
|
|
924
936
|
sanitizeInput(input) {
|
|
925
|
-
|
|
926
|
-
|
|
927
|
-
|
|
928
|
-
|
|
929
|
-
|
|
930
|
-
|
|
931
|
-
|
|
932
|
-
|
|
937
|
+
if (this.allowRange) {
|
|
938
|
+
return this.sanitizeRange(input);
|
|
939
|
+
}
|
|
940
|
+
const separator = this.decimalSeparator;
|
|
941
|
+
// Drop every character that isn't allowed, then keep only a single leading
|
|
942
|
+
// hyphen and a single decimal separator.
|
|
943
|
+
const allowed = ['\\d'];
|
|
944
|
+
if (this.allowHyphen) {
|
|
945
|
+
allowed.push('\\-');
|
|
946
|
+
}
|
|
947
|
+
if (this.decimal) {
|
|
948
|
+
allowed.push(this.escapeRegExp(separator));
|
|
949
|
+
}
|
|
950
|
+
let result = input.replace(new RegExp(`[^${allowed.join('')}]`, 'g'), '');
|
|
951
|
+
if (this.allowHyphen) {
|
|
952
|
+
const isNegative = result.startsWith(this.minus);
|
|
953
|
+
result = (isNegative ? this.minus : '') + result.split(this.minus).join('');
|
|
954
|
+
}
|
|
955
|
+
if (this.decimal) {
|
|
956
|
+
result = this.keepFirstSeparator(result, separator);
|
|
957
|
+
}
|
|
958
|
+
return this.applyMaxLength(result);
|
|
959
|
+
}
|
|
960
|
+
sanitizeRange(input) {
|
|
961
|
+
const separator = this.decimalSeparator;
|
|
962
|
+
const allowed = ['\\d', '\\-'];
|
|
963
|
+
if (this.decimal) {
|
|
964
|
+
allowed.push(this.escapeRegExp(separator));
|
|
965
|
+
}
|
|
966
|
+
let result = input.replace(new RegExp(`[^${allowed.join('')}]`, 'g'), '');
|
|
967
|
+
const hasLeadingMinus = this.allowHyphen && result.startsWith(this.minus);
|
|
968
|
+
let body = hasLeadingMinus ? result.slice(1) : result;
|
|
969
|
+
body = body.replace(/^-+/, '');
|
|
970
|
+
const firstHyphen = body.indexOf(this.minus);
|
|
971
|
+
if (firstHyphen !== -1) {
|
|
972
|
+
body =
|
|
973
|
+
body.slice(0, firstHyphen + 1) +
|
|
974
|
+
body.slice(firstHyphen + 1).split(this.minus).join('');
|
|
975
|
+
}
|
|
976
|
+
if (this.decimal) {
|
|
977
|
+
body = body
|
|
978
|
+
.split(this.minus)
|
|
979
|
+
.map((segment) => this.keepFirstSeparator(segment, separator))
|
|
980
|
+
.join(this.minus);
|
|
981
|
+
}
|
|
982
|
+
result = (hasLeadingMinus ? this.minus : '') + body;
|
|
983
|
+
return this.applyMaxLength(result);
|
|
984
|
+
}
|
|
985
|
+
keepFirstSeparator(value, separator) {
|
|
986
|
+
const firstSeparator = value.indexOf(separator);
|
|
987
|
+
if (firstSeparator === -1) {
|
|
988
|
+
return value;
|
|
933
989
|
}
|
|
990
|
+
return (value.slice(0, firstSeparator + 1) +
|
|
991
|
+
value.slice(firstSeparator + 1).split(separator).join(''));
|
|
992
|
+
}
|
|
993
|
+
applyMaxLength(result) {
|
|
934
994
|
const maxLength = this.inputElement.maxLength;
|
|
935
995
|
if (maxLength > 0) {
|
|
936
996
|
// the input element has maxLength limit
|
|
937
997
|
const allowedLength = maxLength - this.inputElement.value.length;
|
|
938
|
-
|
|
998
|
+
return allowedLength > 0 ? result.substring(0, allowedLength) : '';
|
|
939
999
|
}
|
|
940
1000
|
return result;
|
|
941
1001
|
}
|
|
942
|
-
|
|
943
|
-
return
|
|
1002
|
+
escapeRegExp(value) {
|
|
1003
|
+
return value.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
|
|
1004
|
+
}
|
|
1005
|
+
isMinusAllowed() {
|
|
1006
|
+
const value = this.inputElement.value;
|
|
1007
|
+
// Combined mode: a single leading minus (negative lower bound) plus one
|
|
1008
|
+
// range separator, e.g. "-5-20".
|
|
1009
|
+
if (this.allowHyphen && this.allowRange) {
|
|
1010
|
+
if (this.isCaretAtStart()) {
|
|
1011
|
+
return !value.startsWith(this.minus);
|
|
1012
|
+
}
|
|
1013
|
+
return this.hasDigitBeforeCaret() && !this.hasRangeSeparator();
|
|
1014
|
+
}
|
|
1015
|
+
// Hyphen only: a single leading minus.
|
|
1016
|
+
if (this.allowHyphen) {
|
|
1017
|
+
return this.minusCounter < 1 && this.isCaretAtStart();
|
|
1018
|
+
}
|
|
1019
|
+
// Range only: a single separator, never leading.
|
|
1020
|
+
if (this.allowRange) {
|
|
1021
|
+
return this.minusCounter < 1 && this.hasDigitBeforeCaret();
|
|
1022
|
+
}
|
|
1023
|
+
return false;
|
|
1024
|
+
}
|
|
1025
|
+
hasRangeSeparator() {
|
|
1026
|
+
const value = this.inputElement.value;
|
|
1027
|
+
const body = value.startsWith(this.minus) ? value.slice(1) : value;
|
|
1028
|
+
return body.includes(this.minus);
|
|
1029
|
+
}
|
|
1030
|
+
isCaretAtStart() {
|
|
1031
|
+
const caret = this.inputElement.selectionStart;
|
|
1032
|
+
return caret === null || caret === 0;
|
|
1033
|
+
}
|
|
1034
|
+
hasDigitBeforeCaret() {
|
|
1035
|
+
const caret = this.inputElement.selectionStart;
|
|
1036
|
+
const value = this.inputElement.value;
|
|
1037
|
+
const before = caret === null ? value : value.slice(0, caret);
|
|
1038
|
+
return /\d/.test(before);
|
|
1039
|
+
}
|
|
1040
|
+
isPartialRange(value) {
|
|
1041
|
+
return !!this.allowRange && !!this.rangeRegex && this.rangeRegex.test(value);
|
|
1042
|
+
}
|
|
1043
|
+
isPartialNegative(value) {
|
|
1044
|
+
if (!this.allowHyphen || !value.startsWith(this.minus)) {
|
|
1045
|
+
return false;
|
|
1046
|
+
}
|
|
1047
|
+
const remainder = value.slice(1);
|
|
1048
|
+
if (remainder.includes(this.minus)) {
|
|
1049
|
+
return false;
|
|
1050
|
+
}
|
|
1051
|
+
return (remainder === '' ||
|
|
1052
|
+
remainder === this.decimalSeparator ||
|
|
1053
|
+
!isNaN(+remainder));
|
|
944
1054
|
}
|
|
945
1055
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EcabsDigitsOnlyDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
|
|
946
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: EcabsDigitsOnlyDirective, selector: "[ecabsDigitsOnly]", inputs: { digitsOnly: "digitsOnly", allowHyphen: "allowHyphen", decimal: "decimal", decimalSeparator: "decimalSeparator", unit: "unit" }, host: { listeners: { "keydown": "onKeyDown($event)", "keyup": "onKeyUp($event)", "paste": "onPaste($event)", "wheel": "onWheel($event)" } }, ngImport: i0 });
|
|
1056
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: EcabsDigitsOnlyDirective, selector: "[ecabsDigitsOnly]", inputs: { digitsOnly: "digitsOnly", allowHyphen: "allowHyphen", allowRange: "allowRange", decimal: "decimal", decimalSeparator: "decimalSeparator", unit: "unit" }, host: { listeners: { "keydown": "onKeyDown($event)", "keyup": "onKeyUp($event)", "paste": "onPaste($event)", "wheel": "onWheel($event)" } }, ngImport: i0 });
|
|
947
1057
|
}
|
|
948
1058
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EcabsDigitsOnlyDirective, decorators: [{
|
|
949
1059
|
type: Directive,
|
|
@@ -954,6 +1064,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
954
1064
|
type: Input
|
|
955
1065
|
}], allowHyphen: [{
|
|
956
1066
|
type: Input
|
|
1067
|
+
}], allowRange: [{
|
|
1068
|
+
type: Input
|
|
957
1069
|
}], decimal: [{
|
|
958
1070
|
type: Input
|
|
959
1071
|
}], decimalSeparator: [{
|
|
@@ -1046,6 +1158,7 @@ class EcabsInputComponent extends EcabsElementBaseComponent {
|
|
|
1046
1158
|
digitsOnly;
|
|
1047
1159
|
allowDecimal;
|
|
1048
1160
|
allowHyphen;
|
|
1161
|
+
allowRange;
|
|
1049
1162
|
max;
|
|
1050
1163
|
mini;
|
|
1051
1164
|
maxi;
|
|
@@ -1101,13 +1214,13 @@ class EcabsInputComponent extends EcabsElementBaseComponent {
|
|
|
1101
1214
|
this.onblur.emit(e);
|
|
1102
1215
|
}
|
|
1103
1216
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EcabsInputComponent, deps: [{ token: i0.Injector }, { token: i0.DestroyRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
1104
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: EcabsInputComponent, selector: "ecabs-input", inputs: { digitsOnly: "digitsOnly", allowDecimal: "allowDecimal", allowHyphen: "allowHyphen", max: "max", mini: "mini", maxi: "maxi", step: "step" }, outputs: { onblur: "onblur" }, providers: [
|
|
1217
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: EcabsInputComponent, selector: "ecabs-input", inputs: { digitsOnly: "digitsOnly", allowDecimal: "allowDecimal", allowHyphen: "allowHyphen", allowRange: "allowRange", max: "max", mini: "mini", maxi: "maxi", step: "step" }, outputs: { onblur: "onblur" }, providers: [
|
|
1105
1218
|
{
|
|
1106
1219
|
provide: NG_VALUE_ACCESSOR,
|
|
1107
1220
|
useExisting: EcabsInputComponent,
|
|
1108
1221
|
multi: true,
|
|
1109
1222
|
},
|
|
1110
|
-
], viewQueries: [{ propertyName: "matCustomInput", first: true, predicate: ["matCustomInput"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<ecabs-element-wrapper [data]=\"getData()\">\r\n <div class=\"form-field__input--wrapper\">\r\n <input #matCustomInput\r\n ecabsDigitsOnly\r\n [ngClass]=\"disabled ? 'form-field__input--disabled' : null\"\r\n [digitsOnly]=\"digitsOnly\"\r\n [decimal]=\"allowDecimal\"\r\n [allowHyphen]=\"allowHyphen\"\r\n class=\"form-field__input\"\r\n [type]=\"type\"\r\n [id]=\"name\"\r\n [(ngModel)]=\"value\"\r\n [placeholder]=\"placeholder\"\r\n (blur)=\"onTouch()\"\r\n [mini]=\"mini\"\r\n [maxi]=\"maxi\"\r\n [disabled]=\"disabled\"\r\n [maxlength]=\"maxLength\"\r\n [max]=\"max\"\r\n [step]=\"step\"\r\n (blur)=\"blurChange($event)\"\r\n />\r\n\r\n <div class=\"form-field__input--suffix\" *ngIf=\"type !== 'number'\">\r\n <ng-content select=\"mat-icon\"></ng-content>\r\n <ng-content select=\".suffix\"></ng-content>\r\n </div>\r\n </div>\r\n</ecabs-element-wrapper>\r\n", dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: EcabsElementWrapperComponent, selector: "ecabs-element-wrapper", inputs: ["data", "showCloseIcon", "focusedFlag", "showPassword", "control"], outputs: ["showHidePassword", "clear", "increase", "decrease"] }, { kind: "directive", type: i3.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: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: EcabsDigitsOnlyDirective, selector: "[ecabsDigitsOnly]", inputs: ["digitsOnly", "allowHyphen", "decimal", "decimalSeparator", "unit"] }, { kind: "directive", type: EcabsMinDirective, selector: "[mini][formControlName],[mini][formControl],[mini][ngModel]", inputs: ["mini"] }, { kind: "directive", type: EcabsMaxDirective, selector: "[maxi][formControlName],[maxi][formControl],[maxi][ngModel]", inputs: ["maxi"] }] });
|
|
1223
|
+
], viewQueries: [{ propertyName: "matCustomInput", first: true, predicate: ["matCustomInput"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<ecabs-element-wrapper [data]=\"getData()\">\r\n <div class=\"form-field__input--wrapper\">\r\n <input #matCustomInput\r\n ecabsDigitsOnly\r\n [ngClass]=\"disabled ? 'form-field__input--disabled' : null\"\r\n [digitsOnly]=\"digitsOnly\"\r\n [decimal]=\"allowDecimal\"\r\n [allowHyphen]=\"allowHyphen\"\r\n [allowRange]=\"allowRange\"\r\n class=\"form-field__input\"\r\n [type]=\"type\"\r\n [id]=\"name\"\r\n [(ngModel)]=\"value\"\r\n [placeholder]=\"placeholder\"\r\n (blur)=\"onTouch()\"\r\n [mini]=\"mini\"\r\n [maxi]=\"maxi\"\r\n [disabled]=\"disabled\"\r\n [maxlength]=\"maxLength\"\r\n [max]=\"max\"\r\n [step]=\"step\"\r\n (blur)=\"blurChange($event)\"\r\n />\r\n\r\n <div class=\"form-field__input--suffix\" *ngIf=\"type !== 'number'\">\r\n <ng-content select=\"mat-icon\"></ng-content>\r\n <ng-content select=\".suffix\"></ng-content>\r\n </div>\r\n </div>\r\n</ecabs-element-wrapper>\r\n", dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: EcabsElementWrapperComponent, selector: "ecabs-element-wrapper", inputs: ["data", "showCloseIcon", "focusedFlag", "showPassword", "control"], outputs: ["showHidePassword", "clear", "increase", "decrease"] }, { kind: "directive", type: i3.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: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: EcabsDigitsOnlyDirective, selector: "[ecabsDigitsOnly]", inputs: ["digitsOnly", "allowHyphen", "allowRange", "decimal", "decimalSeparator", "unit"] }, { kind: "directive", type: EcabsMinDirective, selector: "[mini][formControlName],[mini][formControl],[mini][ngModel]", inputs: ["mini"] }, { kind: "directive", type: EcabsMaxDirective, selector: "[maxi][formControlName],[maxi][formControl],[maxi][ngModel]", inputs: ["maxi"] }] });
|
|
1111
1224
|
}
|
|
1112
1225
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EcabsInputComponent, decorators: [{
|
|
1113
1226
|
type: Component,
|
|
@@ -1117,7 +1230,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
1117
1230
|
useExisting: EcabsInputComponent,
|
|
1118
1231
|
multi: true,
|
|
1119
1232
|
},
|
|
1120
|
-
], template: "<ecabs-element-wrapper [data]=\"getData()\">\r\n <div class=\"form-field__input--wrapper\">\r\n <input #matCustomInput\r\n ecabsDigitsOnly\r\n [ngClass]=\"disabled ? 'form-field__input--disabled' : null\"\r\n [digitsOnly]=\"digitsOnly\"\r\n [decimal]=\"allowDecimal\"\r\n [allowHyphen]=\"allowHyphen\"\r\n class=\"form-field__input\"\r\n [type]=\"type\"\r\n [id]=\"name\"\r\n [(ngModel)]=\"value\"\r\n [placeholder]=\"placeholder\"\r\n (blur)=\"onTouch()\"\r\n [mini]=\"mini\"\r\n [maxi]=\"maxi\"\r\n [disabled]=\"disabled\"\r\n [maxlength]=\"maxLength\"\r\n [max]=\"max\"\r\n [step]=\"step\"\r\n (blur)=\"blurChange($event)\"\r\n />\r\n\r\n <div class=\"form-field__input--suffix\" *ngIf=\"type !== 'number'\">\r\n <ng-content select=\"mat-icon\"></ng-content>\r\n <ng-content select=\".suffix\"></ng-content>\r\n </div>\r\n </div>\r\n</ecabs-element-wrapper>\r\n" }]
|
|
1233
|
+
], template: "<ecabs-element-wrapper [data]=\"getData()\">\r\n <div class=\"form-field__input--wrapper\">\r\n <input #matCustomInput\r\n ecabsDigitsOnly\r\n [ngClass]=\"disabled ? 'form-field__input--disabled' : null\"\r\n [digitsOnly]=\"digitsOnly\"\r\n [decimal]=\"allowDecimal\"\r\n [allowHyphen]=\"allowHyphen\"\r\n [allowRange]=\"allowRange\"\r\n class=\"form-field__input\"\r\n [type]=\"type\"\r\n [id]=\"name\"\r\n [(ngModel)]=\"value\"\r\n [placeholder]=\"placeholder\"\r\n (blur)=\"onTouch()\"\r\n [mini]=\"mini\"\r\n [maxi]=\"maxi\"\r\n [disabled]=\"disabled\"\r\n [maxlength]=\"maxLength\"\r\n [max]=\"max\"\r\n [step]=\"step\"\r\n (blur)=\"blurChange($event)\"\r\n />\r\n\r\n <div class=\"form-field__input--suffix\" *ngIf=\"type !== 'number'\">\r\n <ng-content select=\"mat-icon\"></ng-content>\r\n <ng-content select=\".suffix\"></ng-content>\r\n </div>\r\n </div>\r\n</ecabs-element-wrapper>\r\n" }]
|
|
1121
1234
|
}], ctorParameters: function () { return [{ type: i0.Injector }, { type: i0.DestroyRef }]; }, propDecorators: { matCustomInput: [{
|
|
1122
1235
|
type: ViewChild,
|
|
1123
1236
|
args: ['matCustomInput', { static: false }]
|
|
@@ -1127,6 +1240,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
1127
1240
|
type: Input
|
|
1128
1241
|
}], allowHyphen: [{
|
|
1129
1242
|
type: Input
|
|
1243
|
+
}], allowRange: [{
|
|
1244
|
+
type: Input
|
|
1130
1245
|
}], max: [{
|
|
1131
1246
|
type: Input
|
|
1132
1247
|
}], mini: [{
|
|
@@ -1431,7 +1546,7 @@ class EcabsInputRangeComponent extends EcabsElementBaseComponent {
|
|
|
1431
1546
|
useExisting: EcabsInputRangeComponent,
|
|
1432
1547
|
multi: true,
|
|
1433
1548
|
},
|
|
1434
|
-
], viewQueries: [{ propertyName: "toInput", first: true, predicate: ["toInput"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<ecabs-element-wrapper [data]=\"getData()\">\n <div class=\"rounded-xl flex flex-col gap-4\">\n <div\n class=\"form-field__range--wrapper\"\n [class.form-field--invalid]=\"hasAnyError\"\n >\n <input\n #fromInput\n ecabsDigitsOnly\n [digitsOnly]=\"digitsOnly\"\n [decimal]=\"allowDecimal\"\n [allowHyphen]=\"allowHyphen\"\n class=\"form-field__input text-center border-0 outline-none bg-transparent\"\n type=\"number\"\n [id]=\"name + '-from'\"\n [mini]=\"min\"\n [maxi]=\"max\"\n [step]=\"step\"\n [disabled]=\"disabled\"\n [placeholder]=\"fromPlaceholder\"\n [ngModel]=\"value.from\"\n (ngModelChange)=\"updateValue('from', $event)\"\n (focus)=\"setFocus(true)\"\n (blur)=\"setFocus(false)\"\n (keydown.enter)=\"focusToInput()\"\n />\n <span class=\"text-gray-500 text-base mx-4\">{{separatorText}}</span>\n <input\n #toInput\n ecabsDigitsOnly\n [digitsOnly]=\"digitsOnly\"\n [decimal]=\"allowDecimal\"\n [allowHyphen]=\"allowHyphen\"\n class=\"form-field__input text-center border-0 outline-none bg-transparent\"\n type=\"number\"\n [id]=\"name + '-to'\"\n [mini]=\"value.from !== null ? value.from : min\"\n [maxi]=\"max\"\n [step]=\"step\"\n [disabled]=\"disabled\"\n [placeholder]=\"toPlaceholder\"\n [ngModel]=\"value.to\"\n (ngModelChange)=\"updateValue('to', $event)\"\n (focus)=\"setFocus(true)\"\n (blur)=\"setFocus(false)\"\n />\n </div>\n </div>\n</ecabs-element-wrapper>", styles: [""], dependencies: [{ kind: "directive", type: i3.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: i3.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: EcabsElementWrapperComponent, selector: "ecabs-element-wrapper", inputs: ["data", "showCloseIcon", "focusedFlag", "showPassword", "control"], outputs: ["showHidePassword", "clear", "increase", "decrease"] }, { kind: "directive", type: EcabsDigitsOnlyDirective, selector: "[ecabsDigitsOnly]", inputs: ["digitsOnly", "allowHyphen", "decimal", "decimalSeparator", "unit"] }, { kind: "directive", type: EcabsMinDirective, selector: "[mini][formControlName],[mini][formControl],[mini][ngModel]", inputs: ["mini"] }, { kind: "directive", type: EcabsMaxDirective, selector: "[maxi][formControlName],[maxi][formControl],[maxi][ngModel]", inputs: ["maxi"] }] });
|
|
1549
|
+
], viewQueries: [{ propertyName: "toInput", first: true, predicate: ["toInput"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<ecabs-element-wrapper [data]=\"getData()\">\n <div class=\"rounded-xl flex flex-col gap-4\">\n <div\n class=\"form-field__range--wrapper\"\n [class.form-field--invalid]=\"hasAnyError\"\n >\n <input\n #fromInput\n ecabsDigitsOnly\n [digitsOnly]=\"digitsOnly\"\n [decimal]=\"allowDecimal\"\n [allowHyphen]=\"allowHyphen\"\n class=\"form-field__input text-center border-0 outline-none bg-transparent\"\n type=\"number\"\n [id]=\"name + '-from'\"\n [mini]=\"min\"\n [maxi]=\"max\"\n [step]=\"step\"\n [disabled]=\"disabled\"\n [placeholder]=\"fromPlaceholder\"\n [ngModel]=\"value.from\"\n (ngModelChange)=\"updateValue('from', $event)\"\n (focus)=\"setFocus(true)\"\n (blur)=\"setFocus(false)\"\n (keydown.enter)=\"focusToInput()\"\n />\n <span class=\"text-gray-500 text-base mx-4\">{{separatorText}}</span>\n <input\n #toInput\n ecabsDigitsOnly\n [digitsOnly]=\"digitsOnly\"\n [decimal]=\"allowDecimal\"\n [allowHyphen]=\"allowHyphen\"\n class=\"form-field__input text-center border-0 outline-none bg-transparent\"\n type=\"number\"\n [id]=\"name + '-to'\"\n [mini]=\"value.from !== null ? value.from : min\"\n [maxi]=\"max\"\n [step]=\"step\"\n [disabled]=\"disabled\"\n [placeholder]=\"toPlaceholder\"\n [ngModel]=\"value.to\"\n (ngModelChange)=\"updateValue('to', $event)\"\n (focus)=\"setFocus(true)\"\n (blur)=\"setFocus(false)\"\n />\n </div>\n </div>\n</ecabs-element-wrapper>", styles: [""], dependencies: [{ kind: "directive", type: i3.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: i3.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: EcabsElementWrapperComponent, selector: "ecabs-element-wrapper", inputs: ["data", "showCloseIcon", "focusedFlag", "showPassword", "control"], outputs: ["showHidePassword", "clear", "increase", "decrease"] }, { kind: "directive", type: EcabsDigitsOnlyDirective, selector: "[ecabsDigitsOnly]", inputs: ["digitsOnly", "allowHyphen", "allowRange", "decimal", "decimalSeparator", "unit"] }, { kind: "directive", type: EcabsMinDirective, selector: "[mini][formControlName],[mini][formControl],[mini][ngModel]", inputs: ["mini"] }, { kind: "directive", type: EcabsMaxDirective, selector: "[maxi][formControlName],[maxi][formControl],[maxi][ngModel]", inputs: ["maxi"] }] });
|
|
1435
1550
|
}
|
|
1436
1551
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EcabsInputRangeComponent, decorators: [{
|
|
1437
1552
|
type: Component,
|
|
@@ -3316,7 +3431,7 @@ class EcabsDateTimePickerComponent extends EcabsElementBaseComponent {
|
|
|
3316
3431
|
},
|
|
3317
3432
|
DecimalPipe,
|
|
3318
3433
|
UnsubscribeService,
|
|
3319
|
-
], viewQueries: [{ propertyName: "matCustomInput", first: true, predicate: ["matCustomInput"], descendants: true }, { propertyName: "matCustomPicker", first: true, predicate: ["picker"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<ecabs-element-wrapper [data]=\"getData()\">\n <div class=\"form-field__input--wrapper w-full\">\n <input\n class=\"fake-input\"\n [id]=\"_date\"\n [(ngModel)]=\"_date\"\n [placeholder]=\"placeholder\"\n [disabled]=\"disabled\"\n [matDatepicker]=\"picker\"\n [min]=\"minDate\"\n [max]=\"maxDate\"\n (blur)=\"onTouch()\"\n />\n <mat-datepicker #picker [calendarHeaderComponent]=\"header\" [touchUi]=\"touchUi\" class=\"datepicker-ui\">\n <mat-datepicker-actions>\n <div class=\"actions\">\n <div class=\"time--inputs\">\n <input\n class=\"form-field__input time\"\n ecabsDigitsOnly\n ecabsNumberBorder\n [digitsOnly]=\"true\"\n [id]=\"hours\"\n [value]=\"_hours\"\n [maxValue]=\"maxValueHours\"\n [(ngModel)]=\"hours\"\n />\n <span class=\"font-bold\">:</span>\n <input\n class=\"form-field__input time\"\n [id]=\"minutes\"\n [(ngModel)]=\"minutes\"\n ecabsDigitsOnly\n ecabsNumberBorder\n [digitsOnly]=\"true\"\n [maxValue]=\"maxValueMinutesSeconds\"\n />\n\n <ng-container *ngIf=\"!hideSeconds\">\n <span class=\"font-bold\">:</span>\n <input\n class=\"form-field__input time\"\n [id]=\"seconds\"\n [(ngModel)]=\"seconds\"\n ecabsDigitsOnly\n ecabsNumberBorder\n [digitsOnly]=\"true\"\n [maxValue]=\"maxValueMinutesSeconds\"\n />\n </ng-container>\n </div>\n\n <ecabs-date-picker-actions [applyLabel]=\"applyLabel ?? translationConfig?.applyLabel\"\n [cancelLabel]=\"cancelLabel ?? translationConfig?.cancelLabel\"\n (apply)=\"onApply()\">\n </ecabs-date-picker-actions>\n </div>\n </mat-datepicker-actions>\n </mat-datepicker>\n <input #matCustomInput\n class=\"form-field__input w-full date-input\"\n [id]=\"name\"\n [(ngModel)]=\"pickerValue\"\n placeholder=\"dd/MM/yyyy, HH:mm\"\n [disabled]=\"disabled\"\n ecabsMaskDate\n [isDateTimeMask]=\"true\"\n [considerSeconds]=\"!hideSeconds\"\n (blur)=\"onTouch()\"\n />\n\n <mat-datepicker-toggle matSuffix [for]=\"picker\">\n <mat-icon matDatepickerToggleIcon\n class=\"text-gray-500\">\n calendar_today\n </mat-icon>\n </mat-datepicker-toggle>\n </div>\n</ecabs-element-wrapper>\n", styles: [".time--inputs:before,.time--inputs:after{position:absolute;content:\"\"}.time{width:3.375rem}.fake-input{visibility:hidden;width:0;padding:0;margin:0}.time--inputs{position:relative;display:flex;gap:.5rem;justify-content:center;align-items:center;margin-top:2.4rem;margin-bottom:2.4rem}.time--inputs:before,.time--inputs:after{height:1px;right:0;left:0;background-color:var(--color-gray-300)}.time--inputs:before{top:-1.6rem}.time--inputs:after{bottom:-1.6rem}.font-bold{font-weight:700}.actions{display:flex;flex-direction:column;width:100%!important;row-gap:1rem}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: EcabsElementWrapperComponent, selector: "ecabs-element-wrapper", inputs: ["data", "showCloseIcon", "focusedFlag", "showPassword", "control"], outputs: ["showHidePassword", "clear", "increase", "decrease"] }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i6.MatDatepicker, selector: "mat-datepicker", exportAs: ["matDatepicker"] }, { kind: "directive", type: i6.MatDatepickerInput, selector: "input[matDatepicker]", inputs: ["matDatepicker", "min", "max", "matDatepickerFilter"], exportAs: ["matDatepickerInput"] }, { kind: "component", type: i6.MatDatepickerToggle, selector: "mat-datepicker-toggle", inputs: ["for", "tabIndex", "aria-label", "disabled", "disableRipple"], exportAs: ["matDatepickerToggle"] }, { kind: "directive", type: i6.MatDatepickerToggleIcon, selector: "[matDatepickerToggleIcon]" }, { kind: "component", type: i6.MatDatepickerActions, selector: "mat-datepicker-actions, mat-date-range-picker-actions" }, { kind: "directive", type: i3.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: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: EcabsDigitsOnlyDirective, selector: "[ecabsDigitsOnly]", inputs: ["digitsOnly", "allowHyphen", "decimal", "decimalSeparator", "unit"] }, { kind: "directive", type: EcabsNumberBorderDirective, selector: "[ecabsNumberBorder]", inputs: ["maxValue", "minValue"] }, { kind: "directive", type: EcabsMaskDateDirective, selector: "[ecabsMaskDate]", inputs: ["isDateTimeMask", "considerSeconds"] }, { kind: "component", type: EcabsDatePickerActionsComponent, selector: "ecabs-date-picker-actions", inputs: ["cancelLabel", "applyLabel", "isDateRange", "disabledApplyButton"], outputs: ["apply"] }, { kind: "directive", type: i7.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }] });
|
|
3434
|
+
], viewQueries: [{ propertyName: "matCustomInput", first: true, predicate: ["matCustomInput"], descendants: true }, { propertyName: "matCustomPicker", first: true, predicate: ["picker"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<ecabs-element-wrapper [data]=\"getData()\">\n <div class=\"form-field__input--wrapper w-full\">\n <input\n class=\"fake-input\"\n [id]=\"_date\"\n [(ngModel)]=\"_date\"\n [placeholder]=\"placeholder\"\n [disabled]=\"disabled\"\n [matDatepicker]=\"picker\"\n [min]=\"minDate\"\n [max]=\"maxDate\"\n (blur)=\"onTouch()\"\n />\n <mat-datepicker #picker [calendarHeaderComponent]=\"header\" [touchUi]=\"touchUi\" class=\"datepicker-ui\">\n <mat-datepicker-actions>\n <div class=\"actions\">\n <div class=\"time--inputs\">\n <input\n class=\"form-field__input time\"\n ecabsDigitsOnly\n ecabsNumberBorder\n [digitsOnly]=\"true\"\n [id]=\"hours\"\n [value]=\"_hours\"\n [maxValue]=\"maxValueHours\"\n [(ngModel)]=\"hours\"\n />\n <span class=\"font-bold\">:</span>\n <input\n class=\"form-field__input time\"\n [id]=\"minutes\"\n [(ngModel)]=\"minutes\"\n ecabsDigitsOnly\n ecabsNumberBorder\n [digitsOnly]=\"true\"\n [maxValue]=\"maxValueMinutesSeconds\"\n />\n\n <ng-container *ngIf=\"!hideSeconds\">\n <span class=\"font-bold\">:</span>\n <input\n class=\"form-field__input time\"\n [id]=\"seconds\"\n [(ngModel)]=\"seconds\"\n ecabsDigitsOnly\n ecabsNumberBorder\n [digitsOnly]=\"true\"\n [maxValue]=\"maxValueMinutesSeconds\"\n />\n </ng-container>\n </div>\n\n <ecabs-date-picker-actions [applyLabel]=\"applyLabel ?? translationConfig?.applyLabel\"\n [cancelLabel]=\"cancelLabel ?? translationConfig?.cancelLabel\"\n (apply)=\"onApply()\">\n </ecabs-date-picker-actions>\n </div>\n </mat-datepicker-actions>\n </mat-datepicker>\n <input #matCustomInput\n class=\"form-field__input w-full date-input\"\n [id]=\"name\"\n [(ngModel)]=\"pickerValue\"\n placeholder=\"dd/MM/yyyy, HH:mm\"\n [disabled]=\"disabled\"\n ecabsMaskDate\n [isDateTimeMask]=\"true\"\n [considerSeconds]=\"!hideSeconds\"\n (blur)=\"onTouch()\"\n />\n\n <mat-datepicker-toggle matSuffix [for]=\"picker\">\n <mat-icon matDatepickerToggleIcon\n class=\"text-gray-500\">\n calendar_today\n </mat-icon>\n </mat-datepicker-toggle>\n </div>\n</ecabs-element-wrapper>\n", styles: [".time--inputs:before,.time--inputs:after{position:absolute;content:\"\"}.time{width:3.375rem}.fake-input{visibility:hidden;width:0;padding:0;margin:0}.time--inputs{position:relative;display:flex;gap:.5rem;justify-content:center;align-items:center;margin-top:2.4rem;margin-bottom:2.4rem}.time--inputs:before,.time--inputs:after{height:1px;right:0;left:0;background-color:var(--color-gray-300)}.time--inputs:before{top:-1.6rem}.time--inputs:after{bottom:-1.6rem}.font-bold{font-weight:700}.actions{display:flex;flex-direction:column;width:100%!important;row-gap:1rem}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: EcabsElementWrapperComponent, selector: "ecabs-element-wrapper", inputs: ["data", "showCloseIcon", "focusedFlag", "showPassword", "control"], outputs: ["showHidePassword", "clear", "increase", "decrease"] }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i6.MatDatepicker, selector: "mat-datepicker", exportAs: ["matDatepicker"] }, { kind: "directive", type: i6.MatDatepickerInput, selector: "input[matDatepicker]", inputs: ["matDatepicker", "min", "max", "matDatepickerFilter"], exportAs: ["matDatepickerInput"] }, { kind: "component", type: i6.MatDatepickerToggle, selector: "mat-datepicker-toggle", inputs: ["for", "tabIndex", "aria-label", "disabled", "disableRipple"], exportAs: ["matDatepickerToggle"] }, { kind: "directive", type: i6.MatDatepickerToggleIcon, selector: "[matDatepickerToggleIcon]" }, { kind: "component", type: i6.MatDatepickerActions, selector: "mat-datepicker-actions, mat-date-range-picker-actions" }, { kind: "directive", type: i3.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: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: EcabsDigitsOnlyDirective, selector: "[ecabsDigitsOnly]", inputs: ["digitsOnly", "allowHyphen", "allowRange", "decimal", "decimalSeparator", "unit"] }, { kind: "directive", type: EcabsNumberBorderDirective, selector: "[ecabsNumberBorder]", inputs: ["maxValue", "minValue"] }, { kind: "directive", type: EcabsMaskDateDirective, selector: "[ecabsMaskDate]", inputs: ["isDateTimeMask", "considerSeconds"] }, { kind: "component", type: EcabsDatePickerActionsComponent, selector: "ecabs-date-picker-actions", inputs: ["cancelLabel", "applyLabel", "isDateRange", "disabledApplyButton"], outputs: ["apply"] }, { kind: "directive", type: i7.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }] });
|
|
3320
3435
|
}
|
|
3321
3436
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EcabsDateTimePickerComponent, decorators: [{
|
|
3322
3437
|
type: Component,
|
|
@@ -4055,7 +4170,7 @@ class EcabsDateTimeRangePickerComponent extends EcabsElementBaseComponent {
|
|
|
4055
4170
|
},
|
|
4056
4171
|
DecimalPipe,
|
|
4057
4172
|
UnsubscribeService,
|
|
4058
|
-
], usesInheritance: true, ngImport: i0, template: "<ecabs-element-wrapper [data]=\"getData()\">\n <div class=\"form-field__input--wrapper w-full\">\n <input\n class=\"fake-input\"\n [id]=\"_date\"\n [(ngModel)]=\"_date\"\n [placeholder]=\"placeholder\"\n [disabled]=\"disabled || controlDate?.disabled\"\n [matDatepicker]=\"picker\"\n (blur)=\"onTouch()\"\n />\n <mat-datepicker\n (opened)=\"opened()\"\n #picker\n [calendarHeaderComponent]=\"header\"\n [touchUi]=\"touchUi\"\n >\n <mat-datepicker-actions>\n <div class=\"flex flex-col w-full gap-y-4\">\n <div class=\"flex gap-2 justify-center items-center\">\n <div class=\"flex flex-col justify-center\">\n <div class=\"text-center\">{{ from ?? translationConfig?.from }}</div>\n <div class=\"flex gap-2 justify-center items-center\">\n <input\n class=\"block form-field__input time\"\n ecabsDigitsOnly\n ecabsNumberBorder\n [digitsOnly]=\"true\"\n [id]=\"hoursFrom\"\n [maxValue]=\"maxValueHours\"\n [(ngModel)]=\"hoursFrom\"\n />\n\n <span class=\"font-bold\">:</span>\n <input\n class=\"form-field__input time\"\n [id]=\"minutesFrom\"\n [(ngModel)]=\"minutesFrom\"\n ecabsDigitsOnly\n ecabsNumberBorder\n [digitsOnly]=\"true\"\n [maxValue]=\"maxValueMinutesSeconds\"\n />\n </div>\n </div>\n </div>\n <div class=\"time--inputs\"></div>\n <div class=\"flex gap-2 justify-center items-center mb-5\">\n <div class=\"flex flex-col justify-center\">\n <div class=\"text-center\">{{ to ?? translationConfig?.to }}</div>\n <div class=\"flex gap-2 justify-center items-center\">\n <input\n class=\"form-field__input time\"\n ecabsDigitsOnly\n ecabsNumberBorder\n [digitsOnly]=\"true\"\n [id]=\"hoursTo\"\n [maxValue]=\"maxValueHours\"\n [(ngModel)]=\"hoursTo\"\n />\n <span class=\"font-bold\">:</span>\n <input\n class=\"form-field__input time\"\n [id]=\"minutesTo\"\n [(ngModel)]=\"minutesTo\"\n ecabsDigitsOnly\n ecabsNumberBorder\n [digitsOnly]=\"true\"\n [maxValue]=\"maxValueMinutesSeconds\"\n />\n </div>\n </div>\n </div>\n <ecabs-date-picker-actions [applyLabel]=\"applyLabel ?? translationConfig?.applyLabel\"\n [cancelLabel]=\"cancelLabel ?? translationConfig?.cancelLabel\"\n (apply)=\"onApply()\">\n </ecabs-date-picker-actions>\n </div>\n </mat-datepicker-actions>\n </mat-datepicker>\n <input\n class=\"form-field__input w-full date-input\"\n [id]=\"name\"\n [(ngModel)]=\"pickerValue\"\n placeholder=\"00:00 - 00:00\"\n [disabled]=\"disabled || controlDate?.disabled\"\n ecabsTime\n [all]=\"allLabel\"\n [timeRange]=\"true\"\n (blur)=\"onTouch()\"\n (blur)=\"blurChange($event)\"\n (keyup)=\"blurChange($event)\"\n (keydown)=\"keydownChange($event)\"\n />\n <button type=\"button\" class=\"text-gray-500 -translate-x-9\" (click)=\"picker.open()\">\n <mat-icon>access_time</mat-icon>\n </button>\n </div>\n</ecabs-element-wrapper>\n", styles: [".time--inputs:after{position:absolute;content:\"\"}.time{width:3.375rem}.fake-input{visibility:hidden;width:0;padding:0}.time--inputs{position:relative;margin-bottom:2.4rem}.time--inputs:after{height:1px;right:0;left:0;background-color:var(--color-gray-300);bottom:-1.6rem}:host ::ng-deep .form-field{margin-right:-1.25rem;margin-left:-.125rem}\n"], dependencies: [{ kind: "component", type: EcabsElementWrapperComponent, selector: "ecabs-element-wrapper", inputs: ["data", "showCloseIcon", "focusedFlag", "showPassword", "control"], outputs: ["showHidePassword", "clear", "increase", "decrease"] }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i6.MatDatepicker, selector: "mat-datepicker", exportAs: ["matDatepicker"] }, { kind: "directive", type: i6.MatDatepickerInput, selector: "input[matDatepicker]", inputs: ["matDatepicker", "min", "max", "matDatepickerFilter"], exportAs: ["matDatepickerInput"] }, { kind: "component", type: i6.MatDatepickerActions, selector: "mat-datepicker-actions, mat-date-range-picker-actions" }, { kind: "directive", type: i3.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: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: EcabsDigitsOnlyDirective, selector: "[ecabsDigitsOnly]", inputs: ["digitsOnly", "allowHyphen", "decimal", "decimalSeparator", "unit"] }, { kind: "directive", type: EcabsNumberBorderDirective, selector: "[ecabsNumberBorder]", inputs: ["maxValue", "minValue"] }, { kind: "component", type: EcabsDatePickerActionsComponent, selector: "ecabs-date-picker-actions", inputs: ["cancelLabel", "applyLabel", "isDateRange", "disabledApplyButton"], outputs: ["apply"] }, { kind: "directive", type: EcabsMaskTimeDirective, selector: "[ecabsTime]", inputs: ["timeRange", "all"] }] });
|
|
4173
|
+
], usesInheritance: true, ngImport: i0, template: "<ecabs-element-wrapper [data]=\"getData()\">\n <div class=\"form-field__input--wrapper w-full\">\n <input\n class=\"fake-input\"\n [id]=\"_date\"\n [(ngModel)]=\"_date\"\n [placeholder]=\"placeholder\"\n [disabled]=\"disabled || controlDate?.disabled\"\n [matDatepicker]=\"picker\"\n (blur)=\"onTouch()\"\n />\n <mat-datepicker\n (opened)=\"opened()\"\n #picker\n [calendarHeaderComponent]=\"header\"\n [touchUi]=\"touchUi\"\n >\n <mat-datepicker-actions>\n <div class=\"flex flex-col w-full gap-y-4\">\n <div class=\"flex gap-2 justify-center items-center\">\n <div class=\"flex flex-col justify-center\">\n <div class=\"text-center\">{{ from ?? translationConfig?.from }}</div>\n <div class=\"flex gap-2 justify-center items-center\">\n <input\n class=\"block form-field__input time\"\n ecabsDigitsOnly\n ecabsNumberBorder\n [digitsOnly]=\"true\"\n [id]=\"hoursFrom\"\n [maxValue]=\"maxValueHours\"\n [(ngModel)]=\"hoursFrom\"\n />\n\n <span class=\"font-bold\">:</span>\n <input\n class=\"form-field__input time\"\n [id]=\"minutesFrom\"\n [(ngModel)]=\"minutesFrom\"\n ecabsDigitsOnly\n ecabsNumberBorder\n [digitsOnly]=\"true\"\n [maxValue]=\"maxValueMinutesSeconds\"\n />\n </div>\n </div>\n </div>\n <div class=\"time--inputs\"></div>\n <div class=\"flex gap-2 justify-center items-center mb-5\">\n <div class=\"flex flex-col justify-center\">\n <div class=\"text-center\">{{ to ?? translationConfig?.to }}</div>\n <div class=\"flex gap-2 justify-center items-center\">\n <input\n class=\"form-field__input time\"\n ecabsDigitsOnly\n ecabsNumberBorder\n [digitsOnly]=\"true\"\n [id]=\"hoursTo\"\n [maxValue]=\"maxValueHours\"\n [(ngModel)]=\"hoursTo\"\n />\n <span class=\"font-bold\">:</span>\n <input\n class=\"form-field__input time\"\n [id]=\"minutesTo\"\n [(ngModel)]=\"minutesTo\"\n ecabsDigitsOnly\n ecabsNumberBorder\n [digitsOnly]=\"true\"\n [maxValue]=\"maxValueMinutesSeconds\"\n />\n </div>\n </div>\n </div>\n <ecabs-date-picker-actions [applyLabel]=\"applyLabel ?? translationConfig?.applyLabel\"\n [cancelLabel]=\"cancelLabel ?? translationConfig?.cancelLabel\"\n (apply)=\"onApply()\">\n </ecabs-date-picker-actions>\n </div>\n </mat-datepicker-actions>\n </mat-datepicker>\n <input\n class=\"form-field__input w-full date-input\"\n [id]=\"name\"\n [(ngModel)]=\"pickerValue\"\n placeholder=\"00:00 - 00:00\"\n [disabled]=\"disabled || controlDate?.disabled\"\n ecabsTime\n [all]=\"allLabel\"\n [timeRange]=\"true\"\n (blur)=\"onTouch()\"\n (blur)=\"blurChange($event)\"\n (keyup)=\"blurChange($event)\"\n (keydown)=\"keydownChange($event)\"\n />\n <button type=\"button\" class=\"text-gray-500 -translate-x-9\" (click)=\"picker.open()\">\n <mat-icon>access_time</mat-icon>\n </button>\n </div>\n</ecabs-element-wrapper>\n", styles: [".time--inputs:after{position:absolute;content:\"\"}.time{width:3.375rem}.fake-input{visibility:hidden;width:0;padding:0}.time--inputs{position:relative;margin-bottom:2.4rem}.time--inputs:after{height:1px;right:0;left:0;background-color:var(--color-gray-300);bottom:-1.6rem}:host ::ng-deep .form-field{margin-right:-1.25rem;margin-left:-.125rem}\n"], dependencies: [{ kind: "component", type: EcabsElementWrapperComponent, selector: "ecabs-element-wrapper", inputs: ["data", "showCloseIcon", "focusedFlag", "showPassword", "control"], outputs: ["showHidePassword", "clear", "increase", "decrease"] }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i6.MatDatepicker, selector: "mat-datepicker", exportAs: ["matDatepicker"] }, { kind: "directive", type: i6.MatDatepickerInput, selector: "input[matDatepicker]", inputs: ["matDatepicker", "min", "max", "matDatepickerFilter"], exportAs: ["matDatepickerInput"] }, { kind: "component", type: i6.MatDatepickerActions, selector: "mat-datepicker-actions, mat-date-range-picker-actions" }, { kind: "directive", type: i3.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: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: EcabsDigitsOnlyDirective, selector: "[ecabsDigitsOnly]", inputs: ["digitsOnly", "allowHyphen", "allowRange", "decimal", "decimalSeparator", "unit"] }, { kind: "directive", type: EcabsNumberBorderDirective, selector: "[ecabsNumberBorder]", inputs: ["maxValue", "minValue"] }, { kind: "component", type: EcabsDatePickerActionsComponent, selector: "ecabs-date-picker-actions", inputs: ["cancelLabel", "applyLabel", "isDateRange", "disabledApplyButton"], outputs: ["apply"] }, { kind: "directive", type: EcabsMaskTimeDirective, selector: "[ecabsTime]", inputs: ["timeRange", "all"] }] });
|
|
4059
4174
|
}
|
|
4060
4175
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EcabsDateTimeRangePickerComponent, decorators: [{
|
|
4061
4176
|
type: Component,
|
|
@@ -4215,7 +4330,7 @@ class EcabsIncrementComponent extends EcabsElementBaseComponent {
|
|
|
4215
4330
|
useExisting: EcabsIncrementComponent,
|
|
4216
4331
|
multi: true,
|
|
4217
4332
|
},
|
|
4218
|
-
], usesInheritance: true, ngImport: i0, template: "<ecabs-element-wrapper [data]=\"getData()\">\n <div class=\"form-field__input--wrapper\">\n <input ecabsDigitsOnly [digitsOnly]=\"digitsOnly\" [decimal]=\"allowDecimal\" [allowHyphen]=\"allowHyphen\"\n class=\"form-field__input\"\n [type]=\"type\"\n [id]=\"name\"\n [(ngModel)]=\"value\"\n [placeholder]=\"placeholder\"\n (blur)=\"onTouch()\"\n [disabled]=\"disabled\"\n [maxlength]=\"maxLength\"/>\n\n <div class=\"incrementor\">\n <mat-icon (click)=\"increment()\">add</mat-icon>\n <mat-icon (click)=\"decrement()\">remove</mat-icon>\n </div>\n </div>\n</ecabs-element-wrapper>\n", styles: [":root{--mat-standard-button-toggle-shape: calc-rem(8px);--mat-option-label-text-color: var(--color-gray-900);--mat-option-focus-state-layer-color: var(--color-gray-100);--mat-option-hover-state-layer-color: var(--color-gray-50);--mat-divider-color: var(--color-gray-100);--mat-select-placeholder-text-color: var(--color-gray-400);--color-black: #020618;--color-white: #ffffff;--color-white-opacity-05: rgba(0, 0, 0, .05);--color-gray-50: #F8FAFC;--color-gray-100: #F1F5F9;--color-gray-200: #E2E8F0;--color-gray-300: #CAD5E2;--color-gray-400: #90A1B9;--color-gray-500: #62748E;--color-gray-600: #45556C;--color-gray-700: #314158;--color-gray-800: #1D293D;--color-gray-900: #0F172B;--color-gray-950: #020618;--color-brand-dark: #193273;--color-brand-dark-rgb: 25, 50, 115;--color-brand-light: #325FDA;--color-brand-light2: #e7efff;--color-brand-light-rgb: 50, 95, 218;--color-brand-300: #e7efff;--color-brand-300-rgb: 231, 239, 255;--color-error: #bb032a;--color-error-opacity: #FFF0EE;--color-error-rgb: 223, 56, 56;--color-notification: #f4d04f;--color-notification-rgb: 244, 208, 79;--color-info: #325fda;--color-info-rgb: 50, 95, 218;--color-info-messages: #e3e9f3;--color-warning: #845201;--color-warning-opacity: #FDF2DC;--color-success: #166C3B;--color-success--opacity: #EAF6ED;--color-success-rgb: 7, 81, 69;--color-allocation-started: #E8F8E5;--color-allocation-scheduled: #FDF0E4;--color-allocation-ended: #FBE4E4;--color-allocation-sick: #E7EFFF;--color-allocation-no-show: #EAE5FF;--color-allocation-unavailable: #F2F2F2;--cropper-outline-color: rgba(0, 0, 0, .5);--mat-option-label-text-size: 13px}:host::ng-deep .incrementor{border-left:1px solid var(--color-gray-300);position:absolute;display:flex;flex-direction:column;top:1px;bottom:1px;right:1px}:host::ng-deep .incrementor .mat-icon{font-size:20px;font-size:1.25rem;margin-right:0;line-height:20px;cursor:pointer;text-align:center;flex:1}:host::ng-deep .incrementor .mat-icon:first-of-type{border-bottom:1px solid var(--color-gray-300)}:host::ng-deep .incrementor .mat-icon:hover{color:var(--color-brand-dark)}:host::ng-deep .form-field>div{line-height:1}\n"], dependencies: [{ kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: EcabsElementWrapperComponent, selector: "ecabs-element-wrapper", inputs: ["data", "showCloseIcon", "focusedFlag", "showPassword", "control"], outputs: ["showHidePassword", "clear", "increase", "decrease"] }, { kind: "directive", type: i3.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: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: EcabsDigitsOnlyDirective, selector: "[ecabsDigitsOnly]", inputs: ["digitsOnly", "allowHyphen", "decimal", "decimalSeparator", "unit"] }] });
|
|
4333
|
+
], usesInheritance: true, ngImport: i0, template: "<ecabs-element-wrapper [data]=\"getData()\">\n <div class=\"form-field__input--wrapper\">\n <input ecabsDigitsOnly [digitsOnly]=\"digitsOnly\" [decimal]=\"allowDecimal\" [allowHyphen]=\"allowHyphen\"\n class=\"form-field__input\"\n [type]=\"type\"\n [id]=\"name\"\n [(ngModel)]=\"value\"\n [placeholder]=\"placeholder\"\n (blur)=\"onTouch()\"\n [disabled]=\"disabled\"\n [maxlength]=\"maxLength\"/>\n\n <div class=\"incrementor\">\n <mat-icon (click)=\"increment()\">add</mat-icon>\n <mat-icon (click)=\"decrement()\">remove</mat-icon>\n </div>\n </div>\n</ecabs-element-wrapper>\n", styles: [":root{--mat-standard-button-toggle-shape: calc-rem(8px);--mat-option-label-text-color: var(--color-gray-900);--mat-option-focus-state-layer-color: var(--color-gray-100);--mat-option-hover-state-layer-color: var(--color-gray-50);--mat-divider-color: var(--color-gray-100);--mat-select-placeholder-text-color: var(--color-gray-400);--color-black: #020618;--color-white: #ffffff;--color-white-opacity-05: rgba(0, 0, 0, .05);--color-gray-50: #F8FAFC;--color-gray-100: #F1F5F9;--color-gray-200: #E2E8F0;--color-gray-300: #CAD5E2;--color-gray-400: #90A1B9;--color-gray-500: #62748E;--color-gray-600: #45556C;--color-gray-700: #314158;--color-gray-800: #1D293D;--color-gray-900: #0F172B;--color-gray-950: #020618;--color-brand-dark: #193273;--color-brand-dark-rgb: 25, 50, 115;--color-brand-light: #325FDA;--color-brand-light2: #e7efff;--color-brand-light-rgb: 50, 95, 218;--color-brand-300: #e7efff;--color-brand-300-rgb: 231, 239, 255;--color-error: #bb032a;--color-error-opacity: #FFF0EE;--color-error-rgb: 223, 56, 56;--color-notification: #f4d04f;--color-notification-rgb: 244, 208, 79;--color-info: #325fda;--color-info-rgb: 50, 95, 218;--color-info-messages: #e3e9f3;--color-warning: #845201;--color-warning-opacity: #FDF2DC;--color-success: #166C3B;--color-success--opacity: #EAF6ED;--color-success-rgb: 7, 81, 69;--color-allocation-started: #E8F8E5;--color-allocation-scheduled: #FDF0E4;--color-allocation-ended: #FBE4E4;--color-allocation-sick: #E7EFFF;--color-allocation-no-show: #EAE5FF;--color-allocation-unavailable: #F2F2F2;--cropper-outline-color: rgba(0, 0, 0, .5);--mat-option-label-text-size: 13px}:host::ng-deep .incrementor{border-left:1px solid var(--color-gray-300);position:absolute;display:flex;flex-direction:column;top:1px;bottom:1px;right:1px}:host::ng-deep .incrementor .mat-icon{font-size:20px;font-size:1.25rem;margin-right:0;line-height:20px;cursor:pointer;text-align:center;flex:1}:host::ng-deep .incrementor .mat-icon:first-of-type{border-bottom:1px solid var(--color-gray-300)}:host::ng-deep .incrementor .mat-icon:hover{color:var(--color-brand-dark)}:host::ng-deep .form-field>div{line-height:1}\n"], dependencies: [{ kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: EcabsElementWrapperComponent, selector: "ecabs-element-wrapper", inputs: ["data", "showCloseIcon", "focusedFlag", "showPassword", "control"], outputs: ["showHidePassword", "clear", "increase", "decrease"] }, { kind: "directive", type: i3.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: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: EcabsDigitsOnlyDirective, selector: "[ecabsDigitsOnly]", inputs: ["digitsOnly", "allowHyphen", "allowRange", "decimal", "decimalSeparator", "unit"] }] });
|
|
4219
4334
|
}
|
|
4220
4335
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EcabsIncrementComponent, decorators: [{
|
|
4221
4336
|
type: Component,
|
|
@@ -8681,7 +8796,7 @@ class EcabsDialogConfirmationDeletionComponent {
|
|
|
8681
8796
|
this.dialogRef.close(false);
|
|
8682
8797
|
}
|
|
8683
8798
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EcabsDialogConfirmationDeletionComponent, deps: [{ token: i1$2.MatDialogRef }, { token: MAT_DIALOG_DATA }, { token: i3.UntypedFormBuilder }, { token: EcabsComponentsService }, { token: i0.DestroyRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
8684
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: EcabsDialogConfirmationDeletionComponent, selector: "ecabs-dialog-confirm-deletion", ngImport: i0, template: "<div class=\"p-6\">\n <h3 class=\"modal-title font-semibold\" [ngClass]=\"(data?.color || color) === 'primary' ? 'primary' : 'warn'\">\n {{ data.actionName }} {{ data.showEntityNameInHeader ? (data.entityName | lowercase) : '' }}\n </h3>\n <div class=\"mt-1\">\n <div class=\"alert-item\" *ngIf=\"data.alertText && data.alertText.length > 0\">\n <span class=\"alert-text\">\n {{ data.alertText }}\n </span>\n </div>\n\n <form [formGroup]=\"form\" class=\"mt-1\">\n <ecabs-input\n [placeholder]=\"data.entityNamePlaceholder\"\n [label]=\"data.entityNameLabel\"\n name=\"name\"\n formControlName=\"name\"\n ></ecabs-input>\n </form>\n </div>\n\n <div class=\"btn__group flex flex-row gap-x-4 justify-end\">\n <ecabs-buttons class=\"grow\" [style]=\"'stroked'\" (click)=\"onCancel()\">\n {{ data?.cancelLabel }}\n </ecabs-buttons>\n\n <ecabs-buttons\n class=\"grow\"\n [color]=\"data?.color || color\"\n (click)=\"onConfirm()\"\n [disabled]=\"form.value.name !== data.comparisonText\"\n >\n {{ data?.confirmLabel }}\n </ecabs-buttons>\n </div>\n</div>\n", styles: [".modal-title{font-size:22px}:host ::ng-deep button{width:100%!important}.primary{color:var(--color-brand-dark)}.warn{color:var(--color-error)}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i3.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i3.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: ButtonsComponent, selector: "ecabs-buttons", inputs: ["disabled", "loading", "size", "type", "style", "full", "color"] }, { kind: "component", type: EcabsInputComponent, selector: "ecabs-input", inputs: ["digitsOnly", "allowDecimal", "allowHyphen", "max", "mini", "maxi", "step"], outputs: ["onblur"] }, { kind: "pipe", type: i1.LowerCasePipe, name: "lowercase" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
8799
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: EcabsDialogConfirmationDeletionComponent, selector: "ecabs-dialog-confirm-deletion", ngImport: i0, template: "<div class=\"p-6\">\n <h3 class=\"modal-title font-semibold\" [ngClass]=\"(data?.color || color) === 'primary' ? 'primary' : 'warn'\">\n {{ data.actionName }} {{ data.showEntityNameInHeader ? (data.entityName | lowercase) : '' }}\n </h3>\n <div class=\"mt-1\">\n <div class=\"alert-item\" *ngIf=\"data.alertText && data.alertText.length > 0\">\n <span class=\"alert-text\">\n {{ data.alertText }}\n </span>\n </div>\n\n <form [formGroup]=\"form\" class=\"mt-1\">\n <ecabs-input\n [placeholder]=\"data.entityNamePlaceholder\"\n [label]=\"data.entityNameLabel\"\n name=\"name\"\n formControlName=\"name\"\n ></ecabs-input>\n </form>\n </div>\n\n <div class=\"btn__group flex flex-row gap-x-4 justify-end\">\n <ecabs-buttons class=\"grow\" [style]=\"'stroked'\" (click)=\"onCancel()\">\n {{ data?.cancelLabel }}\n </ecabs-buttons>\n\n <ecabs-buttons\n class=\"grow\"\n [color]=\"data?.color || color\"\n (click)=\"onConfirm()\"\n [disabled]=\"form.value.name !== data.comparisonText\"\n >\n {{ data?.confirmLabel }}\n </ecabs-buttons>\n </div>\n</div>\n", styles: [".modal-title{font-size:22px}:host ::ng-deep button{width:100%!important}.primary{color:var(--color-brand-dark)}.warn{color:var(--color-error)}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i3.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i3.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: ButtonsComponent, selector: "ecabs-buttons", inputs: ["disabled", "loading", "size", "type", "style", "full", "color"] }, { kind: "component", type: EcabsInputComponent, selector: "ecabs-input", inputs: ["digitsOnly", "allowDecimal", "allowHyphen", "allowRange", "max", "mini", "maxi", "step"], outputs: ["onblur"] }, { kind: "pipe", type: i1.LowerCasePipe, name: "lowercase" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
8685
8800
|
}
|
|
8686
8801
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EcabsDialogConfirmationDeletionComponent, decorators: [{
|
|
8687
8802
|
type: Component,
|
|
@@ -8947,6 +9062,8 @@ class EcabsChipGroupComponent {
|
|
|
8947
9062
|
multiple = true;
|
|
8948
9063
|
disableRipple = true;
|
|
8949
9064
|
truncateAt = 18;
|
|
9065
|
+
compareFn = Object.is;
|
|
9066
|
+
trackByFn = (_, option) => option;
|
|
8950
9067
|
selectedChange = new EventEmitter();
|
|
8951
9068
|
_value = signal(null);
|
|
8952
9069
|
isDisabled = signal(false);
|
|
@@ -8971,13 +9088,13 @@ class EcabsChipGroupComponent {
|
|
|
8971
9088
|
onChange = () => { };
|
|
8972
9089
|
onTouched = () => { };
|
|
8973
9090
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EcabsChipGroupComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
8974
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: EcabsChipGroupComponent, selector: "ecabs-chip-group", inputs: { options: "options", multiple: "multiple", disableRipple: "disableRipple", truncateAt: "truncateAt" }, outputs: { selectedChange: "selectedChange" }, providers: [
|
|
9091
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: EcabsChipGroupComponent, selector: "ecabs-chip-group", inputs: { options: "options", multiple: "multiple", disableRipple: "disableRipple", truncateAt: "truncateAt", compareFn: "compareFn", trackByFn: "trackByFn" }, outputs: { selectedChange: "selectedChange" }, providers: [
|
|
8975
9092
|
{
|
|
8976
9093
|
provide: NG_VALUE_ACCESSOR,
|
|
8977
9094
|
useExisting: forwardRef(() => EcabsChipGroupComponent),
|
|
8978
9095
|
multi: true,
|
|
8979
9096
|
},
|
|
8980
|
-
], ngImport: i0, template: "<mat-chip-listbox [multiple]=\"multiple\"\n [disabled]=\"isDisabled()\"\n [ngModel]=\"_value()\"\n (ngModelChange)=\"chipValueChange($event)\">\n <mat-chip-option *ngFor=\"let option of options\"\n [value]=\"option.value\"\n [disabled]=\"option.disabled\"\n [disableRipple]=\"disableRipple\">\n <ng-container *ngIf=\"option?.label as label\">\n <span [matTooltip]=\"label\"\n [matTooltipDisabled]=\"label.length <= truncateAt\">\n {{ label | truncate: truncateAt }}\n </span>\n </ng-container>\n </mat-chip-option>\n</mat-chip-listbox>\n", styles: [""], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2$3.MatChipListbox, selector: "mat-chip-listbox", inputs: ["tabIndex", "multiple", "aria-orientation", "selectable", "compareWith", "required", "hideSingleSelectionIndicator", "value"], outputs: ["change"] }, { kind: "component", type: i2$3.MatChipOption, selector: "mat-basic-chip-option, [mat-basic-chip-option], mat-chip-option, [mat-chip-option]", inputs: ["color", "disabled", "disableRipple", "tabIndex", "selectable", "selected"], outputs: ["selectionChange"] }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i1$1.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }, { kind: "pipe", type: EcabsTruncatePipe, name: "truncate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
9097
|
+
], ngImport: i0, template: "<mat-chip-listbox [multiple]=\"multiple\"\n [compareWith]=\"compareFn\"\n [disabled]=\"isDisabled()\"\n [ngModel]=\"_value()\"\n (ngModelChange)=\"chipValueChange($event)\">\n <mat-chip-option *ngFor=\"let option of options; trackBy: trackByFn\"\n [value]=\"option.value\"\n [disabled]=\"option.disabled\"\n [disableRipple]=\"disableRipple\">\n <ng-container *ngIf=\"option?.label as label\">\n <span [matTooltip]=\"label\"\n [matTooltipDisabled]=\"label.length <= truncateAt\">\n {{ label | truncate: truncateAt }}\n </span>\n </ng-container>\n </mat-chip-option>\n</mat-chip-listbox>\n", styles: [""], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2$3.MatChipListbox, selector: "mat-chip-listbox", inputs: ["tabIndex", "multiple", "aria-orientation", "selectable", "compareWith", "required", "hideSingleSelectionIndicator", "value"], outputs: ["change"] }, { kind: "component", type: i2$3.MatChipOption, selector: "mat-basic-chip-option, [mat-basic-chip-option], mat-chip-option, [mat-chip-option]", inputs: ["color", "disabled", "disableRipple", "tabIndex", "selectable", "selected"], outputs: ["selectionChange"] }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i1$1.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }, { kind: "pipe", type: EcabsTruncatePipe, name: "truncate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
8981
9098
|
}
|
|
8982
9099
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EcabsChipGroupComponent, decorators: [{
|
|
8983
9100
|
type: Component,
|
|
@@ -8987,7 +9104,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
8987
9104
|
useExisting: forwardRef(() => EcabsChipGroupComponent),
|
|
8988
9105
|
multi: true,
|
|
8989
9106
|
},
|
|
8990
|
-
], changeDetection: ChangeDetectionStrategy.OnPush, template: "<mat-chip-listbox [multiple]=\"multiple\"\n [disabled]=\"isDisabled()\"\n [ngModel]=\"_value()\"\n (ngModelChange)=\"chipValueChange($event)\">\n <mat-chip-option *ngFor=\"let option of options\"\n [value]=\"option.value\"\n [disabled]=\"option.disabled\"\n [disableRipple]=\"disableRipple\">\n <ng-container *ngIf=\"option?.label as label\">\n <span [matTooltip]=\"label\"\n [matTooltipDisabled]=\"label.length <= truncateAt\">\n {{ label | truncate: truncateAt }}\n </span>\n </ng-container>\n </mat-chip-option>\n</mat-chip-listbox>\n" }]
|
|
9107
|
+
], changeDetection: ChangeDetectionStrategy.OnPush, template: "<mat-chip-listbox [multiple]=\"multiple\"\n [compareWith]=\"compareFn\"\n [disabled]=\"isDisabled()\"\n [ngModel]=\"_value()\"\n (ngModelChange)=\"chipValueChange($event)\">\n <mat-chip-option *ngFor=\"let option of options; trackBy: trackByFn\"\n [value]=\"option.value\"\n [disabled]=\"option.disabled\"\n [disableRipple]=\"disableRipple\">\n <ng-container *ngIf=\"option?.label as label\">\n <span [matTooltip]=\"label\"\n [matTooltipDisabled]=\"label.length <= truncateAt\">\n {{ label | truncate: truncateAt }}\n </span>\n </ng-container>\n </mat-chip-option>\n</mat-chip-listbox>\n" }]
|
|
8991
9108
|
}], propDecorators: { options: [{
|
|
8992
9109
|
type: Input
|
|
8993
9110
|
}], multiple: [{
|
|
@@ -8996,6 +9113,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
8996
9113
|
type: Input
|
|
8997
9114
|
}], truncateAt: [{
|
|
8998
9115
|
type: Input
|
|
9116
|
+
}], compareFn: [{
|
|
9117
|
+
type: Input
|
|
9118
|
+
}], trackByFn: [{
|
|
9119
|
+
type: Input
|
|
8999
9120
|
}], selectedChange: [{
|
|
9000
9121
|
type: Output
|
|
9001
9122
|
}] } });
|