@ng-simplicity/forms-material 1.0.1 → 1.1.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/README.md
CHANGED
|
@@ -72,29 +72,32 @@ export class MaterialFormPageComponent implements OnInit {
|
|
|
72
72
|
// Construct the form configuration
|
|
73
73
|
const formConfig: NgsFormsFormConfig = {
|
|
74
74
|
inputUpdateDebounce: 150,
|
|
75
|
-
root: NgsFormsFormGroupComponent.create({
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
75
|
+
root: NgsFormsFormGroupComponent.create({
|
|
76
|
+
name: 'contactForm',
|
|
77
|
+
items: [
|
|
78
|
+
NgsFormsRowComponent.create({
|
|
79
|
+
items: [
|
|
80
|
+
NgsFormsMaterialFormItemInputComponent.create({
|
|
81
|
+
name: 'email',
|
|
82
|
+
label: 'Email Address',
|
|
83
|
+
placeholder: 'Enter your email...',
|
|
84
|
+
type: 'email',
|
|
85
|
+
validators: [Validators.required, Validators.email],
|
|
86
|
+
errorMessageMap: {
|
|
87
|
+
required: 'Email address is required.',
|
|
88
|
+
email: 'Please enter a valid email address.'
|
|
89
|
+
}
|
|
90
|
+
}),
|
|
91
|
+
NgsFormsMaterialFormItemTextAreaComponent.create({
|
|
92
|
+
name: 'message',
|
|
93
|
+
label: 'Your Message',
|
|
94
|
+
placeholder: 'Write your message...',
|
|
95
|
+
rows: 4
|
|
96
|
+
})
|
|
97
|
+
]
|
|
98
|
+
})
|
|
99
|
+
]
|
|
100
|
+
})
|
|
98
101
|
};
|
|
99
102
|
|
|
100
103
|
// Initialize the dynamic form controls
|
|
@@ -132,7 +135,7 @@ Most controls in this styling library support a standard set of core properties
|
|
|
132
135
|
1. **Visibility**:
|
|
133
136
|
- `visible` (boolean): Controls whether the item is mounted in the DOM.
|
|
134
137
|
- `visible$` (`Observable<boolean>`): Stream version to dynamically show/hide components.
|
|
135
|
-
- *Note: Visibility is configured at the
|
|
138
|
+
- *Note: Visibility is configured at the inner config level (`NgsFormsFormItemConfigBase`).*
|
|
136
139
|
|
|
137
140
|
2. **Disabled Status**:
|
|
138
141
|
- `disabled` (boolean): Sets the initial disabled state of the form control.
|
|
@@ -19,7 +19,7 @@ class NgsFormsMaterialFormItemCheckboxComponent extends NgsFormsBaseClassFormInp
|
|
|
19
19
|
static key = 'checkbox';
|
|
20
20
|
static create(config) {
|
|
21
21
|
return {
|
|
22
|
-
uuid: v4(),
|
|
22
|
+
uuid: config.uuid || v4(),
|
|
23
23
|
type: NgsFormsMaterialFormItemCheckboxComponent.key,
|
|
24
24
|
config,
|
|
25
25
|
};
|
|
@@ -34,19 +34,24 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.19", ngImpo
|
|
|
34
34
|
|
|
35
35
|
class NgsFormsMaterialFormItemInputComponent extends NgsFormsBaseClassFormInputComponent {
|
|
36
36
|
static key = 'input-text';
|
|
37
|
+
matcher = {
|
|
38
|
+
isErrorState: (control) => {
|
|
39
|
+
return !!(control && control.invalid && (control.touched || control.dirty || this.submitted()));
|
|
40
|
+
}
|
|
41
|
+
};
|
|
37
42
|
static create(config) {
|
|
38
43
|
return {
|
|
39
|
-
uuid: v4(),
|
|
44
|
+
uuid: config.uuid || v4(),
|
|
40
45
|
type: NgsFormsMaterialFormItemInputComponent.key,
|
|
41
46
|
config,
|
|
42
47
|
};
|
|
43
48
|
}
|
|
44
49
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: NgsFormsMaterialFormItemInputComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
45
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.19", type: NgsFormsMaterialFormItemInputComponent, isStandalone: true, selector: "ngs-forms-mat-input", usesInheritance: true, ngImport: i0, template: "@if (control) {\n <mat-form-field class=\"w-100 mb-2\" appearance=\"outline\">\n @if (config.label) {\n <mat-label>{{ config.label }}</mat-label>\n }\n <input matInput [formControl]=\"control\" [placeholder]=\"config.placeholder || ''\" [type]=\"config.type || 'text'\" />\n @if (errorMessage) {\n <mat-error>{{ errorMessage }}</mat-error>\n }\n </mat-form-field>\n}\n", dependencies: [{ kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i2$1.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly", "disabledInteractive"], exportAs: ["matInput"] }, { kind: "component", type: i2$1.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i2$1.MatLabel, selector: "mat-label" }, { kind: "directive", type: i2$1.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "ngmodule", type: MatFormFieldModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
50
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.19", type: NgsFormsMaterialFormItemInputComponent, isStandalone: true, selector: "ngs-forms-mat-input", usesInheritance: true, ngImport: i0, template: "@if (control) {\n <mat-form-field class=\"w-100 mb-2\" appearance=\"outline\">\n @if (config.label) {\n <mat-label>{{ config.label }}</mat-label>\n }\n <input matInput [formControl]=\"control\" [placeholder]=\"config.placeholder || ''\" [type]=\"config.type || 'text'\" [errorStateMatcher]=\"matcher\" />\n @if (errorMessage) {\n <mat-error>{{ errorMessage }}</mat-error>\n }\n </mat-form-field>\n}\n", dependencies: [{ kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i2$1.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly", "disabledInteractive"], exportAs: ["matInput"] }, { kind: "component", type: i2$1.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i2$1.MatLabel, selector: "mat-label" }, { kind: "directive", type: i2$1.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "ngmodule", type: MatFormFieldModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
46
51
|
}
|
|
47
52
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: NgsFormsMaterialFormItemInputComponent, decorators: [{
|
|
48
53
|
type: Component,
|
|
49
|
-
args: [{ selector: 'ngs-forms-mat-input', imports: [ReactiveFormsModule, MatInputModule, MatFormFieldModule], changeDetection: ChangeDetectionStrategy.OnPush, template: "@if (control) {\n <mat-form-field class=\"w-100 mb-2\" appearance=\"outline\">\n @if (config.label) {\n <mat-label>{{ config.label }}</mat-label>\n }\n <input matInput [formControl]=\"control\" [placeholder]=\"config.placeholder || ''\" [type]=\"config.type || 'text'\" />\n @if (errorMessage) {\n <mat-error>{{ errorMessage }}</mat-error>\n }\n </mat-form-field>\n}\n" }]
|
|
54
|
+
args: [{ selector: 'ngs-forms-mat-input', imports: [ReactiveFormsModule, MatInputModule, MatFormFieldModule], changeDetection: ChangeDetectionStrategy.OnPush, template: "@if (control) {\n <mat-form-field class=\"w-100 mb-2\" appearance=\"outline\">\n @if (config.label) {\n <mat-label>{{ config.label }}</mat-label>\n }\n <input matInput [formControl]=\"control\" [placeholder]=\"config.placeholder || ''\" [type]=\"config.type || 'text'\" [errorStateMatcher]=\"matcher\" />\n @if (errorMessage) {\n <mat-error>{{ errorMessage }}</mat-error>\n }\n </mat-form-field>\n}\n" }]
|
|
50
55
|
}] });
|
|
51
56
|
|
|
52
57
|
class NgsFormsMaterialRadioInputComponent extends NgsFormsBaseClassFormItemInputWithOptionsComponent {
|
|
@@ -54,52 +59,62 @@ class NgsFormsMaterialRadioInputComponent extends NgsFormsBaseClassFormItemInput
|
|
|
54
59
|
radioConfig = this.config;
|
|
55
60
|
static create(config) {
|
|
56
61
|
return {
|
|
57
|
-
uuid: v4(),
|
|
62
|
+
uuid: config.uuid || v4(),
|
|
58
63
|
type: NgsFormsMaterialRadioInputComponent.key,
|
|
59
64
|
config,
|
|
60
65
|
};
|
|
61
66
|
}
|
|
62
67
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: NgsFormsMaterialRadioInputComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
63
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.19", type: NgsFormsMaterialRadioInputComponent, isStandalone: true, selector: "ngs-forms-material-radio-group-input", usesInheritance: true, ngImport: i0, template: "@if (control) {\n <div class=\"ngs-material-radio-field mb-3\">\n @if (radioConfig.label) {\n <div class=\"ngs-material-radio-label\" [class.text-danger]=\"!!errorMessage\" id=\"{{id}}-label\">\n {{ radioConfig.label }}\n </div>\n }\n <mat-radio-group\n [formControl]=\"control\"\n [class.ngs-material-radio-group-horizontal]=\"radioConfig.alignment === 'horizontal'\"\n [class.ngs-material-radio-group-vertical]=\"radioConfig.alignment !== 'horizontal'\"\n [attr.aria-labelledby]=\"radioConfig.label ? id + '-label' : null\"\n [attr.aria-describedby]=\"errorMessage ? id + '-error' : null\"\n >\n @for (option of options(); track option.id) {\n <mat-radio-button [disabled]=\"option.disabled\" [value]=\"option.id\">\n {{ option.label }}\n </mat-radio-button>\n }\n </mat-radio-group>\n @if (errorMessage) {\n <div class=\"ngs-material-control-error\" id=\"{{id}}-error\">{{ errorMessage }}</div>\n }\n </div>\n}\n", dependencies: [{ kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: MatRadioModule }, { kind: "directive", type: i2$2.MatRadioGroup, selector: "mat-radio-group", inputs: ["color", "name", "labelPosition", "value", "selected", "disabled", "required", "disabledInteractive"], outputs: ["change"], exportAs: ["matRadioGroup"] }, { kind: "component", type: i2$2.MatRadioButton, selector: "mat-radio-button", inputs: ["id", "name", "aria-label", "aria-labelledby", "aria-describedby", "disableRipple", "tabIndex", "checked", "value", "labelPosition", "disabled", "required", "color", "disabledInteractive"], outputs: ["change"], exportAs: ["matRadioButton"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
68
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.19", type: NgsFormsMaterialRadioInputComponent, isStandalone: true, selector: "ngs-forms-material-radio-group-input", usesInheritance: true, ngImport: i0, template: "@if (control) {\n <div class=\"ngs-material-radio-field mb-3\">\n @if (radioConfig.label) {\n <div class=\"ngs-material-radio-label\" [class.text-danger]=\"!!errorMessage\" id=\"{{id}}-label\">\n {{ radioConfig.label }}\n </div>\n }\n <mat-radio-group\n [formControl]=\"control\"\n [class.ngs-material-radio-group-horizontal]=\"radioConfig.alignment === 'horizontal'\"\n [class.ngs-material-radio-group-vertical]=\"radioConfig.alignment !== 'horizontal'\"\n [attr.aria-labelledby]=\"radioConfig.label ? id + '-label' : null\"\n [attr.aria-describedby]=\"errorMessage ? id + '-error' : null\"\n >\n @for (option of options(); track option.id) {\n <mat-radio-button [disabled]=\"!!option.disabled\" [value]=\"option.id\">\n {{ option.label }}\n </mat-radio-button>\n }\n </mat-radio-group>\n @if (errorMessage) {\n <div class=\"ngs-material-control-error\" id=\"{{id}}-error\">{{ errorMessage }}</div>\n }\n </div>\n}\n", dependencies: [{ kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: MatRadioModule }, { kind: "directive", type: i2$2.MatRadioGroup, selector: "mat-radio-group", inputs: ["color", "name", "labelPosition", "value", "selected", "disabled", "required", "disabledInteractive"], outputs: ["change"], exportAs: ["matRadioGroup"] }, { kind: "component", type: i2$2.MatRadioButton, selector: "mat-radio-button", inputs: ["id", "name", "aria-label", "aria-labelledby", "aria-describedby", "disableRipple", "tabIndex", "checked", "value", "labelPosition", "disabled", "required", "color", "disabledInteractive"], outputs: ["change"], exportAs: ["matRadioButton"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
64
69
|
}
|
|
65
70
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: NgsFormsMaterialRadioInputComponent, decorators: [{
|
|
66
71
|
type: Component,
|
|
67
|
-
args: [{ selector: 'ngs-forms-material-radio-group-input', imports: [ReactiveFormsModule, MatRadioModule], changeDetection: ChangeDetectionStrategy.OnPush, template: "@if (control) {\n <div class=\"ngs-material-radio-field mb-3\">\n @if (radioConfig.label) {\n <div class=\"ngs-material-radio-label\" [class.text-danger]=\"!!errorMessage\" id=\"{{id}}-label\">\n {{ radioConfig.label }}\n </div>\n }\n <mat-radio-group\n [formControl]=\"control\"\n [class.ngs-material-radio-group-horizontal]=\"radioConfig.alignment === 'horizontal'\"\n [class.ngs-material-radio-group-vertical]=\"radioConfig.alignment !== 'horizontal'\"\n [attr.aria-labelledby]=\"radioConfig.label ? id + '-label' : null\"\n [attr.aria-describedby]=\"errorMessage ? id + '-error' : null\"\n >\n @for (option of options(); track option.id) {\n <mat-radio-button [disabled]=\"option.disabled\" [value]=\"option.id\">\n {{ option.label }}\n </mat-radio-button>\n }\n </mat-radio-group>\n @if (errorMessage) {\n <div class=\"ngs-material-control-error\" id=\"{{id}}-error\">{{ errorMessage }}</div>\n }\n </div>\n}\n" }]
|
|
72
|
+
args: [{ selector: 'ngs-forms-material-radio-group-input', imports: [ReactiveFormsModule, MatRadioModule], changeDetection: ChangeDetectionStrategy.OnPush, template: "@if (control) {\n <div class=\"ngs-material-radio-field mb-3\">\n @if (radioConfig.label) {\n <div class=\"ngs-material-radio-label\" [class.text-danger]=\"!!errorMessage\" id=\"{{id}}-label\">\n {{ radioConfig.label }}\n </div>\n }\n <mat-radio-group\n [formControl]=\"control\"\n [class.ngs-material-radio-group-horizontal]=\"radioConfig.alignment === 'horizontal'\"\n [class.ngs-material-radio-group-vertical]=\"radioConfig.alignment !== 'horizontal'\"\n [attr.aria-labelledby]=\"radioConfig.label ? id + '-label' : null\"\n [attr.aria-describedby]=\"errorMessage ? id + '-error' : null\"\n >\n @for (option of options(); track option.id) {\n <mat-radio-button [disabled]=\"!!option.disabled\" [value]=\"option.id\">\n {{ option.label }}\n </mat-radio-button>\n }\n </mat-radio-group>\n @if (errorMessage) {\n <div class=\"ngs-material-control-error\" id=\"{{id}}-error\">{{ errorMessage }}</div>\n }\n </div>\n}\n" }]
|
|
68
73
|
}] });
|
|
69
74
|
|
|
70
75
|
class NgsFormsMaterialFormItemSelectInputComponent extends NgsFormsBaseClassFormItemInputWithOptionsComponent {
|
|
71
76
|
static key = 'select';
|
|
72
77
|
selectConfig = this.config;
|
|
78
|
+
matcher = {
|
|
79
|
+
isErrorState: (control) => {
|
|
80
|
+
return !!(control && control.invalid && (control.touched || control.dirty || this.submitted()));
|
|
81
|
+
}
|
|
82
|
+
};
|
|
73
83
|
static create(config) {
|
|
74
84
|
return {
|
|
75
|
-
uuid: v4(),
|
|
85
|
+
uuid: config.uuid || v4(),
|
|
76
86
|
type: NgsFormsMaterialFormItemSelectInputComponent.key,
|
|
77
87
|
config,
|
|
78
88
|
};
|
|
79
89
|
}
|
|
80
90
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: NgsFormsMaterialFormItemSelectInputComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
81
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.19", type: NgsFormsMaterialFormItemSelectInputComponent, isStandalone: true, selector: "ngs-forms-material-select-input", usesInheritance: true, ngImport: i0, template: "@if (control) {\n <mat-form-field class=\"w-100 mb-2\" appearance=\"outline\">\n @if (selectConfig.label) {\n <mat-label>{{ selectConfig.label }}</mat-label>\n }\n <mat-select [formControl]=\"control\" [attr.aria-label]=\"selectConfig.label\">\n @if (selectConfig.placeholder) {\n <mat-option [disabled]=\"true\" [value]=\"selectConfig.placeHolderValue || ''\">\n {{ selectConfig.placeholder }}\n </mat-option>\n }\n @for (option of options(); track option.id) {\n <mat-option [disabled]=\"option.disabled\" [value]=\"option.id\">\n {{ option.label }}\n </mat-option>\n }\n </mat-select>\n @if (errorMessage) {\n <mat-error>{{ errorMessage }}</mat-error>\n }\n </mat-form-field>\n}\n", dependencies: [{ kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: MatFormFieldModule }, { kind: "component", type: i2$1.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i2$1.MatLabel, selector: "mat-label" }, { kind: "directive", type: i2$1.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "ngmodule", type: MatSelectModule }, { kind: "component", type: i3.MatSelect, selector: "mat-select", inputs: ["aria-describedby", "panelClass", "disabled", "disableRipple", "tabIndex", "hideSingleSelectionIndicator", "placeholder", "required", "multiple", "disableOptionCentering", "compareWith", "value", "aria-label", "aria-labelledby", "errorStateMatcher", "typeaheadDebounceInterval", "sortComparator", "id", "panelWidth", "canSelectNullableOptions"], outputs: ["openedChange", "opened", "closed", "selectionChange", "valueChange"], exportAs: ["matSelect"] }, { kind: "component", type: i3.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
91
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.19", type: NgsFormsMaterialFormItemSelectInputComponent, isStandalone: true, selector: "ngs-forms-material-select-input", usesInheritance: true, ngImport: i0, template: "@if (control) {\n <mat-form-field class=\"w-100 mb-2\" appearance=\"outline\">\n @if (selectConfig.label) {\n <mat-label>{{ selectConfig.label }}</mat-label>\n }\n <mat-select [formControl]=\"control\" [attr.aria-label]=\"selectConfig.label\" [errorStateMatcher]=\"matcher\">\n @if (selectConfig.placeholder) {\n <mat-option [disabled]=\"true\" [value]=\"selectConfig.placeHolderValue || ''\">\n {{ selectConfig.placeholder }}\n </mat-option>\n }\n @for (option of options(); track option.id) {\n <mat-option [disabled]=\"!!option.disabled\" [value]=\"option.id\">\n {{ option.label }}\n </mat-option>\n }\n </mat-select>\n @if (errorMessage) {\n <mat-error>{{ errorMessage }}</mat-error>\n }\n </mat-form-field>\n}\n", dependencies: [{ kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: MatFormFieldModule }, { kind: "component", type: i2$1.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i2$1.MatLabel, selector: "mat-label" }, { kind: "directive", type: i2$1.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "ngmodule", type: MatSelectModule }, { kind: "component", type: i3.MatSelect, selector: "mat-select", inputs: ["aria-describedby", "panelClass", "disabled", "disableRipple", "tabIndex", "hideSingleSelectionIndicator", "placeholder", "required", "multiple", "disableOptionCentering", "compareWith", "value", "aria-label", "aria-labelledby", "errorStateMatcher", "typeaheadDebounceInterval", "sortComparator", "id", "panelWidth", "canSelectNullableOptions"], outputs: ["openedChange", "opened", "closed", "selectionChange", "valueChange"], exportAs: ["matSelect"] }, { kind: "component", type: i3.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
82
92
|
}
|
|
83
93
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: NgsFormsMaterialFormItemSelectInputComponent, decorators: [{
|
|
84
94
|
type: Component,
|
|
85
|
-
args: [{ selector: 'ngs-forms-material-select-input', imports: [ReactiveFormsModule, MatFormFieldModule, MatSelectModule], changeDetection: ChangeDetectionStrategy.OnPush, template: "@if (control) {\n <mat-form-field class=\"w-100 mb-2\" appearance=\"outline\">\n @if (selectConfig.label) {\n <mat-label>{{ selectConfig.label }}</mat-label>\n }\n <mat-select [formControl]=\"control\" [attr.aria-label]=\"selectConfig.label\">\n @if (selectConfig.placeholder) {\n <mat-option [disabled]=\"true\" [value]=\"selectConfig.placeHolderValue || ''\">\n {{ selectConfig.placeholder }}\n </mat-option>\n }\n @for (option of options(); track option.id) {\n <mat-option [disabled]=\"option.disabled\" [value]=\"option.id\">\n {{ option.label }}\n </mat-option>\n }\n </mat-select>\n @if (errorMessage) {\n <mat-error>{{ errorMessage }}</mat-error>\n }\n </mat-form-field>\n}\n" }]
|
|
95
|
+
args: [{ selector: 'ngs-forms-material-select-input', imports: [ReactiveFormsModule, MatFormFieldModule, MatSelectModule], changeDetection: ChangeDetectionStrategy.OnPush, template: "@if (control) {\n <mat-form-field class=\"w-100 mb-2\" appearance=\"outline\">\n @if (selectConfig.label) {\n <mat-label>{{ selectConfig.label }}</mat-label>\n }\n <mat-select [formControl]=\"control\" [attr.aria-label]=\"selectConfig.label\" [errorStateMatcher]=\"matcher\">\n @if (selectConfig.placeholder) {\n <mat-option [disabled]=\"true\" [value]=\"selectConfig.placeHolderValue || ''\">\n {{ selectConfig.placeholder }}\n </mat-option>\n }\n @for (option of options(); track option.id) {\n <mat-option [disabled]=\"!!option.disabled\" [value]=\"option.id\">\n {{ option.label }}\n </mat-option>\n }\n </mat-select>\n @if (errorMessage) {\n <mat-error>{{ errorMessage }}</mat-error>\n }\n </mat-form-field>\n}\n" }]
|
|
86
96
|
}] });
|
|
87
97
|
|
|
88
98
|
class NgsFormsMaterialFormItemTextAreaComponent extends NgsFormsBaseClassFormInputComponent {
|
|
89
99
|
static key = 'input-textarea';
|
|
100
|
+
matcher = {
|
|
101
|
+
isErrorState: (control) => {
|
|
102
|
+
return !!(control && control.invalid && (control.touched || control.dirty || this.submitted()));
|
|
103
|
+
}
|
|
104
|
+
};
|
|
90
105
|
static create(config) {
|
|
91
106
|
return {
|
|
92
|
-
uuid: v4(),
|
|
107
|
+
uuid: config.uuid || v4(),
|
|
93
108
|
type: NgsFormsMaterialFormItemTextAreaComponent.key,
|
|
94
109
|
config,
|
|
95
110
|
};
|
|
96
111
|
}
|
|
97
112
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: NgsFormsMaterialFormItemTextAreaComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
98
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.19", type: NgsFormsMaterialFormItemTextAreaComponent, isStandalone: true, selector: "ngs-forms-mat-textarea", usesInheritance: true, ngImport: i0, template: "@if (control) {\n <mat-form-field class=\"w-100 mb-2\" appearance=\"outline\">\n @if (config.label) {\n <mat-label>{{ config.label }}</mat-label>\n }\n <textarea matInput [formControl]=\"control\" [placeholder]=\"config.placeholder || ''\" [rows]=\"config.rows || 3\"></textarea>\n @if (errorMessage) {\n <mat-error>{{ errorMessage }}</mat-error>\n }\n </mat-form-field>\n}\n", dependencies: [{ kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i2$1.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly", "disabledInteractive"], exportAs: ["matInput"] }, { kind: "component", type: i2$1.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i2$1.MatLabel, selector: "mat-label" }, { kind: "directive", type: i2$1.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "ngmodule", type: MatFormFieldModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
113
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.19", type: NgsFormsMaterialFormItemTextAreaComponent, isStandalone: true, selector: "ngs-forms-mat-textarea", usesInheritance: true, ngImport: i0, template: "@if (control) {\n <mat-form-field class=\"w-100 mb-2\" appearance=\"outline\">\n @if (config.label) {\n <mat-label>{{ config.label }}</mat-label>\n }\n <textarea matInput [formControl]=\"control\" [placeholder]=\"config.placeholder || ''\" [rows]=\"config.rows || 3\" [errorStateMatcher]=\"matcher\"></textarea>\n @if (errorMessage) {\n <mat-error>{{ errorMessage }}</mat-error>\n }\n </mat-form-field>\n}\n", dependencies: [{ kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i2$1.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly", "disabledInteractive"], exportAs: ["matInput"] }, { kind: "component", type: i2$1.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i2$1.MatLabel, selector: "mat-label" }, { kind: "directive", type: i2$1.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "ngmodule", type: MatFormFieldModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
99
114
|
}
|
|
100
115
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: NgsFormsMaterialFormItemTextAreaComponent, decorators: [{
|
|
101
116
|
type: Component,
|
|
102
|
-
args: [{ selector: 'ngs-forms-mat-textarea', imports: [ReactiveFormsModule, MatInputModule, MatFormFieldModule], changeDetection: ChangeDetectionStrategy.OnPush, template: "@if (control) {\n <mat-form-field class=\"w-100 mb-2\" appearance=\"outline\">\n @if (config.label) {\n <mat-label>{{ config.label }}</mat-label>\n }\n <textarea matInput [formControl]=\"control\" [placeholder]=\"config.placeholder || ''\" [rows]=\"config.rows || 3\"></textarea>\n @if (errorMessage) {\n <mat-error>{{ errorMessage }}</mat-error>\n }\n </mat-form-field>\n}\n" }]
|
|
117
|
+
args: [{ selector: 'ngs-forms-mat-textarea', imports: [ReactiveFormsModule, MatInputModule, MatFormFieldModule], changeDetection: ChangeDetectionStrategy.OnPush, template: "@if (control) {\n <mat-form-field class=\"w-100 mb-2\" appearance=\"outline\">\n @if (config.label) {\n <mat-label>{{ config.label }}</mat-label>\n }\n <textarea matInput [formControl]=\"control\" [placeholder]=\"config.placeholder || ''\" [rows]=\"config.rows || 3\" [errorStateMatcher]=\"matcher\"></textarea>\n @if (errorMessage) {\n <mat-error>{{ errorMessage }}</mat-error>\n }\n </mat-form-field>\n}\n" }]
|
|
103
118
|
}] });
|
|
104
119
|
|
|
105
120
|
class NgsFormsMaterialModule {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ng-simplicity-forms-material.mjs","sources":["../../../../libs/forms-material/src/lib/form-components/checkbox/checkbox.component.ts","../../../../libs/forms-material/src/lib/form-components/checkbox/checkbox.component.html","../../../../libs/forms-material/src/lib/form-components/input/input.component.ts","../../../../libs/forms-material/src/lib/form-components/input/input.component.html","../../../../libs/forms-material/src/lib/form-components/radio/radio.component.ts","../../../../libs/forms-material/src/lib/form-components/radio/radio.component.html","../../../../libs/forms-material/src/lib/form-components/select/select.component.ts","../../../../libs/forms-material/src/lib/form-components/select/select.component.html","../../../../libs/forms-material/src/lib/form-components/text-area/text-area.component.ts","../../../../libs/forms-material/src/lib/form-components/text-area/text-area.component.html","../../../../libs/forms-material/src/lib/forms-material.module.ts","../../../../libs/forms-material/src/ng-simplicity-forms-material.ts"],"sourcesContent":["import { Component, ChangeDetectionStrategy } from '@angular/core';\nimport {\n NgsFormsBaseClassFormInputComponent,\n NgsFormsFormItem,\n NgsFormsFormItemConfigBaseInput,\n} from '@ng-simplicity/forms-core';\nimport { ReactiveFormsModule } from '@angular/forms';\nimport { MatCheckboxModule } from '@angular/material/checkbox';\nimport { v4 } from 'uuid';\n\n@Component({\n selector: 'ngs-forms-mat-checkbox',\n imports: [ReactiveFormsModule, MatCheckboxModule],\n templateUrl: './checkbox.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class NgsFormsMaterialFormItemCheckboxComponent extends NgsFormsBaseClassFormInputComponent<NgsFormsFormItemConfigBaseInput> {\n static override key = 'checkbox';\n\n static create(config: NgsFormsFormItemConfigBaseInput): NgsFormsFormItem<NgsFormsFormItemConfigBaseInput> {\n return {\n uuid: v4(),\n type: NgsFormsMaterialFormItemCheckboxComponent.key,\n config,\n };\n }\n}\n","@if (control) {\n <div class=\"mb-3\">\n <mat-checkbox [formControl]=\"control\" [aria-describedby]=\"errorMessage ? id + '-error' : ''\">\n {{ config.label }}\n </mat-checkbox>\n @if (errorMessage) {\n <div class=\"mt-1 ms-4\" id=\"{{id}}-error\" style=\"font-size: 0.75rem; color: #f44336;\">{{ errorMessage }}</div>\n }\n </div>\n}\n","import { Component, ChangeDetectionStrategy } from '@angular/core';\nimport { NgsFormsBaseClassFormInputComponent, NgsFormsFormItem } from '@ng-simplicity/forms-core';\nimport { ReactiveFormsModule } from '@angular/forms';\nimport { MatInputModule } from '@angular/material/input';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { v4 } from 'uuid';\n\n@Component({\n selector: 'ngs-forms-mat-input',\n imports: [ReactiveFormsModule, MatInputModule, MatFormFieldModule],\n templateUrl: './input.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class NgsFormsMaterialFormItemInputComponent extends NgsFormsBaseClassFormInputComponent<any> {\n static override key = 'input-text';\n\n static create(config: any): NgsFormsFormItem<any> {\n return {\n uuid: v4(),\n type: NgsFormsMaterialFormItemInputComponent.key,\n config,\n };\n }\n}\n","@if (control) {\n <mat-form-field class=\"w-100 mb-2\" appearance=\"outline\">\n @if (config.label) {\n <mat-label>{{ config.label }}</mat-label>\n }\n <input matInput [formControl]=\"control\" [placeholder]=\"config.placeholder || ''\" [type]=\"config.type || 'text'\" />\n @if (errorMessage) {\n <mat-error>{{ errorMessage }}</mat-error>\n }\n </mat-form-field>\n}\n","import { ChangeDetectionStrategy, Component } from '@angular/core';\nimport { ReactiveFormsModule } from '@angular/forms';\nimport { MatRadioModule } from '@angular/material/radio';\nimport {\n NgsFormsBaseClassFormItemInputWithOptionsComponent,\n NgsFormsFormItem,\n NgsFormsFormItemConfigBaseInputWithOptions,\n} from '@ng-simplicity/forms-core';\nimport { v4 } from 'uuid';\n\nexport interface NgsFormsFormItemConfigMaterialRadio extends NgsFormsFormItemConfigBaseInputWithOptions {\n alignment?: 'horizontal' | 'vertical';\n}\n\n@Component({\n selector: 'ngs-forms-material-radio-group-input',\n imports: [ReactiveFormsModule, MatRadioModule],\n templateUrl: './radio.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class NgsFormsMaterialRadioInputComponent extends NgsFormsBaseClassFormItemInputWithOptionsComponent<NgsFormsFormItemConfigMaterialRadio> {\n static override key = 'radio';\n radioConfig = this.config as NgsFormsFormItemConfigMaterialRadio;\n\n static create(config: NgsFormsFormItemConfigMaterialRadio): NgsFormsFormItem<NgsFormsFormItemConfigMaterialRadio> {\n return {\n uuid: v4(),\n type: NgsFormsMaterialRadioInputComponent.key,\n config,\n };\n }\n}\n","@if (control) {\n <div class=\"ngs-material-radio-field mb-3\">\n @if (radioConfig.label) {\n <div class=\"ngs-material-radio-label\" [class.text-danger]=\"!!errorMessage\" id=\"{{id}}-label\">\n {{ radioConfig.label }}\n </div>\n }\n <mat-radio-group\n [formControl]=\"control\"\n [class.ngs-material-radio-group-horizontal]=\"radioConfig.alignment === 'horizontal'\"\n [class.ngs-material-radio-group-vertical]=\"radioConfig.alignment !== 'horizontal'\"\n [attr.aria-labelledby]=\"radioConfig.label ? id + '-label' : null\"\n [attr.aria-describedby]=\"errorMessage ? id + '-error' : null\"\n >\n @for (option of options(); track option.id) {\n <mat-radio-button [disabled]=\"option.disabled\" [value]=\"option.id\">\n {{ option.label }}\n </mat-radio-button>\n }\n </mat-radio-group>\n @if (errorMessage) {\n <div class=\"ngs-material-control-error\" id=\"{{id}}-error\">{{ errorMessage }}</div>\n }\n </div>\n}\n","import { ChangeDetectionStrategy, Component } from '@angular/core';\nimport { ReactiveFormsModule } from '@angular/forms';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatSelectModule } from '@angular/material/select';\nimport {\n NgsFormsBaseClassFormItemInputWithOptionsComponent,\n NgsFormsFormItem,\n NgsFormsFormItemConfigBaseInputWithOptions,\n} from '@ng-simplicity/forms-core';\nimport { v4 } from 'uuid';\n\nexport interface NgsFormsFormItemConfigMaterialSelectInput extends NgsFormsFormItemConfigBaseInputWithOptions {\n placeholder?: string;\n placeHolderValue?: string;\n}\n\n@Component({\n selector: 'ngs-forms-material-select-input',\n imports: [ReactiveFormsModule, MatFormFieldModule, MatSelectModule],\n templateUrl: './select.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class NgsFormsMaterialFormItemSelectInputComponent extends NgsFormsBaseClassFormItemInputWithOptionsComponent<NgsFormsFormItemConfigMaterialSelectInput> {\n static override key = 'select';\n selectConfig = this.config as NgsFormsFormItemConfigMaterialSelectInput;\n\n static create(\n config: NgsFormsFormItemConfigMaterialSelectInput\n ): NgsFormsFormItem<NgsFormsFormItemConfigMaterialSelectInput> {\n return {\n uuid: v4(),\n type: NgsFormsMaterialFormItemSelectInputComponent.key,\n config,\n };\n }\n}\n","@if (control) {\n <mat-form-field class=\"w-100 mb-2\" appearance=\"outline\">\n @if (selectConfig.label) {\n <mat-label>{{ selectConfig.label }}</mat-label>\n }\n <mat-select [formControl]=\"control\" [attr.aria-label]=\"selectConfig.label\">\n @if (selectConfig.placeholder) {\n <mat-option [disabled]=\"true\" [value]=\"selectConfig.placeHolderValue || ''\">\n {{ selectConfig.placeholder }}\n </mat-option>\n }\n @for (option of options(); track option.id) {\n <mat-option [disabled]=\"option.disabled\" [value]=\"option.id\">\n {{ option.label }}\n </mat-option>\n }\n </mat-select>\n @if (errorMessage) {\n <mat-error>{{ errorMessage }}</mat-error>\n }\n </mat-form-field>\n}\n","import { Component, ChangeDetectionStrategy } from '@angular/core';\nimport { NgsFormsBaseClassFormInputComponent, NgsFormsFormItem } from '@ng-simplicity/forms-core';\nimport { ReactiveFormsModule } from '@angular/forms';\nimport { MatInputModule } from '@angular/material/input';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { v4 } from 'uuid';\n\n@Component({\n selector: 'ngs-forms-mat-textarea',\n imports: [ReactiveFormsModule, MatInputModule, MatFormFieldModule],\n templateUrl: './text-area.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class NgsFormsMaterialFormItemTextAreaComponent extends NgsFormsBaseClassFormInputComponent<any> {\n static override key = 'input-textarea';\n\n static create(config: any): NgsFormsFormItem<any> {\n return {\n uuid: v4(),\n type: NgsFormsMaterialFormItemTextAreaComponent.key,\n config,\n };\n }\n}\n","@if (control) {\n <mat-form-field class=\"w-100 mb-2\" appearance=\"outline\">\n @if (config.label) {\n <mat-label>{{ config.label }}</mat-label>\n }\n <textarea matInput [formControl]=\"control\" [placeholder]=\"config.placeholder || ''\" [rows]=\"config.rows || 3\"></textarea>\n @if (errorMessage) {\n <mat-error>{{ errorMessage }}</mat-error>\n }\n </mat-form-field>\n}\n","import { NgModule } from '@angular/core';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { CommonModule } from '@angular/common';\nimport { NgsFormsComponentRegistryService, NgsFormsCoreModule } from '@ng-simplicity/forms-core';\nimport {\n NgsFormsMaterialFormItemCheckboxComponent,\n NgsFormsMaterialFormItemInputComponent,\n NgsFormsMaterialFormItemSelectInputComponent,\n NgsFormsMaterialRadioInputComponent,\n NgsFormsMaterialFormItemTextAreaComponent\n} from './form-components';\n\n@NgModule({\n imports: [CommonModule, FormsModule, ReactiveFormsModule, NgsFormsCoreModule],\n})\nexport class NgsFormsMaterialModule {\n static registerAllMaterialComponents(registryService: NgsFormsComponentRegistryService) {\n NgsFormsCoreModule.registerCoreNgsFormComponents(registryService);\n registryService.register(NgsFormsMaterialFormItemCheckboxComponent.key, NgsFormsMaterialFormItemCheckboxComponent);\n registryService.register(NgsFormsMaterialFormItemInputComponent.key, NgsFormsMaterialFormItemInputComponent);\n registryService.register(NgsFormsMaterialRadioInputComponent.key, NgsFormsMaterialRadioInputComponent);\n registryService.register(NgsFormsMaterialFormItemSelectInputComponent.key, NgsFormsMaterialFormItemSelectInputComponent);\n registryService.register(NgsFormsMaterialFormItemTextAreaComponent.key, NgsFormsMaterialFormItemTextAreaComponent);\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["i2"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ng-simplicity-forms-material.mjs","sources":["../../../../libs/forms-material/src/lib/form-components/checkbox/checkbox.component.ts","../../../../libs/forms-material/src/lib/form-components/checkbox/checkbox.component.html","../../../../libs/forms-material/src/lib/form-components/input/input.component.ts","../../../../libs/forms-material/src/lib/form-components/input/input.component.html","../../../../libs/forms-material/src/lib/form-components/radio/radio.component.ts","../../../../libs/forms-material/src/lib/form-components/radio/radio.component.html","../../../../libs/forms-material/src/lib/form-components/select/select.component.ts","../../../../libs/forms-material/src/lib/form-components/select/select.component.html","../../../../libs/forms-material/src/lib/form-components/text-area/text-area.component.ts","../../../../libs/forms-material/src/lib/form-components/text-area/text-area.component.html","../../../../libs/forms-material/src/lib/forms-material.module.ts","../../../../libs/forms-material/src/ng-simplicity-forms-material.ts"],"sourcesContent":["import { Component, ChangeDetectionStrategy } from '@angular/core';\nimport {\n NgsFormsBaseClassFormInputComponent,\n NgsFormsFormItem,\n NgsFormsFormItemConfigBaseInput,\n} from '@ng-simplicity/forms-core';\nimport { ReactiveFormsModule } from '@angular/forms';\nimport { MatCheckboxModule } from '@angular/material/checkbox';\nimport { v4 } from 'uuid';\n\n@Component({\n selector: 'ngs-forms-mat-checkbox',\n imports: [ReactiveFormsModule, MatCheckboxModule],\n templateUrl: './checkbox.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class NgsFormsMaterialFormItemCheckboxComponent extends NgsFormsBaseClassFormInputComponent<NgsFormsFormItemConfigBaseInput> {\n static override key = 'checkbox';\n\n static create(config: NgsFormsFormItemConfigBaseInput): NgsFormsFormItem<NgsFormsFormItemConfigBaseInput> {\n return {\n uuid: config.uuid || v4(),\n type: NgsFormsMaterialFormItemCheckboxComponent.key,\n config,\n };\n }\n}\n","@if (control) {\n <div class=\"mb-3\">\n <mat-checkbox [formControl]=\"control\" [aria-describedby]=\"errorMessage ? id + '-error' : ''\">\n {{ config.label }}\n </mat-checkbox>\n @if (errorMessage) {\n <div class=\"mt-1 ms-4\" id=\"{{id}}-error\" style=\"font-size: 0.75rem; color: #f44336;\">{{ errorMessage }}</div>\n }\n </div>\n}\n","import { Component, ChangeDetectionStrategy } from '@angular/core';\nimport { NgsFormsBaseClassFormInputComponent, NgsFormsFormItem } from '@ng-simplicity/forms-core';\nimport { FormControl, ReactiveFormsModule } from '@angular/forms';\nimport { MatInputModule } from '@angular/material/input';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { v4 } from 'uuid';\n\n@Component({\n selector: 'ngs-forms-mat-input',\n imports: [ReactiveFormsModule, MatInputModule, MatFormFieldModule],\n templateUrl: './input.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class NgsFormsMaterialFormItemInputComponent extends NgsFormsBaseClassFormInputComponent<any> {\n static override key = 'input-text';\n\n matcher = {\n isErrorState: (control: FormControl | null): boolean => {\n return !!(control && control.invalid && (control.touched || control.dirty || this.submitted()));\n }\n };\n\n static create(config: any): NgsFormsFormItem<any> {\n return {\n uuid: config.uuid || v4(),\n type: NgsFormsMaterialFormItemInputComponent.key,\n config,\n };\n }\n}\n","@if (control) {\n <mat-form-field class=\"w-100 mb-2\" appearance=\"outline\">\n @if (config.label) {\n <mat-label>{{ config.label }}</mat-label>\n }\n <input matInput [formControl]=\"control\" [placeholder]=\"config.placeholder || ''\" [type]=\"config.type || 'text'\" [errorStateMatcher]=\"matcher\" />\n @if (errorMessage) {\n <mat-error>{{ errorMessage }}</mat-error>\n }\n </mat-form-field>\n}\n","import { ChangeDetectionStrategy, Component } from '@angular/core';\nimport { ReactiveFormsModule } from '@angular/forms';\nimport { MatRadioModule } from '@angular/material/radio';\nimport {\n NgsFormsBaseClassFormItemInputWithOptionsComponent,\n NgsFormsFormItem,\n NgsFormsFormItemConfigBaseInputWithOptions,\n} from '@ng-simplicity/forms-core';\nimport { v4 } from 'uuid';\n\nexport interface NgsFormsFormItemConfigMaterialRadio extends NgsFormsFormItemConfigBaseInputWithOptions {\n alignment?: 'horizontal' | 'vertical';\n}\n\n@Component({\n selector: 'ngs-forms-material-radio-group-input',\n imports: [ReactiveFormsModule, MatRadioModule],\n templateUrl: './radio.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class NgsFormsMaterialRadioInputComponent extends NgsFormsBaseClassFormItemInputWithOptionsComponent<NgsFormsFormItemConfigMaterialRadio> {\n static override key = 'radio';\n radioConfig = this.config as NgsFormsFormItemConfigMaterialRadio;\n\n static create(config: NgsFormsFormItemConfigMaterialRadio): NgsFormsFormItem<NgsFormsFormItemConfigMaterialRadio> {\n return {\n uuid: config.uuid || v4(),\n type: NgsFormsMaterialRadioInputComponent.key,\n config,\n };\n }\n}\n","@if (control) {\n <div class=\"ngs-material-radio-field mb-3\">\n @if (radioConfig.label) {\n <div class=\"ngs-material-radio-label\" [class.text-danger]=\"!!errorMessage\" id=\"{{id}}-label\">\n {{ radioConfig.label }}\n </div>\n }\n <mat-radio-group\n [formControl]=\"control\"\n [class.ngs-material-radio-group-horizontal]=\"radioConfig.alignment === 'horizontal'\"\n [class.ngs-material-radio-group-vertical]=\"radioConfig.alignment !== 'horizontal'\"\n [attr.aria-labelledby]=\"radioConfig.label ? id + '-label' : null\"\n [attr.aria-describedby]=\"errorMessage ? id + '-error' : null\"\n >\n @for (option of options(); track option.id) {\n <mat-radio-button [disabled]=\"!!option.disabled\" [value]=\"option.id\">\n {{ option.label }}\n </mat-radio-button>\n }\n </mat-radio-group>\n @if (errorMessage) {\n <div class=\"ngs-material-control-error\" id=\"{{id}}-error\">{{ errorMessage }}</div>\n }\n </div>\n}\n","import { ChangeDetectionStrategy, Component } from '@angular/core';\nimport { FormControl, ReactiveFormsModule } from '@angular/forms';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatSelectModule } from '@angular/material/select';\nimport {\n NgsFormsBaseClassFormItemInputWithOptionsComponent,\n NgsFormsFormItem,\n NgsFormsFormItemConfigBaseInputWithOptions,\n} from '@ng-simplicity/forms-core';\nimport { v4 } from 'uuid';\n\nexport interface NgsFormsFormItemConfigMaterialSelectInput extends NgsFormsFormItemConfigBaseInputWithOptions {\n placeholder?: string;\n placeHolderValue?: string;\n}\n\n@Component({\n selector: 'ngs-forms-material-select-input',\n imports: [ReactiveFormsModule, MatFormFieldModule, MatSelectModule],\n templateUrl: './select.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class NgsFormsMaterialFormItemSelectInputComponent extends NgsFormsBaseClassFormItemInputWithOptionsComponent<NgsFormsFormItemConfigMaterialSelectInput> {\n static override key = 'select';\n selectConfig = this.config as NgsFormsFormItemConfigMaterialSelectInput;\n\n matcher = {\n isErrorState: (control: FormControl | null): boolean => {\n return !!(control && control.invalid && (control.touched || control.dirty || this.submitted()));\n }\n };\n\n static create(\n config: NgsFormsFormItemConfigMaterialSelectInput\n ): NgsFormsFormItem<NgsFormsFormItemConfigMaterialSelectInput> {\n return {\n uuid: config.uuid || v4(),\n type: NgsFormsMaterialFormItemSelectInputComponent.key,\n config,\n };\n }\n}\n","@if (control) {\n <mat-form-field class=\"w-100 mb-2\" appearance=\"outline\">\n @if (selectConfig.label) {\n <mat-label>{{ selectConfig.label }}</mat-label>\n }\n <mat-select [formControl]=\"control\" [attr.aria-label]=\"selectConfig.label\" [errorStateMatcher]=\"matcher\">\n @if (selectConfig.placeholder) {\n <mat-option [disabled]=\"true\" [value]=\"selectConfig.placeHolderValue || ''\">\n {{ selectConfig.placeholder }}\n </mat-option>\n }\n @for (option of options(); track option.id) {\n <mat-option [disabled]=\"!!option.disabled\" [value]=\"option.id\">\n {{ option.label }}\n </mat-option>\n }\n </mat-select>\n @if (errorMessage) {\n <mat-error>{{ errorMessage }}</mat-error>\n }\n </mat-form-field>\n}\n","import { Component, ChangeDetectionStrategy } from '@angular/core';\nimport { NgsFormsBaseClassFormInputComponent, NgsFormsFormItem } from '@ng-simplicity/forms-core';\nimport { FormControl, ReactiveFormsModule } from '@angular/forms';\nimport { MatInputModule } from '@angular/material/input';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { v4 } from 'uuid';\n\n@Component({\n selector: 'ngs-forms-mat-textarea',\n imports: [ReactiveFormsModule, MatInputModule, MatFormFieldModule],\n templateUrl: './text-area.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class NgsFormsMaterialFormItemTextAreaComponent extends NgsFormsBaseClassFormInputComponent<any> {\n static override key = 'input-textarea';\n\n matcher = {\n isErrorState: (control: FormControl | null): boolean => {\n return !!(control && control.invalid && (control.touched || control.dirty || this.submitted()));\n }\n };\n\n static create(config: any): NgsFormsFormItem<any> {\n return {\n uuid: config.uuid || v4(),\n type: NgsFormsMaterialFormItemTextAreaComponent.key,\n config,\n };\n }\n}\n","@if (control) {\n <mat-form-field class=\"w-100 mb-2\" appearance=\"outline\">\n @if (config.label) {\n <mat-label>{{ config.label }}</mat-label>\n }\n <textarea matInput [formControl]=\"control\" [placeholder]=\"config.placeholder || ''\" [rows]=\"config.rows || 3\" [errorStateMatcher]=\"matcher\"></textarea>\n @if (errorMessage) {\n <mat-error>{{ errorMessage }}</mat-error>\n }\n </mat-form-field>\n}\n","import { NgModule } from '@angular/core';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { CommonModule } from '@angular/common';\nimport { NgsFormsComponentRegistryService, NgsFormsCoreModule } from '@ng-simplicity/forms-core';\nimport {\n NgsFormsMaterialFormItemCheckboxComponent,\n NgsFormsMaterialFormItemInputComponent,\n NgsFormsMaterialFormItemSelectInputComponent,\n NgsFormsMaterialRadioInputComponent,\n NgsFormsMaterialFormItemTextAreaComponent\n} from './form-components';\n\n@NgModule({\n imports: [CommonModule, FormsModule, ReactiveFormsModule, NgsFormsCoreModule],\n})\nexport class NgsFormsMaterialModule {\n static registerAllMaterialComponents(registryService: NgsFormsComponentRegistryService) {\n NgsFormsCoreModule.registerCoreNgsFormComponents(registryService);\n registryService.register(NgsFormsMaterialFormItemCheckboxComponent.key, NgsFormsMaterialFormItemCheckboxComponent);\n registryService.register(NgsFormsMaterialFormItemInputComponent.key, NgsFormsMaterialFormItemInputComponent);\n registryService.register(NgsFormsMaterialRadioInputComponent.key, NgsFormsMaterialRadioInputComponent);\n registryService.register(NgsFormsMaterialFormItemSelectInputComponent.key, NgsFormsMaterialFormItemSelectInputComponent);\n registryService.register(NgsFormsMaterialFormItemTextAreaComponent.key, NgsFormsMaterialFormItemTextAreaComponent);\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["i2"],"mappings":"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"}
|
package/index.d.ts
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import * as i3 from '@ng-simplicity/forms-core';
|
|
2
2
|
import { NgsFormsBaseClassFormInputComponent, NgsFormsFormItemConfigBaseInput, NgsFormsFormItem, NgsFormsFormItemConfigBaseInputWithOptions, NgsFormsBaseClassFormItemInputWithOptionsComponent, NgsFormsComponentRegistryService } from '@ng-simplicity/forms-core';
|
|
3
3
|
import * as i0 from '@angular/core';
|
|
4
|
-
import * as i1 from '@angular/common';
|
|
5
4
|
import * as i2 from '@angular/forms';
|
|
5
|
+
import { FormControl } from '@angular/forms';
|
|
6
|
+
import * as i1 from '@angular/common';
|
|
6
7
|
|
|
7
8
|
declare class NgsFormsMaterialFormItemCheckboxComponent extends NgsFormsBaseClassFormInputComponent<NgsFormsFormItemConfigBaseInput> {
|
|
8
9
|
static key: string;
|
|
@@ -13,6 +14,9 @@ declare class NgsFormsMaterialFormItemCheckboxComponent extends NgsFormsBaseClas
|
|
|
13
14
|
|
|
14
15
|
declare class NgsFormsMaterialFormItemInputComponent extends NgsFormsBaseClassFormInputComponent<any> {
|
|
15
16
|
static key: string;
|
|
17
|
+
matcher: {
|
|
18
|
+
isErrorState: (control: FormControl | null) => boolean;
|
|
19
|
+
};
|
|
16
20
|
static create(config: any): NgsFormsFormItem<any>;
|
|
17
21
|
static ɵfac: i0.ɵɵFactoryDeclaration<NgsFormsMaterialFormItemInputComponent, never>;
|
|
18
22
|
static ɵcmp: i0.ɵɵComponentDeclaration<NgsFormsMaterialFormItemInputComponent, "ngs-forms-mat-input", never, {}, {}, never, never, true, never>;
|
|
@@ -36,6 +40,9 @@ interface NgsFormsFormItemConfigMaterialSelectInput extends NgsFormsFormItemConf
|
|
|
36
40
|
declare class NgsFormsMaterialFormItemSelectInputComponent extends NgsFormsBaseClassFormItemInputWithOptionsComponent<NgsFormsFormItemConfigMaterialSelectInput> {
|
|
37
41
|
static key: string;
|
|
38
42
|
selectConfig: NgsFormsFormItemConfigMaterialSelectInput;
|
|
43
|
+
matcher: {
|
|
44
|
+
isErrorState: (control: FormControl | null) => boolean;
|
|
45
|
+
};
|
|
39
46
|
static create(config: NgsFormsFormItemConfigMaterialSelectInput): NgsFormsFormItem<NgsFormsFormItemConfigMaterialSelectInput>;
|
|
40
47
|
static ɵfac: i0.ɵɵFactoryDeclaration<NgsFormsMaterialFormItemSelectInputComponent, never>;
|
|
41
48
|
static ɵcmp: i0.ɵɵComponentDeclaration<NgsFormsMaterialFormItemSelectInputComponent, "ngs-forms-material-select-input", never, {}, {}, never, never, true, never>;
|
|
@@ -43,6 +50,9 @@ declare class NgsFormsMaterialFormItemSelectInputComponent extends NgsFormsBaseC
|
|
|
43
50
|
|
|
44
51
|
declare class NgsFormsMaterialFormItemTextAreaComponent extends NgsFormsBaseClassFormInputComponent<any> {
|
|
45
52
|
static key: string;
|
|
53
|
+
matcher: {
|
|
54
|
+
isErrorState: (control: FormControl | null) => boolean;
|
|
55
|
+
};
|
|
46
56
|
static create(config: any): NgsFormsFormItem<any>;
|
|
47
57
|
static ɵfac: i0.ɵɵFactoryDeclaration<NgsFormsMaterialFormItemTextAreaComponent, never>;
|
|
48
58
|
static ɵcmp: i0.ɵɵComponentDeclaration<NgsFormsMaterialFormItemTextAreaComponent, "ngs-forms-mat-textarea", never, {}, {}, never, never, true, never>;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ng-simplicity/forms-material",
|
|
3
|
-
"version": "1.0
|
|
3
|
+
"version": "1.1.0",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
"@angular/core": "^19.0.0 || ^20.0.0",
|
|
13
13
|
"@angular/forms": "^19.0.0 || ^20.0.0",
|
|
14
14
|
"@angular/material": "^19.0.0 || ^20.0.0",
|
|
15
|
-
"@ng-simplicity/forms-core": "^1.
|
|
15
|
+
"@ng-simplicity/forms-core": "^1.1.0"
|
|
16
16
|
},
|
|
17
17
|
"sideEffects": false,
|
|
18
18
|
"module": "fesm2022/ng-simplicity-forms-material.mjs",
|