@ng-simplicity/forms-bootstrap 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,30 +72,33 @@ export class BootstrapFormPageComponent implements OnInit {
72
72
  // Construct the form configuration
73
73
  const formConfig: NgsFormsFormConfig = {
74
74
  inputUpdateDebounce: 150,
75
- root: NgsFormsFormGroupComponent.create({ name: 'profileForm' }, [
76
- NgsFormsRowComponent.create({
77
- items: [
78
- NgsFormsBootstrapFormItemInputComponent.create({
79
- name: 'username',
80
- label: 'Username',
81
- placeholder: 'Enter username...',
82
- type: 'text',
83
- labelLocation: 'top',
84
- validators: [Validators.required],
85
- errorMessageMap: {
86
- required: 'Username is required.'
87
- }
88
- }),
89
- NgsFormsBootstrapFormsItemTextAreaComponent.create({
90
- name: 'bio',
91
- label: 'Biography',
92
- placeholder: 'Write a short bio...',
93
- labelLocation: 'left',
94
- inputCssClass: 'shadow-sm'
95
- })
96
- ]
97
- })
98
- ])
75
+ root: NgsFormsFormGroupComponent.create({
76
+ name: 'profileForm',
77
+ items: [
78
+ NgsFormsRowComponent.create({
79
+ items: [
80
+ NgsFormsBootstrapFormItemInputComponent.create({
81
+ name: 'username',
82
+ label: 'Username',
83
+ placeholder: 'Enter username...',
84
+ type: 'text',
85
+ labelLocation: 'top',
86
+ validators: [Validators.required],
87
+ errorMessageMap: {
88
+ required: 'Username is required.'
89
+ }
90
+ }),
91
+ NgsFormsBootstrapFormsItemTextAreaComponent.create({
92
+ name: 'bio',
93
+ label: 'Biography',
94
+ placeholder: 'Write a short bio...',
95
+ labelLocation: 'left',
96
+ inputCssClass: 'shadow-sm'
97
+ })
98
+ ]
99
+ })
100
+ ]
101
+ })
99
102
  };
100
103
 
101
104
  // Initialize the dynamic form controls
@@ -133,7 +136,7 @@ Most controls in this styling library support a standard set of core properties
133
136
  1. **Visibility**:
134
137
  - `visible` (boolean): Controls whether the item is mounted in the DOM.
135
138
  - `visible$` (`Observable<boolean>`): Stream version to dynamically show/hide components.
136
- - *Note: Visibility is configured at the wrapper component layer (`NgsFormsFormItem`).*
139
+ - *Note: Visibility is configured at the inner config level (`NgsFormsFormItemConfigBase`).*
137
140
 
138
141
  2. **Disabled Status**:
139
142
  - `disabled` (boolean): Sets the initial disabled state of the form control.
@@ -4,14 +4,14 @@ import { NgsFormsBaseClassFormInputComponent, ngsDefaults, NgsFormsBaseClassForm
4
4
  import * as i1 from '@angular/forms';
5
5
  import { ReactiveFormsModule, FormsModule } from '@angular/forms';
6
6
  import { v4 } from 'uuid';
7
- import { NgIf, CommonModule } from '@angular/common';
7
+ import { CommonModule } from '@angular/common';
8
8
 
9
9
  class NgsFormsBootstrapFormsItemCheckboxComponent extends NgsFormsBaseClassFormInputComponent {
10
10
  static key = 'checkbox';
11
11
  checkboxConfig = this.config;
12
12
  static create(config) {
13
13
  return {
14
- uuid: v4(),
14
+ uuid: config.uuid || v4(),
15
15
  type: NgsFormsBootstrapFormsItemCheckboxComponent.key,
16
16
  config,
17
17
  };
@@ -39,7 +39,7 @@ class NgsFormsBootstrapFormItemInputComponent extends NgsFormsBaseClassFormInput
39
39
  }
40
40
  static create(config) {
41
41
  return {
42
- uuid: v4(),
42
+ uuid: config.uuid || v4(),
43
43
  type: NgsFormsBootstrapFormItemInputComponent.key,
44
44
  config,
45
45
  };
@@ -49,7 +49,7 @@ class NgsFormsBootstrapFormItemInputComponent extends NgsFormsBaseClassFormInput
49
49
  }
50
50
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: NgsFormsBootstrapFormItemInputComponent, decorators: [{
51
51
  type: Component,
52
- args: [{ selector: 'ngs-forms-bs-input', imports: [ReactiveFormsModule, NgIf], changeDetection: ChangeDetectionStrategy.OnPush, template: "@if (!!control) {\n @if (textConfig.labelLocation === 'top') {\n <div class=\"mb-2\">\n <label [class.text-danger]=\"!!errorMessage\" class=\"form-label\" for=\"{{id}}-top\">{{ textConfig.label }}</label>\n <input [class.border-danger]=\"!!errorMessage\" \n [formControl]=\"control\" \n class=\"form-control\"\n id=\"{{id}}-top\" \n [attr.aria-describedby]=\"errorMessage ? id + '-error' : null\"\n placeholder=\"{{textConfig.placeholder}}\" \n type=\"{{textConfig.type}}\" />\n @if (errorMessage) {\n <div class=\"text-danger mt-1\" id=\"{{id}}-error\" style=\"font-size: 0.875rem;\">\n {{ errorMessage }}\n </div>\n }\n </div>\n }\n @if (textConfig.labelLocation === 'left') {\n <div class=\"row mb-2\">\n <label [class.text-danger]=\"!!errorMessage\" class=\"col-sm-2 col-form-label\"\n for=\"{{id}}-left\">{{ textConfig.label }}</label>\n <div class=\"col-sm-10\">\n <input [class.border-danger]=\"!!errorMessage\" \n [formControl]=\"control\" \n class=\"form-control\"\n id=\"{{id}}-left\" \n [attr.aria-describedby]=\"errorMessage ? id + '-error' : null\"\n placeholder=\"{{textConfig.placeholder}}\" \n type=\"{{textConfig.type}}\" />\n @if (errorMessage) {\n <div class=\"text-danger mt-1\" id=\"{{id}}-error\" style=\"font-size: 0.875rem;\">\n {{ errorMessage }}\n </div>\n }\n </div>\n </div>\n }\n}\n" }]
52
+ args: [{ selector: 'ngs-forms-bs-input', imports: [ReactiveFormsModule], changeDetection: ChangeDetectionStrategy.OnPush, template: "@if (!!control) {\n @if (textConfig.labelLocation === 'top') {\n <div class=\"mb-2\">\n <label [class.text-danger]=\"!!errorMessage\" class=\"form-label\" for=\"{{id}}-top\">{{ textConfig.label }}</label>\n <input [class.border-danger]=\"!!errorMessage\" \n [formControl]=\"control\" \n class=\"form-control\"\n id=\"{{id}}-top\" \n [attr.aria-describedby]=\"errorMessage ? id + '-error' : null\"\n placeholder=\"{{textConfig.placeholder}}\" \n type=\"{{textConfig.type}}\" />\n @if (errorMessage) {\n <div class=\"text-danger mt-1\" id=\"{{id}}-error\" style=\"font-size: 0.875rem;\">\n {{ errorMessage }}\n </div>\n }\n </div>\n }\n @if (textConfig.labelLocation === 'left') {\n <div class=\"row mb-2\">\n <label [class.text-danger]=\"!!errorMessage\" class=\"col-sm-2 col-form-label\"\n for=\"{{id}}-left\">{{ textConfig.label }}</label>\n <div class=\"col-sm-10\">\n <input [class.border-danger]=\"!!errorMessage\" \n [formControl]=\"control\" \n class=\"form-control\"\n id=\"{{id}}-left\" \n [attr.aria-describedby]=\"errorMessage ? id + '-error' : null\"\n placeholder=\"{{textConfig.placeholder}}\" \n type=\"{{textConfig.type}}\" />\n @if (errorMessage) {\n <div class=\"text-danger mt-1\" id=\"{{id}}-error\" style=\"font-size: 0.875rem;\">\n {{ errorMessage }}\n </div>\n }\n </div>\n </div>\n }\n}\n" }]
53
53
  }], ctorParameters: () => [] });
54
54
 
55
55
  class NgsFormsBootstrapRadioInputComponent extends NgsFormsBaseClassFormItemInputWithOptionsComponent {
@@ -57,7 +57,7 @@ class NgsFormsBootstrapRadioInputComponent extends NgsFormsBaseClassFormItemInpu
57
57
  radioConfig = this.config;
58
58
  static create(config) {
59
59
  return {
60
- uuid: v4(),
60
+ uuid: config.uuid || v4(),
61
61
  type: NgsFormsBootstrapRadioInputComponent.key,
62
62
  config,
63
63
  };
@@ -75,17 +75,17 @@ class NgsFormsBootstrapFormItemSelectInputComponent extends NgsFormsBaseClassFor
75
75
  selectConfig = this.config;
76
76
  static create(config) {
77
77
  return {
78
- uuid: v4(),
78
+ uuid: config.uuid || v4(),
79
79
  type: NgsFormsBootstrapFormItemSelectInputComponent.key,
80
80
  config,
81
81
  };
82
82
  }
83
83
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: NgsFormsBootstrapFormItemSelectInputComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
84
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.19", type: NgsFormsBootstrapFormItemSelectInputComponent, isStandalone: true, selector: "ngs-forms-bootstrap-select-input", usesInheritance: true, ngImport: i0, template: "@if (control) {\n @if (selectConfig.labelLocation === 'top') {\n <div class=\"mb-3\">\n <label [class.text-danger]=\"!!errorMessage\" class=\"form-label\" for=\"{{id}}-top\">{{ selectConfig.label }}</label>\n <select [attr.aria-label]=\"selectConfig.label\" \n [class.border-danger]=\"!!errorMessage\" \n [formControl]=\"control\"\n class=\"form-select\"\n id=\"{{id}}-top\"\n [attr.aria-describedby]=\"errorMessage ? id + '-error' : null\">\n @if (selectConfig.placeholder) {\n <option [disabled]=\"true\" [value]=\"selectConfig.placeHolderValue || ''\">{{ selectConfig.placeholder }}</option>\n }\n @for (option of options(); track option.id) {\n <option [disabled]=\"option.disabled\" [value]=\"option.id\">\n {{ option.label }}\n </option>\n }\n </select>\n @if (errorMessage) {\n <div class=\"text-danger mt-1\" id=\"{{id}}-error\" style=\"font-size: 0.875rem;\">\n {{ errorMessage }}\n </div>\n }\n </div>\n } @else {\n <div class=\"mb-3 row\">\n <label [class.text-danger]=\"!!errorMessage\" class=\"col-sm-2 col-form-label\"\n for=\"{{id}}-left\">{{ selectConfig.label }}</label>\n <div class=\"col-sm-10\">\n <select [attr.aria-label]=\"selectConfig.label\" \n [class.border-danger]=\"!!errorMessage\" \n [formControl]=\"control\"\n class=\"form-select\"\n id=\"{{id}}-left\"\n [attr.aria-describedby]=\"errorMessage ? id + '-error' : null\">\n @if (selectConfig.placeholder) {\n <option [disabled]=\"true\" [value]=\"selectConfig.placeHolderValue || ''\">{{ selectConfig.placeholder }}</option>\n }\n @for (option of options(); track option.id) {\n <option [disabled]=\"option.disabled\" [value]=\"option.id\">\n {{ option.label }}\n </option>\n }\n </select>\n @if (errorMessage) {\n <div class=\"text-danger mt-1\" id=\"{{id}}-error\" style=\"font-size: 0.875rem;\">\n {{ errorMessage }}\n </div>\n }\n </div>\n </div>\n }\n}\n\n", dependencies: [{ kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
84
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.19", type: NgsFormsBootstrapFormItemSelectInputComponent, isStandalone: true, selector: "ngs-forms-bootstrap-select-input", usesInheritance: true, ngImport: i0, template: "@if (control) {\n @if (selectConfig.labelLocation === 'top') {\n <div class=\"mb-3\">\n <label [class.text-danger]=\"!!errorMessage\" class=\"form-label\" for=\"{{id}}-top\">{{ selectConfig.label }}</label>\n <select [attr.aria-label]=\"selectConfig.label\" \n [class.border-danger]=\"!!errorMessage\" \n [formControl]=\"control\"\n class=\"form-select\"\n id=\"{{id}}-top\"\n [attr.aria-describedby]=\"errorMessage ? id + '-error' : null\">\n @if (selectConfig.placeholder) {\n <option [disabled]=\"true\" [value]=\"selectConfig.placeHolderValue || ''\">{{ selectConfig.placeholder }}</option>\n }\n @for (option of options(); track option.id) {\n <option [disabled]=\"!!option.disabled\" [value]=\"option.id\">\n {{ option.label }}\n </option>\n }\n </select>\n @if (errorMessage) {\n <div class=\"text-danger mt-1\" id=\"{{id}}-error\" style=\"font-size: 0.875rem;\">\n {{ errorMessage }}\n </div>\n }\n </div>\n } @else {\n <div class=\"mb-3 row\">\n <label [class.text-danger]=\"!!errorMessage\" class=\"col-sm-2 col-form-label\"\n for=\"{{id}}-left\">{{ selectConfig.label }}</label>\n <div class=\"col-sm-10\">\n <select [attr.aria-label]=\"selectConfig.label\" \n [class.border-danger]=\"!!errorMessage\" \n [formControl]=\"control\"\n class=\"form-select\"\n id=\"{{id}}-left\"\n [attr.aria-describedby]=\"errorMessage ? id + '-error' : null\">\n @if (selectConfig.placeholder) {\n <option [disabled]=\"true\" [value]=\"selectConfig.placeHolderValue || ''\">{{ selectConfig.placeholder }}</option>\n }\n @for (option of options(); track option.id) {\n <option [disabled]=\"!!option.disabled\" [value]=\"option.id\">\n {{ option.label }}\n </option>\n }\n </select>\n @if (errorMessage) {\n <div class=\"text-danger mt-1\" id=\"{{id}}-error\" style=\"font-size: 0.875rem;\">\n {{ errorMessage }}\n </div>\n }\n </div>\n </div>\n }\n}\n\n", dependencies: [{ kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
85
85
  }
86
86
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: NgsFormsBootstrapFormItemSelectInputComponent, decorators: [{
87
87
  type: Component,
88
- args: [{ selector: 'ngs-forms-bootstrap-select-input', imports: [ReactiveFormsModule], changeDetection: ChangeDetectionStrategy.OnPush, template: "@if (control) {\n @if (selectConfig.labelLocation === 'top') {\n <div class=\"mb-3\">\n <label [class.text-danger]=\"!!errorMessage\" class=\"form-label\" for=\"{{id}}-top\">{{ selectConfig.label }}</label>\n <select [attr.aria-label]=\"selectConfig.label\" \n [class.border-danger]=\"!!errorMessage\" \n [formControl]=\"control\"\n class=\"form-select\"\n id=\"{{id}}-top\"\n [attr.aria-describedby]=\"errorMessage ? id + '-error' : null\">\n @if (selectConfig.placeholder) {\n <option [disabled]=\"true\" [value]=\"selectConfig.placeHolderValue || ''\">{{ selectConfig.placeholder }}</option>\n }\n @for (option of options(); track option.id) {\n <option [disabled]=\"option.disabled\" [value]=\"option.id\">\n {{ option.label }}\n </option>\n }\n </select>\n @if (errorMessage) {\n <div class=\"text-danger mt-1\" id=\"{{id}}-error\" style=\"font-size: 0.875rem;\">\n {{ errorMessage }}\n </div>\n }\n </div>\n } @else {\n <div class=\"mb-3 row\">\n <label [class.text-danger]=\"!!errorMessage\" class=\"col-sm-2 col-form-label\"\n for=\"{{id}}-left\">{{ selectConfig.label }}</label>\n <div class=\"col-sm-10\">\n <select [attr.aria-label]=\"selectConfig.label\" \n [class.border-danger]=\"!!errorMessage\" \n [formControl]=\"control\"\n class=\"form-select\"\n id=\"{{id}}-left\"\n [attr.aria-describedby]=\"errorMessage ? id + '-error' : null\">\n @if (selectConfig.placeholder) {\n <option [disabled]=\"true\" [value]=\"selectConfig.placeHolderValue || ''\">{{ selectConfig.placeholder }}</option>\n }\n @for (option of options(); track option.id) {\n <option [disabled]=\"option.disabled\" [value]=\"option.id\">\n {{ option.label }}\n </option>\n }\n </select>\n @if (errorMessage) {\n <div class=\"text-danger mt-1\" id=\"{{id}}-error\" style=\"font-size: 0.875rem;\">\n {{ errorMessage }}\n </div>\n }\n </div>\n </div>\n }\n}\n\n" }]
88
+ args: [{ selector: 'ngs-forms-bootstrap-select-input', imports: [ReactiveFormsModule], changeDetection: ChangeDetectionStrategy.OnPush, template: "@if (control) {\n @if (selectConfig.labelLocation === 'top') {\n <div class=\"mb-3\">\n <label [class.text-danger]=\"!!errorMessage\" class=\"form-label\" for=\"{{id}}-top\">{{ selectConfig.label }}</label>\n <select [attr.aria-label]=\"selectConfig.label\" \n [class.border-danger]=\"!!errorMessage\" \n [formControl]=\"control\"\n class=\"form-select\"\n id=\"{{id}}-top\"\n [attr.aria-describedby]=\"errorMessage ? id + '-error' : null\">\n @if (selectConfig.placeholder) {\n <option [disabled]=\"true\" [value]=\"selectConfig.placeHolderValue || ''\">{{ selectConfig.placeholder }}</option>\n }\n @for (option of options(); track option.id) {\n <option [disabled]=\"!!option.disabled\" [value]=\"option.id\">\n {{ option.label }}\n </option>\n }\n </select>\n @if (errorMessage) {\n <div class=\"text-danger mt-1\" id=\"{{id}}-error\" style=\"font-size: 0.875rem;\">\n {{ errorMessage }}\n </div>\n }\n </div>\n } @else {\n <div class=\"mb-3 row\">\n <label [class.text-danger]=\"!!errorMessage\" class=\"col-sm-2 col-form-label\"\n for=\"{{id}}-left\">{{ selectConfig.label }}</label>\n <div class=\"col-sm-10\">\n <select [attr.aria-label]=\"selectConfig.label\" \n [class.border-danger]=\"!!errorMessage\" \n [formControl]=\"control\"\n class=\"form-select\"\n id=\"{{id}}-left\"\n [attr.aria-describedby]=\"errorMessage ? id + '-error' : null\">\n @if (selectConfig.placeholder) {\n <option [disabled]=\"true\" [value]=\"selectConfig.placeHolderValue || ''\">{{ selectConfig.placeholder }}</option>\n }\n @for (option of options(); track option.id) {\n <option [disabled]=\"!!option.disabled\" [value]=\"option.id\">\n {{ option.label }}\n </option>\n }\n </select>\n @if (errorMessage) {\n <div class=\"text-danger mt-1\" id=\"{{id}}-error\" style=\"font-size: 0.875rem;\">\n {{ errorMessage }}\n </div>\n }\n </div>\n </div>\n }\n}\n\n" }]
89
89
  }] });
90
90
 
91
91
  class NgsFormsBootstrapFormsItemTextAreaComponent extends NgsFormsBaseClassFormInputComponent {
@@ -93,7 +93,7 @@ class NgsFormsBootstrapFormsItemTextAreaComponent extends NgsFormsBaseClassFormI
93
93
  textAreaConfig = this.config;
94
94
  static create(config) {
95
95
  return {
96
- uuid: v4(),
96
+ uuid: config.uuid || v4(),
97
97
  type: NgsFormsBootstrapFormsItemTextAreaComponent.key,
98
98
  config,
99
99
  };
@@ -1 +1 @@
1
- {"version":3,"file":"ng-simplicity-forms-bootstrap.mjs","sources":["../../../../libs/forms-bootstrap/src/lib/form-components/checkbox/checkbox.component.ts","../../../../libs/forms-bootstrap/src/lib/form-components/checkbox/checkbox.component.html","../../../../libs/forms-bootstrap/src/lib/form-components/input/input-component.resources.ts","../../../../libs/forms-bootstrap/src/lib/form-components/input/input.component.ts","../../../../libs/forms-bootstrap/src/lib/form-components/input/input.component.html","../../../../libs/forms-bootstrap/src/lib/form-components/radio/radio.component.ts","../../../../libs/forms-bootstrap/src/lib/form-components/radio/radio.component.html","../../../../libs/forms-bootstrap/src/lib/form-components/select/select.component.ts","../../../../libs/forms-bootstrap/src/lib/form-components/select/select.component.html","../../../../libs/forms-bootstrap/src/lib/form-components/text-area/text-area.component.ts","../../../../libs/forms-bootstrap/src/lib/form-components/text-area/text-area.component.html","../../../../libs/forms-bootstrap/src/lib/forms-bootstrap.module.ts","../../../../libs/forms-bootstrap/src/ng-simplicity-forms-bootstrap.ts"],"sourcesContent":["import { Component, ChangeDetectionStrategy } from '@angular/core';\nimport { NgsFormsBaseClassFormInputComponent, NgsFormsFormItem, NgsFormsFormItemConfigBaseInput } from '@ng-simplicity/forms-core';\nimport { ReactiveFormsModule } from '@angular/forms';\nimport { NgsFormsFormItemConfigBootstrapCheckbox } from './checkbox.config';\nimport { v4 } from 'uuid';\n\n@Component({\n selector: 'ngs-form-item-bs-checkbox',\n imports: [ReactiveFormsModule],\n templateUrl: './checkbox.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class NgsFormsBootstrapFormsItemCheckboxComponent extends NgsFormsBaseClassFormInputComponent<NgsFormsFormItemConfigBootstrapCheckbox> {\n static override key = 'checkbox';\n checkboxConfig = this.config as NgsFormsFormItemConfigBootstrapCheckbox;\n\n static create(\n config: NgsFormsFormItemConfigBootstrapCheckbox\n ): NgsFormsFormItem<NgsFormsFormItemConfigBootstrapCheckbox> {\n return {\n uuid: v4(),\n type: NgsFormsBootstrapFormsItemCheckboxComponent.key,\n config,\n };\n }\n}\n","@if (control) {\n <div class=\"form-check\">\n <input [class.border-danger]=\"!!errorMessage\" \n [formControl]=\"control\" \n class=\"form-check-input\" \n id=\"{{id}}\"\n [attr.aria-describedby]=\"errorMessage ? id + '-error' : null\"\n type=\"checkbox\">\n <label [class.text-danger]=\"!!errorMessage\" class=\"form-check-label\" for=\"{{id}}\">\n {{ checkboxConfig.label }}\n </label>\n @if (errorMessage) {\n <div class=\"text-danger mt-1\" id=\"{{id}}-error\" style=\"font-size: 0.875rem;\">\n {{ errorMessage }}\n </div>\n }\n </div>\n}\n\n","import { NgsFormsFormItemConfigBootstrapTextInput } from './input.config';\n\nexport const NgsFormBootstrapInputComponentResources: INgsFormBoostrapInputComponentResources = {\n defaults: {\n type: 'text',\n labelLocation: 'top',\n },\n};\n\nexport interface INgsFormBoostrapInputComponentResources {\n defaults: Partial<NgsFormsFormItemConfigBootstrapTextInput>;\n}\n","import { Component, ChangeDetectionStrategy } from '@angular/core';\nimport { NgsFormsBaseClassFormInputComponent, NgsFormsFormItem, ngsDefaults } from '@ng-simplicity/forms-core';\nimport { ReactiveFormsModule } from '@angular/forms';\nimport { NgsFormBootstrapInputComponentResources } from './input-component.resources';\nimport { NgsFormsFormItemConfigBootstrapTextInput } from './input.config';\nimport { v4 } from 'uuid';\nimport { NgIf } from '@angular/common';\n\n@Component({\n selector: 'ngs-forms-bs-input',\n imports: [ReactiveFormsModule, NgIf],\n templateUrl: './input.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class NgsFormsBootstrapFormItemInputComponent extends NgsFormsBaseClassFormInputComponent<NgsFormsFormItemConfigBootstrapTextInput> {\n static override key = 'input-text';\n textConfig: NgsFormsFormItemConfigBootstrapTextInput = ngsDefaults(this.config as NgsFormsFormItemConfigBootstrapTextInput, NgsFormBootstrapInputComponentResources.defaults);\n constructor() {\n super();\n }\n\n static create(config: NgsFormsFormItemConfigBootstrapTextInput): NgsFormsFormItem<NgsFormsFormItemConfigBootstrapTextInput> {\n return {\n uuid: v4(),\n type: NgsFormsBootstrapFormItemInputComponent.key,\n config,\n };\n }\n}\n","@if (!!control) {\n @if (textConfig.labelLocation === 'top') {\n <div class=\"mb-2\">\n <label [class.text-danger]=\"!!errorMessage\" class=\"form-label\" for=\"{{id}}-top\">{{ textConfig.label }}</label>\n <input [class.border-danger]=\"!!errorMessage\" \n [formControl]=\"control\" \n class=\"form-control\"\n id=\"{{id}}-top\" \n [attr.aria-describedby]=\"errorMessage ? id + '-error' : null\"\n placeholder=\"{{textConfig.placeholder}}\" \n type=\"{{textConfig.type}}\" />\n @if (errorMessage) {\n <div class=\"text-danger mt-1\" id=\"{{id}}-error\" style=\"font-size: 0.875rem;\">\n {{ errorMessage }}\n </div>\n }\n </div>\n }\n @if (textConfig.labelLocation === 'left') {\n <div class=\"row mb-2\">\n <label [class.text-danger]=\"!!errorMessage\" class=\"col-sm-2 col-form-label\"\n for=\"{{id}}-left\">{{ textConfig.label }}</label>\n <div class=\"col-sm-10\">\n <input [class.border-danger]=\"!!errorMessage\" \n [formControl]=\"control\" \n class=\"form-control\"\n id=\"{{id}}-left\" \n [attr.aria-describedby]=\"errorMessage ? id + '-error' : null\"\n placeholder=\"{{textConfig.placeholder}}\" \n type=\"{{textConfig.type}}\" />\n @if (errorMessage) {\n <div class=\"text-danger mt-1\" id=\"{{id}}-error\" style=\"font-size: 0.875rem;\">\n {{ errorMessage }}\n </div>\n }\n </div>\n </div>\n }\n}\n","import { Component, ChangeDetectionStrategy } from '@angular/core';\nimport { NgsFormsBaseClassFormItemInputWithOptionsComponent, NgsFormsFormItem } from '@ng-simplicity/forms-core';\nimport { NgsFormsFormsItemConfigBoostrapRadio } from './radio.config';\nimport { ReactiveFormsModule } from '@angular/forms';\nimport { v4 } from 'uuid';\n\n@Component({\n selector: 'ngs-forms-bootstrap-radio-group-input',\n imports: [ReactiveFormsModule],\n templateUrl: './radio.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class NgsFormsBootstrapRadioInputComponent extends NgsFormsBaseClassFormItemInputWithOptionsComponent<NgsFormsFormsItemConfigBoostrapRadio> {\n static override key = 'radio';\n radioConfig = this.config as NgsFormsFormsItemConfigBoostrapRadio;\n\n static create(\n config: NgsFormsFormsItemConfigBoostrapRadio\n ): NgsFormsFormItem<NgsFormsFormsItemConfigBoostrapRadio> {\n return {\n uuid: v4(),\n type: NgsFormsBootstrapRadioInputComponent.key,\n config,\n };\n }\n}\n","@if (control) {\n <div role=\"radiogroup\"\n [attr.aria-labelledby]=\"radioConfig.label ? id + '-label' : null\"\n [attr.aria-describedby]=\"errorMessage ? id + '-error' : null\"\n class=\"mb-3\">\n <div [class.d-flex]=\"radioConfig.alignment==='horizontal'\">\n @if (!!radioConfig.label) {\n <div [class.text-danger]=\"!!errorMessage\" class=\"form-label me-2 pt-0\" id=\"{{id}}-label\">\n {{ radioConfig.label }}\n </div>\n }\n @for (option of options(); track option.id) {\n <div [class.form-check-inline]=\"radioConfig.alignment==='horizontal'\"\n [class.me-2]=\"radioConfig.alignment==='horizontal'\"\n class=\"form-check\">\n <input [class.border-danger]=\"!!errorMessage\" \n [formControl]=\"control\" \n value=\"{{option.id}}\" \n class=\"form-check-input\"\n id=\"{{id}}{{option.id}}\" \n type=\"radio\">\n <label [class.text-danger]=\"!!errorMessage\" class=\"form-check-label\"\n for=\"{{id}}{{option.id}}\">{{ option.label }}</label>\n </div>\n }\n </div>\n @if (errorMessage) {\n <div class=\"text-danger mt-1\" id=\"{{id}}-error\" style=\"font-size: 0.875rem;\">\n {{ errorMessage }}\n </div>\n }\n </div>\n}\n\n","import { Component, ChangeDetectionStrategy } from '@angular/core';\nimport { NgsFormsFormItemConfigBootstrapSelectInput } from './select.config';\n\nimport { NgsFormsBaseClassFormItemInputWithOptionsComponent, NgsFormsFormItem } from '@ng-simplicity/forms-core';\nimport { ReactiveFormsModule } from '@angular/forms';\nimport { v4 } from 'uuid';\n\n@Component({\n selector: 'ngs-forms-bootstrap-select-input',\n imports: [ReactiveFormsModule],\n templateUrl: './select.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class NgsFormsBootstrapFormItemSelectInputComponent extends NgsFormsBaseClassFormItemInputWithOptionsComponent<NgsFormsFormItemConfigBootstrapSelectInput> {\n static override key = 'select';\n selectConfig = this.config as NgsFormsFormItemConfigBootstrapSelectInput;\n\n static create(\n config: NgsFormsFormItemConfigBootstrapSelectInput\n ): NgsFormsFormItem<NgsFormsFormItemConfigBootstrapSelectInput> {\n return {\n uuid: v4(),\n type: NgsFormsBootstrapFormItemSelectInputComponent.key,\n config,\n };\n }\n}\n","@if (control) {\n @if (selectConfig.labelLocation === 'top') {\n <div class=\"mb-3\">\n <label [class.text-danger]=\"!!errorMessage\" class=\"form-label\" for=\"{{id}}-top\">{{ selectConfig.label }}</label>\n <select [attr.aria-label]=\"selectConfig.label\" \n [class.border-danger]=\"!!errorMessage\" \n [formControl]=\"control\"\n class=\"form-select\"\n id=\"{{id}}-top\"\n [attr.aria-describedby]=\"errorMessage ? id + '-error' : null\">\n @if (selectConfig.placeholder) {\n <option [disabled]=\"true\" [value]=\"selectConfig.placeHolderValue || ''\">{{ selectConfig.placeholder }}</option>\n }\n @for (option of options(); track option.id) {\n <option [disabled]=\"option.disabled\" [value]=\"option.id\">\n {{ option.label }}\n </option>\n }\n </select>\n @if (errorMessage) {\n <div class=\"text-danger mt-1\" id=\"{{id}}-error\" style=\"font-size: 0.875rem;\">\n {{ errorMessage }}\n </div>\n }\n </div>\n } @else {\n <div class=\"mb-3 row\">\n <label [class.text-danger]=\"!!errorMessage\" class=\"col-sm-2 col-form-label\"\n for=\"{{id}}-left\">{{ selectConfig.label }}</label>\n <div class=\"col-sm-10\">\n <select [attr.aria-label]=\"selectConfig.label\" \n [class.border-danger]=\"!!errorMessage\" \n [formControl]=\"control\"\n class=\"form-select\"\n id=\"{{id}}-left\"\n [attr.aria-describedby]=\"errorMessage ? id + '-error' : null\">\n @if (selectConfig.placeholder) {\n <option [disabled]=\"true\" [value]=\"selectConfig.placeHolderValue || ''\">{{ selectConfig.placeholder }}</option>\n }\n @for (option of options(); track option.id) {\n <option [disabled]=\"option.disabled\" [value]=\"option.id\">\n {{ option.label }}\n </option>\n }\n </select>\n @if (errorMessage) {\n <div class=\"text-danger mt-1\" id=\"{{id}}-error\" style=\"font-size: 0.875rem;\">\n {{ errorMessage }}\n </div>\n }\n </div>\n </div>\n }\n}\n\n","import { Component, ChangeDetectionStrategy } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { NgsFormsBaseClassFormInputComponent, NgsFormsFormItem } from '@ng-simplicity/forms-core';\nimport { NgsFormsFormItemConfigBootstrapTextArea } from './text-area.config';\nimport { ReactiveFormsModule } from '@angular/forms';\nimport { v4 } from 'uuid';\n\n@Component({\n selector: 'ngs-form-item-bs-text-area',\n imports: [CommonModule, ReactiveFormsModule],\n templateUrl: './text-area.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class NgsFormsBootstrapFormsItemTextAreaComponent extends NgsFormsBaseClassFormInputComponent<NgsFormsFormItemConfigBootstrapTextArea> {\n static override key = 'input-textarea';\n textAreaConfig = this.config as NgsFormsFormItemConfigBootstrapTextArea;\n\n static create(config: NgsFormsFormItemConfigBootstrapTextArea): NgsFormsFormItem<NgsFormsFormItemConfigBootstrapTextArea> {\n return {\n uuid: v4(),\n type: NgsFormsBootstrapFormsItemTextAreaComponent.key,\n config,\n };\n }\n}\n","@if (control) {\n @if (textAreaConfig.labelLocation === 'top' || !textAreaConfig.labelLocation) {\n <div class=\"mb-3\">\n <label [class.text-danger]=\"!!errorMessage\" class=\"form-label\" for=\"{{id}}-top\">{{ textAreaConfig.label }}</label>\n <textarea [class.border-danger]=\"!!errorMessage\"\n [formControl]=\"control\"\n class=\"form-control {{textAreaConfig.inputCssClass}}\"\n id=\"{{id}}-top\"\n [attr.aria-describedby]=\"errorMessage ? id + '-error' : null\"\n placeholder=\"{{textAreaConfig.placeholder}}\"\n style=\"height: 210px\"></textarea>\n @if (errorMessage) {\n <div class=\"text-danger mt-1\" id=\"{{id}}-error\" style=\"font-size: 0.875rem;\">\n {{ errorMessage }}\n </div>\n }\n </div>\n } @else {\n @if (textAreaConfig.labelLocation === 'left') {\n <div class=\"mb-3 row\">\n <label [class.text-danger]=\"!!errorMessage\" class=\"col-sm-2 col-form-label\"\n for=\"{{id}}-left\">{{ textAreaConfig.label }}</label>\n <div class=\"col-sm-10\">\n <textarea [class.border-danger]=\"!!errorMessage\"\n [formControl]=\"control\"\n class=\"form-control {{textAreaConfig.inputCssClass}}\"\n id=\"{{id}}-left\"\n [attr.aria-describedby]=\"errorMessage ? id + '-error' : null\"\n placeholder=\"{{textAreaConfig.placeholder}}\"\n style=\"height: 210px\"></textarea>\n @if (errorMessage) {\n <div class=\"text-danger mt-1\" id=\"{{id}}-error\" style=\"font-size: 0.875rem;\">\n {{ errorMessage }}\n </div>\n }\n </div>\n </div>\n }\n }\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 NgsFormsBootstrapFormItemInputComponent,\n NgsFormsBootstrapFormsItemTextAreaComponent,\n NgsFormsBootstrapFormsItemCheckboxComponent,\n NgsFormsBootstrapRadioInputComponent,\n NgsFormsBootstrapFormItemSelectInputComponent\n} from './form-components';\n\n@NgModule({\n imports: [CommonModule, FormsModule, ReactiveFormsModule, NgsFormsCoreModule],\n})\nexport class NgsFormsBootstrapModule {\n static registerAllBootStrapComponents(registryService: NgsFormsComponentRegistryService) {\n NgsFormsCoreModule.registerCoreNgsFormComponents(registryService);\n registryService.register(NgsFormsBootstrapFormsItemCheckboxComponent.key, NgsFormsBootstrapFormsItemCheckboxComponent);\n registryService.register(NgsFormsBootstrapFormItemInputComponent.key, NgsFormsBootstrapFormItemInputComponent);\n registryService.register(NgsFormsBootstrapRadioInputComponent.key, NgsFormsBootstrapRadioInputComponent);\n registryService.register(NgsFormsBootstrapFormItemSelectInputComponent.key, NgsFormsBootstrapFormItemSelectInputComponent);\n registryService.register(NgsFormsBootstrapFormsItemTextAreaComponent.key, NgsFormsBootstrapFormsItemTextAreaComponent);\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ng-simplicity-forms-bootstrap.mjs","sources":["../../../../libs/forms-bootstrap/src/lib/form-components/checkbox/checkbox.component.ts","../../../../libs/forms-bootstrap/src/lib/form-components/checkbox/checkbox.component.html","../../../../libs/forms-bootstrap/src/lib/form-components/input/input-component.resources.ts","../../../../libs/forms-bootstrap/src/lib/form-components/input/input.component.ts","../../../../libs/forms-bootstrap/src/lib/form-components/input/input.component.html","../../../../libs/forms-bootstrap/src/lib/form-components/radio/radio.component.ts","../../../../libs/forms-bootstrap/src/lib/form-components/radio/radio.component.html","../../../../libs/forms-bootstrap/src/lib/form-components/select/select.component.ts","../../../../libs/forms-bootstrap/src/lib/form-components/select/select.component.html","../../../../libs/forms-bootstrap/src/lib/form-components/text-area/text-area.component.ts","../../../../libs/forms-bootstrap/src/lib/form-components/text-area/text-area.component.html","../../../../libs/forms-bootstrap/src/lib/forms-bootstrap.module.ts","../../../../libs/forms-bootstrap/src/ng-simplicity-forms-bootstrap.ts"],"sourcesContent":["import { Component, ChangeDetectionStrategy } from '@angular/core';\nimport { NgsFormsBaseClassFormInputComponent, NgsFormsFormItem, NgsFormsFormItemConfigBaseInput } from '@ng-simplicity/forms-core';\nimport { ReactiveFormsModule } from '@angular/forms';\nimport { NgsFormsFormItemConfigBootstrapCheckbox } from './checkbox.config';\nimport { v4 } from 'uuid';\n\n@Component({\n selector: 'ngs-form-item-bs-checkbox',\n imports: [ReactiveFormsModule],\n templateUrl: './checkbox.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class NgsFormsBootstrapFormsItemCheckboxComponent extends NgsFormsBaseClassFormInputComponent<NgsFormsFormItemConfigBootstrapCheckbox> {\n static override key = 'checkbox';\n checkboxConfig = this.config as NgsFormsFormItemConfigBootstrapCheckbox;\n\n static create(\n config: NgsFormsFormItemConfigBootstrapCheckbox\n ): NgsFormsFormItem<NgsFormsFormItemConfigBootstrapCheckbox> {\n return {\n uuid: config.uuid || v4(),\n type: NgsFormsBootstrapFormsItemCheckboxComponent.key,\n config,\n };\n }\n}\n","@if (control) {\n <div class=\"form-check\">\n <input [class.border-danger]=\"!!errorMessage\" \n [formControl]=\"control\" \n class=\"form-check-input\" \n id=\"{{id}}\"\n [attr.aria-describedby]=\"errorMessage ? id + '-error' : null\"\n type=\"checkbox\">\n <label [class.text-danger]=\"!!errorMessage\" class=\"form-check-label\" for=\"{{id}}\">\n {{ checkboxConfig.label }}\n </label>\n @if (errorMessage) {\n <div class=\"text-danger mt-1\" id=\"{{id}}-error\" style=\"font-size: 0.875rem;\">\n {{ errorMessage }}\n </div>\n }\n </div>\n}\n\n","import { NgsFormsFormItemConfigBootstrapTextInput } from './input.config';\n\nexport const NgsFormBootstrapInputComponentResources: INgsFormBoostrapInputComponentResources = {\n defaults: {\n type: 'text',\n labelLocation: 'top',\n },\n};\n\nexport interface INgsFormBoostrapInputComponentResources {\n defaults: Partial<NgsFormsFormItemConfigBootstrapTextInput>;\n}\n","import { Component, ChangeDetectionStrategy } from '@angular/core';\nimport { NgsFormsBaseClassFormInputComponent, NgsFormsFormItem, ngsDefaults } from '@ng-simplicity/forms-core';\nimport { ReactiveFormsModule } from '@angular/forms';\nimport { NgsFormBootstrapInputComponentResources } from './input-component.resources';\nimport { NgsFormsFormItemConfigBootstrapTextInput } from './input.config';\nimport { v4 } from 'uuid';\n@Component({\n selector: 'ngs-forms-bs-input',\n imports: [ReactiveFormsModule],\n templateUrl: './input.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class NgsFormsBootstrapFormItemInputComponent extends NgsFormsBaseClassFormInputComponent<NgsFormsFormItemConfigBootstrapTextInput> {\n static override key = 'input-text';\n textConfig: NgsFormsFormItemConfigBootstrapTextInput = ngsDefaults(this.config as NgsFormsFormItemConfigBootstrapTextInput, NgsFormBootstrapInputComponentResources.defaults);\n constructor() {\n super();\n }\n\n static create(config: NgsFormsFormItemConfigBootstrapTextInput): NgsFormsFormItem<NgsFormsFormItemConfigBootstrapTextInput> {\n return {\n uuid: config.uuid || v4(),\n type: NgsFormsBootstrapFormItemInputComponent.key,\n config,\n };\n }\n}\n","@if (!!control) {\n @if (textConfig.labelLocation === 'top') {\n <div class=\"mb-2\">\n <label [class.text-danger]=\"!!errorMessage\" class=\"form-label\" for=\"{{id}}-top\">{{ textConfig.label }}</label>\n <input [class.border-danger]=\"!!errorMessage\" \n [formControl]=\"control\" \n class=\"form-control\"\n id=\"{{id}}-top\" \n [attr.aria-describedby]=\"errorMessage ? id + '-error' : null\"\n placeholder=\"{{textConfig.placeholder}}\" \n type=\"{{textConfig.type}}\" />\n @if (errorMessage) {\n <div class=\"text-danger mt-1\" id=\"{{id}}-error\" style=\"font-size: 0.875rem;\">\n {{ errorMessage }}\n </div>\n }\n </div>\n }\n @if (textConfig.labelLocation === 'left') {\n <div class=\"row mb-2\">\n <label [class.text-danger]=\"!!errorMessage\" class=\"col-sm-2 col-form-label\"\n for=\"{{id}}-left\">{{ textConfig.label }}</label>\n <div class=\"col-sm-10\">\n <input [class.border-danger]=\"!!errorMessage\" \n [formControl]=\"control\" \n class=\"form-control\"\n id=\"{{id}}-left\" \n [attr.aria-describedby]=\"errorMessage ? id + '-error' : null\"\n placeholder=\"{{textConfig.placeholder}}\" \n type=\"{{textConfig.type}}\" />\n @if (errorMessage) {\n <div class=\"text-danger mt-1\" id=\"{{id}}-error\" style=\"font-size: 0.875rem;\">\n {{ errorMessage }}\n </div>\n }\n </div>\n </div>\n }\n}\n","import { Component, ChangeDetectionStrategy } from '@angular/core';\nimport { NgsFormsBaseClassFormItemInputWithOptionsComponent, NgsFormsFormItem } from '@ng-simplicity/forms-core';\nimport { NgsFormsFormsItemConfigBoostrapRadio } from './radio.config';\nimport { ReactiveFormsModule } from '@angular/forms';\nimport { v4 } from 'uuid';\n\n@Component({\n selector: 'ngs-forms-bootstrap-radio-group-input',\n imports: [ReactiveFormsModule],\n templateUrl: './radio.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class NgsFormsBootstrapRadioInputComponent extends NgsFormsBaseClassFormItemInputWithOptionsComponent<NgsFormsFormsItemConfigBoostrapRadio> {\n static override key = 'radio';\n radioConfig = this.config as NgsFormsFormsItemConfigBoostrapRadio;\n\n static create(\n config: NgsFormsFormsItemConfigBoostrapRadio\n ): NgsFormsFormItem<NgsFormsFormsItemConfigBoostrapRadio> {\n return {\n uuid: config.uuid || v4(),\n type: NgsFormsBootstrapRadioInputComponent.key,\n config,\n };\n }\n}\n","@if (control) {\n <div role=\"radiogroup\"\n [attr.aria-labelledby]=\"radioConfig.label ? id + '-label' : null\"\n [attr.aria-describedby]=\"errorMessage ? id + '-error' : null\"\n class=\"mb-3\">\n <div [class.d-flex]=\"radioConfig.alignment==='horizontal'\">\n @if (!!radioConfig.label) {\n <div [class.text-danger]=\"!!errorMessage\" class=\"form-label me-2 pt-0\" id=\"{{id}}-label\">\n {{ radioConfig.label }}\n </div>\n }\n @for (option of options(); track option.id) {\n <div [class.form-check-inline]=\"radioConfig.alignment==='horizontal'\"\n [class.me-2]=\"radioConfig.alignment==='horizontal'\"\n class=\"form-check\">\n <input [class.border-danger]=\"!!errorMessage\" \n [formControl]=\"control\" \n value=\"{{option.id}}\" \n class=\"form-check-input\"\n id=\"{{id}}{{option.id}}\" \n type=\"radio\">\n <label [class.text-danger]=\"!!errorMessage\" class=\"form-check-label\"\n for=\"{{id}}{{option.id}}\">{{ option.label }}</label>\n </div>\n }\n </div>\n @if (errorMessage) {\n <div class=\"text-danger mt-1\" id=\"{{id}}-error\" style=\"font-size: 0.875rem;\">\n {{ errorMessage }}\n </div>\n }\n </div>\n}\n\n","import { Component, ChangeDetectionStrategy } from '@angular/core';\nimport { NgsFormsFormItemConfigBootstrapSelectInput } from './select.config';\n\nimport { NgsFormsBaseClassFormItemInputWithOptionsComponent, NgsFormsFormItem } from '@ng-simplicity/forms-core';\nimport { ReactiveFormsModule } from '@angular/forms';\nimport { v4 } from 'uuid';\n\n@Component({\n selector: 'ngs-forms-bootstrap-select-input',\n imports: [ReactiveFormsModule],\n templateUrl: './select.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class NgsFormsBootstrapFormItemSelectInputComponent extends NgsFormsBaseClassFormItemInputWithOptionsComponent<NgsFormsFormItemConfigBootstrapSelectInput> {\n static override key = 'select';\n selectConfig = this.config as NgsFormsFormItemConfigBootstrapSelectInput;\n\n static create(\n config: NgsFormsFormItemConfigBootstrapSelectInput\n ): NgsFormsFormItem<NgsFormsFormItemConfigBootstrapSelectInput> {\n return {\n uuid: config.uuid || v4(),\n type: NgsFormsBootstrapFormItemSelectInputComponent.key,\n config,\n };\n }\n}\n","@if (control) {\n @if (selectConfig.labelLocation === 'top') {\n <div class=\"mb-3\">\n <label [class.text-danger]=\"!!errorMessage\" class=\"form-label\" for=\"{{id}}-top\">{{ selectConfig.label }}</label>\n <select [attr.aria-label]=\"selectConfig.label\" \n [class.border-danger]=\"!!errorMessage\" \n [formControl]=\"control\"\n class=\"form-select\"\n id=\"{{id}}-top\"\n [attr.aria-describedby]=\"errorMessage ? id + '-error' : null\">\n @if (selectConfig.placeholder) {\n <option [disabled]=\"true\" [value]=\"selectConfig.placeHolderValue || ''\">{{ selectConfig.placeholder }}</option>\n }\n @for (option of options(); track option.id) {\n <option [disabled]=\"!!option.disabled\" [value]=\"option.id\">\n {{ option.label }}\n </option>\n }\n </select>\n @if (errorMessage) {\n <div class=\"text-danger mt-1\" id=\"{{id}}-error\" style=\"font-size: 0.875rem;\">\n {{ errorMessage }}\n </div>\n }\n </div>\n } @else {\n <div class=\"mb-3 row\">\n <label [class.text-danger]=\"!!errorMessage\" class=\"col-sm-2 col-form-label\"\n for=\"{{id}}-left\">{{ selectConfig.label }}</label>\n <div class=\"col-sm-10\">\n <select [attr.aria-label]=\"selectConfig.label\" \n [class.border-danger]=\"!!errorMessage\" \n [formControl]=\"control\"\n class=\"form-select\"\n id=\"{{id}}-left\"\n [attr.aria-describedby]=\"errorMessage ? id + '-error' : null\">\n @if (selectConfig.placeholder) {\n <option [disabled]=\"true\" [value]=\"selectConfig.placeHolderValue || ''\">{{ selectConfig.placeholder }}</option>\n }\n @for (option of options(); track option.id) {\n <option [disabled]=\"!!option.disabled\" [value]=\"option.id\">\n {{ option.label }}\n </option>\n }\n </select>\n @if (errorMessage) {\n <div class=\"text-danger mt-1\" id=\"{{id}}-error\" style=\"font-size: 0.875rem;\">\n {{ errorMessage }}\n </div>\n }\n </div>\n </div>\n }\n}\n\n","import { Component, ChangeDetectionStrategy } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { NgsFormsBaseClassFormInputComponent, NgsFormsFormItem } from '@ng-simplicity/forms-core';\nimport { NgsFormsFormItemConfigBootstrapTextArea } from './text-area.config';\nimport { ReactiveFormsModule } from '@angular/forms';\nimport { v4 } from 'uuid';\n\n@Component({\n selector: 'ngs-form-item-bs-text-area',\n imports: [CommonModule, ReactiveFormsModule],\n templateUrl: './text-area.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class NgsFormsBootstrapFormsItemTextAreaComponent extends NgsFormsBaseClassFormInputComponent<NgsFormsFormItemConfigBootstrapTextArea> {\n static override key = 'input-textarea';\n textAreaConfig = this.config as NgsFormsFormItemConfigBootstrapTextArea;\n\n static create(config: NgsFormsFormItemConfigBootstrapTextArea): NgsFormsFormItem<NgsFormsFormItemConfigBootstrapTextArea> {\n return {\n uuid: config.uuid || v4(),\n type: NgsFormsBootstrapFormsItemTextAreaComponent.key,\n config,\n };\n }\n}\n","@if (control) {\n @if (textAreaConfig.labelLocation === 'top' || !textAreaConfig.labelLocation) {\n <div class=\"mb-3\">\n <label [class.text-danger]=\"!!errorMessage\" class=\"form-label\" for=\"{{id}}-top\">{{ textAreaConfig.label }}</label>\n <textarea [class.border-danger]=\"!!errorMessage\"\n [formControl]=\"control\"\n class=\"form-control {{textAreaConfig.inputCssClass}}\"\n id=\"{{id}}-top\"\n [attr.aria-describedby]=\"errorMessage ? id + '-error' : null\"\n placeholder=\"{{textAreaConfig.placeholder}}\"\n style=\"height: 210px\"></textarea>\n @if (errorMessage) {\n <div class=\"text-danger mt-1\" id=\"{{id}}-error\" style=\"font-size: 0.875rem;\">\n {{ errorMessage }}\n </div>\n }\n </div>\n } @else {\n @if (textAreaConfig.labelLocation === 'left') {\n <div class=\"mb-3 row\">\n <label [class.text-danger]=\"!!errorMessage\" class=\"col-sm-2 col-form-label\"\n for=\"{{id}}-left\">{{ textAreaConfig.label }}</label>\n <div class=\"col-sm-10\">\n <textarea [class.border-danger]=\"!!errorMessage\"\n [formControl]=\"control\"\n class=\"form-control {{textAreaConfig.inputCssClass}}\"\n id=\"{{id}}-left\"\n [attr.aria-describedby]=\"errorMessage ? id + '-error' : null\"\n placeholder=\"{{textAreaConfig.placeholder}}\"\n style=\"height: 210px\"></textarea>\n @if (errorMessage) {\n <div class=\"text-danger mt-1\" id=\"{{id}}-error\" style=\"font-size: 0.875rem;\">\n {{ errorMessage }}\n </div>\n }\n </div>\n </div>\n }\n }\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 NgsFormsBootstrapFormItemInputComponent,\n NgsFormsBootstrapFormsItemTextAreaComponent,\n NgsFormsBootstrapFormsItemCheckboxComponent,\n NgsFormsBootstrapRadioInputComponent,\n NgsFormsBootstrapFormItemSelectInputComponent\n} from './form-components';\n\n@NgModule({\n imports: [CommonModule, FormsModule, ReactiveFormsModule, NgsFormsCoreModule],\n})\nexport class NgsFormsBootstrapModule {\n static registerAllBootStrapComponents(registryService: NgsFormsComponentRegistryService) {\n NgsFormsCoreModule.registerCoreNgsFormComponents(registryService);\n registryService.register(NgsFormsBootstrapFormsItemCheckboxComponent.key, NgsFormsBootstrapFormsItemCheckboxComponent);\n registryService.register(NgsFormsBootstrapFormItemInputComponent.key, NgsFormsBootstrapFormItemInputComponent);\n registryService.register(NgsFormsBootstrapRadioInputComponent.key, NgsFormsBootstrapRadioInputComponent);\n registryService.register(NgsFormsBootstrapFormItemSelectInputComponent.key, NgsFormsBootstrapFormItemSelectInputComponent);\n registryService.register(NgsFormsBootstrapFormsItemTextAreaComponent.key, NgsFormsBootstrapFormsItemTextAreaComponent);\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
package/index.d.ts CHANGED
@@ -42,7 +42,7 @@ declare class NgsFormsBootstrapRadioInputComponent extends NgsFormsBaseClassForm
42
42
 
43
43
  interface NgsFormsFormItemConfigBootstrapSelectInput extends NgsFormsFormItemConfigBaseInputWithOptions {
44
44
  labelLocation?: 'top' | 'left';
45
- placeholder?: boolean;
45
+ placeholder?: string;
46
46
  placeHolderValue?: string;
47
47
  }
48
48
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ng-simplicity/forms-bootstrap",
3
- "version": "1.0.1",
3
+ "version": "1.1.0",
4
4
  "license": "MIT",
5
5
  "repository": {
6
6
  "type": "git",
@@ -11,7 +11,7 @@
11
11
  "@angular/common": "^19.0.0 || ^20.0.0",
12
12
  "@angular/core": "^19.0.0 || ^20.0.0",
13
13
  "@angular/forms": "^19.0.0 || ^20.0.0",
14
- "@ng-simplicity/forms-core": "^1.0.0"
14
+ "@ng-simplicity/forms-core": "^1.1.0"
15
15
  },
16
16
  "sideEffects": false,
17
17
  "module": "fesm2022/ng-simplicity-forms-bootstrap.mjs",