@ngx-formly/material 10.0.1 → 11.1.0-rc.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (38) hide show
  1. package/README.md +107 -177
  2. package/fesm2022/ngx-formly-material-checkbox.mjs +234 -127
  3. package/fesm2022/ngx-formly-material-checkbox.mjs.map +1 -1
  4. package/fesm2022/ngx-formly-material-datepicker.mjs +264 -118
  5. package/fesm2022/ngx-formly-material-datepicker.mjs.map +1 -1
  6. package/fesm2022/ngx-formly-material-form-field.mjs +440 -226
  7. package/fesm2022/ngx-formly-material-form-field.mjs.map +1 -1
  8. package/fesm2022/ngx-formly-material-input.mjs +199 -89
  9. package/fesm2022/ngx-formly-material-input.mjs.map +1 -1
  10. package/fesm2022/ngx-formly-material-multicheckbox.mjs +203 -106
  11. package/fesm2022/ngx-formly-material-multicheckbox.mjs.map +1 -1
  12. package/fesm2022/ngx-formly-material-native-select.mjs +204 -73
  13. package/fesm2022/ngx-formly-material-native-select.mjs.map +1 -1
  14. package/fesm2022/ngx-formly-material-radio.mjs +247 -104
  15. package/fesm2022/ngx-formly-material-radio.mjs.map +1 -1
  16. package/fesm2022/ngx-formly-material-select.mjs +318 -133
  17. package/fesm2022/ngx-formly-material-select.mjs.map +1 -1
  18. package/fesm2022/ngx-formly-material-slider.mjs +195 -85
  19. package/fesm2022/ngx-formly-material-slider.mjs.map +1 -1
  20. package/fesm2022/ngx-formly-material-textarea.mjs +203 -86
  21. package/fesm2022/ngx-formly-material-textarea.mjs.map +1 -1
  22. package/fesm2022/ngx-formly-material-toggle.mjs +208 -86
  23. package/fesm2022/ngx-formly-material-toggle.mjs.map +1 -1
  24. package/fesm2022/ngx-formly-material.mjs +84 -62
  25. package/fesm2022/ngx-formly-material.mjs.map +1 -1
  26. package/package.json +3 -3
  27. package/types/ngx-formly-material-checkbox.d.ts +41 -46
  28. package/types/ngx-formly-material-datepicker.d.ts +62 -67
  29. package/types/ngx-formly-material-form-field.d.ts +71 -77
  30. package/types/ngx-formly-material-input.d.ts +22 -28
  31. package/types/ngx-formly-material-multicheckbox.d.ts +33 -38
  32. package/types/ngx-formly-material-native-select.d.ts +23 -29
  33. package/types/ngx-formly-material-radio.d.ts +34 -39
  34. package/types/ngx-formly-material-select.d.ts +45 -48
  35. package/types/ngx-formly-material-slider.d.ts +32 -37
  36. package/types/ngx-formly-material-textarea.d.ts +28 -33
  37. package/types/ngx-formly-material-toggle.d.ts +30 -35
  38. package/types/ngx-formly-material.d.ts +16 -19
@@ -1,68 +1,78 @@
1
- import * as i0 from '@angular/core';
2
- import { ViewChild, ChangeDetectionStrategy, Component, NgModule } from '@angular/core';
3
- import { FieldType, FormlyMatFormFieldModule } from '@ngx-formly/material/form-field';
4
- import * as i3 from '@angular/material/checkbox';
5
- import { MatCheckbox, MatCheckboxModule } from '@angular/material/checkbox';
6
- import * as i1 from '@angular/cdk/a11y';
7
- import * as i2 from '@angular/forms';
8
- import { ReactiveFormsModule } from '@angular/forms';
9
- import * as i4 from '@ngx-formly/core';
10
- import { FormlyModule } from '@ngx-formly/core';
11
- import { CommonModule } from '@angular/common';
12
-
13
- class FormlyFieldCheckbox extends FieldType {
14
- constructor(renderer, focusMonitor) {
15
- super();
16
- this.renderer = renderer;
17
- this.focusMonitor = focusMonitor;
18
- this.defaultOptions = {
19
- props: {
20
- hideFieldUnderline: true,
21
- indeterminate: true,
22
- floatLabel: 'always',
23
- hideLabel: true,
24
- color: 'accent', // workaround for https://github.com/angular/components/issues/18465
25
- },
26
- };
27
- }
28
- onContainerClick(event) {
29
- this.checkbox.focus();
30
- super.onContainerClick(event);
31
- }
32
- ngAfterViewInit() {
33
- if (this.checkbox) {
34
- this.focusMonitor.monitor(this.checkbox._inputElement, true).subscribe((focusOrigin) => {
35
- this.field.focus = !!focusOrigin;
36
- this.stateChanges.next();
37
- if (focusOrigin) {
38
- this.props.focus && this.props.focus(this.field);
39
- }
40
- else {
41
- this.props.blur && this.props.blur(this.field);
42
- }
43
- });
44
- }
45
- }
46
- ngAfterViewChecked() {
47
- if (this.required !== this._required && this.checkbox && this.checkbox._inputElement) {
48
- this._required = this.required;
49
- const inputElement = this.checkbox._inputElement.nativeElement;
50
- if (this.required) {
51
- this.renderer.setAttribute(inputElement, 'required', 'required');
52
- }
53
- else {
54
- this.renderer.removeAttribute(inputElement, 'required');
55
- }
56
- }
57
- }
58
- ngOnDestroy() {
59
- super.ngOnDestroy();
60
- if (this.checkbox) {
61
- this.focusMonitor.stopMonitoring(this.checkbox._inputElement);
62
- }
63
- }
64
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.25", ngImport: i0, type: FormlyFieldCheckbox, deps: [{ token: i0.Renderer2 }, { token: i1.FocusMonitor }], target: i0.ɵɵFactoryTarget.Component }); }
65
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.25", type: FormlyFieldCheckbox, isStandalone: false, selector: "formly-field-mat-checkbox", viewQueries: [{ propertyName: "checkbox", first: true, predicate: MatCheckbox, descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: `
1
+ import * as i0 from "@angular/core";
2
+ import { ChangeDetectionStrategy, Component, NgModule, ViewChild } from "@angular/core";
3
+ import { FieldType, FormlyMatFormFieldModule } from "@ngx-formly/material/form-field";
4
+ import * as i3 from "@angular/material/checkbox";
5
+ import { MatCheckbox, MatCheckboxModule } from "@angular/material/checkbox";
6
+ import * as i1 from "@angular/cdk/a11y";
7
+ import * as i2 from "@angular/forms";
8
+ import { ReactiveFormsModule } from "@angular/forms";
9
+ import * as i4 from "@ngx-formly/core";
10
+ import { FormlyModule } from "@ngx-formly/core";
11
+ import { CommonModule } from "@angular/common";
12
+ var FormlyFieldCheckbox = class FormlyFieldCheckbox extends FieldType {
13
+ constructor(renderer, focusMonitor) {
14
+ super();
15
+ this.renderer = renderer;
16
+ this.focusMonitor = focusMonitor;
17
+ this.defaultOptions = { props: {
18
+ hideFieldUnderline: true,
19
+ indeterminate: true,
20
+ floatLabel: "always",
21
+ hideLabel: true,
22
+ color: "accent"
23
+ } };
24
+ }
25
+ onContainerClick(event) {
26
+ this.checkbox.focus();
27
+ super.onContainerClick(event);
28
+ }
29
+ ngAfterViewInit() {
30
+ if (this.checkbox) this.focusMonitor.monitor(this.checkbox._inputElement, true).subscribe((focusOrigin) => {
31
+ this.field.focus = !!focusOrigin;
32
+ this.stateChanges.next();
33
+ if (focusOrigin) this.props.focus && this.props.focus(this.field);
34
+ else this.props.blur && this.props.blur(this.field);
35
+ });
36
+ }
37
+ ngAfterViewChecked() {
38
+ if (this.required !== this._required && this.checkbox && this.checkbox._inputElement) {
39
+ this._required = this.required;
40
+ const inputElement = this.checkbox._inputElement.nativeElement;
41
+ if (this.required) this.renderer.setAttribute(inputElement, "required", "required");
42
+ else this.renderer.removeAttribute(inputElement, "required");
43
+ }
44
+ }
45
+ ngOnDestroy() {
46
+ super.ngOnDestroy();
47
+ if (this.checkbox) this.focusMonitor.stopMonitoring(this.checkbox._inputElement);
48
+ }
49
+ static {
50
+ this.ɵfac = i0.ɵɵngDeclareFactory({
51
+ minVersion: "12.0.0",
52
+ version: "22.2.2",
53
+ ngImport: i0,
54
+ type: FormlyFieldCheckbox,
55
+ deps: [{ token: i0.Renderer2 }, { token: i1.FocusMonitor }],
56
+ target: i0.ɵɵFactoryTarget.Component
57
+ });
58
+ }
59
+ static {
60
+ this.ɵcmp = i0.ɵɵngDeclareComponent({
61
+ minVersion: "17.0.0",
62
+ version: "22.2.2",
63
+ type: FormlyFieldCheckbox,
64
+ isStandalone: false,
65
+ selector: "formly-field-mat-checkbox",
66
+ viewQueries: [{
67
+ propertyName: "checkbox",
68
+ first: true,
69
+ predicate: MatCheckbox,
70
+ descendants: true,
71
+ static: true
72
+ }],
73
+ usesInheritance: true,
74
+ ngImport: i0,
75
+ template: `
66
76
  <mat-checkbox
67
77
  [formControl]="formControl"
68
78
  [id]="id"
@@ -73,18 +83,82 @@ class FormlyFieldCheckbox extends FieldType {
73
83
  [color]="props.color"
74
84
  [labelPosition]="props.labelPosition"
75
85
  >
76
- {{ props.label }}
86
+ @if (props.allowHtml) {
87
+ <span [innerHTML]="props.label"></span>
88
+ } @else {
89
+ {{ props.label }}
90
+ }
77
91
  @if (props.required && props.hideRequiredMarker !== true) {
78
92
  <span aria-hidden="true" class="mat-form-field-required-marker mat-mdc-form-field-required-marker">*</span>
79
93
  }
80
94
  </mat-checkbox>
81
- `, isInline: true, dependencies: [{ kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: i3.MatCheckbox, selector: "mat-checkbox", inputs: ["aria-label", "aria-labelledby", "aria-describedby", "aria-expanded", "aria-controls", "aria-owns", "id", "required", "labelPosition", "name", "value", "disableRipple", "tabIndex", "color", "disabledInteractive", "checked", "disabled", "indeterminate"], outputs: ["change", "indeterminateChange"], exportAs: ["matCheckbox"] }, { kind: "directive", type: i4.LegacyFormlyAttributes, selector: "[formlyAttributes]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
82
- }
83
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.25", ngImport: i0, type: FormlyFieldCheckbox, decorators: [{
84
- type: Component,
85
- args: [{
86
- selector: 'formly-field-mat-checkbox',
87
- template: `
95
+ `,
96
+ isInline: true,
97
+ dependencies: [
98
+ {
99
+ kind: "directive",
100
+ type: i2.NgControlStatus,
101
+ selector: "[formControlName],[ngModel],[formControl]"
102
+ },
103
+ {
104
+ kind: "directive",
105
+ type: i2.FormControlDirective,
106
+ selector: "[formControl]",
107
+ inputs: [
108
+ "formControl",
109
+ "disabled",
110
+ "ngModel"
111
+ ],
112
+ outputs: ["ngModelChange"],
113
+ exportAs: ["ngForm"]
114
+ },
115
+ {
116
+ kind: "component",
117
+ type: i3.MatCheckbox,
118
+ selector: "mat-checkbox",
119
+ inputs: [
120
+ "aria-label",
121
+ "aria-labelledby",
122
+ "aria-describedby",
123
+ "aria-expanded",
124
+ "aria-controls",
125
+ "aria-owns",
126
+ "id",
127
+ "required",
128
+ "labelPosition",
129
+ "name",
130
+ "value",
131
+ "disableRipple",
132
+ "tabIndex",
133
+ "color",
134
+ "disabledInteractive",
135
+ "checked",
136
+ "disabled",
137
+ "indeterminate"
138
+ ],
139
+ outputs: ["change", "indeterminateChange"],
140
+ exportAs: ["matCheckbox"]
141
+ },
142
+ {
143
+ kind: "directive",
144
+ type: i4.LegacyFormlyAttributes,
145
+ selector: "[formlyAttributes]"
146
+ }
147
+ ],
148
+ changeDetection: i0.ChangeDetectionStrategy.OnPush
149
+ });
150
+ }
151
+ };
152
+ i0.ɵɵngDeclareClassMetadata({
153
+ minVersion: "12.0.0",
154
+ version: "22.2.2",
155
+ ngImport: i0,
156
+ type: FormlyFieldCheckbox,
157
+ decorators: [{
158
+ type: Component,
159
+ args: [{
160
+ selector: "formly-field-mat-checkbox",
161
+ template: `
88
162
  <mat-checkbox
89
163
  [formControl]="formControl"
90
164
  [id]="id"
@@ -95,65 +169,98 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.25", ngImpo
95
169
  [color]="props.color"
96
170
  [labelPosition]="props.labelPosition"
97
171
  >
98
- {{ props.label }}
172
+ @if (props.allowHtml) {
173
+ <span [innerHTML]="props.label"></span>
174
+ } @else {
175
+ {{ props.label }}
176
+ }
99
177
  @if (props.required && props.hideRequiredMarker !== true) {
100
178
  <span aria-hidden="true" class="mat-form-field-required-marker mat-mdc-form-field-required-marker">*</span>
101
179
  }
102
180
  </mat-checkbox>
103
181
  `,
104
- changeDetection: ChangeDetectionStrategy.OnPush,
105
- standalone: false,
106
- }]
107
- }], ctorParameters: () => [{ type: i0.Renderer2 }, { type: i1.FocusMonitor }], propDecorators: { checkbox: [{
108
- type: ViewChild,
109
- args: [MatCheckbox, { static: true }]
110
- }] } });
111
-
182
+ changeDetection: ChangeDetectionStrategy.OnPush,
183
+ standalone: false
184
+ }]
185
+ }],
186
+ ctorParameters: () => [{ type: i0.Renderer2 }, { type: i1.FocusMonitor }],
187
+ propDecorators: { checkbox: [{
188
+ type: ViewChild,
189
+ args: [MatCheckbox, { static: true }]
190
+ }] }
191
+ });
112
192
  function withFormlyFieldCheckbox() {
113
- return {
114
- types: [
115
- {
116
- name: 'checkbox',
117
- component: FormlyFieldCheckbox,
118
- wrappers: ['form-field'],
119
- },
120
- {
121
- name: 'boolean',
122
- extends: 'checkbox',
123
- },
124
- ],
125
- };
193
+ return { types: [{
194
+ name: "checkbox",
195
+ component: FormlyFieldCheckbox,
196
+ wrappers: ["form-field"]
197
+ }, {
198
+ name: "boolean",
199
+ extends: "checkbox"
200
+ }] };
126
201
  }
127
-
128
- class FormlyMatCheckboxModule {
129
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.25", ngImport: i0, type: FormlyMatCheckboxModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
130
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.25", ngImport: i0, type: FormlyMatCheckboxModule, declarations: [FormlyFieldCheckbox], imports: [CommonModule,
131
- ReactiveFormsModule,
132
- MatCheckboxModule,
133
- FormlyMatFormFieldModule, i4.FormlyModule] }); }
134
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.25", ngImport: i0, type: FormlyMatCheckboxModule, imports: [CommonModule,
135
- ReactiveFormsModule,
136
- MatCheckboxModule,
137
- FormlyMatFormFieldModule,
138
- FormlyModule.forChild(withFormlyFieldCheckbox())] }); }
139
- }
140
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.25", ngImport: i0, type: FormlyMatCheckboxModule, decorators: [{
141
- type: NgModule,
142
- args: [{
143
- declarations: [FormlyFieldCheckbox],
144
- imports: [
145
- CommonModule,
146
- ReactiveFormsModule,
147
- MatCheckboxModule,
148
- FormlyMatFormFieldModule,
149
- FormlyModule.forChild(withFormlyFieldCheckbox()),
150
- ],
151
- }]
152
- }] });
153
-
154
- /**
155
- * Generated bundle index. Do not edit.
156
- */
157
-
202
+ var FormlyMatCheckboxModule = class FormlyMatCheckboxModule {
203
+ static {
204
+ this.ɵfac = i0.ɵɵngDeclareFactory({
205
+ minVersion: "12.0.0",
206
+ version: "22.2.2",
207
+ ngImport: i0,
208
+ type: FormlyMatCheckboxModule,
209
+ deps: [],
210
+ target: i0.ɵɵFactoryTarget.NgModule
211
+ });
212
+ }
213
+ static {
214
+ this.ɵmod = i0.ɵɵngDeclareNgModule({
215
+ minVersion: "14.0.0",
216
+ version: "22.2.2",
217
+ ngImport: i0,
218
+ type: FormlyMatCheckboxModule,
219
+ declarations: [FormlyFieldCheckbox],
220
+ imports: [
221
+ CommonModule,
222
+ ReactiveFormsModule,
223
+ MatCheckboxModule,
224
+ FormlyMatFormFieldModule,
225
+ i4.FormlyModule
226
+ ]
227
+ });
228
+ }
229
+ static {
230
+ this.ɵinj = i0.ɵɵngDeclareInjector({
231
+ minVersion: "12.0.0",
232
+ version: "22.2.2",
233
+ ngImport: i0,
234
+ type: FormlyMatCheckboxModule,
235
+ imports: [
236
+ CommonModule,
237
+ ReactiveFormsModule,
238
+ MatCheckboxModule,
239
+ FormlyMatFormFieldModule,
240
+ FormlyModule.forChild(withFormlyFieldCheckbox())
241
+ ]
242
+ });
243
+ }
244
+ };
245
+ i0.ɵɵngDeclareClassMetadata({
246
+ minVersion: "12.0.0",
247
+ version: "22.2.2",
248
+ ngImport: i0,
249
+ type: FormlyMatCheckboxModule,
250
+ decorators: [{
251
+ type: NgModule,
252
+ args: [{
253
+ declarations: [FormlyFieldCheckbox],
254
+ imports: [
255
+ CommonModule,
256
+ ReactiveFormsModule,
257
+ MatCheckboxModule,
258
+ FormlyMatFormFieldModule,
259
+ FormlyModule.forChild(withFormlyFieldCheckbox())
260
+ ]
261
+ }]
262
+ }]
263
+ });
158
264
  export { FormlyFieldCheckbox, FormlyMatCheckboxModule, withFormlyFieldCheckbox };
159
- //# sourceMappingURL=ngx-formly-material-checkbox.mjs.map
265
+
266
+ //# sourceMappingURL=ngx-formly-material-checkbox.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"ngx-formly-material-checkbox.mjs","sources":["../../../../src/ui/material/checkbox/src/checkbox.type.ts","../../../../src/ui/material/checkbox/src/checkbox.config.ts","../../../../src/ui/material/checkbox/src/checkbox.module.ts","../../../../src/ui/material/checkbox/src/ngx-formly-material-checkbox.ts"],"sourcesContent":["import {\n Component,\n ViewChild,\n ChangeDetectionStrategy,\n Renderer2,\n AfterViewChecked,\n OnDestroy,\n AfterViewInit,\n Type,\n} from '@angular/core';\nimport { FieldTypeConfig, FormlyFieldConfig } from '@ngx-formly/core';\nimport { FieldType, FormlyFieldProps } from '@ngx-formly/material/form-field';\nimport { MatCheckbox } from '@angular/material/checkbox';\nimport { FocusMonitor } from '@angular/cdk/a11y';\n\ninterface CheckboxProps extends FormlyFieldProps {\n indeterminate?: boolean;\n labelPosition?: 'before' | 'after';\n}\n\nexport interface FormlyCheckboxFieldConfig extends FormlyFieldConfig<CheckboxProps> {\n type: 'checkbox' | Type<FormlyFieldCheckbox>;\n}\n\n@Component({\n selector: 'formly-field-mat-checkbox',\n template: `\n <mat-checkbox\n [formControl]=\"formControl\"\n [id]=\"id\"\n [name]=\"field.name\"\n [formlyAttributes]=\"field\"\n [tabIndex]=\"props.tabindex\"\n [indeterminate]=\"props.indeterminate && formControl.value == null\"\n [color]=\"props.color\"\n [labelPosition]=\"props.labelPosition\"\n >\n {{ props.label }}\n @if (props.required && props.hideRequiredMarker !== true) {\n <span aria-hidden=\"true\" class=\"mat-form-field-required-marker mat-mdc-form-field-required-marker\">*</span>\n }\n </mat-checkbox>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: false,\n})\nexport class FormlyFieldCheckbox\n extends FieldType<FieldTypeConfig<CheckboxProps>>\n implements AfterViewInit, AfterViewChecked, OnDestroy\n{\n @ViewChild(MatCheckbox, { static: true }) checkbox!: MatCheckbox;\n override defaultOptions = {\n props: {\n hideFieldUnderline: true,\n indeterminate: true,\n floatLabel: 'always' as const,\n hideLabel: true,\n color: 'accent' as const, // workaround for https://github.com/angular/components/issues/18465\n },\n };\n\n private _required!: boolean;\n constructor(\n private renderer: Renderer2,\n private focusMonitor: FocusMonitor,\n ) {\n super();\n }\n\n override onContainerClick(event: MouseEvent): void {\n this.checkbox.focus();\n super.onContainerClick(event);\n }\n\n ngAfterViewInit() {\n if (this.checkbox) {\n this.focusMonitor.monitor(this.checkbox._inputElement, true).subscribe((focusOrigin) => {\n this.field.focus = !!focusOrigin;\n this.stateChanges.next();\n if (focusOrigin) {\n this.props.focus && this.props.focus(this.field);\n } else {\n this.props.blur && this.props.blur(this.field);\n }\n });\n }\n }\n\n ngAfterViewChecked() {\n if (this.required !== this._required && this.checkbox && this.checkbox._inputElement) {\n this._required = this.required;\n const inputElement = this.checkbox._inputElement.nativeElement;\n if (this.required) {\n this.renderer.setAttribute(inputElement, 'required', 'required');\n } else {\n this.renderer.removeAttribute(inputElement, 'required');\n }\n }\n }\n\n override ngOnDestroy() {\n super.ngOnDestroy();\n if (this.checkbox) {\n this.focusMonitor.stopMonitoring(this.checkbox._inputElement);\n }\n }\n}\n","import { ConfigOption } from '@ngx-formly/core';\nimport { FormlyFieldCheckbox } from './checkbox.type';\n\nexport function withFormlyFieldCheckbox(): ConfigOption {\n return {\n types: [\n {\n name: 'checkbox',\n component: FormlyFieldCheckbox,\n wrappers: ['form-field'],\n },\n {\n name: 'boolean',\n extends: 'checkbox',\n },\n ],\n };\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormlyModule } from '@ngx-formly/core';\nimport { ReactiveFormsModule } from '@angular/forms';\n\nimport { FormlyMatFormFieldModule } from '@ngx-formly/material/form-field';\nimport { MatCheckboxModule } from '@angular/material/checkbox';\n\nimport { FormlyFieldCheckbox } from './checkbox.type';\nimport { withFormlyFieldCheckbox } from './checkbox.config';\n\n@NgModule({\n declarations: [FormlyFieldCheckbox],\n imports: [\n CommonModule,\n ReactiveFormsModule,\n\n MatCheckboxModule,\n\n FormlyMatFormFieldModule,\n FormlyModule.forChild(withFormlyFieldCheckbox()),\n ],\n})\nexport class FormlyMatCheckboxModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["i1"],"mappings":"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"}
1
+ {"version":3,"file":"ngx-formly-material-checkbox.mjs","names":[],"sources":["../../../../src/ui/material/checkbox/src/checkbox.type.ts","../../../../src/ui/material/checkbox/src/checkbox.config.ts","../../../../src/ui/material/checkbox/src/checkbox.module.ts"],"sourcesContent":["import {\n Component,\n ViewChild,\n ChangeDetectionStrategy,\n Renderer2,\n AfterViewChecked,\n OnDestroy,\n AfterViewInit,\n Type,\n} from '@angular/core';\nimport { FieldTypeConfig, FormlyFieldConfig } from '@ngx-formly/core';\nimport { FieldType, FormlyFieldProps } from '@ngx-formly/material/form-field';\nimport { MatCheckbox } from '@angular/material/checkbox';\nimport { FocusMonitor } from '@angular/cdk/a11y';\n\ninterface CheckboxProps extends FormlyFieldProps {\n indeterminate?: boolean;\n labelPosition?: 'before' | 'after';\n}\n\nexport interface FormlyCheckboxFieldConfig extends FormlyFieldConfig<CheckboxProps> {\n type: 'checkbox' | Type<FormlyFieldCheckbox>;\n}\n\n@Component({\n selector: 'formly-field-mat-checkbox',\n template: `\n <mat-checkbox\n [formControl]=\"formControl\"\n [id]=\"id\"\n [name]=\"field.name\"\n [formlyAttributes]=\"field\"\n [tabIndex]=\"props.tabindex\"\n [indeterminate]=\"props.indeterminate && formControl.value == null\"\n [color]=\"props.color\"\n [labelPosition]=\"props.labelPosition\"\n >\n @if (props.allowHtml) {\n <span [innerHTML]=\"props.label\"></span>\n } @else {\n {{ props.label }}\n }\n @if (props.required && props.hideRequiredMarker !== true) {\n <span aria-hidden=\"true\" class=\"mat-form-field-required-marker mat-mdc-form-field-required-marker\">*</span>\n }\n </mat-checkbox>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: false,\n})\nexport class FormlyFieldCheckbox\n extends FieldType<FieldTypeConfig<CheckboxProps>>\n implements AfterViewInit, AfterViewChecked, OnDestroy\n{\n @ViewChild(MatCheckbox, { static: true }) checkbox!: MatCheckbox;\n override defaultOptions = {\n props: {\n hideFieldUnderline: true,\n indeterminate: true,\n floatLabel: 'always' as const,\n hideLabel: true,\n color: 'accent' as const, // workaround for https://github.com/angular/components/issues/18465\n },\n };\n\n private _required!: boolean;\n constructor(\n private renderer: Renderer2,\n private focusMonitor: FocusMonitor,\n ) {\n super();\n }\n\n override onContainerClick(event: MouseEvent): void {\n this.checkbox.focus();\n super.onContainerClick(event);\n }\n\n ngAfterViewInit() {\n if (this.checkbox) {\n this.focusMonitor.monitor(this.checkbox._inputElement, true).subscribe((focusOrigin) => {\n this.field.focus = !!focusOrigin;\n this.stateChanges.next();\n if (focusOrigin) {\n this.props.focus && this.props.focus(this.field);\n } else {\n this.props.blur && this.props.blur(this.field);\n }\n });\n }\n }\n\n ngAfterViewChecked() {\n if (this.required !== this._required && this.checkbox && this.checkbox._inputElement) {\n this._required = this.required;\n const inputElement = this.checkbox._inputElement.nativeElement;\n if (this.required) {\n this.renderer.setAttribute(inputElement, 'required', 'required');\n } else {\n this.renderer.removeAttribute(inputElement, 'required');\n }\n }\n }\n\n override ngOnDestroy() {\n super.ngOnDestroy();\n if (this.checkbox) {\n this.focusMonitor.stopMonitoring(this.checkbox._inputElement);\n }\n }\n}\n","import { ConfigOption } from '@ngx-formly/core';\nimport { FormlyFieldCheckbox } from './checkbox.type';\n\nexport function withFormlyFieldCheckbox(): ConfigOption {\n return {\n types: [\n {\n name: 'checkbox',\n component: FormlyFieldCheckbox,\n wrappers: ['form-field'],\n },\n {\n name: 'boolean',\n extends: 'checkbox',\n },\n ],\n };\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormlyModule } from '@ngx-formly/core';\nimport { ReactiveFormsModule } from '@angular/forms';\n\nimport { FormlyMatFormFieldModule } from '@ngx-formly/material/form-field';\nimport { MatCheckboxModule } from '@angular/material/checkbox';\n\nimport { FormlyFieldCheckbox } from './checkbox.type';\nimport { withFormlyFieldCheckbox } from './checkbox.config';\n\n@NgModule({\n declarations: [FormlyFieldCheckbox],\n imports: [\n CommonModule,\n ReactiveFormsModule,\n\n MatCheckboxModule,\n\n FormlyMatFormFieldModule,\n FormlyModule.forChild(withFormlyFieldCheckbox()),\n ],\n})\nexport class FormlyMatCheckboxModule {}\n"],"mappings":"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"}