@klippa/ngx-enhancy-forms 18.25.7 → 18.26.0
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/esm2022/lib/elements/date-picker/date-picker.component.mjs +1 -1
- package/esm2022/lib/elements/date-time-picker/date-time-picker.component.mjs +12 -4
- package/esm2022/lib/elements/text-area/text-area.component.mjs +23 -0
- package/esm2022/lib/elements/value-accessor-base/value-accessor-base.component.mjs +22 -4
- package/esm2022/lib/form/form-element/form-element.component.mjs +2 -2
- package/esm2022/lib/form/form.component.mjs +37 -2
- package/esm2022/lib/ngx-enhancy-forms.module.mjs +6 -1
- package/esm2022/public-api.mjs +3 -1
- package/fesm2022/klippa-ngx-enhancy-forms.mjs +92 -10
- package/fesm2022/klippa-ngx-enhancy-forms.mjs.map +1 -1
- package/lib/elements/date-time-picker/date-time-picker.component.d.ts +3 -1
- package/lib/elements/text-area/text-area.component.d.ts +9 -0
- package/lib/elements/value-accessor-base/value-accessor-base.component.d.ts +2 -0
- package/lib/form/form.component.d.ts +3 -1
- package/lib/ngx-enhancy-forms.module.d.ts +20 -19
- package/package.json +1 -1
- package/public-api.d.ts +2 -0
|
@@ -165,6 +165,7 @@ class FormComponent {
|
|
|
165
165
|
this.showErrorMessages = true;
|
|
166
166
|
this.errorMessageLocation = 'belowCaption';
|
|
167
167
|
this.warnings = new Map();
|
|
168
|
+
this.immutableValues = new Map();
|
|
168
169
|
this.errors = new Map();
|
|
169
170
|
this.allowSubmitOn = 'buttonAndEnter';
|
|
170
171
|
this.onInjected = new EventEmitter();
|
|
@@ -213,6 +214,15 @@ class FormComponent {
|
|
|
213
214
|
if (simpleChanges.readOnly?.currentValue === true) {
|
|
214
215
|
this.activeControls.forEach(e => e.formControl.disable());
|
|
215
216
|
}
|
|
217
|
+
if (isValueSet(simpleChanges.immutableValues?.currentValue)) {
|
|
218
|
+
simpleChanges.immutableValues?.previousValue?.forEach((value, key) => {
|
|
219
|
+
this.getFormElementByFormControl(key)?.getAttachedInput().setImmutableValue(undefined);
|
|
220
|
+
});
|
|
221
|
+
simpleChanges.immutableValues?.currentValue.forEach((value, key) => {
|
|
222
|
+
this.getFormElementByFormControl(key)?.getAttachedInput().setImmutableValue(value);
|
|
223
|
+
});
|
|
224
|
+
this.patchImmutableValuesMap();
|
|
225
|
+
}
|
|
216
226
|
if (isValueSet(simpleChanges.warnings?.currentValue)) {
|
|
217
227
|
this.patchFormWarningsMap();
|
|
218
228
|
}
|
|
@@ -236,6 +246,25 @@ class FormComponent {
|
|
|
236
246
|
}
|
|
237
247
|
}
|
|
238
248
|
}
|
|
249
|
+
patchImmutableValuesMap() {
|
|
250
|
+
const setFn = this.immutableValues.set;
|
|
251
|
+
this.immutableValues.set = (key, value) => {
|
|
252
|
+
console.log('calling set', key, value);
|
|
253
|
+
const prevVal = this.immutableValues.get(key);
|
|
254
|
+
const result = setFn.call(this.immutableValues, key, value);
|
|
255
|
+
if (prevVal !== value) {
|
|
256
|
+
console.log('setting immutable value', key, value);
|
|
257
|
+
this.getFormElementByFormControl(key)?.getAttachedInput().setImmutableValue(value);
|
|
258
|
+
}
|
|
259
|
+
return result;
|
|
260
|
+
};
|
|
261
|
+
const deleteFn = this.immutableValues.delete;
|
|
262
|
+
this.immutableValues.delete = (key) => {
|
|
263
|
+
const result = deleteFn.call(this.immutableValues, key);
|
|
264
|
+
this.getFormElementByFormControl(key)?.getAttachedInput().setImmutableValue(undefined);
|
|
265
|
+
return result;
|
|
266
|
+
};
|
|
267
|
+
}
|
|
239
268
|
patchFormWarningsMap() {
|
|
240
269
|
const setFn = this.warnings.set;
|
|
241
270
|
this.warnings.set = (key, value) => {
|
|
@@ -299,6 +328,10 @@ class FormComponent {
|
|
|
299
328
|
enableFn.call(formControl, opts);
|
|
300
329
|
}
|
|
301
330
|
};
|
|
331
|
+
const value = this.immutableValues?.get(formControl);
|
|
332
|
+
if (isValueSet(value)) {
|
|
333
|
+
formElement.getAttachedInput().setImmutableValue(value);
|
|
334
|
+
}
|
|
302
335
|
}
|
|
303
336
|
unregisterControl(formControl) {
|
|
304
337
|
this.activeControls = this.activeControls.filter((e) => e.formControl !== formControl);
|
|
@@ -444,7 +477,7 @@ class FormComponent {
|
|
|
444
477
|
});
|
|
445
478
|
}
|
|
446
479
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: FormComponent, deps: [{ token: FormComponent, optional: true, skipSelf: true }, { token: SubFormDirective, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
447
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.0", type: FormComponent, selector: "klp-form", inputs: { readOnly: "readOnly", showErrorMessages: "showErrorMessages", errorMessageLocation: "errorMessageLocation", formGroup: "formGroup", formArray: "formArray", warnings: "warnings", errors: "errors", patchValueInterceptor: "patchValueInterceptor", allowSubmitOn: "allowSubmitOn" }, outputs: { onInjected: "onInjected" }, usesOnChanges: true, ngImport: i0, template: "<form>\n\t<ng-content></ng-content>\n</form>\n\n\n", styles: [":host{display:block}:host.row{display:flex}:host form{height:inherit}\n"], dependencies: [{ kind: "directive", type: i2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2.NgForm, selector: "form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }] }); }
|
|
480
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.0", type: FormComponent, selector: "klp-form", inputs: { readOnly: "readOnly", showErrorMessages: "showErrorMessages", errorMessageLocation: "errorMessageLocation", formGroup: "formGroup", formArray: "formArray", warnings: "warnings", immutableValues: "immutableValues", errors: "errors", patchValueInterceptor: "patchValueInterceptor", allowSubmitOn: "allowSubmitOn" }, outputs: { onInjected: "onInjected" }, usesOnChanges: true, ngImport: i0, template: "<form>\n\t<ng-content></ng-content>\n</form>\n\n\n", styles: [":host{display:block}:host.row{display:flex}:host form{height:inherit}\n"], dependencies: [{ kind: "directive", type: i2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2.NgForm, selector: "form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }] }); }
|
|
448
481
|
}
|
|
449
482
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: FormComponent, decorators: [{
|
|
450
483
|
type: Component,
|
|
@@ -467,6 +500,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImpor
|
|
|
467
500
|
type: Input
|
|
468
501
|
}], warnings: [{
|
|
469
502
|
type: Input
|
|
503
|
+
}], immutableValues: [{
|
|
504
|
+
type: Input
|
|
470
505
|
}], errors: [{
|
|
471
506
|
type: Input
|
|
472
507
|
}], patchValueInterceptor: [{
|
|
@@ -626,8 +661,8 @@ class FormElementComponent {
|
|
|
626
661
|
}
|
|
627
662
|
registerControl(formControl, input = null) {
|
|
628
663
|
this.attachedControl = formControl;
|
|
629
|
-
this.parent.registerControl(formControl, this);
|
|
630
664
|
this.input = input;
|
|
665
|
+
this.parent.registerControl(formControl, this);
|
|
631
666
|
const subscription = this.attachedControl.statusChanges.subscribe(() => {
|
|
632
667
|
this.determinePopupState();
|
|
633
668
|
});
|
|
@@ -880,6 +915,7 @@ class ValueAccessorBase {
|
|
|
880
915
|
this.changed = new Array();
|
|
881
916
|
this.touched = new Array();
|
|
882
917
|
this.prevValue = null;
|
|
918
|
+
this.immutableValue = undefined;
|
|
883
919
|
this.disabled = false;
|
|
884
920
|
// we support both providing just the formControlName and the full formControl
|
|
885
921
|
this.formControlName = null;
|
|
@@ -922,6 +958,12 @@ class ValueAccessorBase {
|
|
|
922
958
|
this.parent?.registerControl(this.attachedFormControl, this);
|
|
923
959
|
}
|
|
924
960
|
}
|
|
961
|
+
setImmutableValue(value) {
|
|
962
|
+
this.immutableValue = value;
|
|
963
|
+
if (value !== undefined) {
|
|
964
|
+
this.writeValue(value);
|
|
965
|
+
}
|
|
966
|
+
}
|
|
925
967
|
isInErrorState() {
|
|
926
968
|
if (this.inErrorState) {
|
|
927
969
|
return true;
|
|
@@ -938,8 +980,13 @@ class ValueAccessorBase {
|
|
|
938
980
|
this.onTouch.emit();
|
|
939
981
|
}
|
|
940
982
|
writeValue(value) {
|
|
941
|
-
this.innerValue = value;
|
|
942
983
|
this.prevValue = value;
|
|
984
|
+
if (this.immutableValue !== undefined) {
|
|
985
|
+
this.innerValue = this.immutableValue;
|
|
986
|
+
}
|
|
987
|
+
else {
|
|
988
|
+
this.innerValue = value;
|
|
989
|
+
}
|
|
943
990
|
}
|
|
944
991
|
registerOnChange(fn) {
|
|
945
992
|
this.changed.push(fn);
|
|
@@ -949,9 +996,15 @@ class ValueAccessorBase {
|
|
|
949
996
|
}
|
|
950
997
|
setInnerValueAndNotify(value) {
|
|
951
998
|
const actuallySetValue = (valueToSet) => {
|
|
952
|
-
this.innerValue = valueToSet;
|
|
953
999
|
this.prevValue = valueToSet;
|
|
954
|
-
this.
|
|
1000
|
+
if (this.immutableValue !== undefined) {
|
|
1001
|
+
this.innerValue = this.immutableValue;
|
|
1002
|
+
this.changed.forEach((fn) => fn(this.immutableValue));
|
|
1003
|
+
}
|
|
1004
|
+
else {
|
|
1005
|
+
this.innerValue = valueToSet;
|
|
1006
|
+
this.changed.forEach((fn) => fn(valueToSet));
|
|
1007
|
+
}
|
|
955
1008
|
};
|
|
956
1009
|
if (isValueSet(this.innerValueChangeInterceptor)) {
|
|
957
1010
|
this.latestInnerValueChangedInterceptorPromise = this.innerValueChangeInterceptor(this.prevValue, value);
|
|
@@ -1984,6 +2037,8 @@ class DateTimePickerComponent extends MultipleValueAccessorBase {
|
|
|
1984
2037
|
this.format = 'dd-MM-yyyy';
|
|
1985
2038
|
this.clearable = false;
|
|
1986
2039
|
this.showTimeInput = true;
|
|
2040
|
+
this.initHour = null;
|
|
2041
|
+
this.initMinute = null;
|
|
1987
2042
|
this.invalidTimeAsMidnight = false; // if the time is not valid, use 00:00 as the time
|
|
1988
2043
|
this.openPickerOnDate = null;
|
|
1989
2044
|
this.minDateStartOfDay = undefined;
|
|
@@ -2014,6 +2069,8 @@ class DateTimePickerComponent extends MultipleValueAccessorBase {
|
|
|
2014
2069
|
this.placeholder = '';
|
|
2015
2070
|
this.showTimeInput = false;
|
|
2016
2071
|
}
|
|
2072
|
+
this.hours = this.initHour;
|
|
2073
|
+
this.minutes = this.initMinute;
|
|
2017
2074
|
}
|
|
2018
2075
|
ngAfterViewInit() {
|
|
2019
2076
|
if (this.multiple) {
|
|
@@ -2172,8 +2229,8 @@ class DateTimePickerComponent extends MultipleValueAccessorBase {
|
|
|
2172
2229
|
this.openPickerOnDate = value;
|
|
2173
2230
|
}
|
|
2174
2231
|
else {
|
|
2175
|
-
this.hours = '';
|
|
2176
|
-
this.minutes = '';
|
|
2232
|
+
this.hours = this.initHour ?? '';
|
|
2233
|
+
this.minutes = this.initMinute ?? '';
|
|
2177
2234
|
this.openPickerOnDate = null;
|
|
2178
2235
|
this.selectedDates = [];
|
|
2179
2236
|
}
|
|
@@ -2246,7 +2303,7 @@ class DateTimePickerComponent extends MultipleValueAccessorBase {
|
|
|
2246
2303
|
return this.translations?.[key]?.(params) ?? this.getDefaultTranslation(key)(params);
|
|
2247
2304
|
}
|
|
2248
2305
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: DateTimePickerComponent, deps: [{ token: FormElementComponent, host: true, optional: true }, { token: i2.ControlContainer, host: true, optional: true }, { token: DATE_TIME_PICKER_TRANSLATIONS, optional: true }, { token: DATE_PICKER_LOCALE, optional: true }, { token: i3.DateAdapter }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
2249
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.0", type: DateTimePickerComponent, selector: "klp-form-date-time-picker", inputs: { minDate: "minDate", maxDate: "maxDate", sameMonthOnly: "sameMonthOnly", format: "format", placeholder: "placeholder", clearable: "clearable", showTimeInput: "showTimeInput", invalidTimeAsMidnight: "invalidTimeAsMidnight" }, providers: [
|
|
2306
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.0", type: DateTimePickerComponent, selector: "klp-form-date-time-picker", inputs: { minDate: "minDate", maxDate: "maxDate", sameMonthOnly: "sameMonthOnly", format: "format", placeholder: "placeholder", clearable: "clearable", showTimeInput: "showTimeInput", initHour: "initHour", initMinute: "initMinute", invalidTimeAsMidnight: "invalidTimeAsMidnight" }, providers: [
|
|
2250
2307
|
{ provide: NG_VALUE_ACCESSOR, useExisting: DateTimePickerComponent, multi: true },
|
|
2251
2308
|
{
|
|
2252
2309
|
provide: MAT_DATE_FORMATS,
|
|
@@ -2297,6 +2354,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImpor
|
|
|
2297
2354
|
type: Input
|
|
2298
2355
|
}], showTimeInput: [{
|
|
2299
2356
|
type: Input
|
|
2357
|
+
}], initHour: [{
|
|
2358
|
+
type: Input
|
|
2359
|
+
}], initMinute: [{
|
|
2360
|
+
type: Input
|
|
2300
2361
|
}], invalidTimeAsMidnight: [{
|
|
2301
2362
|
type: Input
|
|
2302
2363
|
}], nativeInputRef: [{
|
|
@@ -2372,7 +2433,7 @@ class DatePickerComponent extends MultipleValueAccessorBase {
|
|
|
2372
2433
|
return this.translations?.[key]?.(params) ?? this.getDefaultTranslation(key)(params);
|
|
2373
2434
|
}
|
|
2374
2435
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: DatePickerComponent, deps: [{ token: FormElementComponent, host: true, optional: true }, { token: i2.ControlContainer, host: true, optional: true }, { token: DATE_PICKER_TRANSLATIONS, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
2375
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.0", type: DatePickerComponent, selector: "klp-form-date-picker", inputs: { minDate: "minDate", maxDate: "maxDate", sameMonthOnly: "sameMonthOnly", format: "format", placeholder: "placeholder", clearable: "clearable" }, providers: [{ provide: NG_VALUE_ACCESSOR, useExisting: DatePickerComponent, multi: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"componentContainer\" [ngClass]=\"{showErrors: isInErrorState()}\">\n\t<klp-form-date-time-picker\n\t\t[multiple]=\"multiple\"\n\t\t[disabled]=\"disabled\"\n\t\t[(ngModel)]=\"dateValue\"\n\t\t(ngModelChange)=\"dateChanged($event)\"\n\t\t[minDate]=\"minDate\"\n\t\t[maxDate]=\"maxDate\"\n\t\t[sameMonthOnly]=\"sameMonthOnly\"\n\t\t[format]=\"format\"\n\t\t[placeholder]=\"getTranslation('placeholder')\"\n\t\t[clearable]=\"clearable\"\n\t\t[showTimeInput]=\"false\"\n\t\t(onTouch)=\"touch()\"\n\t></klp-form-date-time-picker>\n\t<div class=\"tail\">\n\t\t<ng-container [ngTemplateOutlet]=\"getTailTpl()\"></ng-container>\n\t</div>\n</div>\n", styles: [":host{display:block;--mdc-icon-button-icon-size: 18px}.componentContainer{position:relative}.componentContainer ::ng-deep .mdc-text-field__input::placeholder{color:#aaa!important}.componentContainer.showErrors ::ng-deep klp-form-date-time-picker .dateContainer,.componentContainer.showErrors ::ng-deep klp-form-date-time-picker .clearButton{border-color:#ff8000}.tail{position:absolute;right:.625rem;display:flex;align-items:center;top:0;bottom:0}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: DateTimePickerComponent, selector: "klp-form-date-time-picker", inputs: ["minDate", "maxDate", "sameMonthOnly", "format", "placeholder", "clearable", "showTimeInput", "invalidTimeAsMidnight"] }] }); }
|
|
2436
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.0", type: DatePickerComponent, selector: "klp-form-date-picker", inputs: { minDate: "minDate", maxDate: "maxDate", sameMonthOnly: "sameMonthOnly", format: "format", placeholder: "placeholder", clearable: "clearable" }, providers: [{ provide: NG_VALUE_ACCESSOR, useExisting: DatePickerComponent, multi: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"componentContainer\" [ngClass]=\"{showErrors: isInErrorState()}\">\n\t<klp-form-date-time-picker\n\t\t[multiple]=\"multiple\"\n\t\t[disabled]=\"disabled\"\n\t\t[(ngModel)]=\"dateValue\"\n\t\t(ngModelChange)=\"dateChanged($event)\"\n\t\t[minDate]=\"minDate\"\n\t\t[maxDate]=\"maxDate\"\n\t\t[sameMonthOnly]=\"sameMonthOnly\"\n\t\t[format]=\"format\"\n\t\t[placeholder]=\"getTranslation('placeholder')\"\n\t\t[clearable]=\"clearable\"\n\t\t[showTimeInput]=\"false\"\n\t\t(onTouch)=\"touch()\"\n\t></klp-form-date-time-picker>\n\t<div class=\"tail\">\n\t\t<ng-container [ngTemplateOutlet]=\"getTailTpl()\"></ng-container>\n\t</div>\n</div>\n", styles: [":host{display:block;--mdc-icon-button-icon-size: 18px}.componentContainer{position:relative}.componentContainer ::ng-deep .mdc-text-field__input::placeholder{color:#aaa!important}.componentContainer.showErrors ::ng-deep klp-form-date-time-picker .dateContainer,.componentContainer.showErrors ::ng-deep klp-form-date-time-picker .clearButton{border-color:#ff8000}.tail{position:absolute;right:.625rem;display:flex;align-items:center;top:0;bottom:0}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: DateTimePickerComponent, selector: "klp-form-date-time-picker", inputs: ["minDate", "maxDate", "sameMonthOnly", "format", "placeholder", "clearable", "showTimeInput", "initHour", "initMinute", "invalidTimeAsMidnight"] }] }); }
|
|
2376
2437
|
}
|
|
2377
2438
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: DatePickerComponent, decorators: [{
|
|
2378
2439
|
type: Component,
|
|
@@ -2826,6 +2887,23 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImpor
|
|
|
2826
2887
|
type: Input
|
|
2827
2888
|
}] } });
|
|
2828
2889
|
|
|
2890
|
+
class TextAreaComponent extends ValueAccessorBase {
|
|
2891
|
+
constructor() {
|
|
2892
|
+
super(...arguments);
|
|
2893
|
+
this.onBlur = new EventEmitter();
|
|
2894
|
+
}
|
|
2895
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: TextAreaComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
2896
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.0", type: TextAreaComponent, selector: "klp-form-text-area", inputs: { placeholder: "placeholder" }, outputs: { onBlur: "onBlur" }, providers: [{ provide: NG_VALUE_ACCESSOR, useExisting: TextAreaComponent, multi: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"componentContainer\">\n\t<textarea\n\t\t[(ngModel)]=\"innerValue\"\n\t\t[ngClass]=\"{showErrors: isInErrorState()}\"\n\t\t(input)=\"setInnerValueAndNotify($event.target.value)\"\n\t\t[placeholder]=\"placeholder ? placeholder : ''\"\n\t\t(blur)=\"touch(); onBlur.emit()\"\n\t\t[disabled]='disabled'\n\t\t#nativeInputRef\n\t></textarea>\n</div>\n", styles: [":host{display:block}:host input:disabled{cursor:not-allowed}.componentContainer{position:relative}textarea{outline:none;display:block;border:1px solid #e6ecf5;border-radius:2px;box-shadow:none;height:42px;width:100%;padding:.375rem .625rem;font-size:14px;color:#888da8;transition:all .2s ease-in;-webkit-transition:all .2s ease-in;-moz-transition:all .2s ease-in;-o-transition:all .2s ease-in;-ms-transition:all .2s ease-in}textarea::-webkit-input-placeholder{color:#adadad}textarea:-moz-placeholder{color:#adadad}textarea::-moz-placeholder{color:#adadad}textarea:-ms-input-placeholder{color:#adadad}textarea:focus{outline:0 none;box-shadow:none;border-color:#3ed778}textarea.input-sm{height:30px}textarea.input-lg{height:50px}textarea.error{border-color:#dc3545;background-color:#f6cdd1}textarea.valid{border-color:#37c936;background-color:#ebfaeb;color:#278d26}textarea:placeholder-shown{text-overflow:ellipsis}.showErrors{border-color:#ff8000}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.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: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }] }); }
|
|
2897
|
+
}
|
|
2898
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: TextAreaComponent, decorators: [{
|
|
2899
|
+
type: Component,
|
|
2900
|
+
args: [{ selector: 'klp-form-text-area', providers: [{ provide: NG_VALUE_ACCESSOR, useExisting: TextAreaComponent, multi: true }], template: "<div class=\"componentContainer\">\n\t<textarea\n\t\t[(ngModel)]=\"innerValue\"\n\t\t[ngClass]=\"{showErrors: isInErrorState()}\"\n\t\t(input)=\"setInnerValueAndNotify($event.target.value)\"\n\t\t[placeholder]=\"placeholder ? placeholder : ''\"\n\t\t(blur)=\"touch(); onBlur.emit()\"\n\t\t[disabled]='disabled'\n\t\t#nativeInputRef\n\t></textarea>\n</div>\n", styles: [":host{display:block}:host input:disabled{cursor:not-allowed}.componentContainer{position:relative}textarea{outline:none;display:block;border:1px solid #e6ecf5;border-radius:2px;box-shadow:none;height:42px;width:100%;padding:.375rem .625rem;font-size:14px;color:#888da8;transition:all .2s ease-in;-webkit-transition:all .2s ease-in;-moz-transition:all .2s ease-in;-o-transition:all .2s ease-in;-ms-transition:all .2s ease-in}textarea::-webkit-input-placeholder{color:#adadad}textarea:-moz-placeholder{color:#adadad}textarea::-moz-placeholder{color:#adadad}textarea:-ms-input-placeholder{color:#adadad}textarea:focus{outline:0 none;box-shadow:none;border-color:#3ed778}textarea.input-sm{height:30px}textarea.input-lg{height:50px}textarea.error{border-color:#dc3545;background-color:#f6cdd1}textarea.valid{border-color:#37c936;background-color:#ebfaeb;color:#278d26}textarea:placeholder-shown{text-overflow:ellipsis}.showErrors{border-color:#ff8000}\n"] }]
|
|
2901
|
+
}], propDecorators: { placeholder: [{
|
|
2902
|
+
type: Input
|
|
2903
|
+
}], onBlur: [{
|
|
2904
|
+
type: Output
|
|
2905
|
+
}] } });
|
|
2906
|
+
|
|
2829
2907
|
class NgxEnhancyFormsModule {
|
|
2830
2908
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: NgxEnhancyFormsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
2831
2909
|
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.0", ngImport: i0, type: NgxEnhancyFormsModule, declarations: [ValueAccessorBase,
|
|
@@ -2844,6 +2922,7 @@ class NgxEnhancyFormsModule {
|
|
|
2844
2922
|
SortableItemsComponent,
|
|
2845
2923
|
SortableGroupedItemsComponent,
|
|
2846
2924
|
TextInputComponent,
|
|
2925
|
+
TextAreaComponent,
|
|
2847
2926
|
ToggleComponent,
|
|
2848
2927
|
FileInputComponent,
|
|
2849
2928
|
FormCaptionComponent,
|
|
@@ -2877,6 +2956,7 @@ class NgxEnhancyFormsModule {
|
|
|
2877
2956
|
SortableItemsComponent,
|
|
2878
2957
|
SortableGroupedItemsComponent,
|
|
2879
2958
|
TextInputComponent,
|
|
2959
|
+
TextAreaComponent,
|
|
2880
2960
|
ToggleComponent,
|
|
2881
2961
|
FileInputComponent,
|
|
2882
2962
|
FormCaptionComponent,
|
|
@@ -2923,6 +3003,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImpor
|
|
|
2923
3003
|
SortableItemsComponent,
|
|
2924
3004
|
SortableGroupedItemsComponent,
|
|
2925
3005
|
TextInputComponent,
|
|
3006
|
+
TextAreaComponent,
|
|
2926
3007
|
ToggleComponent,
|
|
2927
3008
|
FileInputComponent,
|
|
2928
3009
|
FormCaptionComponent,
|
|
@@ -2955,6 +3036,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImpor
|
|
|
2955
3036
|
SortableItemsComponent,
|
|
2956
3037
|
SortableGroupedItemsComponent,
|
|
2957
3038
|
TextInputComponent,
|
|
3039
|
+
TextAreaComponent,
|
|
2958
3040
|
ToggleComponent,
|
|
2959
3041
|
FileInputComponent,
|
|
2960
3042
|
FormCaptionComponent,
|
|
@@ -2980,5 +3062,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImpor
|
|
|
2980
3062
|
* Generated bundle index. Do not edit.
|
|
2981
3063
|
*/
|
|
2982
3064
|
|
|
2983
|
-
export { ButtonComponent, CheckboxComponent, DATE_PICKER_LOCALE, DATE_PICKER_TRANSLATIONS, DATE_TIME_PICKER_TRANSLATIONS, DEFAULT_ERROR_MESSAGES, DatePickerComponent, DateTimePickerComponent, DefaultErrorHandler, ElementIsTruncatedCbComponent, EmailInputComponent, FORM_ERROR_MESSAGES, FileInputComponent, FormCaptionComponent, FormComponent, FormElementComponent, FormErrorComponent, FormSubmitButtonComponent, FormValidationError, HourMinuteInputComponent, KLP_DATE_FORMATS, KLP_FORM_ERROR_HANDLER, KlpSelectOptionTemplateDirective, LoadingIndicatorComponent, MultipleValueAccessorBase, NgxEnhancyFormsModule, NumberInputComponent, OnRenderDirective, Orientation, PasswordFieldComponent, RadioComponent, SELECT_TRANSLATIONS, SelectComponent, SelectFooterComponent, SortableGroupedItemsComponent, SortableItemsComponent, SubFormDirective, TextInputComponent, ToggleComponent, ValueAccessorBase, WithTooltipDirective, dateValidator, invalidDateKey, invalidFieldsSymbol, matDateFormatsFactory };
|
|
3065
|
+
export { ButtonComponent, CheckboxComponent, DATE_PICKER_LOCALE, DATE_PICKER_TRANSLATIONS, DATE_TIME_PICKER_TRANSLATIONS, DEFAULT_ERROR_MESSAGES, DatePickerComponent, DateTimePickerComponent, DefaultErrorHandler, ElementIsTruncatedCbComponent, EmailInputComponent, FORM_ERROR_MESSAGES, FileInputComponent, FormCaptionComponent, FormComponent, FormElementComponent, FormErrorComponent, FormSubmitButtonComponent, FormValidationError, HourMinuteInputComponent, KLP_DATE_FORMATS, KLP_FORM_ERROR_HANDLER, KlpSelectOptionTemplateDirective, LoadingIndicatorComponent, MultipleValueAccessorBase, NgxEnhancyFormsModule, NumberInputComponent, OnRenderDirective, Orientation, PasswordFieldComponent, RadioComponent, SELECT_TRANSLATIONS, SelectComponent, SelectFooterComponent, SortableGroupedItemsComponent, SortableItemsComponent, SubFormDirective, TextAreaComponent, TextInputComponent, ToggleComponent, ValueAccessorBase, WithTooltipDirective, dateValidator, invalidDateKey, invalidFieldsSymbol, matDateFormatsFactory };
|
|
2984
3066
|
//# sourceMappingURL=klippa-ngx-enhancy-forms.mjs.map
|