@covalent/dynamic-forms 4.0.0-beta.2 → 4.1.0-develop.2

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 (57) hide show
  1. package/README.md +26 -18
  2. package/covalent-dynamic-forms.d.ts +1 -1
  3. package/esm2020/covalent-dynamic-forms.mjs +2 -2
  4. package/esm2020/lib/dynamic-element.component.mjs +178 -0
  5. package/esm2020/lib/dynamic-elements/dynamic-checkbox/dynamic-checkbox.component.mjs +19 -0
  6. package/esm2020/lib/dynamic-elements/dynamic-datepicker/dynamic-datepicker.component.mjs +23 -0
  7. package/esm2020/lib/dynamic-elements/dynamic-file-input/dynamic-file-input.component.mjs +28 -0
  8. package/esm2020/lib/dynamic-elements/dynamic-input/dynamic-input.component.mjs +22 -0
  9. package/esm2020/lib/dynamic-elements/dynamic-select/dynamic-select.component.mjs +23 -0
  10. package/esm2020/lib/dynamic-elements/dynamic-slide-toggle/dynamic-slide-toggle.component.mjs +19 -0
  11. package/esm2020/lib/dynamic-elements/dynamic-slider/dynamic-slider.component.mjs +26 -0
  12. package/esm2020/lib/dynamic-elements/dynamic-textarea/dynamic-textarea.component.mjs +22 -0
  13. package/esm2020/lib/dynamic-forms.component.mjs +185 -0
  14. package/esm2020/lib/dynamic-forms.module.mjs +127 -0
  15. package/esm2020/lib/services/dynamic-forms.service.mjs +140 -0
  16. package/esm2020/public_api.mjs +13 -13
  17. package/fesm2015/covalent-dynamic-forms.mjs +177 -572
  18. package/fesm2015/covalent-dynamic-forms.mjs.map +1 -1
  19. package/fesm2020/covalent-dynamic-forms.mjs +248 -565
  20. package/fesm2020/covalent-dynamic-forms.mjs.map +1 -1
  21. package/{dynamic-element.component.d.ts → lib/dynamic-element.component.d.ts} +17 -17
  22. package/{dynamic-elements → lib/dynamic-elements}/dynamic-checkbox/dynamic-checkbox.component.d.ts +0 -0
  23. package/{dynamic-elements → lib/dynamic-elements}/dynamic-datepicker/dynamic-datepicker.component.d.ts +3 -3
  24. package/{dynamic-elements → lib/dynamic-elements}/dynamic-file-input/dynamic-file-input.component.d.ts +1 -1
  25. package/{dynamic-elements → lib/dynamic-elements}/dynamic-input/dynamic-input.component.d.ts +4 -4
  26. package/{dynamic-elements → lib/dynamic-elements}/dynamic-select/dynamic-select.component.d.ts +2 -2
  27. package/{dynamic-elements → lib/dynamic-elements}/dynamic-slide-toggle/dynamic-slide-toggle.component.d.ts +0 -0
  28. package/{dynamic-elements → lib/dynamic-elements}/dynamic-slider/dynamic-slider.component.d.ts +2 -2
  29. package/{dynamic-elements → lib/dynamic-elements}/dynamic-textarea/dynamic-textarea.component.d.ts +0 -0
  30. package/{dynamic-forms.component.d.ts → lib/dynamic-forms.component.d.ts} +1 -1
  31. package/{dynamic-forms.module.d.ts → lib/dynamic-forms.module.d.ts} +2 -3
  32. package/{services → lib/services}/dynamic-forms.service.d.ts +2 -2
  33. package/package.json +17 -19
  34. package/public_api.d.ts +12 -12
  35. package/dynamic-elements/dynamic-checkbox/dynamic-checkbox.component.scss +0 -0
  36. package/dynamic-elements/dynamic-datepicker/dynamic-datepicker.component.scss +0 -13
  37. package/dynamic-elements/dynamic-file-input/dynamic-file-input.component.scss +0 -17
  38. package/dynamic-elements/dynamic-input/dynamic-input.component.scss +0 -13
  39. package/dynamic-elements/dynamic-select/dynamic-select.component.scss +0 -13
  40. package/dynamic-elements/dynamic-slide-toggle/dynamic-slide-toggle.component.scss +0 -0
  41. package/dynamic-elements/dynamic-slider/dynamic-slider.component.scss +0 -19
  42. package/dynamic-elements/dynamic-textarea/dynamic-textarea.component.scss +0 -13
  43. package/dynamic-forms.component.scss +0 -27
  44. package/esm2020/dynamic-element.component.mjs +0 -220
  45. package/esm2020/dynamic-elements/dynamic-checkbox/dynamic-checkbox.component.mjs +0 -35
  46. package/esm2020/dynamic-elements/dynamic-datepicker/dynamic-datepicker.component.mjs +0 -58
  47. package/esm2020/dynamic-elements/dynamic-file-input/dynamic-file-input.component.mjs +0 -84
  48. package/esm2020/dynamic-elements/dynamic-input/dynamic-input.component.mjs +0 -55
  49. package/esm2020/dynamic-elements/dynamic-select/dynamic-select.component.mjs +0 -67
  50. package/esm2020/dynamic-elements/dynamic-slide-toggle/dynamic-slide-toggle.component.mjs +0 -36
  51. package/esm2020/dynamic-elements/dynamic-slider/dynamic-slider.component.mjs +0 -62
  52. package/esm2020/dynamic-elements/dynamic-textarea/dynamic-textarea.component.mjs +0 -50
  53. package/esm2020/dynamic-forms.component.mjs +0 -220
  54. package/esm2020/dynamic-forms.module.mjs +0 -118
  55. package/esm2020/index.mjs +0 -2
  56. package/esm2020/services/dynamic-forms.service.mjs +0 -125
  57. package/index.d.ts +0 -1
@@ -8,195 +8,78 @@ import * as i1 from '@angular/material/form-field';
8
8
  import { MatFormFieldModule } from '@angular/material/form-field';
9
9
  import * as i2 from '@angular/material/input';
10
10
  import { MatInputModule } from '@angular/material/input';
11
- import * as i2$3 from '@angular/material/select';
11
+ import * as i2$2 from '@angular/material/select';
12
12
  import { MatSelectModule } from '@angular/material/select';
13
13
  import * as i1$2 from '@angular/material/checkbox';
14
14
  import { MatCheckboxModule } from '@angular/material/checkbox';
15
- import * as i2$2 from '@angular/material/slider';
15
+ import * as i1$3 from '@angular/material/slider';
16
16
  import { MatSliderModule } from '@angular/material/slider';
17
17
  import * as i1$1 from '@angular/material/slide-toggle';
18
18
  import { MatSlideToggleModule } from '@angular/material/slide-toggle';
19
- import * as i6 from '@angular/material/icon';
19
+ import * as i3$1 from '@angular/material/icon';
20
20
  import { MatIconModule } from '@angular/material/icon';
21
- import * as i5 from '@angular/material/button';
21
+ import * as i2$1 from '@angular/material/button';
22
22
  import { MatButtonModule } from '@angular/material/button';
23
- import * as i3$1 from '@angular/material/datepicker';
23
+ import * as i2$3 from '@angular/material/datepicker';
24
24
  import { MatDatepickerModule } from '@angular/material/datepicker';
25
- import { mixinControlValueAccessor, CovalentCommonModule } from '@covalent/core/common';
26
- import * as i2$1 from '@covalent/core/file';
25
+ import * as i4$1 from '@covalent/core/file';
27
26
  import { CovalentFileModule } from '@covalent/core/file';
28
- import * as i5$1 from '@angular/material/core';
29
- import { TemplatePortalDirective } from '@angular/cdk/portal';
27
+ import * as i3$2 from '@angular/material/core';
28
+ import { CdkPortal } from '@angular/cdk/portal';
29
+ import { mixinControlValueAccessor } from '@covalent/core/common';
30
30
  import { Subject, timer } from 'rxjs';
31
31
  import { filter, takeUntil } from 'rxjs/operators';
32
32
 
33
- function TdDynamicInputComponent_ng_template_9_Template(rf, ctx) { }
34
- const _c0$5 = function (a0, a1) { return { control: a0, errors: a1 }; };
35
33
  class TdDynamicInputComponent {
36
34
  constructor() {
37
35
  this.label = '';
38
36
  this.hint = '';
39
- this.type = undefined;
40
- this.required = undefined;
37
+ this.required = false;
41
38
  this.name = '';
42
- this.min = undefined;
43
- this.max = undefined;
44
- this.minLength = undefined;
45
- this.maxLength = undefined;
46
- this.errorMessageTemplate = undefined;
47
39
  this.placeholder = '';
48
40
  }
49
41
  }
50
- /** @nocollapse */ /** @nocollapse */ TdDynamicInputComponent.ɵfac = function TdDynamicInputComponent_Factory(t) { return new (t || TdDynamicInputComponent)(); };
51
- /** @nocollapse */ /** @nocollapse */ TdDynamicInputComponent.ɵcmp = /** @pureOrBreakMyCode */ i0.ɵɵdefineComponent({ type: TdDynamicInputComponent, selectors: [["td-dynamic-input"]], decls: 10, vars: 16, consts: [[1, "td-dynamic-input-wrapper"], [1, "td-dynamic-input-field"], ["matInput", "", 3, "formControl", "placeholder", "type", "required"], ["elementInput", ""], [3, "ngTemplateOutlet", "ngTemplateOutletContext"]], template: function TdDynamicInputComponent_Template(rf, ctx) { if (rf & 1) {
52
- i0.ɵɵelementStart(0, "div", 0);
53
- i0.ɵɵelementStart(1, "mat-form-field", 1);
54
- i0.ɵɵelementStart(2, "mat-label");
55
- i0.ɵɵtext(3);
56
- i0.ɵɵelementEnd();
57
- i0.ɵɵelement(4, "input", 2, 3);
58
- i0.ɵɵelementStart(6, "mat-hint");
59
- i0.ɵɵtext(7);
60
- i0.ɵɵelementEnd();
61
- i0.ɵɵelementStart(8, "mat-error");
62
- i0.ɵɵtemplate(9, TdDynamicInputComponent_ng_template_9_Template, 0, 0, "ng-template", 4);
63
- i0.ɵɵelementEnd();
64
- i0.ɵɵelementEnd();
65
- i0.ɵɵelementEnd();
66
- } if (rf & 2) {
67
- i0.ɵɵadvance(3);
68
- i0.ɵɵtextInterpolate(ctx.label);
69
- i0.ɵɵadvance(1);
70
- i0.ɵɵproperty("formControl", ctx.control)("placeholder", ctx.placeholder)("type", ctx.type)("required", ctx.required);
71
- i0.ɵɵattribute("name", ctx.name)("min", ctx.min)("max", ctx.max)("minLength", ctx.minLength)("maxLength", ctx.maxLength);
72
- i0.ɵɵadvance(3);
73
- i0.ɵɵtextInterpolate(ctx.hint);
74
- i0.ɵɵadvance(2);
75
- i0.ɵɵproperty("ngTemplateOutlet", ctx.errorMessageTemplate)("ngTemplateOutletContext", i0.ɵɵpureFunction2(13, _c0$5, ctx.control, ctx.control == null ? null : ctx.control.errors));
76
- } }, directives: [i1.MatFormField, i1.MatLabel, i2.MatInput, i3.DefaultValueAccessor, i3.NgControlStatus, i3.FormControlDirective, i3.RequiredValidator, i1.MatHint, i1.MatError, i4.NgTemplateOutlet], styles: [".td-dynamic-input-wrapper[_ngcontent-%COMP%]{-ms-flex-direction:row;flex-direction:row;display:-ms-flexbox;display:flex;box-sizing:border-box}.td-dynamic-input-wrapper[_ngcontent-%COMP%] .td-dynamic-input-field[_ngcontent-%COMP%]{-ms-flex:1;flex:1;box-sizing:border-box}"] });
77
- (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(TdDynamicInputComponent, [{
78
- type: Component,
79
- args: [{ selector: 'td-dynamic-input', template: "<div class=\"td-dynamic-input-wrapper\">\n <mat-form-field class=\"td-dynamic-input-field\">\n <mat-label>{{ label }}</mat-label>\n <input\n #elementInput\n matInput\n [formControl]=\"control\"\n [placeholder]=\"placeholder\"\n [type]=\"type\"\n [required]=\"required\"\n [attr.name]=\"name\"\n [attr.min]=\"min\"\n [attr.max]=\"max\"\n [attr.minLength]=\"minLength\"\n [attr.maxLength]=\"maxLength\"\n />\n <mat-hint>{{ hint }}</mat-hint>\n <mat-error>\n <ng-template\n [ngTemplateOutlet]=\"errorMessageTemplate\"\n [ngTemplateOutletContext]=\"{ control: control, errors: control?.errors }\"\n ></ng-template>\n </mat-error>\n </mat-form-field>\n</div>\n", styles: [".td-dynamic-input-wrapper{-ms-flex-direction:row;flex-direction:row;display:-ms-flexbox;display:flex;box-sizing:border-box}.td-dynamic-input-wrapper .td-dynamic-input-field{-ms-flex:1;flex:1;box-sizing:border-box}\n"] }]
80
- }], null, null); })();
42
+ TdDynamicInputComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: TdDynamicInputComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
43
+ TdDynamicInputComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.2", type: TdDynamicInputComponent, selector: "td-dynamic-input", ngImport: i0, template: "<div class=\"td-dynamic-input-wrapper\">\n <mat-form-field class=\"td-dynamic-input-field\">\n <mat-label>{{ label }}</mat-label>\n <input\n #elementInput\n matInput\n [formControl]=\"control\"\n [placeholder]=\"placeholder\"\n [type]=\"type\"\n [required]=\"required\"\n [attr.name]=\"name\"\n [attr.min]=\"min\"\n [attr.max]=\"max\"\n [attr.minLength]=\"minLength\"\n [attr.maxLength]=\"maxLength\"\n />\n <mat-hint>{{ hint }}</mat-hint>\n <mat-error>\n <ng-template\n [ngTemplateOutlet]=\"errorMessageTemplate\"\n [ngTemplateOutletContext]=\"{\n control: control,\n errors: control?.errors\n }\"\n ></ng-template>\n </mat-error>\n </mat-form-field>\n</div>\n", styles: [".td-dynamic-input-wrapper{flex-direction:row;display:flex;box-sizing:border-box}.td-dynamic-input-wrapper .td-dynamic-input-field{flex:1;box-sizing:border-box}\n"], components: [{ type: i1.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }], directives: [{ type: i1.MatLabel, selector: "mat-label" }, { type: i2.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i3.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { type: i3.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { type: i1.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { type: i1.MatError, selector: "mat-error", inputs: ["id"] }, { type: i4.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }] });
44
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: TdDynamicInputComponent, decorators: [{
45
+ type: Component,
46
+ args: [{ selector: 'td-dynamic-input', template: "<div class=\"td-dynamic-input-wrapper\">\n <mat-form-field class=\"td-dynamic-input-field\">\n <mat-label>{{ label }}</mat-label>\n <input\n #elementInput\n matInput\n [formControl]=\"control\"\n [placeholder]=\"placeholder\"\n [type]=\"type\"\n [required]=\"required\"\n [attr.name]=\"name\"\n [attr.min]=\"min\"\n [attr.max]=\"max\"\n [attr.minLength]=\"minLength\"\n [attr.maxLength]=\"maxLength\"\n />\n <mat-hint>{{ hint }}</mat-hint>\n <mat-error>\n <ng-template\n [ngTemplateOutlet]=\"errorMessageTemplate\"\n [ngTemplateOutletContext]=\"{\n control: control,\n errors: control?.errors\n }\"\n ></ng-template>\n </mat-error>\n </mat-form-field>\n</div>\n", styles: [".td-dynamic-input-wrapper{flex-direction:row;display:flex;box-sizing:border-box}.td-dynamic-input-wrapper .td-dynamic-input-field{flex:1;box-sizing:border-box}\n"] }]
47
+ }] });
81
48
 
82
- function TdDynamicFileInputComponent_ng_template_8_Template(rf, ctx) { }
83
- function TdDynamicFileInputComponent_button_9_Template(rf, ctx) { if (rf & 1) {
84
- const _r4 = i0.ɵɵgetCurrentView();
85
- i0.ɵɵelementStart(0, "button", 7);
86
- i0.ɵɵlistener("click", function TdDynamicFileInputComponent_button_9_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r4); i0.ɵɵnextContext(); const _r2 = i0.ɵɵreference(11); return _r2.clear(); })("keyup.enter", function TdDynamicFileInputComponent_button_9_Template_button_keyup_enter_0_listener() { i0.ɵɵrestoreView(_r4); i0.ɵɵnextContext(); const _r2 = i0.ɵɵreference(11); return _r2.clear(); });
87
- i0.ɵɵelementStart(1, "mat-icon");
88
- i0.ɵɵtext(2, "cancel");
89
- i0.ɵɵelementEnd();
90
- i0.ɵɵelementEnd();
91
- } }
92
- const _c0$4 = function (a0, a1) { return { control: a0, errors: a1 }; };
93
49
  class TdDynamicFileInputComponent {
94
50
  constructor() {
95
- this.required = undefined;
51
+ this.required = false;
96
52
  this.label = '';
97
53
  this.name = '';
98
54
  this.hint = '';
99
- this.errorMessageTemplate = undefined;
100
55
  this.placeholder = '';
101
56
  }
102
57
  _handlefileDrop(value) {
103
- this.control.setValue(value);
58
+ this.control?.setValue(value);
104
59
  }
105
60
  }
106
- /** @nocollapse */ /** @nocollapse */ TdDynamicFileInputComponent.ɵfac = function TdDynamicFileInputComponent_Factory(t) { return new (t || TdDynamicFileInputComponent)(); };
107
- /** @nocollapse */ /** @nocollapse */ TdDynamicFileInputComponent.ɵcmp = /** @pureOrBreakMyCode */ i0.ɵɵdefineComponent({ type: TdDynamicFileInputComponent, selectors: [["td-dynamic-file-input"]], decls: 16, vars: 15, consts: [[1, "td-dynamic-file-input-wrapper"], ["tdFileDrop", "", "floatLabel", "never", 1, "td-dynamic-file-input-field", 3, "disabled", "fileDrop", "click", "keyup.enter", "keyup.delete", "keyup.backspace"], ["matInput", "", "readonly", "", 3, "value", "placeholder", "disabled"], [3, "ngTemplateOutlet", "ngTemplateOutletContext"], ["mat-icon-button", "", 3, "click", "keyup.enter", 4, "ngIf"], [1, "td-file-input", 3, "formControl"], ["fileInput", ""], ["mat-icon-button", "", 3, "click", "keyup.enter"]], template: function TdDynamicFileInputComponent_Template(rf, ctx) { if (rf & 1) {
108
- const _r6 = i0.ɵɵgetCurrentView();
109
- i0.ɵɵelementStart(0, "div", 0);
110
- i0.ɵɵelementStart(1, "mat-form-field", 1);
111
- i0.ɵɵlistener("fileDrop", function TdDynamicFileInputComponent_Template_mat_form_field_fileDrop_1_listener($event) { return ctx._handlefileDrop($event); })("click", function TdDynamicFileInputComponent_Template_mat_form_field_click_1_listener() { i0.ɵɵrestoreView(_r6); const _r2 = i0.ɵɵreference(11); return !(ctx.control == null ? null : ctx.control.disabled) && _r2.inputElement.click(); })("keyup.enter", function TdDynamicFileInputComponent_Template_mat_form_field_keyup_enter_1_listener() { i0.ɵɵrestoreView(_r6); const _r2 = i0.ɵɵreference(11); return !(ctx.control == null ? null : ctx.control.disabled) && _r2.inputElement.click(); })("keyup.delete", function TdDynamicFileInputComponent_Template_mat_form_field_keyup_delete_1_listener() { i0.ɵɵrestoreView(_r6); const _r2 = i0.ɵɵreference(11); return _r2.clear(); })("keyup.backspace", function TdDynamicFileInputComponent_Template_mat_form_field_keyup_backspace_1_listener() { i0.ɵɵrestoreView(_r6); const _r2 = i0.ɵɵreference(11); return _r2.clear(); });
112
- i0.ɵɵelementStart(2, "mat-label");
113
- i0.ɵɵtext(3);
114
- i0.ɵɵelementEnd();
115
- i0.ɵɵelement(4, "input", 2);
116
- i0.ɵɵelementStart(5, "mat-hint");
117
- i0.ɵɵtext(6);
118
- i0.ɵɵelementEnd();
119
- i0.ɵɵelementStart(7, "mat-error");
120
- i0.ɵɵtemplate(8, TdDynamicFileInputComponent_ng_template_8_Template, 0, 0, "ng-template", 3);
121
- i0.ɵɵelementEnd();
122
- i0.ɵɵelementEnd();
123
- i0.ɵɵtemplate(9, TdDynamicFileInputComponent_button_9_Template, 3, 0, "button", 4);
124
- i0.ɵɵelementStart(10, "td-file-input", 5, 6);
125
- i0.ɵɵelementStart(12, "mat-icon");
126
- i0.ɵɵtext(13, "folder");
127
- i0.ɵɵelementEnd();
128
- i0.ɵɵelementStart(14, "span");
129
- i0.ɵɵtext(15);
130
- i0.ɵɵelementEnd();
131
- i0.ɵɵelementEnd();
132
- i0.ɵɵelementEnd();
133
- } if (rf & 2) {
134
- i0.ɵɵadvance(1);
135
- i0.ɵɵproperty("disabled", ctx.control == null ? null : ctx.control.disabled);
136
- i0.ɵɵadvance(2);
137
- i0.ɵɵtextInterpolate(ctx.label);
138
- i0.ɵɵadvance(1);
139
- i0.ɵɵproperty("value", ctx.control == null ? null : ctx.control.value == null ? null : ctx.control.value.name)("placeholder", ctx.placeholder)("disabled", ctx.control == null ? null : ctx.control.disabled);
140
- i0.ɵɵattribute("name", ctx.name);
141
- i0.ɵɵadvance(2);
142
- i0.ɵɵtextInterpolate(ctx.hint);
143
- i0.ɵɵadvance(2);
144
- i0.ɵɵproperty("ngTemplateOutlet", ctx.errorMessageTemplate)("ngTemplateOutletContext", i0.ɵɵpureFunction2(12, _c0$4, ctx.control, ctx.control == null ? null : ctx.control.errors));
145
- i0.ɵɵadvance(1);
146
- i0.ɵɵproperty("ngIf", ctx.control.value);
147
- i0.ɵɵadvance(1);
148
- i0.ɵɵproperty("formControl", ctx.control);
149
- i0.ɵɵadvance(5);
150
- i0.ɵɵtextInterpolate(ctx.label);
151
- } }, directives: [i1.MatFormField, i2$1.TdFileDropDirective, i1.MatLabel, i2.MatInput, i1.MatHint, i1.MatError, i4.NgTemplateOutlet, i4.NgIf, i5.MatButton, i6.MatIcon, i2$1.TdFileInputComponent, i3.NgControlStatus, i3.FormControlDirective], styles: [".td-dynamic-file-input-wrapper[_ngcontent-%COMP%]{-ms-flex-direction:row;flex-direction:row;display:-ms-flexbox;display:flex;box-sizing:border-box}.td-dynamic-file-input-wrapper[_ngcontent-%COMP%] .td-dynamic-file-input-field[_ngcontent-%COMP%]{-ms-flex:1;flex:1;box-sizing:border-box}.td-file-input[_ngcontent-%COMP%]{margin-left:10px}"] });
152
- (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(TdDynamicFileInputComponent, [{
153
- type: Component,
154
- args: [{ selector: 'td-dynamic-file-input', template: "<div class=\"td-dynamic-file-input-wrapper\">\n <mat-form-field\n tdFileDrop\n class=\"td-dynamic-file-input-field\"\n floatLabel=\"never\"\n [disabled]=\"control?.disabled\"\n (fileDrop)=\"_handlefileDrop($event)\"\n (click)=\"!control?.disabled && fileInput.inputElement.click()\"\n (keyup.enter)=\"!control?.disabled && fileInput.inputElement.click()\"\n (keyup.delete)=\"fileInput.clear()\"\n (keyup.backspace)=\"fileInput.clear()\"\n >\n <mat-label>{{ label }}</mat-label>\n <input\n matInput\n [value]=\"control?.value?.name\"\n [placeholder]=\"placeholder\"\n [attr.name]=\"name\"\n [disabled]=\"control?.disabled\"\n readonly\n />\n <mat-hint>{{ hint }}</mat-hint>\n <mat-error>\n <ng-template\n [ngTemplateOutlet]=\"errorMessageTemplate\"\n [ngTemplateOutletContext]=\"{ control: control, errors: control?.errors }\"\n ></ng-template>\n </mat-error>\n </mat-form-field>\n <button mat-icon-button *ngIf=\"control.value\" (click)=\"fileInput.clear()\" (keyup.enter)=\"fileInput.clear()\">\n <mat-icon>cancel</mat-icon>\n </button>\n <td-file-input class=\"td-file-input\" #fileInput [formControl]=\"control\">\n <mat-icon>folder</mat-icon>\n <span>{{ label }}</span>\n </td-file-input>\n</div>\n", styles: [".td-dynamic-file-input-wrapper{-ms-flex-direction:row;flex-direction:row;display:-ms-flexbox;display:flex;box-sizing:border-box}.td-dynamic-file-input-wrapper .td-dynamic-file-input-field{-ms-flex:1;flex:1;box-sizing:border-box}.td-file-input{margin-left:10px}\n"] }]
155
- }], null, null); })();
61
+ TdDynamicFileInputComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: TdDynamicFileInputComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
62
+ TdDynamicFileInputComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.2", type: TdDynamicFileInputComponent, selector: "td-dynamic-file-input", ngImport: i0, template: "<div class=\"td-dynamic-file-input-wrapper\">\n <mat-form-field\n tdFileDrop\n class=\"td-dynamic-file-input-field\"\n floatLabel=\"never\"\n [disabled]=\"control?.disabled\"\n (fileDrop)=\"_handlefileDrop($event)\"\n (click)=\"!control?.disabled && fileInput.inputElement.click()\"\n (keyup.enter)=\"!control?.disabled && fileInput.inputElement.click()\"\n (keyup.delete)=\"fileInput.clear()\"\n (keyup.backspace)=\"fileInput.clear()\"\n >\n <mat-label>{{ label }}</mat-label>\n <input\n matInput\n [value]=\"control?.value?.name\"\n [placeholder]=\"placeholder\"\n [attr.name]=\"name\"\n [disabled]=\"control?.disabled\"\n readonly\n />\n <mat-hint>{{ hint }}</mat-hint>\n <mat-error>\n <ng-template\n [ngTemplateOutlet]=\"errorMessageTemplate\"\n [ngTemplateOutletContext]=\"{\n control: control,\n errors: control?.errors\n }\"\n ></ng-template>\n </mat-error>\n </mat-form-field>\n <button\n mat-icon-button\n *ngIf=\"control.value\"\n (click)=\"fileInput.clear()\"\n (keyup.enter)=\"fileInput.clear()\"\n >\n <mat-icon>cancel</mat-icon>\n </button>\n <td-file-input class=\"td-file-input\" #fileInput [formControl]=\"control\">\n <mat-icon>folder</mat-icon>\n <span>{{ label }}</span>\n </td-file-input>\n</div>\n", styles: [".td-dynamic-file-input-wrapper{flex-direction:row;display:flex;box-sizing:border-box}.td-dynamic-file-input-wrapper .td-dynamic-file-input-field{flex:1;box-sizing:border-box}.td-file-input{margin-left:10px}\n"], components: [{ type: i1.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { type: i2$1.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { type: i3$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: i4$1.TdFileInputComponent, selector: "td-file-input", inputs: ["disabled", "value", "color", "multiple", "accept"], outputs: ["selectFile"] }], directives: [{ type: i4$1.TdFileDropDirective, selector: "[tdFileDrop]", inputs: ["multiple", "disabled"], outputs: ["fileDrop"] }, { type: i1.MatLabel, selector: "mat-label" }, { type: i2.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { type: i1.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { type: i1.MatError, selector: "mat-error", inputs: ["id"] }, { type: i4.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i3.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }] });
63
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: TdDynamicFileInputComponent, decorators: [{
64
+ type: Component,
65
+ args: [{ selector: 'td-dynamic-file-input', template: "<div class=\"td-dynamic-file-input-wrapper\">\n <mat-form-field\n tdFileDrop\n class=\"td-dynamic-file-input-field\"\n floatLabel=\"never\"\n [disabled]=\"control?.disabled\"\n (fileDrop)=\"_handlefileDrop($event)\"\n (click)=\"!control?.disabled && fileInput.inputElement.click()\"\n (keyup.enter)=\"!control?.disabled && fileInput.inputElement.click()\"\n (keyup.delete)=\"fileInput.clear()\"\n (keyup.backspace)=\"fileInput.clear()\"\n >\n <mat-label>{{ label }}</mat-label>\n <input\n matInput\n [value]=\"control?.value?.name\"\n [placeholder]=\"placeholder\"\n [attr.name]=\"name\"\n [disabled]=\"control?.disabled\"\n readonly\n />\n <mat-hint>{{ hint }}</mat-hint>\n <mat-error>\n <ng-template\n [ngTemplateOutlet]=\"errorMessageTemplate\"\n [ngTemplateOutletContext]=\"{\n control: control,\n errors: control?.errors\n }\"\n ></ng-template>\n </mat-error>\n </mat-form-field>\n <button\n mat-icon-button\n *ngIf=\"control.value\"\n (click)=\"fileInput.clear()\"\n (keyup.enter)=\"fileInput.clear()\"\n >\n <mat-icon>cancel</mat-icon>\n </button>\n <td-file-input class=\"td-file-input\" #fileInput [formControl]=\"control\">\n <mat-icon>folder</mat-icon>\n <span>{{ label }}</span>\n </td-file-input>\n</div>\n", styles: [".td-dynamic-file-input-wrapper{flex-direction:row;display:flex;box-sizing:border-box}.td-dynamic-file-input-wrapper .td-dynamic-file-input-field{flex:1;box-sizing:border-box}.td-file-input{margin-left:10px}\n"] }]
66
+ }] });
156
67
 
157
- function TdDynamicTextareaComponent_ng_template_9_Template(rf, ctx) { }
158
- const _c0$3 = function (a0, a1) { return { control: a0, errors: a1 }; };
159
68
  class TdDynamicTextareaComponent {
160
69
  constructor() {
161
70
  this.label = '';
162
71
  this.hint = '';
163
72
  this.name = '';
164
- this.required = undefined;
165
- this.errorMessageTemplate = undefined;
73
+ this.required = false;
166
74
  this.placeholder = '';
167
75
  }
168
76
  }
169
- /** @nocollapse */ /** @nocollapse */ TdDynamicTextareaComponent.ɵfac = function TdDynamicTextareaComponent_Factory(t) { return new (t || TdDynamicTextareaComponent)(); };
170
- /** @nocollapse */ /** @nocollapse */ TdDynamicTextareaComponent.ɵcmp = /** @pureOrBreakMyCode */ i0.ɵɵdefineComponent({ type: TdDynamicTextareaComponent, selectors: [["td-dynamic-textarea"]], decls: 10, vars: 11, consts: [[1, "td-dynamic-textarea-wrapper"], [1, "td-dynamic-textarea-field"], ["matInput", "", "rows", "4", 3, "formControl", "placeholder", "required"], ["elementInput", ""], [3, "ngTemplateOutlet", "ngTemplateOutletContext"]], template: function TdDynamicTextareaComponent_Template(rf, ctx) { if (rf & 1) {
171
- i0.ɵɵelementStart(0, "div", 0);
172
- i0.ɵɵelementStart(1, "mat-form-field", 1);
173
- i0.ɵɵelementStart(2, "mat-label");
174
- i0.ɵɵtext(3);
175
- i0.ɵɵelementEnd();
176
- i0.ɵɵelement(4, "textarea", 2, 3);
177
- i0.ɵɵelementStart(6, "mat-hint");
178
- i0.ɵɵtext(7);
179
- i0.ɵɵelementEnd();
180
- i0.ɵɵelementStart(8, "mat-error");
181
- i0.ɵɵtemplate(9, TdDynamicTextareaComponent_ng_template_9_Template, 0, 0, "ng-template", 4);
182
- i0.ɵɵelementEnd();
183
- i0.ɵɵelementEnd();
184
- i0.ɵɵelementEnd();
185
- } if (rf & 2) {
186
- i0.ɵɵadvance(3);
187
- i0.ɵɵtextInterpolate(ctx.label);
188
- i0.ɵɵadvance(1);
189
- i0.ɵɵproperty("formControl", ctx.control)("placeholder", ctx.placeholder)("required", ctx.required);
190
- i0.ɵɵattribute("name", ctx.name);
191
- i0.ɵɵadvance(3);
192
- i0.ɵɵtextInterpolate(ctx.hint);
193
- i0.ɵɵadvance(2);
194
- i0.ɵɵproperty("ngTemplateOutlet", ctx.errorMessageTemplate)("ngTemplateOutletContext", i0.ɵɵpureFunction2(8, _c0$3, ctx.control, ctx.control == null ? null : ctx.control.errors));
195
- } }, directives: [i1.MatFormField, i1.MatLabel, i2.MatInput, i3.DefaultValueAccessor, i3.NgControlStatus, i3.FormControlDirective, i3.RequiredValidator, i1.MatHint, i1.MatError, i4.NgTemplateOutlet], styles: [".td-dynamic-textarea-wrapper[_ngcontent-%COMP%]{-ms-flex-direction:row;flex-direction:row;display:-ms-flexbox;display:flex;box-sizing:border-box}.td-dynamic-textarea-wrapper[_ngcontent-%COMP%] .td-dynamic-textarea-field[_ngcontent-%COMP%]{-ms-flex:1;flex:1;box-sizing:border-box}"] });
196
- (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(TdDynamicTextareaComponent, [{
197
- type: Component,
198
- args: [{ selector: 'td-dynamic-textarea', template: "<div class=\"td-dynamic-textarea-wrapper\">\n <mat-form-field class=\"td-dynamic-textarea-field\">\n <mat-label>{{ label }}</mat-label>\n <textarea\n #elementInput\n matInput\n [formControl]=\"control\"\n [placeholder]=\"placeholder\"\n [required]=\"required\"\n [attr.name]=\"name\"\n rows=\"4\"\n ></textarea>\n <mat-hint>{{ hint }}</mat-hint>\n <mat-error>\n <ng-template\n [ngTemplateOutlet]=\"errorMessageTemplate\"\n [ngTemplateOutletContext]=\"{ control: control, errors: control?.errors }\"\n ></ng-template>\n </mat-error>\n </mat-form-field>\n</div>\n", styles: [".td-dynamic-textarea-wrapper{-ms-flex-direction:row;flex-direction:row;display:-ms-flexbox;display:flex;box-sizing:border-box}.td-dynamic-textarea-wrapper .td-dynamic-textarea-field{-ms-flex:1;flex:1;box-sizing:border-box}\n"] }]
199
- }], null, null); })();
77
+ TdDynamicTextareaComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: TdDynamicTextareaComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
78
+ TdDynamicTextareaComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.2", type: TdDynamicTextareaComponent, selector: "td-dynamic-textarea", ngImport: i0, template: "<div class=\"td-dynamic-textarea-wrapper\">\n <mat-form-field class=\"td-dynamic-textarea-field\">\n <mat-label>{{ label }}</mat-label>\n <textarea\n #elementInput\n matInput\n [formControl]=\"control\"\n [placeholder]=\"placeholder\"\n [required]=\"required\"\n [attr.name]=\"name\"\n rows=\"4\"\n ></textarea>\n <mat-hint>{{ hint }}</mat-hint>\n <mat-error>\n <ng-template\n [ngTemplateOutlet]=\"errorMessageTemplate\"\n [ngTemplateOutletContext]=\"{\n control: control,\n errors: control?.errors\n }\"\n ></ng-template>\n </mat-error>\n </mat-form-field>\n</div>\n", styles: [".td-dynamic-textarea-wrapper{flex-direction:row;display:flex;box-sizing:border-box}.td-dynamic-textarea-wrapper .td-dynamic-textarea-field{flex:1;box-sizing:border-box}\n"], components: [{ type: i1.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }], directives: [{ type: i1.MatLabel, selector: "mat-label" }, { type: i2.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i3.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { type: i3.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { type: i1.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { type: i1.MatError, selector: "mat-error", inputs: ["id"] }, { type: i4.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }] });
79
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: TdDynamicTextareaComponent, decorators: [{
80
+ type: Component,
81
+ args: [{ selector: 'td-dynamic-textarea', template: "<div class=\"td-dynamic-textarea-wrapper\">\n <mat-form-field class=\"td-dynamic-textarea-field\">\n <mat-label>{{ label }}</mat-label>\n <textarea\n #elementInput\n matInput\n [formControl]=\"control\"\n [placeholder]=\"placeholder\"\n [required]=\"required\"\n [attr.name]=\"name\"\n rows=\"4\"\n ></textarea>\n <mat-hint>{{ hint }}</mat-hint>\n <mat-error>\n <ng-template\n [ngTemplateOutlet]=\"errorMessageTemplate\"\n [ngTemplateOutletContext]=\"{\n control: control,\n errors: control?.errors\n }\"\n ></ng-template>\n </mat-error>\n </mat-form-field>\n</div>\n", styles: [".td-dynamic-textarea-wrapper{flex-direction:row;display:flex;box-sizing:border-box}.td-dynamic-textarea-wrapper .td-dynamic-textarea-field{flex:1;box-sizing:border-box}\n"] }]
82
+ }] });
200
83
 
201
84
  class TdDynamicSlideToggleComponent {
202
85
  constructor() {
@@ -206,29 +89,12 @@ class TdDynamicSlideToggleComponent {
206
89
  this.required = false;
207
90
  }
208
91
  }
209
- /** @nocollapse */ /** @nocollapse */ TdDynamicSlideToggleComponent.ɵfac = function TdDynamicSlideToggleComponent_Factory(t) { return new (t || TdDynamicSlideToggleComponent)(); };
210
- /** @nocollapse */ /** @nocollapse */ TdDynamicSlideToggleComponent.ɵcmp = /** @pureOrBreakMyCode */ i0.ɵɵdefineComponent({ type: TdDynamicSlideToggleComponent, selectors: [["td-dynamic-slide-toggle"]], decls: 5, vars: 5, consts: [[1, "td-dynamic-slide-toggle-wrapper"], [3, "formControl", "required"], [1, "mat-hint", "td-dynamic-element-hint"]], template: function TdDynamicSlideToggleComponent_Template(rf, ctx) { if (rf & 1) {
211
- i0.ɵɵelementStart(0, "div", 0);
212
- i0.ɵɵelementStart(1, "mat-slide-toggle", 1);
213
- i0.ɵɵtext(2);
214
- i0.ɵɵelementEnd();
215
- i0.ɵɵelementStart(3, "span", 2);
216
- i0.ɵɵtext(4);
217
- i0.ɵɵelementEnd();
218
- i0.ɵɵelementEnd();
219
- } if (rf & 2) {
220
- i0.ɵɵadvance(1);
221
- i0.ɵɵproperty("formControl", ctx.control)("required", ctx.required);
222
- i0.ɵɵattribute("name", ctx.name);
223
- i0.ɵɵadvance(1);
224
- i0.ɵɵtextInterpolate1(" ", ctx.label, " ");
225
- i0.ɵɵadvance(2);
226
- i0.ɵɵtextInterpolate(ctx.hint);
227
- } }, directives: [i1$1.MatSlideToggle, i1$1.MatSlideToggleRequiredValidator, i3.NgControlStatus, i3.FormControlDirective, i3.RequiredValidator], styles: [""] });
228
- (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(TdDynamicSlideToggleComponent, [{
229
- type: Component,
230
- args: [{ selector: 'td-dynamic-slide-toggle', template: "<div class=\"td-dynamic-slide-toggle-wrapper\">\n <mat-slide-toggle [formControl]=\"control\" [attr.name]=\"name\" [required]=\"required\">\n {{ label }}\n </mat-slide-toggle>\n <span class=\"mat-hint td-dynamic-element-hint\">{{ hint }}</span>\n</div>\n", styles: [""] }]
231
- }], null, null); })();
92
+ TdDynamicSlideToggleComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: TdDynamicSlideToggleComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
93
+ TdDynamicSlideToggleComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.2", type: TdDynamicSlideToggleComponent, selector: "td-dynamic-slide-toggle", ngImport: i0, template: "<div class=\"td-dynamic-slide-toggle-wrapper\">\n <mat-slide-toggle\n [formControl]=\"control\"\n [attr.name]=\"name\"\n [required]=\"required\"\n >\n {{ label }}\n </mat-slide-toggle>\n <span class=\"mat-hint td-dynamic-element-hint\">{{ hint }}</span>\n</div>\n", styles: [""], components: [{ type: i1$1.MatSlideToggle, selector: "mat-slide-toggle", inputs: ["disabled", "disableRipple", "color", "tabIndex", "name", "id", "labelPosition", "aria-label", "aria-labelledby", "aria-describedby", "required", "checked"], outputs: ["change", "toggleChange"], exportAs: ["matSlideToggle"] }], directives: [{ type: i1$1.MatSlideToggleRequiredValidator, selector: "mat-slide-toggle[required][formControlName], mat-slide-toggle[required][formControl], mat-slide-toggle[required][ngModel]" }, { type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i3.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { type: i3.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }] });
94
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: TdDynamicSlideToggleComponent, decorators: [{
95
+ type: Component,
96
+ args: [{ selector: 'td-dynamic-slide-toggle', template: "<div class=\"td-dynamic-slide-toggle-wrapper\">\n <mat-slide-toggle\n [formControl]=\"control\"\n [attr.name]=\"name\"\n [required]=\"required\"\n >\n {{ label }}\n </mat-slide-toggle>\n <span class=\"mat-hint td-dynamic-element-hint\">{{ hint }}</span>\n</div>\n", styles: [""] }]
97
+ }] });
232
98
 
233
99
  class TdDynamicCheckboxComponent {
234
100
  constructor() {
@@ -238,43 +104,20 @@ class TdDynamicCheckboxComponent {
238
104
  this.required = false;
239
105
  }
240
106
  }
241
- /** @nocollapse */ /** @nocollapse */ TdDynamicCheckboxComponent.ɵfac = function TdDynamicCheckboxComponent_Factory(t) { return new (t || TdDynamicCheckboxComponent)(); };
242
- /** @nocollapse */ /** @nocollapse */ TdDynamicCheckboxComponent.ɵcmp = /** @pureOrBreakMyCode */ i0.ɵɵdefineComponent({ type: TdDynamicCheckboxComponent, selectors: [["td-dynamic-checkbox"]], decls: 5, vars: 5, consts: [[1, "td-dynamic-checkbox-wrapper"], [3, "formControl", "name", "required"], [1, "mat-hint", "td-dynamic-element-hint"]], template: function TdDynamicCheckboxComponent_Template(rf, ctx) { if (rf & 1) {
243
- i0.ɵɵelementStart(0, "div", 0);
244
- i0.ɵɵelementStart(1, "mat-checkbox", 1);
245
- i0.ɵɵtext(2);
246
- i0.ɵɵelementEnd();
247
- i0.ɵɵelementStart(3, "span", 2);
248
- i0.ɵɵtext(4);
249
- i0.ɵɵelementEnd();
250
- i0.ɵɵelementEnd();
251
- } if (rf & 2) {
252
- i0.ɵɵadvance(1);
253
- i0.ɵɵproperty("formControl", ctx.control)("name", ctx.name)("required", ctx.required);
254
- i0.ɵɵadvance(1);
255
- i0.ɵɵtextInterpolate1(" ", ctx.label, " ");
256
- i0.ɵɵadvance(2);
257
- i0.ɵɵtextInterpolate(ctx.hint);
258
- } }, directives: [i1$2.MatCheckbox, i1$2.MatCheckboxRequiredValidator, i3.NgControlStatus, i3.FormControlDirective, i3.RequiredValidator], styles: [""] });
259
- (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(TdDynamicCheckboxComponent, [{
260
- type: Component,
261
- args: [{ selector: 'td-dynamic-checkbox', template: "<div class=\"td-dynamic-checkbox-wrapper\">\n <mat-checkbox [formControl]=\"control\" [name]=\"name\" [required]=\"required\">\n {{ label }}\n </mat-checkbox>\n <span class=\"mat-hint td-dynamic-element-hint\">{{ hint }}</span>\n</div>\n", styles: [""] }]
262
- }], null, null); })();
107
+ TdDynamicCheckboxComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: TdDynamicCheckboxComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
108
+ TdDynamicCheckboxComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.2", type: TdDynamicCheckboxComponent, selector: "td-dynamic-checkbox", ngImport: i0, template: "<div class=\"td-dynamic-checkbox-wrapper\">\n <mat-checkbox [formControl]=\"control\" [name]=\"name\" [required]=\"required\">\n {{ label }}\n </mat-checkbox>\n <span class=\"mat-hint td-dynamic-element-hint\">{{ hint }}</span>\n</div>\n", styles: [""], components: [{ type: i1$2.MatCheckbox, selector: "mat-checkbox", inputs: ["disableRipple", "color", "tabIndex", "aria-label", "aria-labelledby", "aria-describedby", "id", "required", "labelPosition", "name", "value", "checked", "disabled", "indeterminate"], outputs: ["change", "indeterminateChange"], exportAs: ["matCheckbox"] }], directives: [{ type: i1$2.MatCheckboxRequiredValidator, selector: "mat-checkbox[required][formControlName], mat-checkbox[required][formControl], mat-checkbox[required][ngModel]" }, { type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i3.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { type: i3.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }] });
109
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: TdDynamicCheckboxComponent, decorators: [{
110
+ type: Component,
111
+ args: [{ selector: 'td-dynamic-checkbox', template: "<div class=\"td-dynamic-checkbox-wrapper\">\n <mat-checkbox [formControl]=\"control\" [name]=\"name\" [required]=\"required\">\n {{ label }}\n </mat-checkbox>\n <span class=\"mat-hint td-dynamic-element-hint\">{{ hint }}</span>\n</div>\n", styles: [""] }]
112
+ }] });
263
113
 
264
- function TdDynamicSliderComponent_span_4_Template(rf, ctx) { if (rf & 1) {
265
- i0.ɵɵelementStart(0, "span", 8);
266
- i0.ɵɵtext(1, "*");
267
- i0.ɵɵelementEnd();
268
- } }
269
114
  class TdDynamicSliderComponent {
270
115
  constructor(_changeDetectorRef) {
271
116
  this._changeDetectorRef = _changeDetectorRef;
272
117
  this.label = '';
273
- this.required = undefined;
118
+ this.required = false;
274
119
  this.name = '';
275
120
  this.hint = '';
276
- this.min = undefined;
277
- this.max = undefined;
278
121
  }
279
122
  _handleBlur() {
280
123
  setTimeout(() => {
@@ -282,152 +125,44 @@ class TdDynamicSliderComponent {
282
125
  });
283
126
  }
284
127
  }
285
- /** @nocollapse */ /** @nocollapse */ TdDynamicSliderComponent.ɵfac = function TdDynamicSliderComponent_Factory(t) { return new (t || TdDynamicSliderComponent)(i0.ɵɵdirectiveInject(i0.ChangeDetectorRef)); };
286
- /** @nocollapse */ /** @nocollapse */ TdDynamicSliderComponent.ɵcmp = /** @pureOrBreakMyCode */ i0.ɵɵdefineComponent({ type: TdDynamicSliderComponent, selectors: [["td-dynamic-slider"]], decls: 10, vars: 10, consts: [[1, "td-dynamic-slider-wrapper", "mat-form-field", "mat-form-field-can-float", "mat-form-field-should-float"], [1, "mat-form-field-label-wrapper"], [1, "mat-form-field-label", "mat-primary", "td-slider-label"], ["class", "mat-form-field-required-marker", 4, "ngIf"], [1, "td-dynamic-slider-field"], ["thumbLabel", "", "tickInterval", "auto", 1, "td-dynamic-slider", 3, "formControl", "min", "max", "required", "blur"], ["slider", ""], [1, "mat-hint", "td-dynamic-element-hint"], [1, "mat-form-field-required-marker"]], template: function TdDynamicSliderComponent_Template(rf, ctx) { if (rf & 1) {
287
- i0.ɵɵelementStart(0, "div", 0);
288
- i0.ɵɵelementStart(1, "span", 1);
289
- i0.ɵɵelementStart(2, "label", 2);
290
- i0.ɵɵtext(3);
291
- i0.ɵɵtemplate(4, TdDynamicSliderComponent_span_4_Template, 2, 0, "span", 3);
292
- i0.ɵɵelementEnd();
293
- i0.ɵɵelementEnd();
294
- i0.ɵɵelementStart(5, "div", 4);
295
- i0.ɵɵelementStart(6, "mat-slider", 5, 6);
296
- i0.ɵɵlistener("blur", function TdDynamicSliderComponent_Template_mat_slider_blur_6_listener() { return ctx._handleBlur(); });
297
- i0.ɵɵelementEnd();
298
- i0.ɵɵelementEnd();
299
- i0.ɵɵelementStart(8, "span", 7);
300
- i0.ɵɵtext(9);
301
- i0.ɵɵelementEnd();
302
- i0.ɵɵelementEnd();
303
- } if (rf & 2) {
304
- const _r1 = i0.ɵɵreference(7);
305
- i0.ɵɵclassProp("mat-focused", _r1._isActive);
306
- i0.ɵɵadvance(3);
307
- i0.ɵɵtextInterpolate1(" ", ctx.label, " ");
308
- i0.ɵɵadvance(1);
309
- i0.ɵɵproperty("ngIf", ctx.required && !(ctx.control == null ? null : ctx.control.disabled));
310
- i0.ɵɵadvance(2);
311
- i0.ɵɵproperty("formControl", ctx.control)("min", ctx.min)("max", ctx.max)("required", ctx.required);
312
- i0.ɵɵattribute("name", ctx.name);
313
- i0.ɵɵadvance(3);
314
- i0.ɵɵtextInterpolate(ctx.hint);
315
- } }, directives: [i4.NgIf, i2$2.MatSlider, i3.NgControlStatus, i3.FormControlDirective, i3.RequiredValidator], styles: ["[_nghost-%COMP%] .td-dynamic-slider-wrapper[_ngcontent-%COMP%]{display:block}.td-dynamic-slider-field[_ngcontent-%COMP%]{position:relative;-ms-flex-direction:row;flex-direction:row;display:-ms-flexbox;display:flex;box-sizing:border-box}.td-dynamic-slider-field[_ngcontent-%COMP%] .td-dynamic-slider[_ngcontent-%COMP%]{-ms-flex:1;flex:1}"] });
316
- (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(TdDynamicSliderComponent, [{
317
- type: Component,
318
- args: [{ selector: 'td-dynamic-slider', template: "<div\n class=\"td-dynamic-slider-wrapper mat-form-field mat-form-field-can-float mat-form-field-should-float\"\n [class.mat-focused]=\"slider._isActive\"\n>\n <span class=\"mat-form-field-label-wrapper\">\n <label class=\"mat-form-field-label mat-primary td-slider-label\">\n {{ label }}\n <span *ngIf=\"required && !control?.disabled\" class=\"mat-form-field-required-marker\">*</span>\n </label>\n </span>\n <div class=\"td-dynamic-slider-field\">\n <mat-slider\n #slider\n class=\"td-dynamic-slider\"\n [formControl]=\"control\"\n [attr.name]=\"name\"\n [min]=\"min\"\n [max]=\"max\"\n thumbLabel\n tickInterval=\"auto\"\n [required]=\"required\"\n (blur)=\"_handleBlur()\"\n ></mat-slider>\n </div>\n <span class=\"mat-hint td-dynamic-element-hint\">{{ hint }}</span>\n</div>\n", styles: [":host .td-dynamic-slider-wrapper{display:block}.td-dynamic-slider-field{position:relative;-ms-flex-direction:row;flex-direction:row;display:-ms-flexbox;display:flex;box-sizing:border-box}.td-dynamic-slider-field .td-dynamic-slider{-ms-flex:1;flex:1}\n"] }]
319
- }], function () { return [{ type: i0.ChangeDetectorRef }]; }, null); })();
128
+ TdDynamicSliderComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: TdDynamicSliderComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
129
+ TdDynamicSliderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.2", type: TdDynamicSliderComponent, selector: "td-dynamic-slider", ngImport: i0, template: "<div\n class=\"td-dynamic-slider-wrapper mat-form-field mat-form-field-can-float mat-form-field-should-float\"\n [class.mat-focused]=\"slider._isActive\"\n>\n <span class=\"mat-form-field-label-wrapper\">\n <label class=\"mat-form-field-label mat-primary td-slider-label\">\n {{ label }}\n <span\n *ngIf=\"required && !control?.disabled\"\n class=\"mat-form-field-required-marker\"\n >*</span\n >\n </label>\n </span>\n <div class=\"td-dynamic-slider-field\">\n <mat-slider\n #slider\n class=\"td-dynamic-slider\"\n [formControl]=\"control\"\n [attr.name]=\"name\"\n [min]=\"min\"\n [max]=\"max\"\n thumbLabel\n tickInterval=\"auto\"\n [required]=\"required\"\n (blur)=\"_handleBlur()\"\n ></mat-slider>\n </div>\n <span class=\"mat-hint td-dynamic-element-hint\">{{ hint }}</span>\n</div>\n", styles: [":host .td-dynamic-slider-wrapper{display:block}.td-dynamic-slider-field{position:relative;flex-direction:row;display:flex;box-sizing:border-box}.td-dynamic-slider-field .td-dynamic-slider{flex:1}\n"], components: [{ type: i1$3.MatSlider, selector: "mat-slider", inputs: ["disabled", "color", "tabIndex", "invert", "max", "min", "step", "thumbLabel", "tickInterval", "value", "displayWith", "valueText", "vertical"], outputs: ["change", "input", "valueChange"], exportAs: ["matSlider"] }], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i3.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { type: i3.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }] });
130
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: TdDynamicSliderComponent, decorators: [{
131
+ type: Component,
132
+ args: [{ selector: 'td-dynamic-slider', template: "<div\n class=\"td-dynamic-slider-wrapper mat-form-field mat-form-field-can-float mat-form-field-should-float\"\n [class.mat-focused]=\"slider._isActive\"\n>\n <span class=\"mat-form-field-label-wrapper\">\n <label class=\"mat-form-field-label mat-primary td-slider-label\">\n {{ label }}\n <span\n *ngIf=\"required && !control?.disabled\"\n class=\"mat-form-field-required-marker\"\n >*</span\n >\n </label>\n </span>\n <div class=\"td-dynamic-slider-field\">\n <mat-slider\n #slider\n class=\"td-dynamic-slider\"\n [formControl]=\"control\"\n [attr.name]=\"name\"\n [min]=\"min\"\n [max]=\"max\"\n thumbLabel\n tickInterval=\"auto\"\n [required]=\"required\"\n (blur)=\"_handleBlur()\"\n ></mat-slider>\n </div>\n <span class=\"mat-hint td-dynamic-element-hint\">{{ hint }}</span>\n</div>\n", styles: [":host .td-dynamic-slider-wrapper{display:block}.td-dynamic-slider-field{position:relative;flex-direction:row;display:flex;box-sizing:border-box}.td-dynamic-slider-field .td-dynamic-slider{flex:1}\n"] }]
133
+ }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; } });
320
134
 
321
- function TdDynamicSelectComponent_mat_option_5_Template(rf, ctx) { if (rf & 1) {
322
- i0.ɵɵelementStart(0, "mat-option", 5);
323
- i0.ɵɵtext(1);
324
- i0.ɵɵelementEnd();
325
- } if (rf & 2) {
326
- const selection_r2 = ctx.$implicit;
327
- i0.ɵɵproperty("value", selection_r2.value || selection_r2);
328
- i0.ɵɵadvance(1);
329
- i0.ɵɵtextInterpolate1(" ", selection_r2.label || selection_r2, " ");
330
- } }
331
- function TdDynamicSelectComponent_ng_template_9_Template(rf, ctx) { }
332
- const _c0$2 = function (a0, a1) { return { control: a0, errors: a1 }; };
333
135
  class TdDynamicSelectComponent {
334
136
  constructor() {
335
137
  this.label = '';
336
138
  this.hint = '';
337
139
  this.name = '';
338
- this.required = undefined;
339
- this.selections = undefined;
340
- this.multiple = undefined;
341
- this.errorMessageTemplate = undefined;
140
+ this.required = false;
342
141
  this.placeholder = '';
343
142
  }
344
143
  }
345
- /** @nocollapse */ /** @nocollapse */ TdDynamicSelectComponent.ɵfac = function TdDynamicSelectComponent_Factory(t) { return new (t || TdDynamicSelectComponent)(); };
346
- /** @nocollapse */ /** @nocollapse */ TdDynamicSelectComponent.ɵcmp = /** @pureOrBreakMyCode */ i0.ɵɵdefineComponent({ type: TdDynamicSelectComponent, selectors: [["td-dynamic-select"]], decls: 10, vars: 13, consts: [[1, "td-dynamic-select-wrapper"], [1, "td-dynamic-select-field"], [3, "formControl", "placeholder", "required", "multiple"], [3, "value", 4, "ngFor", "ngForOf"], [3, "ngTemplateOutlet", "ngTemplateOutletContext"], [3, "value"]], template: function TdDynamicSelectComponent_Template(rf, ctx) { if (rf & 1) {
347
- i0.ɵɵelementStart(0, "div", 0);
348
- i0.ɵɵelementStart(1, "mat-form-field", 1);
349
- i0.ɵɵelementStart(2, "mat-label");
350
- i0.ɵɵtext(3);
351
- i0.ɵɵelementEnd();
352
- i0.ɵɵelementStart(4, "mat-select", 2);
353
- i0.ɵɵtemplate(5, TdDynamicSelectComponent_mat_option_5_Template, 2, 2, "mat-option", 3);
354
- i0.ɵɵelementEnd();
355
- i0.ɵɵelementStart(6, "mat-hint");
356
- i0.ɵɵtext(7);
357
- i0.ɵɵelementEnd();
358
- i0.ɵɵelementStart(8, "mat-error");
359
- i0.ɵɵtemplate(9, TdDynamicSelectComponent_ng_template_9_Template, 0, 0, "ng-template", 4);
360
- i0.ɵɵelementEnd();
361
- i0.ɵɵelementEnd();
362
- i0.ɵɵelementEnd();
363
- } if (rf & 2) {
364
- i0.ɵɵadvance(3);
365
- i0.ɵɵtextInterpolate(ctx.label);
366
- i0.ɵɵadvance(1);
367
- i0.ɵɵproperty("formControl", ctx.control)("placeholder", ctx.placeholder)("required", ctx.required)("multiple", ctx.multiple);
368
- i0.ɵɵattribute("name", ctx.name);
369
- i0.ɵɵadvance(1);
370
- i0.ɵɵproperty("ngForOf", ctx.selections);
371
- i0.ɵɵadvance(2);
372
- i0.ɵɵtextInterpolate(ctx.hint);
373
- i0.ɵɵadvance(2);
374
- i0.ɵɵproperty("ngTemplateOutlet", ctx.errorMessageTemplate)("ngTemplateOutletContext", i0.ɵɵpureFunction2(10, _c0$2, ctx.control, ctx.control == null ? null : ctx.control.errors));
375
- } }, directives: [i1.MatFormField, i1.MatLabel, i2$3.MatSelect, i3.NgControlStatus, i3.FormControlDirective, i3.RequiredValidator, i4.NgForOf, i5$1.MatOption, i1.MatHint, i1.MatError, i4.NgTemplateOutlet], styles: [".td-dynamic-select-wrapper[_ngcontent-%COMP%]{-ms-flex-direction:row;flex-direction:row;display:-ms-flexbox;display:flex;box-sizing:border-box}.td-dynamic-select-wrapper[_ngcontent-%COMP%] .td-dynamic-select-field[_ngcontent-%COMP%]{-ms-flex:1;flex:1;box-sizing:border-box}"] });
376
- (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(TdDynamicSelectComponent, [{
377
- type: Component,
378
- args: [{ selector: 'td-dynamic-select', template: "<div class=\"td-dynamic-select-wrapper\">\n <mat-form-field class=\"td-dynamic-select-field\">\n <mat-label>{{ label }}</mat-label>\n <mat-select\n [formControl]=\"control\"\n [placeholder]=\"placeholder\"\n [required]=\"required\"\n [attr.name]=\"name\"\n [multiple]=\"multiple\"\n >\n <mat-option *ngFor=\"let selection of selections\" [value]=\"selection.value || selection\">\n {{ selection.label || selection }}\n </mat-option>\n </mat-select>\n <mat-hint>{{ hint }}</mat-hint>\n <mat-error>\n <ng-template\n [ngTemplateOutlet]=\"errorMessageTemplate\"\n [ngTemplateOutletContext]=\"{ control: control, errors: control?.errors }\"\n ></ng-template>\n </mat-error>\n </mat-form-field>\n</div>\n", styles: [".td-dynamic-select-wrapper{-ms-flex-direction:row;flex-direction:row;display:-ms-flexbox;display:flex;box-sizing:border-box}.td-dynamic-select-wrapper .td-dynamic-select-field{-ms-flex:1;flex:1;box-sizing:border-box}\n"] }]
379
- }], null, null); })();
144
+ TdDynamicSelectComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: TdDynamicSelectComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
145
+ TdDynamicSelectComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.2", type: TdDynamicSelectComponent, selector: "td-dynamic-select", ngImport: i0, template: "<div class=\"td-dynamic-select-wrapper\">\n <mat-form-field class=\"td-dynamic-select-field\">\n <mat-label>{{ label }}</mat-label>\n <mat-select\n [formControl]=\"control\"\n [placeholder]=\"placeholder\"\n [required]=\"required\"\n [attr.name]=\"name\"\n [multiple]=\"multiple\"\n >\n <mat-option\n *ngFor=\"let selection of selections\"\n [value]=\"selection.value || selection\"\n >\n {{ selection.label || selection }}\n </mat-option>\n </mat-select>\n <mat-hint>{{ hint }}</mat-hint>\n <mat-error>\n <ng-template\n [ngTemplateOutlet]=\"errorMessageTemplate\"\n [ngTemplateOutletContext]=\"{\n control: control,\n errors: control?.errors\n }\"\n ></ng-template>\n </mat-error>\n </mat-form-field>\n</div>\n", styles: [".td-dynamic-select-wrapper{flex-direction:row;display:flex;box-sizing:border-box}.td-dynamic-select-wrapper .td-dynamic-select-field{flex:1;box-sizing:border-box}\n"], components: [{ type: i1.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { type: i2$2.MatSelect, selector: "mat-select", inputs: ["disabled", "disableRipple", "tabIndex"], exportAs: ["matSelect"] }, { type: i3$2.MatOption, selector: "mat-option", exportAs: ["matOption"] }], directives: [{ type: i1.MatLabel, selector: "mat-label" }, { type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i3.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { type: i3.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i1.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { type: i1.MatError, selector: "mat-error", inputs: ["id"] }, { type: i4.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }] });
146
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: TdDynamicSelectComponent, decorators: [{
147
+ type: Component,
148
+ args: [{ selector: 'td-dynamic-select', template: "<div class=\"td-dynamic-select-wrapper\">\n <mat-form-field class=\"td-dynamic-select-field\">\n <mat-label>{{ label }}</mat-label>\n <mat-select\n [formControl]=\"control\"\n [placeholder]=\"placeholder\"\n [required]=\"required\"\n [attr.name]=\"name\"\n [multiple]=\"multiple\"\n >\n <mat-option\n *ngFor=\"let selection of selections\"\n [value]=\"selection.value || selection\"\n >\n {{ selection.label || selection }}\n </mat-option>\n </mat-select>\n <mat-hint>{{ hint }}</mat-hint>\n <mat-error>\n <ng-template\n [ngTemplateOutlet]=\"errorMessageTemplate\"\n [ngTemplateOutletContext]=\"{\n control: control,\n errors: control?.errors\n }\"\n ></ng-template>\n </mat-error>\n </mat-form-field>\n</div>\n", styles: [".td-dynamic-select-wrapper{flex-direction:row;display:flex;box-sizing:border-box}.td-dynamic-select-wrapper .td-dynamic-select-field{flex:1;box-sizing:border-box}\n"] }]
149
+ }] });
380
150
 
381
- function TdDynamicDatepickerComponent_ng_template_9_Template(rf, ctx) { }
382
- const _c0$1 = function (a0, a1) { return { control: a0, errors: a1 }; };
383
151
  class TdDynamicDatepickerComponent {
384
152
  constructor() {
385
153
  this.label = '';
386
154
  this.hint = '';
387
155
  this.name = '';
388
- this.type = undefined;
389
- this.required = undefined;
390
- this.min = undefined;
391
- this.max = undefined;
392
- this.errorMessageTemplate = undefined;
156
+ this.required = false;
393
157
  this.placeholder = '';
394
158
  }
395
159
  }
396
- /** @nocollapse */ /** @nocollapse */ TdDynamicDatepickerComponent.ɵfac = function TdDynamicDatepickerComponent_Factory(t) { return new (t || TdDynamicDatepickerComponent)(); };
397
- /** @nocollapse */ /** @nocollapse */ TdDynamicDatepickerComponent.ɵcmp = /** @pureOrBreakMyCode */ i0.ɵɵdefineComponent({ type: TdDynamicDatepickerComponent, selectors: [["td-dynamic-datepicker"]], decls: 13, vars: 15, consts: [[1, "td-dynamic-datepicker-wrapper"], [1, "td-dynamic-datepicker-field"], ["matInput", "", 3, "matDatepicker", "formControl", "placeholder", "required", "name", "min", "max"], ["elementInput", ""], [3, "ngTemplateOutlet", "ngTemplateOutletContext"], ["matSuffix", "", 3, "for"], ["dynamicDatePicker", ""]], template: function TdDynamicDatepickerComponent_Template(rf, ctx) { if (rf & 1) {
398
- i0.ɵɵelementStart(0, "div", 0);
399
- i0.ɵɵelementStart(1, "mat-form-field", 1);
400
- i0.ɵɵelementStart(2, "mat-label");
401
- i0.ɵɵtext(3);
402
- i0.ɵɵelementEnd();
403
- i0.ɵɵelement(4, "input", 2, 3);
404
- i0.ɵɵelementStart(6, "mat-hint");
405
- i0.ɵɵtext(7);
406
- i0.ɵɵelementEnd();
407
- i0.ɵɵelementStart(8, "mat-error");
408
- i0.ɵɵtemplate(9, TdDynamicDatepickerComponent_ng_template_9_Template, 0, 0, "ng-template", 4);
409
- i0.ɵɵelementEnd();
410
- i0.ɵɵelement(10, "mat-datepicker-toggle", 5);
411
- i0.ɵɵelement(11, "mat-datepicker", null, 6);
412
- i0.ɵɵelementEnd();
413
- i0.ɵɵelementEnd();
414
- } if (rf & 2) {
415
- const _r2 = i0.ɵɵreference(12);
416
- i0.ɵɵadvance(3);
417
- i0.ɵɵtextInterpolate(ctx.label);
418
- i0.ɵɵadvance(1);
419
- i0.ɵɵproperty("matDatepicker", _r2)("formControl", ctx.control)("placeholder", ctx.placeholder)("required", ctx.required)("name", ctx.name)("min", ctx.min)("max", ctx.max);
420
- i0.ɵɵadvance(3);
421
- i0.ɵɵtextInterpolate(ctx.hint);
422
- i0.ɵɵadvance(2);
423
- i0.ɵɵproperty("ngTemplateOutlet", ctx.errorMessageTemplate)("ngTemplateOutletContext", i0.ɵɵpureFunction2(12, _c0$1, ctx.control, ctx.control == null ? null : ctx.control.errors));
424
- i0.ɵɵadvance(1);
425
- i0.ɵɵproperty("for", _r2);
426
- } }, directives: [i1.MatFormField, i1.MatLabel, i2.MatInput, i3$1.MatDatepickerInput, i3.DefaultValueAccessor, i3.NgControlStatus, i3.FormControlDirective, i3.RequiredValidator, i1.MatHint, i1.MatError, i4.NgTemplateOutlet, i3$1.MatDatepickerToggle, i1.MatSuffix, i3$1.MatDatepicker], styles: [".td-dynamic-datepicker-wrapper[_ngcontent-%COMP%]{-ms-flex-direction:row;flex-direction:row;display:-ms-flexbox;display:flex;box-sizing:border-box}.td-dynamic-datepicker-wrapper[_ngcontent-%COMP%] .td-dynamic-datepicker-field[_ngcontent-%COMP%]{-ms-flex:1;flex:1;box-sizing:border-box}"] });
427
- (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(TdDynamicDatepickerComponent, [{
428
- type: Component,
429
- args: [{ selector: 'td-dynamic-datepicker', template: "<div class=\"td-dynamic-datepicker-wrapper\">\n <mat-form-field class=\"td-dynamic-datepicker-field\">\n <mat-label>{{ label }}</mat-label>\n <input\n #elementInput\n matInput\n [matDatepicker]=\"dynamicDatePicker\"\n [formControl]=\"control\"\n [placeholder]=\"placeholder\"\n [required]=\"required\"\n [name]=\"name\"\n [min]=\"min\"\n [max]=\"max\"\n />\n <mat-hint>{{ hint }}</mat-hint>\n <mat-error>\n <ng-template\n [ngTemplateOutlet]=\"errorMessageTemplate\"\n [ngTemplateOutletContext]=\"{ control: control, errors: control?.errors }\"\n ></ng-template>\n </mat-error>\n <mat-datepicker-toggle matSuffix [for]=\"dynamicDatePicker\"></mat-datepicker-toggle>\n <mat-datepicker #dynamicDatePicker></mat-datepicker>\n </mat-form-field>\n</div>\n", styles: [".td-dynamic-datepicker-wrapper{-ms-flex-direction:row;flex-direction:row;display:-ms-flexbox;display:flex;box-sizing:border-box}.td-dynamic-datepicker-wrapper .td-dynamic-datepicker-field{-ms-flex:1;flex:1;box-sizing:border-box}\n"] }]
430
- }], null, null); })();
160
+ TdDynamicDatepickerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: TdDynamicDatepickerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
161
+ TdDynamicDatepickerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.2", type: TdDynamicDatepickerComponent, selector: "td-dynamic-datepicker", ngImport: i0, template: "<div class=\"td-dynamic-datepicker-wrapper\">\n <mat-form-field class=\"td-dynamic-datepicker-field\">\n <mat-label>{{ label }}</mat-label>\n <input\n #elementInput\n matInput\n [matDatepicker]=\"dynamicDatePicker\"\n [formControl]=\"control\"\n [placeholder]=\"placeholder\"\n [required]=\"required\"\n [name]=\"name\"\n [min]=\"min\"\n [max]=\"max\"\n />\n <mat-hint>{{ hint }}</mat-hint>\n <mat-error>\n <ng-template\n [ngTemplateOutlet]=\"errorMessageTemplate\"\n [ngTemplateOutletContext]=\"{\n control: control,\n errors: control?.errors\n }\"\n ></ng-template>\n </mat-error>\n <mat-datepicker-toggle\n matSuffix\n [for]=\"dynamicDatePicker\"\n ></mat-datepicker-toggle>\n <mat-datepicker #dynamicDatePicker></mat-datepicker>\n </mat-form-field>\n</div>\n", styles: [".td-dynamic-datepicker-wrapper{flex-direction:row;display:flex;box-sizing:border-box}.td-dynamic-datepicker-wrapper .td-dynamic-datepicker-field{flex:1;box-sizing:border-box}\n"], components: [{ type: i1.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { type: i2$3.MatDatepickerToggle, selector: "mat-datepicker-toggle", inputs: ["for", "tabIndex", "aria-label", "disabled", "disableRipple"], exportAs: ["matDatepickerToggle"] }, { type: i2$3.MatDatepicker, selector: "mat-datepicker", exportAs: ["matDatepicker"] }], directives: [{ type: i1.MatLabel, selector: "mat-label" }, { type: i2.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { type: i2$3.MatDatepickerInput, selector: "input[matDatepicker]", inputs: ["matDatepicker", "min", "max", "matDatepickerFilter"], exportAs: ["matDatepickerInput"] }, { type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i3.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { type: i3.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { type: i1.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { type: i1.MatError, selector: "mat-error", inputs: ["id"] }, { type: i4.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i1.MatSuffix, selector: "[matSuffix]" }] });
162
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: TdDynamicDatepickerComponent, decorators: [{
163
+ type: Component,
164
+ args: [{ selector: 'td-dynamic-datepicker', template: "<div class=\"td-dynamic-datepicker-wrapper\">\n <mat-form-field class=\"td-dynamic-datepicker-field\">\n <mat-label>{{ label }}</mat-label>\n <input\n #elementInput\n matInput\n [matDatepicker]=\"dynamicDatePicker\"\n [formControl]=\"control\"\n [placeholder]=\"placeholder\"\n [required]=\"required\"\n [name]=\"name\"\n [min]=\"min\"\n [max]=\"max\"\n />\n <mat-hint>{{ hint }}</mat-hint>\n <mat-error>\n <ng-template\n [ngTemplateOutlet]=\"errorMessageTemplate\"\n [ngTemplateOutletContext]=\"{\n control: control,\n errors: control?.errors\n }\"\n ></ng-template>\n </mat-error>\n <mat-datepicker-toggle\n matSuffix\n [for]=\"dynamicDatePicker\"\n ></mat-datepicker-toggle>\n <mat-datepicker #dynamicDatePicker></mat-datepicker>\n </mat-form-field>\n</div>\n", styles: [".td-dynamic-datepicker-wrapper{flex-direction:row;display:flex;box-sizing:border-box}.td-dynamic-datepicker-wrapper .td-dynamic-datepicker-field{flex:1;box-sizing:border-box}\n"] }]
165
+ }] });
431
166
 
432
167
  var TdDynamicType;
433
168
  (function (TdDynamicType) {
@@ -449,7 +184,7 @@ var TdDynamicElement;
449
184
  TdDynamicElement["Select"] = "select";
450
185
  TdDynamicElement["FileInput"] = "file-input";
451
186
  })(TdDynamicElement || (TdDynamicElement = {}));
452
- const DYNAMIC_ELEMENT_NAME_REGEX = /^[^0-9][^\@]*$/;
187
+ const DYNAMIC_ELEMENT_NAME_REGEX = /^[^0-9][^@]*$/;
453
188
  class TdDynamicFormsService {
454
189
  /**
455
190
  * Method to validate if the [name] is a proper element name.
@@ -503,36 +238,51 @@ class TdDynamicFormsService {
503
238
  * Creates form validationdepending [ITdDynamicElementConfig] properties.
504
239
  */
505
240
  createValidators(config) {
506
- let validator;
241
+ let validator = null;
507
242
  if (config.required) {
508
243
  validator = Validators.required;
509
244
  }
510
245
  if (config.max || config.max === 0) {
511
- validator = Validators.compose([validator, Validators.max(parseFloat(config.max))]);
246
+ validator = Validators.compose([
247
+ validator,
248
+ Validators.max(parseFloat(config.max)),
249
+ ]);
512
250
  }
513
251
  if (config.min || config.min === 0) {
514
- validator = Validators.compose([validator, Validators.min(parseFloat(config.min))]);
252
+ validator = Validators.compose([
253
+ validator,
254
+ Validators.min(parseFloat(config.min)),
255
+ ]);
515
256
  }
516
257
  if (config.maxLength || config.maxLength === 0) {
517
- validator = Validators.compose([validator, Validators.maxLength(parseFloat(config.maxLength))]);
258
+ validator = Validators.compose([
259
+ validator,
260
+ Validators.maxLength(parseFloat(config.maxLength)),
261
+ ]);
518
262
  }
519
263
  if (config.minLength || config.minLength === 0) {
520
- validator = Validators.compose([validator, Validators.minLength(parseFloat(config.minLength))]);
264
+ validator = Validators.compose([
265
+ validator,
266
+ Validators.minLength(parseFloat(config.minLength)),
267
+ ]);
521
268
  }
522
269
  // Add provided custom validators to the validator function
523
270
  if (config.validators) {
524
271
  config.validators.forEach((validatorConfig) => {
525
- validator = Validators.compose([validator, validatorConfig.validator]);
272
+ validator = Validators.compose([
273
+ validator,
274
+ validatorConfig.validator,
275
+ ]);
526
276
  });
527
277
  }
528
278
  return validator;
529
279
  }
530
280
  }
531
- /** @nocollapse */ /** @nocollapse */ TdDynamicFormsService.ɵfac = function TdDynamicFormsService_Factory(t) { return new (t || TdDynamicFormsService)(); };
532
- /** @nocollapse */ /** @nocollapse */ TdDynamicFormsService.ɵprov = /** @pureOrBreakMyCode */ i0.ɵɵdefineInjectable({ token: TdDynamicFormsService, factory: TdDynamicFormsService.ɵfac });
533
- (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(TdDynamicFormsService, [{
534
- type: Injectable
535
- }], null, null); })();
281
+ TdDynamicFormsService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: TdDynamicFormsService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
282
+ TdDynamicFormsService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: TdDynamicFormsService });
283
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: TdDynamicFormsService, decorators: [{
284
+ type: Injectable
285
+ }] });
536
286
  function DYNAMIC_FORMS_PROVIDER_FACTORY(parent) {
537
287
  return parent || new TdDynamicFormsService();
538
288
  }
@@ -550,33 +300,33 @@ class TdDynamicElementBase {
550
300
  }
551
301
  /* tslint:disable-next-line */
552
302
  const _TdDynamicElementMixinBase = mixinControlValueAccessor(TdDynamicElementBase);
553
- class TdDynamicFormsErrorTemplateDirective extends TemplatePortalDirective {
303
+ class TdDynamicFormsErrorTemplateDirective extends CdkPortal {
554
304
  constructor(templateRef, viewContainerRef) {
555
305
  super(templateRef, viewContainerRef);
556
306
  this.templateRef = templateRef;
557
307
  }
558
308
  }
559
- /** @nocollapse */ /** @nocollapse */ TdDynamicFormsErrorTemplateDirective.ɵfac = function TdDynamicFormsErrorTemplateDirective_Factory(t) { return new (t || TdDynamicFormsErrorTemplateDirective)(i0.ɵɵdirectiveInject(i0.TemplateRef), i0.ɵɵdirectiveInject(i0.ViewContainerRef)); };
560
- /** @nocollapse */ /** @nocollapse */ TdDynamicFormsErrorTemplateDirective.ɵdir = /** @pureOrBreakMyCode */ i0.ɵɵdefineDirective({ type: TdDynamicFormsErrorTemplateDirective, selectors: [["ng-template", "tdDynamicFormsError", ""]], inputs: { tdDynamicFormsError: "tdDynamicFormsError" }, features: [i0.ɵɵInheritDefinitionFeature] });
561
- (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(TdDynamicFormsErrorTemplateDirective, [{
562
- type: Directive,
563
- args: [{ selector: '[tdDynamicFormsError]ng-template' }]
564
- }], function () { return [{ type: i0.TemplateRef }, { type: i0.ViewContainerRef }]; }, { tdDynamicFormsError: [{
565
- type: Input
566
- }] }); })();
309
+ TdDynamicFormsErrorTemplateDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: TdDynamicFormsErrorTemplateDirective, deps: [{ token: i0.TemplateRef }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive });
310
+ TdDynamicFormsErrorTemplateDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.2.2", type: TdDynamicFormsErrorTemplateDirective, selector: "[tdDynamicFormsError]ng-template", inputs: { tdDynamicFormsError: "tdDynamicFormsError" }, usesInheritance: true, ngImport: i0 });
311
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: TdDynamicFormsErrorTemplateDirective, decorators: [{
312
+ type: Directive,
313
+ args: [{ selector: '[tdDynamicFormsError]ng-template' }]
314
+ }], ctorParameters: function () { return [{ type: i0.TemplateRef }, { type: i0.ViewContainerRef }]; }, propDecorators: { tdDynamicFormsError: [{
315
+ type: Input
316
+ }] } });
567
317
  class TdDynamicElementDirective {
568
318
  constructor(viewContainer) {
569
319
  this.viewContainer = viewContainer;
570
320
  }
571
321
  }
572
- /** @nocollapse */ /** @nocollapse */ TdDynamicElementDirective.ɵfac = function TdDynamicElementDirective_Factory(t) { return new (t || TdDynamicElementDirective)(i0.ɵɵdirectiveInject(i0.ViewContainerRef)); };
573
- /** @nocollapse */ /** @nocollapse */ TdDynamicElementDirective.ɵdir = /** @pureOrBreakMyCode */ i0.ɵɵdefineDirective({ type: TdDynamicElementDirective, selectors: [["", "tdDynamicContainer", ""]] });
574
- (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(TdDynamicElementDirective, [{
575
- type: Directive,
576
- args: [{
577
- selector: '[tdDynamicContainer]',
578
- }]
579
- }], function () { return [{ type: i0.ViewContainerRef }]; }, null); })();
322
+ TdDynamicElementDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: TdDynamicElementDirective, deps: [{ token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive });
323
+ TdDynamicElementDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.2.2", type: TdDynamicElementDirective, selector: "[tdDynamicContainer]", ngImport: i0 });
324
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: TdDynamicElementDirective, decorators: [{
325
+ type: Directive,
326
+ args: [{
327
+ selector: '[tdDynamicContainer]',
328
+ }]
329
+ }], ctorParameters: function () { return [{ type: i0.ViewContainerRef }]; } });
580
330
  class TdDynamicElementComponent extends _TdDynamicElementMixinBase {
581
331
  constructor(_componentFactoryResolver, _dynamicFormsService, _changeDetectorRef) {
582
332
  super(_changeDetectorRef);
@@ -594,43 +344,6 @@ class TdDynamicElementComponent extends _TdDynamicElementMixinBase {
594
344
  * Sets name to be displayed as attribute.
595
345
  */
596
346
  this.name = '';
597
- /**
598
- * Sets type or element of element to be rendered.
599
- * Throws error if does not exist or no supported.
600
- */
601
- this.type = undefined;
602
- /**
603
- * Sets required validation checkup (if supported by element).
604
- */
605
- this.required = undefined;
606
- /**
607
- * Sets min validation checkup (if supported by element).
608
- */
609
- this.min = undefined;
610
- /**
611
- * Sets max validation checkup (if supported by element).
612
- */
613
- this.max = undefined;
614
- /**
615
- * Sets minLength validation checkup (if supported by element).
616
- */
617
- this.minLength = undefined;
618
- /**
619
- * Sets maxLength validation checkup (if supported by element).
620
- */
621
- this.maxLength = undefined;
622
- /**
623
- * Sets selections for array elements (if supported by element).
624
- */
625
- this.selections = undefined;
626
- /**
627
- * Sets multiple property for array elements (if supported by element).
628
- */
629
- this.multiple = undefined;
630
- /**
631
- * Sets error message template so it can be injected into dynamic components.
632
- */
633
- this.errorMessageTemplate = undefined;
634
347
  /**
635
348
  * Sets the placeholder message
636
349
  */
@@ -643,7 +356,9 @@ class TdDynamicElementComponent extends _TdDynamicElementMixinBase {
643
356
  return this.min;
644
357
  }
645
358
  ngOnInit() {
646
- const component = this.type instanceof Type ? this.type : this._dynamicFormsService.getDynamicElement(this.type);
359
+ const component = this.type instanceof Type
360
+ ? this.type
361
+ : this._dynamicFormsService.getDynamicElement(this.type);
647
362
  const ref = this._componentFactoryResolver
648
363
  .resolveComponentFactory(component)
649
364
  .create(this.childElement.viewContainer.injector);
@@ -666,7 +381,9 @@ class TdDynamicElementComponent extends _TdDynamicElementMixinBase {
666
381
  this._instance.placeholder = this.placeholder;
667
382
  if (this.customConfig) {
668
383
  Object.getOwnPropertyNames(this.customConfig).forEach((name) => {
669
- this._instance[name] = this.customConfig[name];
384
+ if (this.customConfig) {
385
+ this._instance[name] = this.customConfig[name];
386
+ }
670
387
  });
671
388
  }
672
389
  }
@@ -681,98 +398,70 @@ class TdDynamicElementComponent extends _TdDynamicElementMixinBase {
681
398
  }
682
399
  }
683
400
  }
684
- /** @nocollapse */ /** @nocollapse */ TdDynamicElementComponent.ɵfac = function TdDynamicElementComponent_Factory(t) { return new (t || TdDynamicElementComponent)(i0.ɵɵdirectiveInject(i0.ComponentFactoryResolver), i0.ɵɵdirectiveInject(TdDynamicFormsService), i0.ɵɵdirectiveInject(i0.ChangeDetectorRef)); };
685
- /** @nocollapse */ /** @nocollapse */ TdDynamicElementComponent.ɵcmp = /** @pureOrBreakMyCode */ i0.ɵɵdefineComponent({ type: TdDynamicElementComponent, selectors: [["td-dynamic-element"]], viewQuery: function TdDynamicElementComponent_Query(rf, ctx) { if (rf & 1) {
686
- i0.ɵɵviewQuery(TdDynamicElementDirective, 7);
687
- } if (rf & 2) {
688
- let _t;
689
- i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.childElement = _t.first);
690
- } }, hostVars: 2, hostBindings: function TdDynamicElementComponent_HostBindings(rf, ctx) { if (rf & 2) {
691
- i0.ɵɵattribute("max", ctx.maxAttr)("min", ctx.minAttr);
692
- } }, inputs: { dynamicControl: "dynamicControl", label: "label", hint: "hint", name: "name", type: "type", required: "required", min: "min", max: "max", minLength: "minLength", maxLength: "maxLength", selections: "selections", multiple: "multiple", customConfig: "customConfig", errorMessageTemplate: "errorMessageTemplate", placeholder: "placeholder" }, features: [i0.ɵɵProvidersFeature([
693
- TdDynamicFormsService,
694
- {
695
- provide: NG_VALUE_ACCESSOR,
696
- useExisting: forwardRef((() => TdDynamicElementComponent)),
697
- multi: true,
698
- },
699
- ]), i0.ɵɵInheritDefinitionFeature, i0.ɵɵNgOnChangesFeature], decls: 1, vars: 0, consts: [["tdDynamicContainer", ""]], template: function TdDynamicElementComponent_Template(rf, ctx) { if (rf & 1) {
700
- i0.ɵɵelement(0, "div", 0);
701
- } }, directives: [TdDynamicElementDirective], encapsulation: 2 });
702
- (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(TdDynamicElementComponent, [{
703
- type: Component,
704
- args: [{
705
- providers: [
706
- TdDynamicFormsService,
707
- {
708
- provide: NG_VALUE_ACCESSOR,
709
- useExisting: forwardRef((() => TdDynamicElementComponent)),
710
- multi: true,
711
- },
712
- ],
713
- selector: 'td-dynamic-element',
714
- template: '<div tdDynamicContainer></div>',
715
- }]
716
- }], function () { return [{ type: i0.ComponentFactoryResolver }, { type: TdDynamicFormsService }, { type: i0.ChangeDetectorRef }]; }, { dynamicControl: [{
717
- type: Input
718
- }], label: [{
719
- type: Input
720
- }], hint: [{
721
- type: Input
722
- }], name: [{
723
- type: Input
724
- }], type: [{
725
- type: Input
726
- }], required: [{
727
- type: Input
728
- }], min: [{
729
- type: Input
730
- }], max: [{
731
- type: Input
732
- }], minLength: [{
733
- type: Input
734
- }], maxLength: [{
735
- type: Input
736
- }], selections: [{
737
- type: Input
738
- }], multiple: [{
739
- type: Input
740
- }], customConfig: [{
741
- type: Input
742
- }], errorMessageTemplate: [{
743
- type: Input
744
- }], placeholder: [{
745
- type: Input
746
- }], childElement: [{
747
- type: ViewChild,
748
- args: [TdDynamicElementDirective, { static: true }]
749
- }], maxAttr: [{
750
- type: HostBinding,
751
- args: ['attr.max']
752
- }], minAttr: [{
753
- type: HostBinding,
754
- args: ['attr.min']
755
- }] }); })();
401
+ TdDynamicElementComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: TdDynamicElementComponent, deps: [{ token: i0.ComponentFactoryResolver }, { token: TdDynamicFormsService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
402
+ TdDynamicElementComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.2", type: TdDynamicElementComponent, selector: "td-dynamic-element", inputs: { dynamicControl: "dynamicControl", label: "label", hint: "hint", name: "name", type: "type", required: "required", min: "min", max: "max", minLength: "minLength", maxLength: "maxLength", selections: "selections", multiple: "multiple", customConfig: "customConfig", errorMessageTemplate: "errorMessageTemplate", placeholder: "placeholder" }, host: { properties: { "attr.max": "this.maxAttr", "attr.min": "this.minAttr" } }, providers: [
403
+ TdDynamicFormsService,
404
+ {
405
+ provide: NG_VALUE_ACCESSOR,
406
+ useExisting: forwardRef(() => TdDynamicElementComponent),
407
+ multi: true,
408
+ },
409
+ ], viewQueries: [{ propertyName: "childElement", first: true, predicate: TdDynamicElementDirective, descendants: true, static: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: '<div tdDynamicContainer></div>', isInline: true, directives: [{ type: TdDynamicElementDirective, selector: "[tdDynamicContainer]" }] });
410
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: TdDynamicElementComponent, decorators: [{
411
+ type: Component,
412
+ args: [{
413
+ providers: [
414
+ TdDynamicFormsService,
415
+ {
416
+ provide: NG_VALUE_ACCESSOR,
417
+ useExisting: forwardRef(() => TdDynamicElementComponent),
418
+ multi: true,
419
+ },
420
+ ],
421
+ selector: 'td-dynamic-element',
422
+ template: '<div tdDynamicContainer></div>',
423
+ }]
424
+ }], ctorParameters: function () { return [{ type: i0.ComponentFactoryResolver }, { type: TdDynamicFormsService }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { dynamicControl: [{
425
+ type: Input
426
+ }], label: [{
427
+ type: Input
428
+ }], hint: [{
429
+ type: Input
430
+ }], name: [{
431
+ type: Input
432
+ }], type: [{
433
+ type: Input
434
+ }], required: [{
435
+ type: Input
436
+ }], min: [{
437
+ type: Input
438
+ }], max: [{
439
+ type: Input
440
+ }], minLength: [{
441
+ type: Input
442
+ }], maxLength: [{
443
+ type: Input
444
+ }], selections: [{
445
+ type: Input
446
+ }], multiple: [{
447
+ type: Input
448
+ }], customConfig: [{
449
+ type: Input
450
+ }], errorMessageTemplate: [{
451
+ type: Input
452
+ }], placeholder: [{
453
+ type: Input
454
+ }], childElement: [{
455
+ type: ViewChild,
456
+ args: [TdDynamicElementDirective, { static: true }]
457
+ }], maxAttr: [{
458
+ type: HostBinding,
459
+ args: ['attr.max']
460
+ }], minAttr: [{
461
+ type: HostBinding,
462
+ args: ['attr.min']
463
+ }] } });
756
464
 
757
- function TdDynamicFormsComponent_ng_template_2_td_dynamic_element_1_Template(rf, ctx) { if (rf & 1) {
758
- i0.ɵɵelement(0, "td-dynamic-element", 5, 6);
759
- } if (rf & 2) {
760
- const element_r1 = i0.ɵɵnextContext().$implicit;
761
- const ctx_r2 = i0.ɵɵnextContext();
762
- i0.ɵɵproperty("formControlName", element_r1.name)("dynamicControl", ctx_r2.dynamicForm.controls[element_r1.name])("id", element_r1.name)("name", element_r1.name)("label", element_r1.label || element_r1.name)("hint", element_r1.hint)("type", element_r1.type)("required", element_r1.required)("min", element_r1.min)("max", element_r1.max)("minLength", element_r1.minLength)("maxLength", element_r1.maxLength)("selections", element_r1.selections)("multiple", element_r1.multiple)("customConfig", element_r1.customConfig)("errorMessageTemplate", ctx_r2.getErrorTemplateRef(element_r1.name))("placeholder", element_r1.placeholder);
763
- } }
764
- function TdDynamicFormsComponent_ng_template_2_Template(rf, ctx) { if (rf & 1) {
765
- i0.ɵɵelementStart(0, "div", 3);
766
- i0.ɵɵtemplate(1, TdDynamicFormsComponent_ng_template_2_td_dynamic_element_1_Template, 2, 17, "td-dynamic-element", 4);
767
- i0.ɵɵelementEnd();
768
- } if (rf & 2) {
769
- const element_r1 = ctx.$implicit;
770
- const ctx_r0 = i0.ɵɵnextContext();
771
- i0.ɵɵstyleProp("max-width", element_r1.flex ? element_r1.flex : 100, "%")("flex", "1 1 " + (element_r1.flex ? element_r1.flex : 100) + "%")("-ms-flex", "1 1 " + (element_r1.flex ? element_r1.flex : 100) + "%")("-webkit-box-flex", 1);
772
- i0.ɵɵadvance(1);
773
- i0.ɵɵproperty("ngIf", ctx_r0.dynamicForm.controls[element_r1.name]);
774
- } }
775
- const _c0 = ["*"];
776
465
  class TdDynamicFormsComponent {
777
466
  constructor(_formBuilder, _dynamicFormsService, _changeDetectorRef) {
778
467
  this._formBuilder = _formBuilder;
@@ -851,7 +540,7 @@ class TdDynamicFormsComponent {
851
540
  this._updateErrorTemplates();
852
541
  }
853
542
  ngOnDestroy() {
854
- this._destroy$.next();
543
+ this._destroy$.next(0);
855
544
  this._destroy$.complete();
856
545
  this._destroyControl$.complete();
857
546
  }
@@ -874,7 +563,7 @@ class TdDynamicFormsComponent {
874
563
  _updateErrorTemplates() {
875
564
  this._templateMap = new Map();
876
565
  for (const errorTemplate of this._errorTemplates.toArray()) {
877
- this._templateMap.set(errorTemplate.tdDynamicFormsError, errorTemplate.templateRef);
566
+ this._templateMap.set(errorTemplate.tdDynamicFormsError ?? '', errorTemplate.templateRef);
878
567
  }
879
568
  }
880
569
  _rerenderElements() {
@@ -909,7 +598,7 @@ class TdDynamicFormsComponent {
909
598
  });
910
599
  // call a change detection since the whole form might change
911
600
  this._changeDetectorRef.detectChanges();
912
- timer()
601
+ timer(0)
913
602
  .toPromise()
914
603
  .then(() => {
915
604
  // call a markForCheck so elements are rendered correctly in OnPush
@@ -928,40 +617,24 @@ class TdDynamicFormsComponent {
928
617
  _subscribeToControlStatusChanges(elementName) {
929
618
  const control = this.controls[elementName];
930
619
  const controlDestroyed$ = this._destroyControl$.pipe(filter((destroyedElementName) => destroyedElementName === elementName));
931
- control.statusChanges.pipe(takeUntil(this._destroy$), takeUntil(controlDestroyed$)).subscribe(() => {
620
+ control.statusChanges
621
+ .pipe(takeUntil(this._destroy$), takeUntil(controlDestroyed$))
622
+ .subscribe(() => {
932
623
  this._changeDetectorRef.markForCheck();
933
624
  });
934
625
  }
935
626
  }
936
- /** @nocollapse */ /** @nocollapse */ TdDynamicFormsComponent.ɵfac = function TdDynamicFormsComponent_Factory(t) { return new (t || TdDynamicFormsComponent)(i0.ɵɵdirectiveInject(i3.FormBuilder), i0.ɵɵdirectiveInject(TdDynamicFormsService), i0.ɵɵdirectiveInject(i0.ChangeDetectorRef)); };
937
- /** @nocollapse */ /** @nocollapse */ TdDynamicFormsComponent.ɵcmp = /** @pureOrBreakMyCode */ i0.ɵɵdefineComponent({ type: TdDynamicFormsComponent, selectors: [["td-dynamic-forms"]], contentQueries: function TdDynamicFormsComponent_ContentQueries(rf, ctx, dirIndex) { if (rf & 1) {
938
- i0.ɵɵcontentQuery(dirIndex, TdDynamicFormsErrorTemplateDirective, 5);
939
- } if (rf & 2) {
940
- let _t;
941
- i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx._errorTemplates = _t);
942
- } }, inputs: { elements: "elements" }, ngContentSelectors: _c0, decls: 4, vars: 2, consts: [["novalidate", "", 3, "formGroup"], [1, "td-dynamic-form-wrapper"], ["ngFor", "", 3, "ngForOf"], [1, "td-dynamic-element-wrapper"], [3, "formControlName", "dynamicControl", "id", "name", "label", "hint", "type", "required", "min", "max", "minLength", "maxLength", "selections", "multiple", "customConfig", "errorMessageTemplate", "placeholder", 4, "ngIf"], [3, "formControlName", "dynamicControl", "id", "name", "label", "hint", "type", "required", "min", "max", "minLength", "maxLength", "selections", "multiple", "customConfig", "errorMessageTemplate", "placeholder"], ["dynamicElement", ""]], template: function TdDynamicFormsComponent_Template(rf, ctx) { if (rf & 1) {
943
- i0.ɵɵprojectionDef();
944
- i0.ɵɵelementStart(0, "form", 0);
945
- i0.ɵɵelementStart(1, "div", 1);
946
- i0.ɵɵtemplate(2, TdDynamicFormsComponent_ng_template_2_Template, 2, 9, "ng-template", 2);
947
- i0.ɵɵelementEnd();
948
- i0.ɵɵprojection(3);
949
- i0.ɵɵelementEnd();
950
- } if (rf & 2) {
951
- i0.ɵɵproperty("formGroup", ctx.dynamicForm);
952
- i0.ɵɵadvance(2);
953
- i0.ɵɵproperty("ngForOf", ctx.elements);
954
- } }, directives: [i3.ɵNgNoValidate, i3.NgControlStatusGroup, i3.FormGroupDirective, i4.NgForOf, i4.NgIf, TdDynamicElementComponent, i3.NgControlStatus, i3.FormControlName, i3.RequiredValidator], styles: [".td-dynamic-form-wrapper[_ngcontent-%COMP%]{-ms-flex-flow:row wrap;flex-flow:row wrap;box-sizing:border-box;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-line-pack:center;align-content:center;max-width:100%;-ms-flex-pack:start;justify-content:flex-start}.td-dynamic-form-wrapper[_ngcontent-%COMP%] .mat-form-field-infix{width:auto}.td-dynamic-form-wrapper[_ngcontent-%COMP%] .td-dynamic-element-hint{font-size:75%;display:block}.td-dynamic-form-wrapper[_ngcontent-%COMP%] .td-dynamic-element-wrapper[_ngcontent-%COMP%]{max-height:100%;box-sizing:border-box;position:relative;padding:4px 4px 8px}"], changeDetection: 0 });
955
- (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(TdDynamicFormsComponent, [{
956
- type: Component,
957
- args: [{ selector: 'td-dynamic-forms', changeDetection: ChangeDetectionStrategy.OnPush, template: "<form [formGroup]=\"dynamicForm\" novalidate>\n <div class=\"td-dynamic-form-wrapper\">\n <ng-template let-element ngFor [ngForOf]=\"elements\">\n <div\n class=\"td-dynamic-element-wrapper\"\n [style.max-width.%]=\"element.flex ? element.flex : 100\"\n [style.flex]=\"'1 1 ' + (element.flex ? element.flex : 100) + '%'\"\n [style.-ms-flex]=\"'1 1 ' + (element.flex ? element.flex : 100) + '%'\"\n [style.-webkit-box-flex]=\"1\"\n >\n <td-dynamic-element\n #dynamicElement\n *ngIf=\"dynamicForm.controls[element.name]\"\n [formControlName]=\"element.name\"\n [dynamicControl]=\"dynamicForm.controls[element.name]\"\n [id]=\"element.name\"\n [name]=\"element.name\"\n [label]=\"element.label || element.name\"\n [hint]=\"element.hint\"\n [type]=\"element.type\"\n [required]=\"element.required\"\n [min]=\"element.min\"\n [max]=\"element.max\"\n [minLength]=\"element.minLength\"\n [maxLength]=\"element.maxLength\"\n [selections]=\"element.selections\"\n [multiple]=\"element.multiple\"\n [customConfig]=\"element.customConfig\"\n [errorMessageTemplate]=\"getErrorTemplateRef(element.name)\"\n [placeholder]=\"element.placeholder\"\n ></td-dynamic-element>\n </div>\n </ng-template>\n </div>\n <ng-content></ng-content>\n</form>\n", styles: [".td-dynamic-form-wrapper{-ms-flex-flow:row wrap;flex-flow:row wrap;box-sizing:border-box;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-line-pack:center;align-content:center;max-width:100%;-ms-flex-pack:start;justify-content:flex-start}.td-dynamic-form-wrapper ::ng-deep .mat-form-field-infix{width:auto}.td-dynamic-form-wrapper ::ng-deep .td-dynamic-element-hint{font-size:75%;display:block}.td-dynamic-form-wrapper .td-dynamic-element-wrapper{max-height:100%;box-sizing:border-box;position:relative;padding:4px 4px 8px}\n"] }]
958
- }], function () { return [{ type: i3.FormBuilder }, { type: TdDynamicFormsService }, { type: i0.ChangeDetectorRef }]; }, { _errorTemplates: [{
959
- type: ContentChildren,
960
- args: [TdDynamicFormsErrorTemplateDirective, { descendants: true }]
961
- }], elements: [{
962
- type: Input,
963
- args: ['elements']
964
- }] }); })();
627
+ TdDynamicFormsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: TdDynamicFormsComponent, deps: [{ token: i3.FormBuilder }, { token: TdDynamicFormsService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
628
+ TdDynamicFormsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.2", type: TdDynamicFormsComponent, selector: "td-dynamic-forms", inputs: { elements: "elements" }, queries: [{ propertyName: "_errorTemplates", predicate: TdDynamicFormsErrorTemplateDirective, descendants: true }], ngImport: i0, template: "<form [formGroup]=\"dynamicForm\" novalidate>\n <div class=\"td-dynamic-form-wrapper\">\n <ng-template let-element ngFor [ngForOf]=\"elements\">\n <div\n class=\"td-dynamic-element-wrapper\"\n [style.max-width.%]=\"element.flex ? element.flex : 100\"\n [style.flex]=\"'1 1 ' + (element.flex ? element.flex : 100) + '%'\"\n [style.-ms-flex]=\"'1 1 ' + (element.flex ? element.flex : 100) + '%'\"\n [style.-webkit-box-flex]=\"1\"\n >\n <td-dynamic-element\n #dynamicElement\n *ngIf=\"dynamicForm.controls[element.name]\"\n [formControlName]=\"element.name\"\n [dynamicControl]=\"dynamicForm.controls[element.name]\"\n [id]=\"element.name\"\n [name]=\"element.name\"\n [label]=\"element.label || element.name\"\n [hint]=\"element.hint\"\n [type]=\"element.type\"\n [required]=\"element.required ?? false\"\n [min]=\"element.min\"\n [max]=\"element.max\"\n [minLength]=\"element.minLength\"\n [maxLength]=\"element.maxLength\"\n [selections]=\"element.selections\"\n [multiple]=\"element.multiple\"\n [customConfig]=\"element.customConfig\"\n [errorMessageTemplate]=\"getErrorTemplateRef(element.name)\"\n [placeholder]=\"element.placeholder\"\n ></td-dynamic-element>\n </div>\n </ng-template>\n </div>\n <ng-content></ng-content>\n</form>\n", styles: [".td-dynamic-form-wrapper{flex-flow:row wrap;box-sizing:border-box;display:flex;align-items:center;align-content:center;max-width:100%;justify-content:flex-start}.td-dynamic-form-wrapper ::ng-deep .mat-form-field-infix{width:auto}.td-dynamic-form-wrapper ::ng-deep .td-dynamic-element-hint{font-size:75%;display:block}.td-dynamic-form-wrapper .td-dynamic-element-wrapper{max-height:100%;box-sizing:border-box;position:relative;padding:4px 4px 8px}\n"], components: [{ type: TdDynamicElementComponent, selector: "td-dynamic-element", inputs: ["dynamicControl", "label", "hint", "name", "type", "required", "min", "max", "minLength", "maxLength", "selections", "multiple", "customConfig", "errorMessageTemplate", "placeholder"] }], directives: [{ type: i3.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { type: i3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i3.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i3.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { type: i3.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
629
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: TdDynamicFormsComponent, decorators: [{
630
+ type: Component,
631
+ args: [{ selector: 'td-dynamic-forms', changeDetection: ChangeDetectionStrategy.OnPush, template: "<form [formGroup]=\"dynamicForm\" novalidate>\n <div class=\"td-dynamic-form-wrapper\">\n <ng-template let-element ngFor [ngForOf]=\"elements\">\n <div\n class=\"td-dynamic-element-wrapper\"\n [style.max-width.%]=\"element.flex ? element.flex : 100\"\n [style.flex]=\"'1 1 ' + (element.flex ? element.flex : 100) + '%'\"\n [style.-ms-flex]=\"'1 1 ' + (element.flex ? element.flex : 100) + '%'\"\n [style.-webkit-box-flex]=\"1\"\n >\n <td-dynamic-element\n #dynamicElement\n *ngIf=\"dynamicForm.controls[element.name]\"\n [formControlName]=\"element.name\"\n [dynamicControl]=\"dynamicForm.controls[element.name]\"\n [id]=\"element.name\"\n [name]=\"element.name\"\n [label]=\"element.label || element.name\"\n [hint]=\"element.hint\"\n [type]=\"element.type\"\n [required]=\"element.required ?? false\"\n [min]=\"element.min\"\n [max]=\"element.max\"\n [minLength]=\"element.minLength\"\n [maxLength]=\"element.maxLength\"\n [selections]=\"element.selections\"\n [multiple]=\"element.multiple\"\n [customConfig]=\"element.customConfig\"\n [errorMessageTemplate]=\"getErrorTemplateRef(element.name)\"\n [placeholder]=\"element.placeholder\"\n ></td-dynamic-element>\n </div>\n </ng-template>\n </div>\n <ng-content></ng-content>\n</form>\n", styles: [".td-dynamic-form-wrapper{flex-flow:row wrap;box-sizing:border-box;display:flex;align-items:center;align-content:center;max-width:100%;justify-content:flex-start}.td-dynamic-form-wrapper ::ng-deep .mat-form-field-infix{width:auto}.td-dynamic-form-wrapper ::ng-deep .td-dynamic-element-hint{font-size:75%;display:block}.td-dynamic-form-wrapper .td-dynamic-element-wrapper{max-height:100%;box-sizing:border-box;position:relative;padding:4px 4px 8px}\n"] }]
632
+ }], ctorParameters: function () { return [{ type: i3.FormBuilder }, { type: TdDynamicFormsService }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { _errorTemplates: [{
633
+ type: ContentChildren,
634
+ args: [TdDynamicFormsErrorTemplateDirective, { descendants: true }]
635
+ }], elements: [{
636
+ type: Input
637
+ }] } });
965
638
 
966
639
  const TD_DYNAMIC_FORMS = [
967
640
  TdDynamicFormsComponent,
@@ -981,50 +654,12 @@ const TD_DYNAMIC_FORMS_ENTRY_COMPONENTS = [
981
654
  ];
982
655
  class CovalentDynamicFormsModule {
983
656
  }
984
- /** @nocollapse */ /** @nocollapse */ CovalentDynamicFormsModule.ɵfac = function CovalentDynamicFormsModule_Factory(t) { return new (t || CovalentDynamicFormsModule)(); };
985
- /** @nocollapse */ /** @nocollapse */ CovalentDynamicFormsModule.ɵmod = /** @pureOrBreakMyCode */ i0.ɵɵdefineNgModule({ type: CovalentDynamicFormsModule });
986
- /** @nocollapse */ /** @nocollapse */ CovalentDynamicFormsModule.ɵinj = /** @pureOrBreakMyCode */ i0.ɵɵdefineInjector({ providers: [DYNAMIC_FORMS_PROVIDER], imports: [[
987
- CommonModule,
988
- ReactiveFormsModule,
989
- MatFormFieldModule,
990
- MatInputModule,
991
- MatSelectModule,
992
- MatCheckboxModule,
993
- MatSliderModule,
994
- MatSlideToggleModule,
995
- MatIconModule,
996
- MatButtonModule,
997
- MatDatepickerModule,
998
- CovalentCommonModule,
999
- CovalentFileModule,
1000
- ]] });
1001
- (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(CovalentDynamicFormsModule, [{
1002
- type: NgModule,
1003
- args: [{
1004
- declarations: [TD_DYNAMIC_FORMS, TD_DYNAMIC_FORMS_ENTRY_COMPONENTS],
1005
- imports: [
1006
- CommonModule,
1007
- ReactiveFormsModule,
1008
- MatFormFieldModule,
1009
- MatInputModule,
1010
- MatSelectModule,
1011
- MatCheckboxModule,
1012
- MatSliderModule,
1013
- MatSlideToggleModule,
1014
- MatIconModule,
1015
- MatButtonModule,
1016
- MatDatepickerModule,
1017
- CovalentCommonModule,
1018
- CovalentFileModule,
1019
- ],
1020
- exports: [TD_DYNAMIC_FORMS, TD_DYNAMIC_FORMS_ENTRY_COMPONENTS],
1021
- providers: [DYNAMIC_FORMS_PROVIDER],
1022
- }]
1023
- }], null, null); })();
1024
- (function () { (typeof ngJitMode === "undefined" || ngJitMode) && i0.ɵɵsetNgModuleScope(CovalentDynamicFormsModule, { declarations: [TdDynamicFormsComponent,
657
+ CovalentDynamicFormsModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: CovalentDynamicFormsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
658
+ CovalentDynamicFormsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: CovalentDynamicFormsModule, declarations: [TdDynamicFormsComponent,
1025
659
  TdDynamicElementComponent,
1026
660
  TdDynamicElementDirective,
1027
- TdDynamicFormsErrorTemplateDirective, TdDynamicInputComponent,
661
+ TdDynamicFormsErrorTemplateDirective,
662
+ TdDynamicInputComponent,
1028
663
  TdDynamicFileInputComponent,
1029
664
  TdDynamicTextareaComponent,
1030
665
  TdDynamicSlideToggleComponent,
@@ -1042,7 +677,6 @@ class CovalentDynamicFormsModule {
1042
677
  MatIconModule,
1043
678
  MatButtonModule,
1044
679
  MatDatepickerModule,
1045
- CovalentCommonModule,
1046
680
  CovalentFileModule], exports: [TdDynamicFormsComponent,
1047
681
  TdDynamicElementComponent,
1048
682
  TdDynamicElementDirective,
@@ -1053,7 +687,56 @@ class CovalentDynamicFormsModule {
1053
687
  TdDynamicCheckboxComponent,
1054
688
  TdDynamicSliderComponent,
1055
689
  TdDynamicSelectComponent,
1056
- TdDynamicDatepickerComponent] }); })();
690
+ TdDynamicDatepickerComponent] });
691
+ CovalentDynamicFormsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: CovalentDynamicFormsModule, providers: [DYNAMIC_FORMS_PROVIDER], imports: [[
692
+ CommonModule,
693
+ ReactiveFormsModule,
694
+ MatFormFieldModule,
695
+ MatInputModule,
696
+ MatSelectModule,
697
+ MatCheckboxModule,
698
+ MatSliderModule,
699
+ MatSlideToggleModule,
700
+ MatIconModule,
701
+ MatButtonModule,
702
+ MatDatepickerModule,
703
+ CovalentFileModule,
704
+ ]] });
705
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: CovalentDynamicFormsModule, decorators: [{
706
+ type: NgModule,
707
+ args: [{
708
+ declarations: [
709
+ TdDynamicFormsComponent,
710
+ TdDynamicElementComponent,
711
+ TdDynamicElementDirective,
712
+ TdDynamicFormsErrorTemplateDirective,
713
+ TdDynamicInputComponent,
714
+ TdDynamicFileInputComponent,
715
+ TdDynamicTextareaComponent,
716
+ TdDynamicSlideToggleComponent,
717
+ TdDynamicCheckboxComponent,
718
+ TdDynamicSliderComponent,
719
+ TdDynamicSelectComponent,
720
+ TdDynamicDatepickerComponent,
721
+ ],
722
+ imports: [
723
+ CommonModule,
724
+ ReactiveFormsModule,
725
+ MatFormFieldModule,
726
+ MatInputModule,
727
+ MatSelectModule,
728
+ MatCheckboxModule,
729
+ MatSliderModule,
730
+ MatSlideToggleModule,
731
+ MatIconModule,
732
+ MatButtonModule,
733
+ MatDatepickerModule,
734
+ CovalentFileModule,
735
+ ],
736
+ exports: [...TD_DYNAMIC_FORMS, ...TD_DYNAMIC_FORMS_ENTRY_COMPONENTS],
737
+ providers: [DYNAMIC_FORMS_PROVIDER],
738
+ }]
739
+ }] });
1057
740
 
1058
741
  /**
1059
742
  * Generated bundle index. Do not edit.