@ngx-formly/bootstrap 6.0.0-next.8 → 6.0.0-rc.1

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.
Files changed (80) hide show
  1. package/README.md +4 -3
  2. package/addons/addons.component.d.ts +20 -2
  3. package/checkbox/checkbox.type.d.ts +14 -4
  4. package/checkbox/public_api.d.ts +1 -1
  5. package/esm2020/addons/addon.extension.mjs +3 -3
  6. package/esm2020/addons/addons.component.mjs +21 -9
  7. package/esm2020/addons/addons.module.mjs +5 -5
  8. package/esm2020/checkbox/checkbox.module.mjs +5 -5
  9. package/esm2020/checkbox/checkbox.type.mjs +53 -49
  10. package/esm2020/checkbox/public_api.mjs +1 -1
  11. package/esm2020/form-field/field.type.mjs +25 -0
  12. package/esm2020/form-field/form-field.module.mjs +5 -5
  13. package/esm2020/form-field/form-field.wrapper.mjs +36 -17
  14. package/esm2020/form-field/public_api.mjs +2 -1
  15. package/esm2020/input/input.module.mjs +9 -9
  16. package/esm2020/input/input.type.mjs +30 -26
  17. package/esm2020/input/public_api.mjs +1 -1
  18. package/esm2020/lib/bootstrap.module.mjs +5 -5
  19. package/esm2020/multicheckbox/multicheckbox.module.mjs +5 -5
  20. package/esm2020/multicheckbox/multicheckbox.type.mjs +58 -54
  21. package/esm2020/multicheckbox/public_api.mjs +1 -1
  22. package/esm2020/radio/public_api.mjs +1 -1
  23. package/esm2020/radio/radio.module.mjs +5 -5
  24. package/esm2020/radio/radio.type.mjs +54 -51
  25. package/esm2020/select/public_api.mjs +1 -1
  26. package/esm2020/select/select.module.mjs +5 -5
  27. package/esm2020/select/select.type.mjs +62 -91
  28. package/esm2020/textarea/public_api.mjs +1 -1
  29. package/esm2020/textarea/textarea.module.mjs +5 -5
  30. package/esm2020/textarea/textarea.type.mjs +28 -24
  31. package/fesm2015/ngx-formly-bootstrap-addons.mjs +26 -14
  32. package/fesm2015/ngx-formly-bootstrap-addons.mjs.map +1 -1
  33. package/fesm2015/ngx-formly-bootstrap-checkbox.mjs +57 -53
  34. package/fesm2015/ngx-formly-bootstrap-checkbox.mjs.map +1 -1
  35. package/fesm2015/ngx-formly-bootstrap-form-field.mjs +65 -22
  36. package/fesm2015/ngx-formly-bootstrap-form-field.mjs.map +1 -1
  37. package/fesm2015/ngx-formly-bootstrap-input.mjs +38 -34
  38. package/fesm2015/ngx-formly-bootstrap-input.mjs.map +1 -1
  39. package/fesm2015/ngx-formly-bootstrap-multicheckbox.mjs +62 -58
  40. package/fesm2015/ngx-formly-bootstrap-multicheckbox.mjs.map +1 -1
  41. package/fesm2015/ngx-formly-bootstrap-radio.mjs +58 -55
  42. package/fesm2015/ngx-formly-bootstrap-radio.mjs.map +1 -1
  43. package/fesm2015/ngx-formly-bootstrap-select.mjs +66 -95
  44. package/fesm2015/ngx-formly-bootstrap-select.mjs.map +1 -1
  45. package/fesm2015/ngx-formly-bootstrap-textarea.mjs +32 -28
  46. package/fesm2015/ngx-formly-bootstrap-textarea.mjs.map +1 -1
  47. package/fesm2015/ngx-formly-bootstrap.mjs +4 -4
  48. package/fesm2015/ngx-formly-bootstrap.mjs.map +1 -1
  49. package/fesm2020/ngx-formly-bootstrap-addons.mjs +26 -14
  50. package/fesm2020/ngx-formly-bootstrap-addons.mjs.map +1 -1
  51. package/fesm2020/ngx-formly-bootstrap-checkbox.mjs +57 -53
  52. package/fesm2020/ngx-formly-bootstrap-checkbox.mjs.map +1 -1
  53. package/fesm2020/ngx-formly-bootstrap-form-field.mjs +63 -22
  54. package/fesm2020/ngx-formly-bootstrap-form-field.mjs.map +1 -1
  55. package/fesm2020/ngx-formly-bootstrap-input.mjs +38 -34
  56. package/fesm2020/ngx-formly-bootstrap-input.mjs.map +1 -1
  57. package/fesm2020/ngx-formly-bootstrap-multicheckbox.mjs +62 -58
  58. package/fesm2020/ngx-formly-bootstrap-multicheckbox.mjs.map +1 -1
  59. package/fesm2020/ngx-formly-bootstrap-radio.mjs +58 -55
  60. package/fesm2020/ngx-formly-bootstrap-radio.mjs.map +1 -1
  61. package/fesm2020/ngx-formly-bootstrap-select.mjs +66 -95
  62. package/fesm2020/ngx-formly-bootstrap-select.mjs.map +1 -1
  63. package/fesm2020/ngx-formly-bootstrap-textarea.mjs +32 -28
  64. package/fesm2020/ngx-formly-bootstrap-textarea.mjs.map +1 -1
  65. package/fesm2020/ngx-formly-bootstrap.mjs +4 -4
  66. package/fesm2020/ngx-formly-bootstrap.mjs.map +1 -1
  67. package/form-field/field.type.d.ts +10 -0
  68. package/form-field/form-field.wrapper.d.ts +7 -2
  69. package/form-field/public_api.d.ts +2 -0
  70. package/input/input.type.d.ts +10 -2
  71. package/input/public_api.d.ts +1 -1
  72. package/multicheckbox/multicheckbox.type.d.ts +13 -5
  73. package/multicheckbox/public_api.d.ts +1 -1
  74. package/package.json +2 -2
  75. package/radio/public_api.d.ts +1 -1
  76. package/radio/radio.type.d.ts +13 -5
  77. package/select/public_api.d.ts +1 -1
  78. package/select/select.type.d.ts +15 -6
  79. package/textarea/public_api.d.ts +1 -1
  80. package/textarea/textarea.type.d.ts +13 -3
@@ -5,19 +5,18 @@ import { CommonModule } from '@angular/common';
5
5
  import * as i2 from '@angular/forms';
6
6
  import { SelectControlValueAccessor, ReactiveFormsModule } from '@angular/forms';
7
7
  import * as i3 from '@ngx-formly/core';
8
- import { FieldType, FormlyModule } from '@ngx-formly/core';
8
+ import { FormlyModule } from '@ngx-formly/core';
9
9
  import * as i4 from '@ngx-formly/core/select';
10
10
  import { FormlySelectModule } from '@ngx-formly/core/select';
11
- import { FormlyBootstrapFormFieldModule } from '@ngx-formly/bootstrap/form-field';
11
+ import { FieldType, FormlyBootstrapFormFieldModule } from '@ngx-formly/bootstrap/form-field';
12
12
  import { take } from 'rxjs/operators';
13
13
 
14
14
  class FormlyFieldSelect extends FieldType {
15
- constructor(ngZone) {
16
- super();
15
+ constructor(ngZone, hostContainerRef) {
16
+ super(hostContainerRef);
17
17
  this.ngZone = ngZone;
18
18
  this.defaultOptions = {
19
- templateOptions: {
20
- options: [],
19
+ props: {
21
20
  compareWith(o1, o2) {
22
21
  return o1 === o2;
23
22
  },
@@ -54,25 +53,19 @@ class FormlyFieldSelect extends FieldType {
54
53
  };
55
54
  }
56
55
  }
57
- FormlyFieldSelect.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.3", ngImport: i0, type: FormlyFieldSelect, deps: [{ token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
58
- FormlyFieldSelect.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.3", type: FormlyFieldSelect, selector: "formly-field-select", viewQueries: [{ propertyName: "selectAccessor", first: true, predicate: SelectControlValueAccessor, descendants: true }], usesInheritance: true, ngImport: i0, template: `
59
- <select
60
- *ngIf="to.multiple; else singleSelect"
61
- class="form-select"
62
- multiple
63
- [formControl]="formControl"
64
- [compareWith]="to.compareWith"
65
- [class.is-invalid]="showError"
66
- [formlyAttributes]="field"
67
- >
68
- <ng-container *ngIf="to.options | formlySelectOptions: field | async as opts">
69
- <ng-container *ngIf="to._flatOptions; else grouplist">
70
- <ng-container *ngFor="let opt of opts">
71
- <option [ngValue]="opt.value" [disabled]="opt.disabled">{{ opt.label }}</option>
72
- </ng-container>
73
- </ng-container>
74
-
75
- <ng-template #grouplist>
56
+ FormlyFieldSelect.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: FormlyFieldSelect, deps: [{ token: i0.NgZone }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Component });
57
+ FormlyFieldSelect.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: FormlyFieldSelect, selector: "formly-field-select", viewQueries: [{ propertyName: "selectAccessor", first: true, predicate: SelectControlValueAccessor, descendants: true }], usesInheritance: true, ngImport: i0, template: `
58
+ <ng-template #fieldTypeTemplate>
59
+ <select
60
+ *ngIf="props.multiple; else singleSelect"
61
+ class="form-select"
62
+ multiple
63
+ [formControl]="formControl"
64
+ [compareWith]="props.compareWith"
65
+ [class.is-invalid]="showError"
66
+ [formlyAttributes]="field"
67
+ >
68
+ <ng-container *ngIf="props.options | formlySelectOptions: field | async as opts">
76
69
  <ng-container *ngFor="let opt of opts">
77
70
  <option *ngIf="!opt.group; else optgroup" [ngValue]="opt.value" [disabled]="opt.disabled">
78
71
  {{ opt.label }}
@@ -85,27 +78,19 @@ FormlyFieldSelect.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", vers
85
78
  </optgroup>
86
79
  </ng-template>
87
80
  </ng-container>
88
- </ng-template>
89
- </ng-container>
90
- </select>
91
-
92
- <ng-template #singleSelect>
93
- <select
94
- class="form-select"
95
- [formControl]="formControl"
96
- [compareWith]="to.compareWith"
97
- [class.is-invalid]="showError"
98
- [formlyAttributes]="field"
99
- >
100
- <option *ngIf="to.placeholder" [ngValue]="undefined">{{ to.placeholder }}</option>
101
- <ng-container *ngIf="to.options | formlySelectOptions: field | async as opts">
102
- <ng-container *ngIf="to._flatOptions; else grouplist">
103
- <ng-container *ngFor="let opt of opts">
104
- <option [ngValue]="opt.value" [disabled]="opt.disabled">{{ opt.label }}</option>
105
- </ng-container>
106
- </ng-container>
81
+ </ng-container>
82
+ </select>
107
83
 
108
- <ng-template #grouplist>
84
+ <ng-template #singleSelect>
85
+ <select
86
+ class="form-select"
87
+ [formControl]="formControl"
88
+ [compareWith]="props.compareWith"
89
+ [class.is-invalid]="showError"
90
+ [formlyAttributes]="field"
91
+ >
92
+ <option *ngIf="props.placeholder" [ngValue]="undefined">{{ props.placeholder }}</option>
93
+ <ng-container *ngIf="props.options | formlySelectOptions: field | async as opts">
109
94
  <ng-container *ngFor="let opt of opts">
110
95
  <option *ngIf="!opt.group; else optgroup" [ngValue]="opt.value" [disabled]="opt.disabled">
111
96
  {{ opt.label }}
@@ -118,33 +103,27 @@ FormlyFieldSelect.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", vers
118
103
  </optgroup>
119
104
  </ng-template>
120
105
  </ng-container>
121
- </ng-template>
122
- </ng-container>
123
- </select>
106
+ </ng-container>
107
+ </select>
108
+ </ng-template>
124
109
  </ng-template>
125
- `, isInline: true, directives: [{ type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.SelectMultipleControlValueAccessor, selector: "select[multiple][formControlName],select[multiple][formControl],select[multiple][ngModel]", inputs: ["compareWith"] }, { type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { type: i3.ɵFormlyAttributes, selector: "[formlyAttributes]", inputs: ["formlyAttributes", "id"] }, { type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i2.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { type: i2.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { type: i2.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }], pipes: { "async": i1.AsyncPipe, "formlySelectOptions": i4.ɵFormlySelectOptionsPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
126
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.3", ngImport: i0, type: FormlyFieldSelect, decorators: [{
110
+ `, isInline: true, directives: [{ type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.SelectMultipleControlValueAccessor, selector: "select[multiple][formControlName],select[multiple][formControl],select[multiple][ngModel]", inputs: ["compareWith"] }, { type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { type: i3.ɵFormlyAttributes, selector: "[formlyAttributes]", inputs: ["formlyAttributes", "id"] }, { type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i2.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { type: i2.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { type: i2.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }], pipes: { "async": i1.AsyncPipe, "formlySelectOptions": i4.FormlySelectOptionsPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
111
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: FormlyFieldSelect, decorators: [{
127
112
  type: Component,
128
113
  args: [{
129
114
  selector: 'formly-field-select',
130
115
  template: `
131
- <select
132
- *ngIf="to.multiple; else singleSelect"
133
- class="form-select"
134
- multiple
135
- [formControl]="formControl"
136
- [compareWith]="to.compareWith"
137
- [class.is-invalid]="showError"
138
- [formlyAttributes]="field"
139
- >
140
- <ng-container *ngIf="to.options | formlySelectOptions: field | async as opts">
141
- <ng-container *ngIf="to._flatOptions; else grouplist">
142
- <ng-container *ngFor="let opt of opts">
143
- <option [ngValue]="opt.value" [disabled]="opt.disabled">{{ opt.label }}</option>
144
- </ng-container>
145
- </ng-container>
146
-
147
- <ng-template #grouplist>
116
+ <ng-template #fieldTypeTemplate>
117
+ <select
118
+ *ngIf="props.multiple; else singleSelect"
119
+ class="form-select"
120
+ multiple
121
+ [formControl]="formControl"
122
+ [compareWith]="props.compareWith"
123
+ [class.is-invalid]="showError"
124
+ [formlyAttributes]="field"
125
+ >
126
+ <ng-container *ngIf="props.options | formlySelectOptions: field | async as opts">
148
127
  <ng-container *ngFor="let opt of opts">
149
128
  <option *ngIf="!opt.group; else optgroup" [ngValue]="opt.value" [disabled]="opt.disabled">
150
129
  {{ opt.label }}
@@ -157,27 +136,19 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.3", ngImpor
157
136
  </optgroup>
158
137
  </ng-template>
159
138
  </ng-container>
160
- </ng-template>
161
- </ng-container>
162
- </select>
163
-
164
- <ng-template #singleSelect>
165
- <select
166
- class="form-select"
167
- [formControl]="formControl"
168
- [compareWith]="to.compareWith"
169
- [class.is-invalid]="showError"
170
- [formlyAttributes]="field"
171
- >
172
- <option *ngIf="to.placeholder" [ngValue]="undefined">{{ to.placeholder }}</option>
173
- <ng-container *ngIf="to.options | formlySelectOptions: field | async as opts">
174
- <ng-container *ngIf="to._flatOptions; else grouplist">
175
- <ng-container *ngFor="let opt of opts">
176
- <option [ngValue]="opt.value" [disabled]="opt.disabled">{{ opt.label }}</option>
177
- </ng-container>
178
- </ng-container>
139
+ </ng-container>
140
+ </select>
179
141
 
180
- <ng-template #grouplist>
142
+ <ng-template #singleSelect>
143
+ <select
144
+ class="form-select"
145
+ [formControl]="formControl"
146
+ [compareWith]="props.compareWith"
147
+ [class.is-invalid]="showError"
148
+ [formlyAttributes]="field"
149
+ >
150
+ <option *ngIf="props.placeholder" [ngValue]="undefined">{{ props.placeholder }}</option>
151
+ <ng-container *ngIf="props.options | formlySelectOptions: field | async as opts">
181
152
  <ng-container *ngFor="let opt of opts">
182
153
  <option *ngIf="!opt.group; else optgroup" [ngValue]="opt.value" [disabled]="opt.disabled">
183
154
  {{ opt.label }}
@@ -190,26 +161,26 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.3", ngImpor
190
161
  </optgroup>
191
162
  </ng-template>
192
163
  </ng-container>
193
- </ng-template>
194
- </ng-container>
195
- </select>
164
+ </ng-container>
165
+ </select>
166
+ </ng-template>
196
167
  </ng-template>
197
168
  `,
198
169
  changeDetection: ChangeDetectionStrategy.OnPush,
199
170
  }]
200
- }], ctorParameters: function () { return [{ type: i0.NgZone }]; }, propDecorators: { selectAccessor: [{
171
+ }], ctorParameters: function () { return [{ type: i0.NgZone }, { type: i0.ViewContainerRef }]; }, propDecorators: { selectAccessor: [{
201
172
  type: ViewChild,
202
173
  args: [SelectControlValueAccessor]
203
174
  }] } });
204
175
 
205
176
  class FormlyBootstrapSelectModule {
206
177
  }
207
- FormlyBootstrapSelectModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.3", ngImport: i0, type: FormlyBootstrapSelectModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
208
- FormlyBootstrapSelectModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.2.3", ngImport: i0, type: FormlyBootstrapSelectModule, declarations: [FormlyFieldSelect], imports: [CommonModule,
178
+ FormlyBootstrapSelectModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: FormlyBootstrapSelectModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
179
+ FormlyBootstrapSelectModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: FormlyBootstrapSelectModule, declarations: [FormlyFieldSelect], imports: [CommonModule,
209
180
  ReactiveFormsModule,
210
181
  FormlyBootstrapFormFieldModule,
211
182
  FormlySelectModule, i3.FormlyModule] });
212
- FormlyBootstrapSelectModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.2.3", ngImport: i0, type: FormlyBootstrapSelectModule, imports: [[
183
+ FormlyBootstrapSelectModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: FormlyBootstrapSelectModule, imports: [[
213
184
  CommonModule,
214
185
  ReactiveFormsModule,
215
186
  FormlyBootstrapFormFieldModule,
@@ -225,7 +196,7 @@ FormlyBootstrapSelectModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0
225
196
  ],
226
197
  }),
227
198
  ]] });
228
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.3", ngImport: i0, type: FormlyBootstrapSelectModule, decorators: [{
199
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: FormlyBootstrapSelectModule, decorators: [{
229
200
  type: NgModule,
230
201
  args: [{
231
202
  declarations: [FormlyFieldSelect],
@@ -1 +1 @@
1
- {"version":3,"file":"ngx-formly-bootstrap-select.mjs","sources":["../../../../src/ui/bootstrap/select/src/select.type.ts","../../../../src/ui/bootstrap/select/src/select.module.ts","../../../../src/ui/bootstrap/select/src/ngx-formly-bootstrap-select.ts"],"sourcesContent":["import { Component, ChangeDetectionStrategy, ViewChild, NgZone } from '@angular/core';\nimport { SelectControlValueAccessor } from '@angular/forms';\nimport { FieldType, FieldTypeConfig } from '@ngx-formly/core';\nimport { take } from 'rxjs/operators';\n\n@Component({\n selector: 'formly-field-select',\n template: `\n <select\n *ngIf=\"to.multiple; else singleSelect\"\n class=\"form-select\"\n multiple\n [formControl]=\"formControl\"\n [compareWith]=\"to.compareWith\"\n [class.is-invalid]=\"showError\"\n [formlyAttributes]=\"field\"\n >\n <ng-container *ngIf=\"to.options | formlySelectOptions: field | async as opts\">\n <ng-container *ngIf=\"to._flatOptions; else grouplist\">\n <ng-container *ngFor=\"let opt of opts\">\n <option [ngValue]=\"opt.value\" [disabled]=\"opt.disabled\">{{ opt.label }}</option>\n </ng-container>\n </ng-container>\n\n <ng-template #grouplist>\n <ng-container *ngFor=\"let opt of opts\">\n <option *ngIf=\"!opt.group; else optgroup\" [ngValue]=\"opt.value\" [disabled]=\"opt.disabled\">\n {{ opt.label }}\n </option>\n <ng-template #optgroup>\n <optgroup [label]=\"opt.label\">\n <option *ngFor=\"let child of opt.group\" [ngValue]=\"child.value\" [disabled]=\"child.disabled\">\n {{ child.label }}\n </option>\n </optgroup>\n </ng-template>\n </ng-container>\n </ng-template>\n </ng-container>\n </select>\n\n <ng-template #singleSelect>\n <select\n class=\"form-select\"\n [formControl]=\"formControl\"\n [compareWith]=\"to.compareWith\"\n [class.is-invalid]=\"showError\"\n [formlyAttributes]=\"field\"\n >\n <option *ngIf=\"to.placeholder\" [ngValue]=\"undefined\">{{ to.placeholder }}</option>\n <ng-container *ngIf=\"to.options | formlySelectOptions: field | async as opts\">\n <ng-container *ngIf=\"to._flatOptions; else grouplist\">\n <ng-container *ngFor=\"let opt of opts\">\n <option [ngValue]=\"opt.value\" [disabled]=\"opt.disabled\">{{ opt.label }}</option>\n </ng-container>\n </ng-container>\n\n <ng-template #grouplist>\n <ng-container *ngFor=\"let opt of opts\">\n <option *ngIf=\"!opt.group; else optgroup\" [ngValue]=\"opt.value\" [disabled]=\"opt.disabled\">\n {{ opt.label }}\n </option>\n <ng-template #optgroup>\n <optgroup [label]=\"opt.label\">\n <option *ngFor=\"let child of opt.group\" [ngValue]=\"child.value\" [disabled]=\"child.disabled\">\n {{ child.label }}\n </option>\n </optgroup>\n </ng-template>\n </ng-container>\n </ng-template>\n </ng-container>\n </select>\n </ng-template>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class FormlyFieldSelect extends FieldType<FieldTypeConfig> {\n defaultOptions = {\n templateOptions: {\n options: [],\n compareWith(o1: any, o2: any) {\n return o1 === o2;\n },\n },\n };\n\n // workaround for https://github.com/angular/angular/issues/10010\n /**\n * TODO: Check if this is still needed\n */\n @ViewChild(SelectControlValueAccessor) set selectAccessor(s: any) {\n if (!s) {\n return;\n }\n\n const writeValue = s.writeValue.bind(s);\n if (s._getOptionId(s.value) === null) {\n writeValue(s.value);\n }\n\n s.writeValue = (value: any) => {\n const id = s._idCounter;\n writeValue(value);\n if (value === null) {\n this.ngZone.onStable\n .asObservable()\n .pipe(take(1))\n .subscribe(() => {\n if (\n id !== s._idCounter &&\n s._getOptionId(value) === null &&\n s._elementRef.nativeElement.selectedIndex !== -1\n ) {\n writeValue(value);\n }\n });\n }\n };\n }\n\n constructor(private ngZone: NgZone) {\n super();\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ReactiveFormsModule } from '@angular/forms';\nimport { FormlyModule } from '@ngx-formly/core';\nimport { FormlySelectModule } from '@ngx-formly/core/select';\n\nimport { FormlyBootstrapFormFieldModule } from '@ngx-formly/bootstrap/form-field';\nimport { FormlyFieldSelect } from './select.type';\n\n@NgModule({\n declarations: [FormlyFieldSelect],\n imports: [\n CommonModule,\n ReactiveFormsModule,\n\n FormlyBootstrapFormFieldModule,\n FormlySelectModule,\n FormlyModule.forChild({\n types: [\n {\n name: 'select',\n component: FormlyFieldSelect,\n wrappers: ['form-field'],\n },\n { name: 'enum', extends: 'select' },\n ],\n }),\n ],\n})\nexport class FormlyBootstrapSelectModule {}\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":"ngx-formly-bootstrap-select.mjs","sources":["../../../../src/ui/bootstrap/select/src/select.type.ts","../../../../src/ui/bootstrap/select/src/select.module.ts","../../../../src/ui/bootstrap/select/src/ngx-formly-bootstrap-select.ts"],"sourcesContent":["import { Component, ChangeDetectionStrategy, ViewChild, NgZone, Type, ViewContainerRef } from '@angular/core';\nimport { SelectControlValueAccessor } from '@angular/forms';\nimport { FieldTypeConfig, FormlyFieldConfig } from '@ngx-formly/core';\nimport { FieldType, FormlyFieldProps } from '@ngx-formly/bootstrap/form-field';\nimport { take } from 'rxjs/operators';\nimport { FormlyFieldSelectProps } from '@ngx-formly/core/select';\n\ninterface SelectProps extends FormlyFieldProps, FormlyFieldSelectProps {\n multiple?: boolean;\n compareWith?: (o1: any, o2: any) => boolean;\n}\n\nexport interface FormlySelectFieldConfig extends FormlyFieldConfig<SelectProps> {\n type: 'select' | Type<FormlyFieldSelect>;\n}\n\n@Component({\n selector: 'formly-field-select',\n template: `\n <ng-template #fieldTypeTemplate>\n <select\n *ngIf=\"props.multiple; else singleSelect\"\n class=\"form-select\"\n multiple\n [formControl]=\"formControl\"\n [compareWith]=\"props.compareWith\"\n [class.is-invalid]=\"showError\"\n [formlyAttributes]=\"field\"\n >\n <ng-container *ngIf=\"props.options | formlySelectOptions: field | async as opts\">\n <ng-container *ngFor=\"let opt of opts\">\n <option *ngIf=\"!opt.group; else optgroup\" [ngValue]=\"opt.value\" [disabled]=\"opt.disabled\">\n {{ opt.label }}\n </option>\n <ng-template #optgroup>\n <optgroup [label]=\"opt.label\">\n <option *ngFor=\"let child of opt.group\" [ngValue]=\"child.value\" [disabled]=\"child.disabled\">\n {{ child.label }}\n </option>\n </optgroup>\n </ng-template>\n </ng-container>\n </ng-container>\n </select>\n\n <ng-template #singleSelect>\n <select\n class=\"form-select\"\n [formControl]=\"formControl\"\n [compareWith]=\"props.compareWith\"\n [class.is-invalid]=\"showError\"\n [formlyAttributes]=\"field\"\n >\n <option *ngIf=\"props.placeholder\" [ngValue]=\"undefined\">{{ props.placeholder }}</option>\n <ng-container *ngIf=\"props.options | formlySelectOptions: field | async as opts\">\n <ng-container *ngFor=\"let opt of opts\">\n <option *ngIf=\"!opt.group; else optgroup\" [ngValue]=\"opt.value\" [disabled]=\"opt.disabled\">\n {{ opt.label }}\n </option>\n <ng-template #optgroup>\n <optgroup [label]=\"opt.label\">\n <option *ngFor=\"let child of opt.group\" [ngValue]=\"child.value\" [disabled]=\"child.disabled\">\n {{ child.label }}\n </option>\n </optgroup>\n </ng-template>\n </ng-container>\n </ng-container>\n </select>\n </ng-template>\n </ng-template>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class FormlyFieldSelect extends FieldType<FieldTypeConfig<SelectProps>> {\n override defaultOptions = {\n props: {\n compareWith(o1: any, o2: any) {\n return o1 === o2;\n },\n },\n };\n\n // workaround for https://github.com/angular/angular/issues/10010\n /**\n * TODO: Check if this is still needed\n */\n @ViewChild(SelectControlValueAccessor) set selectAccessor(s: any) {\n if (!s) {\n return;\n }\n\n const writeValue = s.writeValue.bind(s);\n if (s._getOptionId(s.value) === null) {\n writeValue(s.value);\n }\n\n s.writeValue = (value: any) => {\n const id = s._idCounter;\n writeValue(value);\n if (value === null) {\n this.ngZone.onStable\n .asObservable()\n .pipe(take(1))\n .subscribe(() => {\n if (\n id !== s._idCounter &&\n s._getOptionId(value) === null &&\n s._elementRef.nativeElement.selectedIndex !== -1\n ) {\n writeValue(value);\n }\n });\n }\n };\n }\n\n constructor(private ngZone: NgZone, hostContainerRef: ViewContainerRef) {\n super(hostContainerRef);\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ReactiveFormsModule } from '@angular/forms';\nimport { FormlyModule } from '@ngx-formly/core';\nimport { FormlySelectModule } from '@ngx-formly/core/select';\n\nimport { FormlyBootstrapFormFieldModule } from '@ngx-formly/bootstrap/form-field';\nimport { FormlyFieldSelect } from './select.type';\n\n@NgModule({\n declarations: [FormlyFieldSelect],\n imports: [\n CommonModule,\n ReactiveFormsModule,\n\n FormlyBootstrapFormFieldModule,\n FormlySelectModule,\n FormlyModule.forChild({\n types: [\n {\n name: 'select',\n component: FormlyFieldSelect,\n wrappers: ['form-field'],\n },\n { name: 'enum', extends: 'select' },\n ],\n }),\n ],\n})\nexport class FormlyBootstrapSelectModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["i1"],"mappings":"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"}
@@ -2,48 +2,52 @@ import * as i0 from '@angular/core';
2
2
  import { Component, ChangeDetectionStrategy, NgModule } from '@angular/core';
3
3
  import { CommonModule } from '@angular/common';
4
4
  import * as i2 from '@ngx-formly/core';
5
- import { FieldType, FormlyModule } from '@ngx-formly/core';
5
+ import { FormlyModule } from '@ngx-formly/core';
6
6
  import * as i1 from '@angular/forms';
7
7
  import { ReactiveFormsModule } from '@angular/forms';
8
- import { FormlyBootstrapFormFieldModule } from '@ngx-formly/bootstrap/form-field';
8
+ import { FieldType, FormlyBootstrapFormFieldModule } from '@ngx-formly/bootstrap/form-field';
9
9
 
10
10
  class FormlyFieldTextArea extends FieldType {
11
11
  constructor() {
12
12
  super(...arguments);
13
13
  this.defaultOptions = {
14
- templateOptions: {
14
+ props: {
15
15
  cols: 1,
16
16
  rows: 1,
17
17
  },
18
18
  };
19
19
  }
20
20
  }
21
- FormlyFieldTextArea.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.3", ngImport: i0, type: FormlyFieldTextArea, deps: null, target: i0.ɵɵFactoryTarget.Component });
22
- FormlyFieldTextArea.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.3", type: FormlyFieldTextArea, selector: "formly-field-textarea", usesInheritance: true, ngImport: i0, template: `
23
- <textarea
24
- [formControl]="formControl"
25
- [cols]="to.cols"
26
- [rows]="to.rows"
27
- class="form-control"
28
- [class.is-invalid]="showError"
29
- [formlyAttributes]="field"
30
- >
31
- </textarea>
21
+ FormlyFieldTextArea.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: FormlyFieldTextArea, deps: null, target: i0.ɵɵFactoryTarget.Component });
22
+ FormlyFieldTextArea.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: FormlyFieldTextArea, selector: "formly-field-textarea", usesInheritance: true, ngImport: i0, template: `
23
+ <ng-template #fieldTypeTemplate>
24
+ <textarea
25
+ [formControl]="formControl"
26
+ [cols]="props.cols"
27
+ [rows]="props.rows"
28
+ class="form-control"
29
+ [class.is-invalid]="showError"
30
+ [formlyAttributes]="field"
31
+ >
32
+ </textarea>
33
+ </ng-template>
32
34
  `, isInline: true, directives: [{ 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]" }, { type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { type: i2.ɵFormlyAttributes, selector: "[formlyAttributes]", inputs: ["formlyAttributes", "id"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
33
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.3", ngImport: i0, type: FormlyFieldTextArea, decorators: [{
35
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: FormlyFieldTextArea, decorators: [{
34
36
  type: Component,
35
37
  args: [{
36
38
  selector: 'formly-field-textarea',
37
39
  template: `
38
- <textarea
39
- [formControl]="formControl"
40
- [cols]="to.cols"
41
- [rows]="to.rows"
42
- class="form-control"
43
- [class.is-invalid]="showError"
44
- [formlyAttributes]="field"
45
- >
46
- </textarea>
40
+ <ng-template #fieldTypeTemplate>
41
+ <textarea
42
+ [formControl]="formControl"
43
+ [cols]="props.cols"
44
+ [rows]="props.rows"
45
+ class="form-control"
46
+ [class.is-invalid]="showError"
47
+ [formlyAttributes]="field"
48
+ >
49
+ </textarea>
50
+ </ng-template>
47
51
  `,
48
52
  changeDetection: ChangeDetectionStrategy.OnPush,
49
53
  }]
@@ -51,11 +55,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.3", ngImpor
51
55
 
52
56
  class FormlyBootstrapTextAreaModule {
53
57
  }
54
- FormlyBootstrapTextAreaModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.3", ngImport: i0, type: FormlyBootstrapTextAreaModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
55
- FormlyBootstrapTextAreaModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.2.3", ngImport: i0, type: FormlyBootstrapTextAreaModule, declarations: [FormlyFieldTextArea], imports: [CommonModule,
58
+ FormlyBootstrapTextAreaModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: FormlyBootstrapTextAreaModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
59
+ FormlyBootstrapTextAreaModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: FormlyBootstrapTextAreaModule, declarations: [FormlyFieldTextArea], imports: [CommonModule,
56
60
  ReactiveFormsModule,
57
61
  FormlyBootstrapFormFieldModule, i2.FormlyModule] });
58
- FormlyBootstrapTextAreaModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.2.3", ngImport: i0, type: FormlyBootstrapTextAreaModule, imports: [[
62
+ FormlyBootstrapTextAreaModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: FormlyBootstrapTextAreaModule, imports: [[
59
63
  CommonModule,
60
64
  ReactiveFormsModule,
61
65
  FormlyBootstrapFormFieldModule,
@@ -69,7 +73,7 @@ FormlyBootstrapTextAreaModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12
69
73
  ],
70
74
  }),
71
75
  ]] });
72
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.3", ngImport: i0, type: FormlyBootstrapTextAreaModule, decorators: [{
76
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: FormlyBootstrapTextAreaModule, decorators: [{
73
77
  type: NgModule,
74
78
  args: [{
75
79
  declarations: [FormlyFieldTextArea],
@@ -1 +1 @@
1
- {"version":3,"file":"ngx-formly-bootstrap-textarea.mjs","sources":["../../../../src/ui/bootstrap/textarea/src/textarea.type.ts","../../../../src/ui/bootstrap/textarea/src/textarea.module.ts","../../../../src/ui/bootstrap/textarea/src/ngx-formly-bootstrap-textarea.ts"],"sourcesContent":["import { Component, ChangeDetectionStrategy } from '@angular/core';\nimport { FieldType, FieldTypeConfig } from '@ngx-formly/core';\n\n@Component({\n selector: 'formly-field-textarea',\n template: `\n <textarea\n [formControl]=\"formControl\"\n [cols]=\"to.cols\"\n [rows]=\"to.rows\"\n class=\"form-control\"\n [class.is-invalid]=\"showError\"\n [formlyAttributes]=\"field\"\n >\n </textarea>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class FormlyFieldTextArea extends FieldType<FieldTypeConfig> {\n defaultOptions = {\n templateOptions: {\n cols: 1,\n rows: 1,\n },\n };\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormlyModule } from '@ngx-formly/core';\nimport { ReactiveFormsModule } from '@angular/forms';\n\nimport { FormlyBootstrapFormFieldModule } from '@ngx-formly/bootstrap/form-field';\nimport { FormlyFieldTextArea } from './textarea.type';\n\n@NgModule({\n declarations: [FormlyFieldTextArea],\n imports: [\n CommonModule,\n ReactiveFormsModule,\n\n FormlyBootstrapFormFieldModule,\n FormlyModule.forChild({\n types: [\n {\n name: 'textarea',\n component: FormlyFieldTextArea,\n wrappers: ['form-field'],\n },\n ],\n }),\n ],\n})\nexport class FormlyBootstrapTextAreaModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":";;;;;;;;;MAkBa,4BAA4B,SAA0B;IAfnE;;QAgBE,mBAAc,GAAG;YACf,eAAe,EAAE;gBACf,IAAI,EAAE,CAAC;gBACP,IAAI,EAAE,CAAC;aACR;SACF,CAAC;KACH;;gHAPY,mBAAmB;oGAAnB,mBAAmB,oFAbpB;;;;;;;;;;GAUT;2FAGU,mBAAmB;kBAf/B,SAAS;mBAAC;oBACT,QAAQ,EAAE,uBAAuB;oBACjC,QAAQ,EAAE;;;;;;;;;;GAUT;oBACD,eAAe,EAAE,uBAAuB,CAAC,MAAM;iBAChD;;;MCSY,6BAA6B;;0HAA7B,6BAA6B;2HAA7B,6BAA6B,iBAjBzB,mBAAmB,aAEhC,YAAY;QACZ,mBAAmB;QAEnB,8BAA8B;2HAYrB,6BAA6B,YAhB/B;YACP,YAAY;YACZ,mBAAmB;YAEnB,8BAA8B;YAC9B,YAAY,CAAC,QAAQ,CAAC;gBACpB,KAAK,EAAE;oBACL;wBACE,IAAI,EAAE,UAAU;wBAChB,SAAS,EAAE,mBAAmB;wBAC9B,QAAQ,EAAE,CAAC,YAAY,CAAC;qBACzB;iBACF;aACF,CAAC;SACH;2FAEU,6BAA6B;kBAlBzC,QAAQ;mBAAC;oBACR,YAAY,EAAE,CAAC,mBAAmB,CAAC;oBACnC,OAAO,EAAE;wBACP,YAAY;wBACZ,mBAAmB;wBAEnB,8BAA8B;wBAC9B,YAAY,CAAC,QAAQ,CAAC;4BACpB,KAAK,EAAE;gCACL;oCACE,IAAI,EAAE,UAAU;oCAChB,SAAS,EAAE,mBAAmB;oCAC9B,QAAQ,EAAE,CAAC,YAAY,CAAC;iCACzB;6BACF;yBACF,CAAC;qBACH;iBACF;;;ACzBD;;;;;;"}
1
+ {"version":3,"file":"ngx-formly-bootstrap-textarea.mjs","sources":["../../../../src/ui/bootstrap/textarea/src/textarea.type.ts","../../../../src/ui/bootstrap/textarea/src/textarea.module.ts","../../../../src/ui/bootstrap/textarea/src/ngx-formly-bootstrap-textarea.ts"],"sourcesContent":["import { Component, ChangeDetectionStrategy, Type } from '@angular/core';\nimport { FieldTypeConfig, FormlyFieldConfig } from '@ngx-formly/core';\nimport { FieldType, FormlyFieldProps } from '@ngx-formly/bootstrap/form-field';\n\ninterface TextAreaProps extends FormlyFieldProps {\n cols?: number;\n rows?: number;\n}\n\nexport interface FormlyTextAreaFieldConfig extends FormlyFieldConfig<TextAreaProps> {\n type: 'textarea' | Type<FormlyFieldTextArea>;\n}\n\n@Component({\n selector: 'formly-field-textarea',\n template: `\n <ng-template #fieldTypeTemplate>\n <textarea\n [formControl]=\"formControl\"\n [cols]=\"props.cols\"\n [rows]=\"props.rows\"\n class=\"form-control\"\n [class.is-invalid]=\"showError\"\n [formlyAttributes]=\"field\"\n >\n </textarea>\n </ng-template>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class FormlyFieldTextArea extends FieldType<FieldTypeConfig<TextAreaProps>> {\n override defaultOptions = {\n props: {\n cols: 1,\n rows: 1,\n },\n };\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormlyModule } from '@ngx-formly/core';\nimport { ReactiveFormsModule } from '@angular/forms';\n\nimport { FormlyBootstrapFormFieldModule } from '@ngx-formly/bootstrap/form-field';\nimport { FormlyFieldTextArea } from './textarea.type';\n\n@NgModule({\n declarations: [FormlyFieldTextArea],\n imports: [\n CommonModule,\n ReactiveFormsModule,\n\n FormlyBootstrapFormFieldModule,\n FormlyModule.forChild({\n types: [\n {\n name: 'textarea',\n component: FormlyFieldTextArea,\n wrappers: ['form-field'],\n },\n ],\n }),\n ],\n})\nexport class FormlyBootstrapTextAreaModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["i1"],"mappings":"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"}
@@ -11,8 +11,8 @@ import { FormlyBootstrapAddonsModule } from '@ngx-formly/bootstrap/addons';
11
11
 
12
12
  class FormlyBootstrapModule {
13
13
  }
14
- FormlyBootstrapModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.3", ngImport: i0, type: FormlyBootstrapModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
15
- FormlyBootstrapModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.2.3", ngImport: i0, type: FormlyBootstrapModule, imports: [FormlyBootstrapFormFieldModule,
14
+ FormlyBootstrapModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: FormlyBootstrapModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
15
+ FormlyBootstrapModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: FormlyBootstrapModule, imports: [FormlyBootstrapFormFieldModule,
16
16
  FormlyBootstrapInputModule,
17
17
  FormlyBootstrapTextAreaModule,
18
18
  FormlyBootstrapRadioModule,
@@ -20,7 +20,7 @@ FormlyBootstrapModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", v
20
20
  FormlyBootstrapMultiCheckboxModule,
21
21
  FormlyBootstrapSelectModule,
22
22
  FormlyBootstrapAddonsModule] });
23
- FormlyBootstrapModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.2.3", ngImport: i0, type: FormlyBootstrapModule, imports: [[
23
+ FormlyBootstrapModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: FormlyBootstrapModule, imports: [[
24
24
  FormlyBootstrapFormFieldModule,
25
25
  FormlyBootstrapInputModule,
26
26
  FormlyBootstrapTextAreaModule,
@@ -30,7 +30,7 @@ FormlyBootstrapModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", v
30
30
  FormlyBootstrapSelectModule,
31
31
  FormlyBootstrapAddonsModule,
32
32
  ]] });
33
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.3", ngImport: i0, type: FormlyBootstrapModule, decorators: [{
33
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: FormlyBootstrapModule, decorators: [{
34
34
  type: NgModule,
35
35
  args: [{
36
36
  imports: [
@@ -1 +1 @@
1
- {"version":3,"file":"ngx-formly-bootstrap.mjs","sources":["../../../../src/ui/bootstrap/src/lib/bootstrap.module.ts","../../../../src/ui/bootstrap/src/public_api.ts","../../../../src/ui/bootstrap/src/ngx-formly-bootstrap.ts"],"sourcesContent":["import { NgModule } from '@angular/core';\n\nimport { FormlyBootstrapFormFieldModule } from '@ngx-formly/bootstrap/form-field';\nimport { FormlyBootstrapInputModule } from '@ngx-formly/bootstrap/input';\nimport { FormlyBootstrapTextAreaModule } from '@ngx-formly/bootstrap/textarea';\nimport { FormlyBootstrapRadioModule } from '@ngx-formly/bootstrap/radio';\nimport { FormlyBootstrapCheckboxModule } from '@ngx-formly/bootstrap/checkbox';\nimport { FormlyBootstrapMultiCheckboxModule } from '@ngx-formly/bootstrap/multicheckbox';\nimport { FormlyBootstrapSelectModule } from '@ngx-formly/bootstrap/select';\nimport { FormlyBootstrapAddonsModule } from '@ngx-formly/bootstrap/addons';\n\n@NgModule({\n imports: [\n FormlyBootstrapFormFieldModule,\n FormlyBootstrapInputModule,\n FormlyBootstrapTextAreaModule,\n FormlyBootstrapRadioModule,\n FormlyBootstrapCheckboxModule,\n FormlyBootstrapMultiCheckboxModule,\n FormlyBootstrapSelectModule,\n FormlyBootstrapAddonsModule,\n ],\n})\nexport class FormlyBootstrapModule {}\n","/*\n * Public API Surface of bootstrap\n */\n\nexport * from './lib/bootstrap';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":";;;;;;;;;;;MAuBa,qBAAqB;;kHAArB,qBAAqB;mHAArB,qBAAqB,YAV9B,8BAA8B;QAC9B,0BAA0B;QAC1B,6BAA6B;QAC7B,0BAA0B;QAC1B,6BAA6B;QAC7B,kCAAkC;QAClC,2BAA2B;QAC3B,2BAA2B;mHAGlB,qBAAqB,YAXvB;YACP,8BAA8B;YAC9B,0BAA0B;YAC1B,6BAA6B;YAC7B,0BAA0B;YAC1B,6BAA6B;YAC7B,kCAAkC;YAClC,2BAA2B;YAC3B,2BAA2B;SAC5B;2FAEU,qBAAqB;kBAZjC,QAAQ;mBAAC;oBACR,OAAO,EAAE;wBACP,8BAA8B;wBAC9B,0BAA0B;wBAC1B,6BAA6B;wBAC7B,0BAA0B;wBAC1B,6BAA6B;wBAC7B,kCAAkC;wBAClC,2BAA2B;wBAC3B,2BAA2B;qBAC5B;iBACF;;;ACtBD;;;;ACAA;;;;;;"}
1
+ {"version":3,"file":"ngx-formly-bootstrap.mjs","sources":["../../../../src/ui/bootstrap/src/lib/bootstrap.module.ts","../../../../src/ui/bootstrap/src/public_api.ts","../../../../src/ui/bootstrap/src/ngx-formly-bootstrap.ts"],"sourcesContent":["import { NgModule } from '@angular/core';\n\nimport { FormlyBootstrapFormFieldModule } from '@ngx-formly/bootstrap/form-field';\nimport { FormlyBootstrapInputModule } from '@ngx-formly/bootstrap/input';\nimport { FormlyBootstrapTextAreaModule } from '@ngx-formly/bootstrap/textarea';\nimport { FormlyBootstrapRadioModule } from '@ngx-formly/bootstrap/radio';\nimport { FormlyBootstrapCheckboxModule } from '@ngx-formly/bootstrap/checkbox';\nimport { FormlyBootstrapMultiCheckboxModule } from '@ngx-formly/bootstrap/multicheckbox';\nimport { FormlyBootstrapSelectModule } from '@ngx-formly/bootstrap/select';\nimport { FormlyBootstrapAddonsModule } from '@ngx-formly/bootstrap/addons';\n\n@NgModule({\n imports: [\n FormlyBootstrapFormFieldModule,\n FormlyBootstrapInputModule,\n FormlyBootstrapTextAreaModule,\n FormlyBootstrapRadioModule,\n FormlyBootstrapCheckboxModule,\n FormlyBootstrapMultiCheckboxModule,\n FormlyBootstrapSelectModule,\n FormlyBootstrapAddonsModule,\n ],\n})\nexport class FormlyBootstrapModule {}\n","/*\n * Public API Surface of bootstrap\n */\n\nexport * from './lib/bootstrap';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":";;;;;;;;;;;MAuBa,qBAAqB,CAAA;;mHAArB,qBAAqB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAArB,qBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,qBAAqB,YAV9B,8BAA8B;QAC9B,0BAA0B;QAC1B,6BAA6B;QAC7B,0BAA0B;QAC1B,6BAA6B;QAC7B,kCAAkC;QAClC,2BAA2B;QAC3B,2BAA2B,CAAA,EAAA,CAAA,CAAA;AAGlB,qBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,qBAAqB,EAXvB,OAAA,EAAA,CAAA;YACP,8BAA8B;YAC9B,0BAA0B;YAC1B,6BAA6B;YAC7B,0BAA0B;YAC1B,6BAA6B;YAC7B,kCAAkC;YAClC,2BAA2B;YAC3B,2BAA2B;SAC5B,CAAA,EAAA,CAAA,CAAA;4FAEU,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBAZjC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,OAAO,EAAE;wBACP,8BAA8B;wBAC9B,0BAA0B;wBAC1B,6BAA6B;wBAC7B,0BAA0B;wBAC1B,6BAA6B;wBAC7B,kCAAkC;wBAClC,2BAA2B;wBAC3B,2BAA2B;AAC5B,qBAAA;iBACF,CAAA;;;ACtBD;;AAEG;;ACFH;;AAEG;;;;"}
@@ -1,5 +1,5 @@
1
1
  import * as i0 from '@angular/core';
2
- import { Component, ChangeDetectionStrategy, NgModule } from '@angular/core';
2
+ import { Component, ViewEncapsulation, ViewChild, NgModule } from '@angular/core';
3
3
  import * as i1 from '@angular/common';
4
4
  import { CommonModule } from '@angular/common';
5
5
  import * as i1$1 from '@ngx-formly/core';
@@ -7,35 +7,47 @@ import { FieldWrapper, FormlyModule } from '@ngx-formly/core';
7
7
  import { ReactiveFormsModule } from '@angular/forms';
8
8
 
9
9
  class FormlyWrapperAddons extends FieldWrapper {
10
+ constructor(hostContainerRef) {
11
+ super();
12
+ this.hostContainerRef = hostContainerRef;
13
+ }
14
+ set content(templateRef) {
15
+ if (templateRef && this.hostContainerRef) {
16
+ this.hostContainerRef.createEmbeddedView(templateRef);
17
+ }
18
+ }
10
19
  addonRightClick($event) {
11
- this.to.addonRight.onClick?.(this.field, $event);
20
+ this.props.addonRight.onClick?.(this.field, $event);
12
21
  }
13
22
  addonLeftClick($event) {
14
- this.to.addonLeft.onClick?.(this.field, $event);
23
+ this.props.addonLeft.onClick?.(this.field, $event);
15
24
  }
16
25
  }
17
- FormlyWrapperAddons.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.3", ngImport: i0, type: FormlyWrapperAddons, deps: null, target: i0.ɵɵFactoryTarget.Component });
18
- FormlyWrapperAddons.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.3", type: FormlyWrapperAddons, selector: "formly-wrapper-addons", usesInheritance: true, ngImport: i0, template: "<div class=\"input-group\" [class.has-validation]=\"showError\">\n <div\n class=\"input-group-text\"\n *ngIf=\"to.addonLeft\"\n [class.input-group-btn]=\"to.addonLeft.onClick\"\n (click)=\"addonLeftClick($event)\"\n >\n <i [ngClass]=\"to.addonLeft.class\" *ngIf=\"to.addonLeft.class\"></i>\n <span *ngIf=\"to.addonLeft.text\">{{ to.addonLeft.text }}</span>\n </div>\n <div class=\"input-addons\">\n <ng-container #fieldComponent></ng-container>\n </div>\n <div\n class=\"input-group-text\"\n *ngIf=\"to.addonRight\"\n [class.input-group-btn]=\"to.addonRight.onClick\"\n (click)=\"addonRightClick($event)\"\n >\n <i [ngClass]=\"to.addonRight.class\" *ngIf=\"to.addonRight.class\"></i>\n <span *ngIf=\"to.addonRight.text\">{{ to.addonRight.text }}</span>\n </div>\n</div>\n", styles: [":host ::ng-deep .input-group>.input-group-btn{cursor:pointer}:host ::ng-deep .input-group>:not(:first-child) .form-control{border-top-left-radius:0;border-bottom-left-radius:0}:host ::ng-deep .input-group>:not(:last-child) .form-control{border-top-right-radius:0;border-bottom-right-radius:0}:host ::ng-deep .input-group>.input-addons{position:relative;flex:1 1 auto;width:1%;margin-bottom:0}\n"], directives: [{ type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
19
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.3", ngImport: i0, type: FormlyWrapperAddons, decorators: [{
26
+ FormlyWrapperAddons.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: FormlyWrapperAddons, deps: [{ token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Component });
27
+ FormlyWrapperAddons.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: FormlyWrapperAddons, selector: "formly-wrapper-addons", viewQueries: [{ propertyName: "content", first: true, predicate: ["fieldTypeTemplate"], descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "<ng-template #fieldTypeTemplate>\n <div class=\"input-group\" [class.has-validation]=\"showError\">\n <div\n class=\"input-group-text\"\n *ngIf=\"props.addonLeft\"\n [class.input-group-btn]=\"props.addonLeft.onClick\"\n (click)=\"addonLeftClick($event)\"\n >\n <i [ngClass]=\"props.addonLeft.class\" *ngIf=\"props.addonLeft.class\"></i>\n <span *ngIf=\"props.addonLeft.text\">{{ props.addonLeft.text }}</span>\n </div>\n <ng-container #fieldComponent></ng-container>\n <div\n class=\"input-group-text\"\n *ngIf=\"props.addonRight\"\n [class.input-group-btn]=\"props.addonRight.onClick\"\n (click)=\"addonRightClick($event)\"\n >\n <i [ngClass]=\"props.addonRight.class\" *ngIf=\"props.addonRight.class\"></i>\n <span *ngIf=\"props.addonRight.text\">{{ props.addonRight.text }}</span>\n </div>\n </div>\n</ng-template>\n", styles: ["formly-wrapper-form-field .input-group-btn{cursor:pointer}\n"], directives: [{ type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], encapsulation: i0.ViewEncapsulation.None });
28
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: FormlyWrapperAddons, decorators: [{
20
29
  type: Component,
21
- args: [{ selector: 'formly-wrapper-addons', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"input-group\" [class.has-validation]=\"showError\">\n <div\n class=\"input-group-text\"\n *ngIf=\"to.addonLeft\"\n [class.input-group-btn]=\"to.addonLeft.onClick\"\n (click)=\"addonLeftClick($event)\"\n >\n <i [ngClass]=\"to.addonLeft.class\" *ngIf=\"to.addonLeft.class\"></i>\n <span *ngIf=\"to.addonLeft.text\">{{ to.addonLeft.text }}</span>\n </div>\n <div class=\"input-addons\">\n <ng-container #fieldComponent></ng-container>\n </div>\n <div\n class=\"input-group-text\"\n *ngIf=\"to.addonRight\"\n [class.input-group-btn]=\"to.addonRight.onClick\"\n (click)=\"addonRightClick($event)\"\n >\n <i [ngClass]=\"to.addonRight.class\" *ngIf=\"to.addonRight.class\"></i>\n <span *ngIf=\"to.addonRight.text\">{{ to.addonRight.text }}</span>\n </div>\n</div>\n", styles: [":host ::ng-deep .input-group>.input-group-btn{cursor:pointer}:host ::ng-deep .input-group>:not(:first-child) .form-control{border-top-left-radius:0;border-bottom-left-radius:0}:host ::ng-deep .input-group>:not(:last-child) .form-control{border-top-right-radius:0;border-bottom-right-radius:0}:host ::ng-deep .input-group>.input-addons{position:relative;flex:1 1 auto;width:1%;margin-bottom:0}\n"] }]
22
- }] });
30
+ args: [{ selector: 'formly-wrapper-addons', encapsulation: ViewEncapsulation.None, template: "<ng-template #fieldTypeTemplate>\n <div class=\"input-group\" [class.has-validation]=\"showError\">\n <div\n class=\"input-group-text\"\n *ngIf=\"props.addonLeft\"\n [class.input-group-btn]=\"props.addonLeft.onClick\"\n (click)=\"addonLeftClick($event)\"\n >\n <i [ngClass]=\"props.addonLeft.class\" *ngIf=\"props.addonLeft.class\"></i>\n <span *ngIf=\"props.addonLeft.text\">{{ props.addonLeft.text }}</span>\n </div>\n <ng-container #fieldComponent></ng-container>\n <div\n class=\"input-group-text\"\n *ngIf=\"props.addonRight\"\n [class.input-group-btn]=\"props.addonRight.onClick\"\n (click)=\"addonRightClick($event)\"\n >\n <i [ngClass]=\"props.addonRight.class\" *ngIf=\"props.addonRight.class\"></i>\n <span *ngIf=\"props.addonRight.text\">{{ props.addonRight.text }}</span>\n </div>\n </div>\n</ng-template>\n", styles: ["formly-wrapper-form-field .input-group-btn{cursor:pointer}\n"] }]
31
+ }], ctorParameters: function () { return [{ type: i0.ViewContainerRef }]; }, propDecorators: { content: [{
32
+ type: ViewChild,
33
+ args: ['fieldTypeTemplate', { static: true }]
34
+ }] } });
23
35
 
24
36
  function addonsExtension(field) {
25
- if (!field.templateOptions || (field.wrappers && field.wrappers.indexOf('addons') !== -1)) {
37
+ if (!field.props || (field.wrappers && field.wrappers.indexOf('addons') !== -1)) {
26
38
  return;
27
39
  }
28
- if (field.templateOptions.addonLeft || field.templateOptions.addonRight) {
40
+ if (field.props.addonLeft || field.props.addonRight) {
29
41
  field.wrappers = [...(field.wrappers || []), 'addons'];
30
42
  }
31
43
  }
32
44
 
33
45
  class FormlyBootstrapAddonsModule {
34
46
  }
35
- FormlyBootstrapAddonsModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.3", ngImport: i0, type: FormlyBootstrapAddonsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
36
- FormlyBootstrapAddonsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.2.3", ngImport: i0, type: FormlyBootstrapAddonsModule, declarations: [FormlyWrapperAddons], imports: [CommonModule,
47
+ FormlyBootstrapAddonsModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: FormlyBootstrapAddonsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
48
+ FormlyBootstrapAddonsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: FormlyBootstrapAddonsModule, declarations: [FormlyWrapperAddons], imports: [CommonModule,
37
49
  ReactiveFormsModule, i1$1.FormlyModule] });
38
- FormlyBootstrapAddonsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.2.3", ngImport: i0, type: FormlyBootstrapAddonsModule, imports: [[
50
+ FormlyBootstrapAddonsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: FormlyBootstrapAddonsModule, imports: [[
39
51
  CommonModule,
40
52
  ReactiveFormsModule,
41
53
  FormlyModule.forChild({
@@ -43,7 +55,7 @@ FormlyBootstrapAddonsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0
43
55
  extensions: [{ name: 'addons', extension: { postPopulate: addonsExtension } }],
44
56
  }),
45
57
  ]] });
46
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.3", ngImport: i0, type: FormlyBootstrapAddonsModule, decorators: [{
58
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: FormlyBootstrapAddonsModule, decorators: [{
47
59
  type: NgModule,
48
60
  args: [{
49
61
  declarations: [FormlyWrapperAddons],
@@ -1 +1 @@
1
- {"version":3,"file":"ngx-formly-bootstrap-addons.mjs","sources":["../../../../src/ui/bootstrap/addons/src/addons.component.ts","../../../../src/ui/bootstrap/addons/src/addons.component.html","../../../../src/ui/bootstrap/addons/src/addon.extension.ts","../../../../src/ui/bootstrap/addons/src/addons.module.ts","../../../../src/ui/bootstrap/addons/src/ngx-formly-bootstrap-addons.ts"],"sourcesContent":["import { Component, ChangeDetectionStrategy } from '@angular/core';\nimport { FieldWrapper } from '@ngx-formly/core';\n\n@Component({\n selector: 'formly-wrapper-addons',\n templateUrl: './addons.component.html',\n styleUrls: ['./addons.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class FormlyWrapperAddons extends FieldWrapper {\n addonRightClick($event: any) {\n this.to.addonRight.onClick?.(this.field, $event);\n }\n\n addonLeftClick($event: any) {\n this.to.addonLeft.onClick?.(this.field, $event);\n }\n}\n","<div class=\"input-group\" [class.has-validation]=\"showError\">\n <div\n class=\"input-group-text\"\n *ngIf=\"to.addonLeft\"\n [class.input-group-btn]=\"to.addonLeft.onClick\"\n (click)=\"addonLeftClick($event)\"\n >\n <i [ngClass]=\"to.addonLeft.class\" *ngIf=\"to.addonLeft.class\"></i>\n <span *ngIf=\"to.addonLeft.text\">{{ to.addonLeft.text }}</span>\n </div>\n <div class=\"input-addons\">\n <ng-container #fieldComponent></ng-container>\n </div>\n <div\n class=\"input-group-text\"\n *ngIf=\"to.addonRight\"\n [class.input-group-btn]=\"to.addonRight.onClick\"\n (click)=\"addonRightClick($event)\"\n >\n <i [ngClass]=\"to.addonRight.class\" *ngIf=\"to.addonRight.class\"></i>\n <span *ngIf=\"to.addonRight.text\">{{ to.addonRight.text }}</span>\n </div>\n</div>\n","import { FormlyFieldConfig } from '@ngx-formly/core';\n\nexport function addonsExtension(field: FormlyFieldConfig) {\n if (!field.templateOptions || (field.wrappers && field.wrappers.indexOf('addons') !== -1)) {\n return;\n }\n\n if (field.templateOptions.addonLeft || field.templateOptions.addonRight) {\n field.wrappers = [...(field.wrappers || []), 'addons'];\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormlyModule } from '@ngx-formly/core';\nimport { ReactiveFormsModule } from '@angular/forms';\n\nimport { FormlyWrapperAddons } from './addons.component';\nimport { addonsExtension } from './addon.extension';\n\n@NgModule({\n declarations: [FormlyWrapperAddons],\n imports: [\n CommonModule,\n ReactiveFormsModule,\n\n FormlyModule.forChild({\n wrappers: [{ name: 'addons', component: FormlyWrapperAddons }],\n extensions: [{ name: 'addons', extension: { postPopulate: addonsExtension } }],\n }),\n ],\n})\nexport class FormlyBootstrapAddonsModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":";;;;;;;;MASa,mBAAoB,SAAQ,YAAY;IACnD,eAAe,CAAC,MAAW;QACzB,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,GAAG,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;KAClD;IAED,cAAc,CAAC,MAAW;QACxB,IAAI,CAAC,EAAE,CAAC,SAAS,CAAC,OAAO,GAAG,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;KACjD;;gHAPU,mBAAmB;oGAAnB,mBAAmB,oFCThC,ozBAuBA;2FDda,mBAAmB;kBAN/B,SAAS;+BACE,uBAAuB,mBAGhB,uBAAuB,CAAC,MAAM;;;SELjC,eAAe,CAAC,KAAwB;IACtD,IAAI,CAAC,KAAK,CAAC,eAAe,KAAK,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE;QACzF,OAAO;KACR;IAED,IAAI,KAAK,CAAC,eAAe,CAAC,SAAS,IAAI,KAAK,CAAC,eAAe,CAAC,UAAU,EAAE;QACvE,KAAK,CAAC,QAAQ,GAAG,CAAC,IAAI,KAAK,CAAC,QAAQ,IAAI,EAAE,CAAC,EAAE,QAAQ,CAAC,CAAC;KACxD;AACH;;MCUa,2BAA2B;;wHAA3B,2BAA2B;yHAA3B,2BAA2B,iBAXvB,mBAAmB,aAEhC,YAAY;QACZ,mBAAmB;yHAQV,2BAA2B,YAV7B;YACP,YAAY;YACZ,mBAAmB;YAEnB,YAAY,CAAC,QAAQ,CAAC;gBACpB,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,mBAAmB,EAAE,CAAC;gBAC9D,UAAU,EAAE,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,EAAE,YAAY,EAAE,eAAe,EAAE,EAAE,CAAC;aAC/E,CAAC;SACH;2FAEU,2BAA2B;kBAZvC,QAAQ;mBAAC;oBACR,YAAY,EAAE,CAAC,mBAAmB,CAAC;oBACnC,OAAO,EAAE;wBACP,YAAY;wBACZ,mBAAmB;wBAEnB,YAAY,CAAC,QAAQ,CAAC;4BACpB,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,mBAAmB,EAAE,CAAC;4BAC9D,UAAU,EAAE,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,EAAE,YAAY,EAAE,eAAe,EAAE,EAAE,CAAC;yBAC/E,CAAC;qBACH;iBACF;;;ACnBD;;;;;;"}
1
+ {"version":3,"file":"ngx-formly-bootstrap-addons.mjs","sources":["../../../../src/ui/bootstrap/addons/src/addons.component.ts","../../../../src/ui/bootstrap/addons/src/addons.component.html","../../../../src/ui/bootstrap/addons/src/addon.extension.ts","../../../../src/ui/bootstrap/addons/src/addons.module.ts","../../../../src/ui/bootstrap/addons/src/ngx-formly-bootstrap-addons.ts"],"sourcesContent":["import { Component, TemplateRef, ViewChild, ViewContainerRef, ViewEncapsulation } from '@angular/core';\nimport { FormlyFieldConfig, FieldTypeConfig, FieldWrapper } from '@ngx-formly/core';\nimport { FormlyFieldProps } from '@ngx-formly/bootstrap/form-field';\n\ninterface AddonsProps extends FormlyFieldProps {\n addonRight?: {\n onClick?: (field: FormlyFieldConfig, event?: any) => void;\n class?: string;\n text?: string;\n };\n addonLeft?: {\n onClick?: (field: FormlyFieldConfig, event?: any) => void;\n class?: string;\n text?: string;\n };\n}\n\n@Component({\n selector: 'formly-wrapper-addons',\n templateUrl: './addons.component.html',\n styleUrls: ['./addons.component.scss'],\n encapsulation: ViewEncapsulation.None,\n})\nexport class FormlyWrapperAddons extends FieldWrapper<FieldTypeConfig<AddonsProps>> {\n @ViewChild('fieldTypeTemplate', { static: true }) set content(templateRef: TemplateRef<any>) {\n if (templateRef && this.hostContainerRef) {\n this.hostContainerRef.createEmbeddedView(templateRef);\n }\n }\n\n constructor(private hostContainerRef?: ViewContainerRef) {\n super();\n }\n\n addonRightClick($event: any) {\n this.props.addonRight.onClick?.(this.field, $event);\n }\n\n addonLeftClick($event: any) {\n this.props.addonLeft.onClick?.(this.field, $event);\n }\n}\n","<ng-template #fieldTypeTemplate>\n <div class=\"input-group\" [class.has-validation]=\"showError\">\n <div\n class=\"input-group-text\"\n *ngIf=\"props.addonLeft\"\n [class.input-group-btn]=\"props.addonLeft.onClick\"\n (click)=\"addonLeftClick($event)\"\n >\n <i [ngClass]=\"props.addonLeft.class\" *ngIf=\"props.addonLeft.class\"></i>\n <span *ngIf=\"props.addonLeft.text\">{{ props.addonLeft.text }}</span>\n </div>\n <ng-container #fieldComponent></ng-container>\n <div\n class=\"input-group-text\"\n *ngIf=\"props.addonRight\"\n [class.input-group-btn]=\"props.addonRight.onClick\"\n (click)=\"addonRightClick($event)\"\n >\n <i [ngClass]=\"props.addonRight.class\" *ngIf=\"props.addonRight.class\"></i>\n <span *ngIf=\"props.addonRight.text\">{{ props.addonRight.text }}</span>\n </div>\n </div>\n</ng-template>\n","import { FormlyFieldConfig } from '@ngx-formly/core';\n\nexport function addonsExtension(field: FormlyFieldConfig) {\n if (!field.props || (field.wrappers && field.wrappers.indexOf('addons') !== -1)) {\n return;\n }\n\n if (field.props.addonLeft || field.props.addonRight) {\n field.wrappers = [...(field.wrappers || []), 'addons'];\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormlyModule } from '@ngx-formly/core';\nimport { ReactiveFormsModule } from '@angular/forms';\n\nimport { FormlyWrapperAddons } from './addons.component';\nimport { addonsExtension } from './addon.extension';\n\n@NgModule({\n declarations: [FormlyWrapperAddons],\n imports: [\n CommonModule,\n ReactiveFormsModule,\n\n FormlyModule.forChild({\n wrappers: [{ name: 'addons', component: FormlyWrapperAddons }],\n extensions: [{ name: 'addons', extension: { postPopulate: addonsExtension } }],\n }),\n ],\n})\nexport class FormlyBootstrapAddonsModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["i1"],"mappings":"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"}