@ngx-formly/material 6.0.0-next.1 → 6.0.0-next.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -2
- package/checkbox/checkbox.module.d.ts +10 -0
- package/checkbox/checkbox.type.d.ts +3 -0
- package/checkbox/ngx-formly-material-checkbox.d.ts +1 -0
- package/checkbox/package.json +5 -6
- package/datepicker/datepicker.module.d.ts +11 -0
- package/datepicker/datepicker.type.d.ts +3 -0
- package/datepicker/ngx-formly-material-datepicker.d.ts +1 -1
- package/datepicker/package.json +5 -6
- package/esm2020/checkbox/checkbox.module.mjs +61 -0
- package/esm2020/checkbox/checkbox.type.mjs +109 -0
- package/{esm2015/checkbox/ngx-formly-material-checkbox.js → esm2020/checkbox/ngx-formly-material-checkbox.mjs} +0 -0
- package/{esm2015/checkbox/public_api.js → esm2020/checkbox/public_api.mjs} +0 -0
- package/esm2020/datepicker/datepicker.module.mjs +57 -0
- package/esm2020/datepicker/datepicker.type.mjs +117 -0
- package/esm2020/datepicker/ngx-formly-material-datepicker.mjs +5 -0
- package/{esm2015/datepicker/public_api.js → esm2020/datepicker/public_api.mjs} +0 -0
- package/esm2020/form-field/field.type.mjs +124 -0
- package/esm2020/form-field/form-field.module.mjs +47 -0
- package/esm2020/form-field/form-field.wrapper.mjs +141 -0
- package/esm2020/form-field/ngx-formly-material-form-field.mjs +5 -0
- package/{esm2015/form-field/public_api.js → esm2020/form-field/public_api.mjs} +0 -0
- package/esm2020/input/input.module.mjs +91 -0
- package/esm2020/input/input.type.mjs +79 -0
- package/{esm2015/input/ngx-formly-material-input.js → esm2020/input/ngx-formly-material-input.mjs} +0 -0
- package/{esm2015/input/public_api.js → esm2020/input/public_api.mjs} +0 -0
- package/{esm2015/lib/ui-material.js → esm2020/lib/ui-material.mjs} +0 -0
- package/esm2020/lib/ui-material.module.mjs +43 -0
- package/esm2020/multicheckbox/multicheckbox.module.mjs +57 -0
- package/esm2020/multicheckbox/multicheckbox.type.mjs +82 -0
- package/{esm2015/multicheckbox/ngx-formly-material-multicheckbox.js → esm2020/multicheckbox/ngx-formly-material-multicheckbox.mjs} +0 -0
- package/{esm2015/multicheckbox/public_api.js → esm2020/multicheckbox/public_api.mjs} +0 -0
- package/esm2020/native-select/native-select.module.mjs +57 -0
- package/esm2020/native-select/native-select.type.mjs +97 -0
- package/{esm2015/native-select/ngx-formly-material-native-select.js → esm2020/native-select/ngx-formly-material-native-select.mjs} +0 -0
- package/{esm2015/native-select/public_api.js → esm2020/native-select/public_api.mjs} +0 -0
- package/{esm2015/ngx-formly-material.js → esm2020/ngx-formly-material.mjs} +0 -0
- package/{esm2015/public_api.js → esm2020/public_api.mjs} +0 -0
- package/{esm2015/radio/ngx-formly-material-radio.js → esm2020/radio/ngx-formly-material-radio.mjs} +0 -0
- package/{esm2015/radio/public_api.js → esm2020/radio/public_api.mjs} +0 -0
- package/esm2020/radio/radio.module.mjs +57 -0
- package/esm2020/radio/radio.type.mjs +89 -0
- package/{esm2015/select/ngx-formly-material-select.js → esm2020/select/ngx-formly-material-select.mjs} +0 -0
- package/{esm2015/select/public_api.js → esm2020/select/public_api.mjs} +0 -0
- package/esm2020/select/select.module.mjs +63 -0
- package/esm2020/select/select.type.mjs +151 -0
- package/{esm2015/slider/ngx-formly-material-slider.js → esm2020/slider/ngx-formly-material-slider.mjs} +1 -2
- package/{esm2015/slider/public_api.js → esm2020/slider/public_api.mjs} +0 -0
- package/esm2020/slider/slider.module.mjs +53 -0
- package/esm2020/slider/slider.type.mjs +79 -0
- package/{esm2015/textarea/ngx-formly-material-textarea.js → esm2020/textarea/ngx-formly-material-textarea.mjs} +0 -0
- package/{esm2015/textarea/public_api.js → esm2020/textarea/public_api.mjs} +0 -0
- package/esm2020/textarea/textarea.module.mjs +53 -0
- package/esm2020/textarea/textarea.type.mjs +77 -0
- package/{esm2015/toggle/ngx-formly-material-toggle.js → esm2020/toggle/ngx-formly-material-toggle.mjs} +1 -2
- package/{esm2015/toggle/public_api.js → esm2020/toggle/public_api.mjs} +0 -0
- package/esm2020/toggle/toggle.module.mjs +53 -0
- package/esm2020/toggle/toggle.type.mjs +61 -0
- package/fesm2015/ngx-formly-material-checkbox.mjs +171 -0
- package/fesm2015/ngx-formly-material-checkbox.mjs.map +1 -0
- package/fesm2015/ngx-formly-material-datepicker.mjs +177 -0
- package/fesm2015/ngx-formly-material-datepicker.mjs.map +1 -0
- package/fesm2015/ngx-formly-material-form-field.mjs +312 -0
- package/fesm2015/ngx-formly-material-form-field.mjs.map +1 -0
- package/fesm2015/ngx-formly-material-input.mjs +172 -0
- package/fesm2015/ngx-formly-material-input.mjs.map +1 -0
- package/fesm2015/ngx-formly-material-multicheckbox.mjs +140 -0
- package/fesm2015/ngx-formly-material-multicheckbox.mjs.map +1 -0
- package/fesm2015/ngx-formly-material-native-select.mjs +156 -0
- package/fesm2015/ngx-formly-material-native-select.mjs.map +1 -0
- package/fesm2015/ngx-formly-material-radio.mjs +146 -0
- package/fesm2015/ngx-formly-material-radio.mjs.map +1 -0
- package/fesm2015/ngx-formly-material-select.mjs +219 -0
- package/fesm2015/ngx-formly-material-select.mjs.map +1 -0
- package/fesm2015/ngx-formly-material-slider.mjs +133 -0
- package/fesm2015/ngx-formly-material-slider.mjs.map +1 -0
- package/fesm2015/ngx-formly-material-textarea.mjs +131 -0
- package/fesm2015/ngx-formly-material-textarea.mjs.map +1 -0
- package/fesm2015/ngx-formly-material-toggle.mjs +115 -0
- package/fesm2015/ngx-formly-material-toggle.mjs.map +1 -0
- package/fesm2015/ngx-formly-material.mjs +55 -0
- package/fesm2015/ngx-formly-material.mjs.map +1 -0
- package/fesm2020/ngx-formly-material-checkbox.mjs +171 -0
- package/fesm2020/ngx-formly-material-checkbox.mjs.map +1 -0
- package/fesm2020/ngx-formly-material-datepicker.mjs +176 -0
- package/fesm2020/ngx-formly-material-datepicker.mjs.map +1 -0
- package/fesm2020/ngx-formly-material-form-field.mjs +309 -0
- package/fesm2020/ngx-formly-material-form-field.mjs.map +1 -0
- package/fesm2020/ngx-formly-material-input.mjs +172 -0
- package/fesm2020/ngx-formly-material-input.mjs.map +1 -0
- package/fesm2020/ngx-formly-material-multicheckbox.mjs +140 -0
- package/fesm2020/ngx-formly-material-multicheckbox.mjs.map +1 -0
- package/fesm2020/ngx-formly-material-native-select.mjs +156 -0
- package/fesm2020/ngx-formly-material-native-select.mjs.map +1 -0
- package/fesm2020/ngx-formly-material-radio.mjs +146 -0
- package/fesm2020/ngx-formly-material-radio.mjs.map +1 -0
- package/fesm2020/ngx-formly-material-select.mjs +216 -0
- package/fesm2020/ngx-formly-material-select.mjs.map +1 -0
- package/fesm2020/ngx-formly-material-slider.mjs +133 -0
- package/fesm2020/ngx-formly-material-slider.mjs.map +1 -0
- package/fesm2020/ngx-formly-material-textarea.mjs +131 -0
- package/fesm2020/ngx-formly-material-textarea.mjs.map +1 -0
- package/fesm2020/ngx-formly-material-toggle.mjs +115 -0
- package/fesm2020/ngx-formly-material-toggle.mjs.map +1 -0
- package/fesm2020/ngx-formly-material.mjs +55 -0
- package/fesm2020/ngx-formly-material.mjs.map +1 -0
- package/form-field/field.type.d.ts +3 -0
- package/form-field/form-field.module.d.ts +9 -0
- package/form-field/form-field.wrapper.d.ts +4 -3
- package/form-field/ngx-formly-material-form-field.d.ts +1 -1
- package/form-field/package.json +5 -6
- package/input/input.module.d.ts +10 -0
- package/input/input.type.d.ts +3 -0
- package/input/ngx-formly-material-input.d.ts +1 -0
- package/input/package.json +5 -6
- package/lib/ui-material.module.d.ts +11 -0
- package/multicheckbox/multicheckbox.module.d.ts +11 -0
- package/multicheckbox/multicheckbox.type.d.ts +3 -0
- package/multicheckbox/ngx-formly-material-multicheckbox.d.ts +1 -0
- package/multicheckbox/package.json +5 -6
- package/native-select/native-select.module.d.ts +11 -0
- package/native-select/native-select.type.d.ts +3 -0
- package/native-select/ngx-formly-material-native-select.d.ts +1 -0
- package/native-select/package.json +5 -6
- package/ngx-formly-material.d.ts +1 -0
- package/package.json +109 -9
- package/radio/ngx-formly-material-radio.d.ts +1 -0
- package/radio/package.json +5 -6
- package/radio/radio.module.d.ts +11 -0
- package/radio/radio.type.d.ts +3 -0
- package/select/ngx-formly-material-select.d.ts +1 -0
- package/select/package.json +5 -6
- package/select/select.module.d.ts +12 -0
- package/select/select.type.d.ts +5 -1
- package/slider/ngx-formly-material-slider.d.ts +1 -1
- package/slider/package.json +5 -6
- package/slider/slider.module.d.ts +10 -0
- package/slider/slider.type.d.ts +3 -0
- package/textarea/ngx-formly-material-textarea.d.ts +1 -0
- package/textarea/package.json +5 -6
- package/textarea/textarea.module.d.ts +10 -0
- package/textarea/textarea.type.d.ts +3 -0
- package/toggle/ngx-formly-material-toggle.d.ts +1 -1
- package/toggle/package.json +5 -6
- package/toggle/toggle.module.d.ts +10 -0
- package/toggle/toggle.type.d.ts +3 -0
- package/bundles/ngx-formly-material-checkbox.umd.js +0 -423
- package/bundles/ngx-formly-material-checkbox.umd.js.map +0 -1
- package/bundles/ngx-formly-material-checkbox.umd.min.js +0 -16
- package/bundles/ngx-formly-material-checkbox.umd.min.js.map +0 -1
- package/bundles/ngx-formly-material-datepicker.umd.js +0 -392
- package/bundles/ngx-formly-material-datepicker.umd.js.map +0 -1
- package/bundles/ngx-formly-material-datepicker.umd.min.js +0 -16
- package/bundles/ngx-formly-material-datepicker.umd.min.js.map +0 -1
- package/bundles/ngx-formly-material-form-field.umd.js +0 -575
- package/bundles/ngx-formly-material-form-field.umd.js.map +0 -1
- package/bundles/ngx-formly-material-form-field.umd.min.js +0 -16
- package/bundles/ngx-formly-material-form-field.umd.min.js.map +0 -1
- package/bundles/ngx-formly-material-input.umd.js +0 -393
- package/bundles/ngx-formly-material-input.umd.js.map +0 -1
- package/bundles/ngx-formly-material-input.umd.min.js +0 -16
- package/bundles/ngx-formly-material-input.umd.min.js.map +0 -1
- package/bundles/ngx-formly-material-multicheckbox.umd.js +0 -397
- package/bundles/ngx-formly-material-multicheckbox.umd.js.map +0 -1
- package/bundles/ngx-formly-material-multicheckbox.umd.min.js +0 -16
- package/bundles/ngx-formly-material-multicheckbox.umd.min.js.map +0 -1
- package/bundles/ngx-formly-material-native-select.umd.js +0 -374
- package/bundles/ngx-formly-material-native-select.umd.js.map +0 -1
- package/bundles/ngx-formly-material-native-select.umd.min.js +0 -16
- package/bundles/ngx-formly-material-native-select.umd.min.js.map +0 -1
- package/bundles/ngx-formly-material-radio.umd.js +0 -398
- package/bundles/ngx-formly-material-radio.umd.js.map +0 -1
- package/bundles/ngx-formly-material-radio.umd.min.js +0 -16
- package/bundles/ngx-formly-material-radio.umd.min.js.map +0 -1
- package/bundles/ngx-formly-material-select.umd.js +0 -411
- package/bundles/ngx-formly-material-select.umd.js.map +0 -1
- package/bundles/ngx-formly-material-select.umd.min.js +0 -16
- package/bundles/ngx-formly-material-select.umd.min.js.map +0 -1
- package/bundles/ngx-formly-material-slider.umd.js +0 -382
- package/bundles/ngx-formly-material-slider.umd.js.map +0 -1
- package/bundles/ngx-formly-material-slider.umd.min.js +0 -16
- package/bundles/ngx-formly-material-slider.umd.min.js.map +0 -1
- package/bundles/ngx-formly-material-textarea.umd.js +0 -379
- package/bundles/ngx-formly-material-textarea.umd.js.map +0 -1
- package/bundles/ngx-formly-material-textarea.umd.min.js +0 -16
- package/bundles/ngx-formly-material-textarea.umd.min.js.map +0 -1
- package/bundles/ngx-formly-material-toggle.umd.js +0 -382
- package/bundles/ngx-formly-material-toggle.umd.js.map +0 -1
- package/bundles/ngx-formly-material-toggle.umd.min.js +0 -16
- package/bundles/ngx-formly-material-toggle.umd.min.js.map +0 -1
- package/bundles/ngx-formly-material.umd.js +0 -45
- package/bundles/ngx-formly-material.umd.js.map +0 -1
- package/bundles/ngx-formly-material.umd.min.js +0 -2
- package/bundles/ngx-formly-material.umd.min.js.map +0 -1
- package/checkbox/ngx-formly-material-checkbox.metadata.json +0 -1
- package/datepicker/ngx-formly-material-datepicker.metadata.json +0 -1
- package/esm2015/checkbox/checkbox.module.js +0 -34
- package/esm2015/checkbox/checkbox.type.js +0 -80
- package/esm2015/datepicker/datepicker.module.js +0 -32
- package/esm2015/datepicker/datepicker.type.js +0 -73
- package/esm2015/datepicker/ngx-formly-material-datepicker.js +0 -6
- package/esm2015/form-field/field.type.js +0 -120
- package/esm2015/form-field/form-field.module.js +0 -27
- package/esm2015/form-field/form-field.wrapper.js +0 -91
- package/esm2015/form-field/ngx-formly-material-form-field.js +0 -6
- package/esm2015/input/input.module.js +0 -49
- package/esm2015/input/input.type.js +0 -43
- package/esm2015/lib/ui-material.module.js +0 -24
- package/esm2015/multicheckbox/multicheckbox.module.js +0 -32
- package/esm2015/multicheckbox/multicheckbox.type.js +0 -59
- package/esm2015/native-select/native-select.module.js +0 -32
- package/esm2015/native-select/native-select.type.js +0 -54
- package/esm2015/radio/radio.module.js +0 -32
- package/esm2015/radio/radio.type.js +0 -62
- package/esm2015/select/select.module.js +0 -35
- package/esm2015/select/select.type.js +0 -95
- package/esm2015/slider/slider.module.js +0 -30
- package/esm2015/slider/slider.type.js +0 -44
- package/esm2015/textarea/textarea.module.js +0 -30
- package/esm2015/textarea/textarea.type.js +0 -46
- package/esm2015/toggle/toggle.module.js +0 -30
- package/esm2015/toggle/toggle.type.js +0 -41
- package/fesm2015/ngx-formly-material-checkbox.js +0 -117
- package/fesm2015/ngx-formly-material-checkbox.js.map +0 -1
- package/fesm2015/ngx-formly-material-datepicker.js +0 -109
- package/fesm2015/ngx-formly-material-datepicker.js.map +0 -1
- package/fesm2015/ngx-formly-material-form-field.js +0 -238
- package/fesm2015/ngx-formly-material-form-field.js.map +0 -1
- package/fesm2015/ngx-formly-material-input.js +0 -96
- package/fesm2015/ngx-formly-material-input.js.map +0 -1
- package/fesm2015/ngx-formly-material-multicheckbox.js +0 -94
- package/fesm2015/ngx-formly-material-multicheckbox.js.map +0 -1
- package/fesm2015/ngx-formly-material-native-select.js +0 -90
- package/fesm2015/ngx-formly-material-native-select.js.map +0 -1
- package/fesm2015/ngx-formly-material-radio.js +0 -96
- package/fesm2015/ngx-formly-material-radio.js.map +0 -1
- package/fesm2015/ngx-formly-material-select.js +0 -134
- package/fesm2015/ngx-formly-material-select.js.map +0 -1
- package/fesm2015/ngx-formly-material-slider.js +0 -77
- package/fesm2015/ngx-formly-material-slider.js.map +0 -1
- package/fesm2015/ngx-formly-material-textarea.js +0 -79
- package/fesm2015/ngx-formly-material-textarea.js.map +0 -1
- package/fesm2015/ngx-formly-material-toggle.js +0 -74
- package/fesm2015/ngx-formly-material-toggle.js.map +0 -1
- package/fesm2015/ngx-formly-material.js +0 -36
- package/fesm2015/ngx-formly-material.js.map +0 -1
- package/form-field/ngx-formly-material-form-field.metadata.json +0 -1
- package/input/ngx-formly-material-input.metadata.json +0 -1
- package/multicheckbox/ngx-formly-material-multicheckbox.metadata.json +0 -1
- package/native-select/ngx-formly-material-native-select.metadata.json +0 -1
- package/ngx-formly-material.metadata.json +0 -1
- package/radio/ngx-formly-material-radio.metadata.json +0 -1
- package/select/ngx-formly-material-select.metadata.json +0 -1
- package/slider/ngx-formly-material-slider.metadata.json +0 -1
- package/textarea/ngx-formly-material-textarea.metadata.json +0 -1
- package/toggle/ngx-formly-material-toggle.metadata.json +0 -1
|
@@ -1,46 +0,0 @@
|
|
|
1
|
-
import { Component, ChangeDetectionStrategy } from '@angular/core';
|
|
2
|
-
import { FieldType } from '@ngx-formly/material/form-field';
|
|
3
|
-
import { MAT_INPUT_VALUE_ACCESSOR } from '@angular/material/input';
|
|
4
|
-
export class FormlyFieldTextArea extends FieldType {
|
|
5
|
-
constructor() {
|
|
6
|
-
super(...arguments);
|
|
7
|
-
this.defaultOptions = {
|
|
8
|
-
templateOptions: {
|
|
9
|
-
cols: 1,
|
|
10
|
-
rows: 1,
|
|
11
|
-
},
|
|
12
|
-
};
|
|
13
|
-
}
|
|
14
|
-
}
|
|
15
|
-
FormlyFieldTextArea.decorators = [
|
|
16
|
-
{ type: Component, args: [{
|
|
17
|
-
selector: 'formly-field-mat-textarea',
|
|
18
|
-
template: `
|
|
19
|
-
<textarea
|
|
20
|
-
matInput
|
|
21
|
-
[id]="id"
|
|
22
|
-
[readonly]="to.readonly"
|
|
23
|
-
[required]="to.required"
|
|
24
|
-
[formControl]="formControl"
|
|
25
|
-
[errorStateMatcher]="errorStateMatcher"
|
|
26
|
-
[cols]="to.cols"
|
|
27
|
-
[rows]="to.rows"
|
|
28
|
-
[formlyAttributes]="field"
|
|
29
|
-
[placeholder]="to.placeholder"
|
|
30
|
-
[tabindex]="to.tabindex"
|
|
31
|
-
[cdkTextareaAutosize]="to.autosize"
|
|
32
|
-
[cdkAutosizeMinRows]="to.autosizeMinRows"
|
|
33
|
-
[cdkAutosizeMaxRows]="to.autosizeMaxRows"
|
|
34
|
-
[class.cdk-textarea-autosize]="to.autosize"
|
|
35
|
-
>
|
|
36
|
-
</textarea>
|
|
37
|
-
`,
|
|
38
|
-
providers: [
|
|
39
|
-
// fix for https://github.com/ngx-formly/ngx-formly/issues/1688
|
|
40
|
-
// rely on formControl value instead of elementRef which return empty value in Firefox.
|
|
41
|
-
{ provide: MAT_INPUT_VALUE_ACCESSOR, useExisting: FormlyFieldTextArea },
|
|
42
|
-
],
|
|
43
|
-
changeDetection: ChangeDetectionStrategy.OnPush
|
|
44
|
-
},] }
|
|
45
|
-
];
|
|
46
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dGFyZWEudHlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy91aS9tYXRlcmlhbC90ZXh0YXJlYS9zcmMvdGV4dGFyZWEudHlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLHVCQUF1QixFQUFVLE1BQU0sZUFBZSxDQUFDO0FBQzNFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUM1RCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQStCbkUsTUFBTSxPQUFPLG1CQUFvQixTQUFRLFNBQVM7SUE3QmxEOztRQThCRSxtQkFBYyxHQUFHO1lBQ2YsZUFBZSxFQUFFO2dCQUNmLElBQUksRUFBRSxDQUFDO2dCQUNQLElBQUksRUFBRSxDQUFDO2FBQ1I7U0FDRixDQUFDO0lBQ0osQ0FBQzs7O1lBcENBLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsMkJBQTJCO2dCQUNyQyxRQUFRLEVBQUU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FtQlQ7Z0JBQ0QsU0FBUyxFQUFFO29CQUNULCtEQUErRDtvQkFDL0QsdUZBQXVGO29CQUN2RixFQUFFLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxXQUFXLEVBQUUsbUJBQW1CLEVBQUU7aUJBQ3hFO2dCQUNELGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO2FBQ2hEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGaWVsZFR5cGUgfSBmcm9tICdAbmd4LWZvcm1seS9tYXRlcmlhbC9mb3JtLWZpZWxkJztcbmltcG9ydCB7IE1BVF9JTlBVVF9WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2lucHV0JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZm9ybWx5LWZpZWxkLW1hdC10ZXh0YXJlYScsXG4gIHRlbXBsYXRlOiBgXG4gICAgPHRleHRhcmVhXG4gICAgICBtYXRJbnB1dFxuICAgICAgW2lkXT1cImlkXCJcbiAgICAgIFtyZWFkb25seV09XCJ0by5yZWFkb25seVwiXG4gICAgICBbcmVxdWlyZWRdPVwidG8ucmVxdWlyZWRcIlxuICAgICAgW2Zvcm1Db250cm9sXT1cImZvcm1Db250cm9sXCJcbiAgICAgIFtlcnJvclN0YXRlTWF0Y2hlcl09XCJlcnJvclN0YXRlTWF0Y2hlclwiXG4gICAgICBbY29sc109XCJ0by5jb2xzXCJcbiAgICAgIFtyb3dzXT1cInRvLnJvd3NcIlxuICAgICAgW2Zvcm1seUF0dHJpYnV0ZXNdPVwiZmllbGRcIlxuICAgICAgW3BsYWNlaG9sZGVyXT1cInRvLnBsYWNlaG9sZGVyXCJcbiAgICAgIFt0YWJpbmRleF09XCJ0by50YWJpbmRleFwiXG4gICAgICBbY2RrVGV4dGFyZWFBdXRvc2l6ZV09XCJ0by5hdXRvc2l6ZVwiXG4gICAgICBbY2RrQXV0b3NpemVNaW5Sb3dzXT1cInRvLmF1dG9zaXplTWluUm93c1wiXG4gICAgICBbY2RrQXV0b3NpemVNYXhSb3dzXT1cInRvLmF1dG9zaXplTWF4Um93c1wiXG4gICAgICBbY2xhc3MuY2RrLXRleHRhcmVhLWF1dG9zaXplXT1cInRvLmF1dG9zaXplXCJcbiAgICA+XG4gICAgPC90ZXh0YXJlYT5cbiAgYCxcbiAgcHJvdmlkZXJzOiBbXG4gICAgLy8gZml4IGZvciBodHRwczovL2dpdGh1Yi5jb20vbmd4LWZvcm1seS9uZ3gtZm9ybWx5L2lzc3Vlcy8xNjg4XG4gICAgLy8gcmVseSBvbiBmb3JtQ29udHJvbCB2YWx1ZSBpbnN0ZWFkIG9mIGVsZW1lbnRSZWYgd2hpY2ggcmV0dXJuIGVtcHR5IHZhbHVlIGluIEZpcmVmb3guXG4gICAgeyBwcm92aWRlOiBNQVRfSU5QVVRfVkFMVUVfQUNDRVNTT1IsIHVzZUV4aXN0aW5nOiBGb3JtbHlGaWVsZFRleHRBcmVhIH0sXG4gIF0sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBGb3JtbHlGaWVsZFRleHRBcmVhIGV4dGVuZHMgRmllbGRUeXBlIGltcGxlbWVudHMgT25Jbml0IHtcbiAgZGVmYXVsdE9wdGlvbnMgPSB7XG4gICAgdGVtcGxhdGVPcHRpb25zOiB7XG4gICAgICBjb2xzOiAxLFxuICAgICAgcm93czogMSxcbiAgICB9LFxuICB9O1xufVxuIl19
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
import { NgModule } from '@angular/core';
|
|
2
|
-
import { CommonModule } from '@angular/common';
|
|
3
|
-
import { FormlyModule } from '@ngx-formly/core';
|
|
4
|
-
import { ReactiveFormsModule } from '@angular/forms';
|
|
5
|
-
import { MatSlideToggleModule } from '@angular/material/slide-toggle';
|
|
6
|
-
import { FormlyMatFormFieldModule } from '@ngx-formly/material/form-field';
|
|
7
|
-
import { FormlyToggleTypeComponent } from './toggle.type';
|
|
8
|
-
export class FormlyMatToggleModule {
|
|
9
|
-
}
|
|
10
|
-
FormlyMatToggleModule.decorators = [
|
|
11
|
-
{ type: NgModule, args: [{
|
|
12
|
-
declarations: [FormlyToggleTypeComponent],
|
|
13
|
-
imports: [
|
|
14
|
-
CommonModule,
|
|
15
|
-
ReactiveFormsModule,
|
|
16
|
-
MatSlideToggleModule,
|
|
17
|
-
FormlyMatFormFieldModule,
|
|
18
|
-
FormlyModule.forChild({
|
|
19
|
-
types: [
|
|
20
|
-
{
|
|
21
|
-
name: 'toggle',
|
|
22
|
-
component: FormlyToggleTypeComponent,
|
|
23
|
-
wrappers: ['form-field'],
|
|
24
|
-
},
|
|
25
|
-
],
|
|
26
|
-
}),
|
|
27
|
-
],
|
|
28
|
-
},] }
|
|
29
|
-
];
|
|
30
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9nZ2xlLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy91aS9tYXRlcmlhbC90b2dnbGUvc3JjL3RvZ2dsZS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ2hELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3RFLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBRTNFLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQW9CMUQsTUFBTSxPQUFPLHFCQUFxQjs7O1lBbEJqQyxRQUFRLFNBQUM7Z0JBQ1IsWUFBWSxFQUFFLENBQUMseUJBQXlCLENBQUM7Z0JBQ3pDLE9BQU8sRUFBRTtvQkFDUCxZQUFZO29CQUNaLG1CQUFtQjtvQkFDbkIsb0JBQW9CO29CQUNwQix3QkFBd0I7b0JBQ3hCLFlBQVksQ0FBQyxRQUFRLENBQUM7d0JBQ3BCLEtBQUssRUFBRTs0QkFDTDtnQ0FDRSxJQUFJLEVBQUUsUUFBUTtnQ0FDZCxTQUFTLEVBQUUseUJBQXlCO2dDQUNwQyxRQUFRLEVBQUUsQ0FBQyxZQUFZLENBQUM7NkJBQ3pCO3lCQUNGO3FCQUNGLENBQUM7aUJBQ0g7YUFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgRm9ybWx5TW9kdWxlIH0gZnJvbSAnQG5neC1mb3JtbHkvY29yZSc7XG5pbXBvcnQgeyBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgTWF0U2xpZGVUb2dnbGVNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zbGlkZS10b2dnbGUnO1xuaW1wb3J0IHsgRm9ybWx5TWF0Rm9ybUZpZWxkTW9kdWxlIH0gZnJvbSAnQG5neC1mb3JtbHkvbWF0ZXJpYWwvZm9ybS1maWVsZCc7XG5cbmltcG9ydCB7IEZvcm1seVRvZ2dsZVR5cGVDb21wb25lbnQgfSBmcm9tICcuL3RvZ2dsZS50eXBlJztcblxuQE5nTW9kdWxlKHtcbiAgZGVjbGFyYXRpb25zOiBbRm9ybWx5VG9nZ2xlVHlwZUNvbXBvbmVudF0sXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcbiAgICBNYXRTbGlkZVRvZ2dsZU1vZHVsZSxcbiAgICBGb3JtbHlNYXRGb3JtRmllbGRNb2R1bGUsXG4gICAgRm9ybWx5TW9kdWxlLmZvckNoaWxkKHtcbiAgICAgIHR5cGVzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICBuYW1lOiAndG9nZ2xlJyxcbiAgICAgICAgICBjb21wb25lbnQ6IEZvcm1seVRvZ2dsZVR5cGVDb21wb25lbnQsXG4gICAgICAgICAgd3JhcHBlcnM6IFsnZm9ybS1maWVsZCddLFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICB9KSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgRm9ybWx5TWF0VG9nZ2xlTW9kdWxlIHt9XG4iXX0=
|
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
import { Component, ChangeDetectionStrategy, ViewChild } from '@angular/core';
|
|
2
|
-
import { FieldType } from '@ngx-formly/material/form-field';
|
|
3
|
-
import { MatSlideToggle } from '@angular/material/slide-toggle';
|
|
4
|
-
export class FormlyToggleTypeComponent extends FieldType {
|
|
5
|
-
constructor() {
|
|
6
|
-
super(...arguments);
|
|
7
|
-
this.defaultOptions = {
|
|
8
|
-
templateOptions: {
|
|
9
|
-
hideFieldUnderline: true,
|
|
10
|
-
floatLabel: 'always',
|
|
11
|
-
hideLabel: true,
|
|
12
|
-
},
|
|
13
|
-
};
|
|
14
|
-
}
|
|
15
|
-
onContainerClick(event) {
|
|
16
|
-
this.slideToggle.focus();
|
|
17
|
-
super.onContainerClick(event);
|
|
18
|
-
}
|
|
19
|
-
}
|
|
20
|
-
FormlyToggleTypeComponent.decorators = [
|
|
21
|
-
{ type: Component, args: [{
|
|
22
|
-
selector: 'formly-field-mat-toggle',
|
|
23
|
-
template: `
|
|
24
|
-
<mat-slide-toggle
|
|
25
|
-
[id]="id"
|
|
26
|
-
[formControl]="formControl"
|
|
27
|
-
[formlyAttributes]="field"
|
|
28
|
-
[color]="to.color"
|
|
29
|
-
[tabIndex]="to.tabindex"
|
|
30
|
-
[required]="to.required"
|
|
31
|
-
>
|
|
32
|
-
{{ to.label }}
|
|
33
|
-
</mat-slide-toggle>
|
|
34
|
-
`,
|
|
35
|
-
changeDetection: ChangeDetectionStrategy.OnPush
|
|
36
|
-
},] }
|
|
37
|
-
];
|
|
38
|
-
FormlyToggleTypeComponent.propDecorators = {
|
|
39
|
-
slideToggle: [{ type: ViewChild, args: [MatSlideToggle, { static: true },] }]
|
|
40
|
-
};
|
|
41
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9nZ2xlLnR5cGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvdWkvbWF0ZXJpYWwvdG9nZ2xlL3NyYy90b2dnbGUudHlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM5RSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDNUQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBa0JoRSxNQUFNLE9BQU8seUJBQTBCLFNBQVEsU0FBUztJQWhCeEQ7O1FBa0JFLG1CQUFjLEdBQUc7WUFDZixlQUFlLEVBQUU7Z0JBQ2Ysa0JBQWtCLEVBQUUsSUFBSTtnQkFDeEIsVUFBVSxFQUFFLFFBQWlCO2dCQUM3QixTQUFTLEVBQUUsSUFBSTthQUNoQjtTQUNGLENBQUM7SUFNSixDQUFDO0lBSkMsZ0JBQWdCLENBQUMsS0FBaUI7UUFDaEMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUN6QixLQUFLLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDaEMsQ0FBQzs7O1lBN0JGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUseUJBQXlCO2dCQUNuQyxRQUFRLEVBQUU7Ozs7Ozs7Ozs7O0dBV1Q7Z0JBQ0QsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07YUFDaEQ7OzswQkFFRSxTQUFTLFNBQUMsY0FBYyxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRmllbGRUeXBlIH0gZnJvbSAnQG5neC1mb3JtbHkvbWF0ZXJpYWwvZm9ybS1maWVsZCc7XG5pbXBvcnQgeyBNYXRTbGlkZVRvZ2dsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NsaWRlLXRvZ2dsZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2Zvcm1seS1maWVsZC1tYXQtdG9nZ2xlJyxcbiAgdGVtcGxhdGU6IGBcbiAgICA8bWF0LXNsaWRlLXRvZ2dsZVxuICAgICAgW2lkXT1cImlkXCJcbiAgICAgIFtmb3JtQ29udHJvbF09XCJmb3JtQ29udHJvbFwiXG4gICAgICBbZm9ybWx5QXR0cmlidXRlc109XCJmaWVsZFwiXG4gICAgICBbY29sb3JdPVwidG8uY29sb3JcIlxuICAgICAgW3RhYkluZGV4XT1cInRvLnRhYmluZGV4XCJcbiAgICAgIFtyZXF1aXJlZF09XCJ0by5yZXF1aXJlZFwiXG4gICAgPlxuICAgICAge3sgdG8ubGFiZWwgfX1cbiAgICA8L21hdC1zbGlkZS10b2dnbGU+XG4gIGAsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBGb3JtbHlUb2dnbGVUeXBlQ29tcG9uZW50IGV4dGVuZHMgRmllbGRUeXBlIHtcbiAgQFZpZXdDaGlsZChNYXRTbGlkZVRvZ2dsZSwgeyBzdGF0aWM6IHRydWUgfSkgc2xpZGVUb2dnbGUhOiBNYXRTbGlkZVRvZ2dsZTtcbiAgZGVmYXVsdE9wdGlvbnMgPSB7XG4gICAgdGVtcGxhdGVPcHRpb25zOiB7XG4gICAgICBoaWRlRmllbGRVbmRlcmxpbmU6IHRydWUsXG4gICAgICBmbG9hdExhYmVsOiAnYWx3YXlzJyBhcyBjb25zdCxcbiAgICAgIGhpZGVMYWJlbDogdHJ1ZSxcbiAgICB9LFxuICB9O1xuXG4gIG9uQ29udGFpbmVyQ2xpY2soZXZlbnQ6IE1vdXNlRXZlbnQpOiB2b2lkIHtcbiAgICB0aGlzLnNsaWRlVG9nZ2xlLmZvY3VzKCk7XG4gICAgc3VwZXIub25Db250YWluZXJDbGljayhldmVudCk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,117 +0,0 @@
|
|
|
1
|
-
import { Component, ChangeDetectionStrategy, Renderer2, ViewChild, NgModule } from '@angular/core';
|
|
2
|
-
import { CommonModule } from '@angular/common';
|
|
3
|
-
import { FormlyModule } from '@ngx-formly/core';
|
|
4
|
-
import { ReactiveFormsModule } from '@angular/forms';
|
|
5
|
-
import { FieldType, FormlyMatFormFieldModule } from '@ngx-formly/material/form-field';
|
|
6
|
-
import { MatCheckbox, MatCheckboxModule } from '@angular/material/checkbox';
|
|
7
|
-
import { FocusMonitor } from '@angular/cdk/a11y';
|
|
8
|
-
|
|
9
|
-
class FormlyFieldCheckbox extends FieldType {
|
|
10
|
-
constructor(renderer, focusMonitor) {
|
|
11
|
-
super();
|
|
12
|
-
this.renderer = renderer;
|
|
13
|
-
this.focusMonitor = focusMonitor;
|
|
14
|
-
this.defaultOptions = {
|
|
15
|
-
templateOptions: {
|
|
16
|
-
hideFieldUnderline: true,
|
|
17
|
-
indeterminate: true,
|
|
18
|
-
floatLabel: 'always',
|
|
19
|
-
hideLabel: true,
|
|
20
|
-
align: 'start',
|
|
21
|
-
color: 'accent',
|
|
22
|
-
},
|
|
23
|
-
};
|
|
24
|
-
}
|
|
25
|
-
onContainerClick(event) {
|
|
26
|
-
this.checkbox.focus();
|
|
27
|
-
super.onContainerClick(event);
|
|
28
|
-
}
|
|
29
|
-
ngAfterViewInit() {
|
|
30
|
-
this.focusMonitor.monitor(this.checkbox._inputElement, true).subscribe((focusOrigin) => {
|
|
31
|
-
if (focusOrigin) {
|
|
32
|
-
this.to.focus && this.to.focus(this.field);
|
|
33
|
-
}
|
|
34
|
-
else {
|
|
35
|
-
this.to.blur && this.to.blur(this.field);
|
|
36
|
-
}
|
|
37
|
-
});
|
|
38
|
-
}
|
|
39
|
-
ngAfterViewChecked() {
|
|
40
|
-
if (this.required !== this._required && this.checkbox && this.checkbox._inputElement) {
|
|
41
|
-
this._required = this.required;
|
|
42
|
-
const inputElement = this.checkbox._inputElement.nativeElement;
|
|
43
|
-
if (this.required) {
|
|
44
|
-
this.renderer.setAttribute(inputElement, 'required', 'required');
|
|
45
|
-
}
|
|
46
|
-
else {
|
|
47
|
-
this.renderer.removeAttribute(inputElement, 'required');
|
|
48
|
-
}
|
|
49
|
-
}
|
|
50
|
-
}
|
|
51
|
-
ngOnDestroy() {
|
|
52
|
-
if (this.checkbox) {
|
|
53
|
-
this.focusMonitor.stopMonitoring(this.checkbox._inputElement);
|
|
54
|
-
}
|
|
55
|
-
}
|
|
56
|
-
}
|
|
57
|
-
FormlyFieldCheckbox.decorators = [
|
|
58
|
-
{ type: Component, args: [{
|
|
59
|
-
selector: 'formly-field-mat-checkbox',
|
|
60
|
-
template: `
|
|
61
|
-
<mat-checkbox
|
|
62
|
-
[formControl]="formControl"
|
|
63
|
-
[id]="id"
|
|
64
|
-
[formlyAttributes]="field"
|
|
65
|
-
[tabIndex]="to.tabindex"
|
|
66
|
-
[indeterminate]="to.indeterminate && formControl.value == null"
|
|
67
|
-
[color]="to.color"
|
|
68
|
-
[labelPosition]="to.align || to.labelPosition"
|
|
69
|
-
>
|
|
70
|
-
{{ to.label }}
|
|
71
|
-
<span *ngIf="to.required && to.hideRequiredMarker !== true" class="mat-form-field-required-marker">*</span>
|
|
72
|
-
</mat-checkbox>
|
|
73
|
-
`,
|
|
74
|
-
changeDetection: ChangeDetectionStrategy.OnPush
|
|
75
|
-
},] }
|
|
76
|
-
];
|
|
77
|
-
FormlyFieldCheckbox.ctorParameters = () => [
|
|
78
|
-
{ type: Renderer2 },
|
|
79
|
-
{ type: FocusMonitor }
|
|
80
|
-
];
|
|
81
|
-
FormlyFieldCheckbox.propDecorators = {
|
|
82
|
-
checkbox: [{ type: ViewChild, args: [MatCheckbox, { static: true },] }]
|
|
83
|
-
};
|
|
84
|
-
|
|
85
|
-
class FormlyMatCheckboxModule {
|
|
86
|
-
}
|
|
87
|
-
FormlyMatCheckboxModule.decorators = [
|
|
88
|
-
{ type: NgModule, args: [{
|
|
89
|
-
declarations: [FormlyFieldCheckbox],
|
|
90
|
-
imports: [
|
|
91
|
-
CommonModule,
|
|
92
|
-
ReactiveFormsModule,
|
|
93
|
-
MatCheckboxModule,
|
|
94
|
-
FormlyMatFormFieldModule,
|
|
95
|
-
FormlyModule.forChild({
|
|
96
|
-
types: [
|
|
97
|
-
{
|
|
98
|
-
name: 'checkbox',
|
|
99
|
-
component: FormlyFieldCheckbox,
|
|
100
|
-
wrappers: ['form-field'],
|
|
101
|
-
},
|
|
102
|
-
{
|
|
103
|
-
name: 'boolean',
|
|
104
|
-
extends: 'checkbox',
|
|
105
|
-
},
|
|
106
|
-
],
|
|
107
|
-
}),
|
|
108
|
-
],
|
|
109
|
-
},] }
|
|
110
|
-
];
|
|
111
|
-
|
|
112
|
-
/**
|
|
113
|
-
* Generated bundle index. Do not edit.
|
|
114
|
-
*/
|
|
115
|
-
|
|
116
|
-
export { FormlyFieldCheckbox, FormlyMatCheckboxModule };
|
|
117
|
-
//# sourceMappingURL=ngx-formly-material-checkbox.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ngx-formly-material-checkbox.js","sources":["../../../../src/ui/material/checkbox/src/checkbox.type.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} from '@angular/core';\nimport { FieldType } from '@ngx-formly/material/form-field';\nimport { MatCheckbox } from '@angular/material/checkbox';\nimport { FocusMonitor } from '@angular/cdk/a11y';\n\n@Component({\n selector: 'formly-field-mat-checkbox',\n template: `\n <mat-checkbox\n [formControl]=\"formControl\"\n [id]=\"id\"\n [formlyAttributes]=\"field\"\n [tabIndex]=\"to.tabindex\"\n [indeterminate]=\"to.indeterminate && formControl.value == null\"\n [color]=\"to.color\"\n [labelPosition]=\"to.align || to.labelPosition\"\n >\n {{ to.label }}\n <span *ngIf=\"to.required && to.hideRequiredMarker !== true\" class=\"mat-form-field-required-marker\">*</span>\n </mat-checkbox>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class FormlyFieldCheckbox extends FieldType implements AfterViewInit, AfterViewChecked, OnDestroy {\n @ViewChild(MatCheckbox, { static: true }) checkbox!: MatCheckbox;\n defaultOptions = {\n templateOptions: {\n hideFieldUnderline: true,\n indeterminate: true,\n floatLabel: 'always' as const,\n hideLabel: true,\n align: 'start', // start or end\n color: 'accent' as const, // workaround for https://github.com/angular/components/issues/18465\n },\n };\n\n private _required!: boolean;\n constructor(private renderer: Renderer2, private focusMonitor: FocusMonitor) {\n super();\n }\n\n onContainerClick(event: MouseEvent): void {\n this.checkbox.focus();\n super.onContainerClick(event);\n }\n\n ngAfterViewInit() {\n this.focusMonitor.monitor(this.checkbox._inputElement, true).subscribe((focusOrigin) => {\n if (focusOrigin) {\n this.to.focus && this.to.focus(this.field);\n } else {\n this.to.blur && this.to.blur(this.field);\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 ngOnDestroy() {\n if (this.checkbox) {\n this.focusMonitor.stopMonitoring(this.checkbox._inputElement);\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';\n\n@NgModule({\n declarations: [FormlyFieldCheckbox],\n imports: [\n CommonModule,\n ReactiveFormsModule,\n\n MatCheckboxModule,\n\n FormlyMatFormFieldModule,\n FormlyModule.forChild({\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})\nexport class FormlyMatCheckboxModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":";;;;;;;;MA+Ba,mBAAoB,SAAQ,SAAS;IAchD,YAAoB,QAAmB,EAAU,YAA0B;QACzE,KAAK,EAAE,CAAC;QADU,aAAQ,GAAR,QAAQ,CAAW;QAAU,iBAAY,GAAZ,YAAY,CAAc;QAZ3E,mBAAc,GAAG;YACf,eAAe,EAAE;gBACf,kBAAkB,EAAE,IAAI;gBACxB,aAAa,EAAE,IAAI;gBACnB,UAAU,EAAE,QAAiB;gBAC7B,SAAS,EAAE,IAAI;gBACf,KAAK,EAAE,OAAO;gBACd,KAAK,EAAE,QAAiB;aACzB;SACF,CAAC;KAKD;IAED,gBAAgB,CAAC,KAAiB;QAChC,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;QACtB,KAAK,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;KAC/B;IAED,eAAe;QACb,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC,SAAS,CAAC,CAAC,WAAW;YACjF,IAAI,WAAW,EAAE;gBACf,IAAI,CAAC,EAAE,CAAC,KAAK,IAAI,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;aAC5C;iBAAM;gBACL,IAAI,CAAC,EAAE,CAAC,IAAI,IAAI,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;aAC1C;SACF,CAAC,CAAC;KACJ;IAED,kBAAkB;QAChB,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC,aAAa,EAAE;YACpF,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC;YAC/B,MAAM,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,aAAa,CAAC;YAC/D,IAAI,IAAI,CAAC,QAAQ,EAAE;gBACjB,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,YAAY,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC;aAClE;iBAAM;gBACL,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC;aACzD;SACF;KACF;IAED,WAAW;QACT,IAAI,IAAI,CAAC,QAAQ,EAAE;YACjB,IAAI,CAAC,YAAY,CAAC,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;SAC/D;KACF;;;YAnEF,SAAS,SAAC;gBACT,QAAQ,EAAE,2BAA2B;gBACrC,QAAQ,EAAE;;;;;;;;;;;;;GAaT;gBACD,eAAe,EAAE,uBAAuB,CAAC,MAAM;aAChD;;;YA1BC,SAAS;YAOF,YAAY;;;uBAqBlB,SAAS,SAAC,WAAW,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE;;;MCE7B,uBAAuB;;;YAxBnC,QAAQ,SAAC;gBACR,YAAY,EAAE,CAAC,mBAAmB,CAAC;gBACnC,OAAO,EAAE;oBACP,YAAY;oBACZ,mBAAmB;oBAEnB,iBAAiB;oBAEjB,wBAAwB;oBACxB,YAAY,CAAC,QAAQ,CAAC;wBACpB,KAAK,EAAE;4BACL;gCACE,IAAI,EAAE,UAAU;gCAChB,SAAS,EAAE,mBAAmB;gCAC9B,QAAQ,EAAE,CAAC,YAAY,CAAC;6BACzB;4BACD;gCACE,IAAI,EAAE,SAAS;gCACf,OAAO,EAAE,UAAU;6BACpB;yBACF;qBACF,CAAC;iBACH;aACF;;;ACjCD;;;;;;"}
|
|
@@ -1,109 +0,0 @@
|
|
|
1
|
-
import { Component, ChangeDetectionStrategy, ViewChild, NgModule } from '@angular/core';
|
|
2
|
-
import { CommonModule } from '@angular/common';
|
|
3
|
-
import { FormlyModule } from '@ngx-formly/core';
|
|
4
|
-
import { ReactiveFormsModule } from '@angular/forms';
|
|
5
|
-
import { FieldType, FormlyMatFormFieldModule } from '@ngx-formly/material/form-field';
|
|
6
|
-
import { MatInputModule } from '@angular/material/input';
|
|
7
|
-
import { MatDatepickerModule } from '@angular/material/datepicker';
|
|
8
|
-
|
|
9
|
-
class FormlyDatepickerTypeComponent extends FieldType {
|
|
10
|
-
constructor() {
|
|
11
|
-
super(...arguments);
|
|
12
|
-
this.defaultOptions = {
|
|
13
|
-
templateOptions: {
|
|
14
|
-
datepickerOptions: {
|
|
15
|
-
startView: 'month',
|
|
16
|
-
datepickerTogglePosition: 'suffix',
|
|
17
|
-
dateInput: () => { },
|
|
18
|
-
dateChange: () => { },
|
|
19
|
-
monthSelected: () => { },
|
|
20
|
-
yearSelected: () => { },
|
|
21
|
-
},
|
|
22
|
-
},
|
|
23
|
-
};
|
|
24
|
-
}
|
|
25
|
-
detectChanges() {
|
|
26
|
-
var _a, _b;
|
|
27
|
-
(_b = (_a = this.options).detectChanges) === null || _b === void 0 ? void 0 : _b.call(_a, this.field);
|
|
28
|
-
}
|
|
29
|
-
ngAfterViewInit() {
|
|
30
|
-
super.ngAfterViewInit();
|
|
31
|
-
this.to[this.to.datepickerOptions.datepickerTogglePosition] = this.datepickerToggle;
|
|
32
|
-
}
|
|
33
|
-
}
|
|
34
|
-
FormlyDatepickerTypeComponent.decorators = [
|
|
35
|
-
{ type: Component, args: [{
|
|
36
|
-
selector: 'formly-field-mat-datepicker',
|
|
37
|
-
template: `
|
|
38
|
-
<input
|
|
39
|
-
matInput
|
|
40
|
-
[id]="id"
|
|
41
|
-
[errorStateMatcher]="errorStateMatcher"
|
|
42
|
-
[formControl]="formControl"
|
|
43
|
-
[matDatepicker]="picker"
|
|
44
|
-
[matDatepickerFilter]="to.datepickerOptions.filter"
|
|
45
|
-
[max]="to.datepickerOptions.max"
|
|
46
|
-
[min]="to.datepickerOptions.min"
|
|
47
|
-
[formlyAttributes]="field"
|
|
48
|
-
[placeholder]="to.placeholder"
|
|
49
|
-
[tabindex]="to.tabindex"
|
|
50
|
-
[readonly]="to.readonly"
|
|
51
|
-
[required]="to.required"
|
|
52
|
-
(dateInput)="to.datepickerOptions.dateInput(field, $event)"
|
|
53
|
-
(dateChange)="to.datepickerOptions.dateChange(field, $event)"
|
|
54
|
-
/>
|
|
55
|
-
<ng-template #datepickerToggle>
|
|
56
|
-
<mat-datepicker-toggle (click)="detectChanges()" [disabled]="to.disabled" [for]="picker"></mat-datepicker-toggle>
|
|
57
|
-
</ng-template>
|
|
58
|
-
<mat-datepicker
|
|
59
|
-
#picker
|
|
60
|
-
[color]="to.color"
|
|
61
|
-
[dateClass]="to.datepickerOptions.dateClass"
|
|
62
|
-
[disabled]="to.datepickerOptions.disabled"
|
|
63
|
-
[opened]="to.datepickerOptions.opened"
|
|
64
|
-
[panelClass]="to.datepickerOptions.panelClass"
|
|
65
|
-
[startAt]="to.datepickerOptions.startAt"
|
|
66
|
-
[startView]="to.datepickerOptions.startView"
|
|
67
|
-
[touchUi]="to.datepickerOptions.touchUi"
|
|
68
|
-
(monthSelected)="to.datepickerOptions.monthSelected(field, $event, picker)"
|
|
69
|
-
(yearSelected)="to.datepickerOptions.yearSelected(field, $event, picker)"
|
|
70
|
-
>
|
|
71
|
-
</mat-datepicker>
|
|
72
|
-
`,
|
|
73
|
-
changeDetection: ChangeDetectionStrategy.OnPush
|
|
74
|
-
},] }
|
|
75
|
-
];
|
|
76
|
-
FormlyDatepickerTypeComponent.propDecorators = {
|
|
77
|
-
datepickerToggle: [{ type: ViewChild, args: ['datepickerToggle', { static: true },] }]
|
|
78
|
-
};
|
|
79
|
-
|
|
80
|
-
class FormlyMatDatepickerModule {
|
|
81
|
-
}
|
|
82
|
-
FormlyMatDatepickerModule.decorators = [
|
|
83
|
-
{ type: NgModule, args: [{
|
|
84
|
-
declarations: [FormlyDatepickerTypeComponent],
|
|
85
|
-
imports: [
|
|
86
|
-
CommonModule,
|
|
87
|
-
ReactiveFormsModule,
|
|
88
|
-
MatInputModule,
|
|
89
|
-
MatDatepickerModule,
|
|
90
|
-
FormlyMatFormFieldModule,
|
|
91
|
-
FormlyModule.forChild({
|
|
92
|
-
types: [
|
|
93
|
-
{
|
|
94
|
-
name: 'datepicker',
|
|
95
|
-
component: FormlyDatepickerTypeComponent,
|
|
96
|
-
wrappers: ['form-field'],
|
|
97
|
-
},
|
|
98
|
-
],
|
|
99
|
-
}),
|
|
100
|
-
],
|
|
101
|
-
},] }
|
|
102
|
-
];
|
|
103
|
-
|
|
104
|
-
/**
|
|
105
|
-
* Generated bundle index. Do not edit.
|
|
106
|
-
*/
|
|
107
|
-
|
|
108
|
-
export { FormlyMatDatepickerModule, FormlyDatepickerTypeComponent as ɵa };
|
|
109
|
-
//# sourceMappingURL=ngx-formly-material-datepicker.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ngx-formly-material-datepicker.js","sources":["../../../../src/ui/material/datepicker/src/datepicker.type.ts","../../../../src/ui/material/datepicker/src/datepicker.module.ts","../../../../src/ui/material/datepicker/src/ngx-formly-material-datepicker.ts"],"sourcesContent":["import { Component, ChangeDetectionStrategy, ViewChild, AfterViewInit, TemplateRef } from '@angular/core';\nimport { FieldType } from '@ngx-formly/material/form-field';\n\n@Component({\n selector: 'formly-field-mat-datepicker',\n template: `\n <input\n matInput\n [id]=\"id\"\n [errorStateMatcher]=\"errorStateMatcher\"\n [formControl]=\"formControl\"\n [matDatepicker]=\"picker\"\n [matDatepickerFilter]=\"to.datepickerOptions.filter\"\n [max]=\"to.datepickerOptions.max\"\n [min]=\"to.datepickerOptions.min\"\n [formlyAttributes]=\"field\"\n [placeholder]=\"to.placeholder\"\n [tabindex]=\"to.tabindex\"\n [readonly]=\"to.readonly\"\n [required]=\"to.required\"\n (dateInput)=\"to.datepickerOptions.dateInput(field, $event)\"\n (dateChange)=\"to.datepickerOptions.dateChange(field, $event)\"\n />\n <ng-template #datepickerToggle>\n <mat-datepicker-toggle (click)=\"detectChanges()\" [disabled]=\"to.disabled\" [for]=\"picker\"></mat-datepicker-toggle>\n </ng-template>\n <mat-datepicker\n #picker\n [color]=\"to.color\"\n [dateClass]=\"to.datepickerOptions.dateClass\"\n [disabled]=\"to.datepickerOptions.disabled\"\n [opened]=\"to.datepickerOptions.opened\"\n [panelClass]=\"to.datepickerOptions.panelClass\"\n [startAt]=\"to.datepickerOptions.startAt\"\n [startView]=\"to.datepickerOptions.startView\"\n [touchUi]=\"to.datepickerOptions.touchUi\"\n (monthSelected)=\"to.datepickerOptions.monthSelected(field, $event, picker)\"\n (yearSelected)=\"to.datepickerOptions.yearSelected(field, $event, picker)\"\n >\n </mat-datepicker>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class FormlyDatepickerTypeComponent extends FieldType implements AfterViewInit {\n @ViewChild('datepickerToggle', { static: true }) datepickerToggle!: TemplateRef<any>;\n\n defaultOptions = {\n templateOptions: {\n datepickerOptions: {\n startView: 'month',\n datepickerTogglePosition: 'suffix',\n dateInput: () => {},\n dateChange: () => {},\n monthSelected: () => {},\n yearSelected: () => {},\n },\n },\n };\n\n detectChanges() {\n this.options.detectChanges?.(this.field);\n }\n\n ngAfterViewInit() {\n super.ngAfterViewInit();\n this.to[this.to.datepickerOptions.datepickerTogglePosition] = this.datepickerToggle;\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 { MatInputModule } from '@angular/material/input';\nimport { MatDatepickerModule } from '@angular/material/datepicker';\n\nimport { FormlyDatepickerTypeComponent } from './datepicker.type';\n\n@NgModule({\n declarations: [FormlyDatepickerTypeComponent],\n imports: [\n CommonModule,\n ReactiveFormsModule,\n MatInputModule,\n MatDatepickerModule,\n\n FormlyMatFormFieldModule,\n FormlyModule.forChild({\n types: [\n {\n name: 'datepicker',\n component: FormlyDatepickerTypeComponent,\n wrappers: ['form-field'],\n },\n ],\n }),\n ],\n})\nexport class FormlyMatDatepickerModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n\nexport {FormlyDatepickerTypeComponent as ɵa} from './datepicker.type';"],"names":[],"mappings":";;;;;;;;MA2Ca,6BAA8B,SAAQ,SAAS;IAxC5D;;QA2CE,mBAAc,GAAG;YACf,eAAe,EAAE;gBACf,iBAAiB,EAAE;oBACjB,SAAS,EAAE,OAAO;oBAClB,wBAAwB,EAAE,QAAQ;oBAClC,SAAS,EAAE,SAAQ;oBACnB,UAAU,EAAE,SAAQ;oBACpB,aAAa,EAAE,SAAQ;oBACvB,YAAY,EAAE,SAAQ;iBACvB;aACF;SACF,CAAC;KAUH;IARC,aAAa;;QACX,MAAA,MAAA,IAAI,CAAC,OAAO,EAAC,aAAa,mDAAG,IAAI,CAAC,KAAK,EAAE;KAC1C;IAED,eAAe;QACb,KAAK,CAAC,eAAe,EAAE,CAAC;QACxB,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,iBAAiB,CAAC,wBAAwB,CAAC,GAAG,IAAI,CAAC,gBAAgB,CAAC;KACrF;;;YA/DF,SAAS,SAAC;gBACT,QAAQ,EAAE,6BAA6B;gBACvC,QAAQ,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCT;gBACD,eAAe,EAAE,uBAAuB,CAAC,MAAM;aAChD;;;+BAEE,SAAS,SAAC,kBAAkB,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE;;;MCbpC,yBAAyB;;;YApBrC,QAAQ,SAAC;gBACR,YAAY,EAAE,CAAC,6BAA6B,CAAC;gBAC7C,OAAO,EAAE;oBACP,YAAY;oBACZ,mBAAmB;oBACnB,cAAc;oBACd,mBAAmB;oBAEnB,wBAAwB;oBACxB,YAAY,CAAC,QAAQ,CAAC;wBACpB,KAAK,EAAE;4BACL;gCACE,IAAI,EAAE,YAAY;gCAClB,SAAS,EAAE,6BAA6B;gCACxC,QAAQ,EAAE,CAAC,YAAY,CAAC;6BACzB;yBACF;qBACF,CAAC;iBACH;aACF;;;AC9BD;;;;;;"}
|
|
@@ -1,238 +0,0 @@
|
|
|
1
|
-
import { Component, ChangeDetectionStrategy, Renderer2, ElementRef, ViewChild, NgModule, Type, Directive, ViewChildren } from '@angular/core';
|
|
2
|
-
import { CommonModule } from '@angular/common';
|
|
3
|
-
import { FieldWrapper, ɵdefineHiddenProp, FormlyModule, FieldType as FieldType$1, ɵobserve } from '@ngx-formly/core';
|
|
4
|
-
import { ReactiveFormsModule } from '@angular/forms';
|
|
5
|
-
import { MatFormField, MatFormFieldModule, MatFormFieldControl } from '@angular/material/form-field';
|
|
6
|
-
import { FocusMonitor } from '@angular/cdk/a11y';
|
|
7
|
-
import { Subject } from 'rxjs';
|
|
8
|
-
|
|
9
|
-
class FormlyWrapperFormField extends FieldWrapper {
|
|
10
|
-
constructor(renderer, elementRef, focusMonitor) {
|
|
11
|
-
super();
|
|
12
|
-
this.renderer = renderer;
|
|
13
|
-
this.elementRef = elementRef;
|
|
14
|
-
this.focusMonitor = focusMonitor;
|
|
15
|
-
}
|
|
16
|
-
ngOnInit() {
|
|
17
|
-
ɵdefineHiddenProp(this.field, '_formField', this.formField);
|
|
18
|
-
this.focusMonitor.monitor(this.elementRef, true).subscribe((origin) => {
|
|
19
|
-
if (!origin && this.field.focus) {
|
|
20
|
-
this.field.focus = false;
|
|
21
|
-
}
|
|
22
|
-
});
|
|
23
|
-
}
|
|
24
|
-
ngAfterViewInit() {
|
|
25
|
-
// temporary fix for https://github.com/angular/material2/issues/7891
|
|
26
|
-
if (this.formField.appearance !== 'outline' && this.to.hideFieldUnderline === true) {
|
|
27
|
-
const underlineElement = this.formField._elementRef.nativeElement.querySelector('.mat-form-field-underline');
|
|
28
|
-
underlineElement && this.renderer.removeChild(underlineElement.parentNode, underlineElement);
|
|
29
|
-
}
|
|
30
|
-
}
|
|
31
|
-
ngOnDestroy() {
|
|
32
|
-
delete this.field._formField;
|
|
33
|
-
this.focusMonitor.stopMonitoring(this.elementRef);
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
|
-
FormlyWrapperFormField.decorators = [
|
|
37
|
-
{ type: Component, args: [{
|
|
38
|
-
selector: 'formly-wrapper-mat-form-field',
|
|
39
|
-
template: `
|
|
40
|
-
<!-- fix https://github.com/angular/material2/pull/7083 by setting width to 100% -->
|
|
41
|
-
<mat-form-field
|
|
42
|
-
[hideRequiredMarker]="true"
|
|
43
|
-
[floatLabel]="to.floatLabel"
|
|
44
|
-
[appearance]="to.appearance"
|
|
45
|
-
[color]="to.color"
|
|
46
|
-
[style.width]="'100%'"
|
|
47
|
-
>
|
|
48
|
-
<ng-container #fieldComponent></ng-container>
|
|
49
|
-
<mat-label *ngIf="to.label && to.hideLabel !== true">
|
|
50
|
-
{{ to.label }}
|
|
51
|
-
<span *ngIf="to.required && to.hideRequiredMarker !== true" class="mat-form-field-required-marker">*</span>
|
|
52
|
-
</mat-label>
|
|
53
|
-
|
|
54
|
-
<ng-container matPrefix *ngIf="field._matprefix">
|
|
55
|
-
<ng-container *ngTemplateOutlet="field._matprefix"></ng-container>
|
|
56
|
-
</ng-container>
|
|
57
|
-
|
|
58
|
-
<ng-container matSuffix *ngIf="field._matsuffix">
|
|
59
|
-
<ng-container *ngTemplateOutlet="field._matsuffix"></ng-container>
|
|
60
|
-
</ng-container>
|
|
61
|
-
|
|
62
|
-
<mat-error>
|
|
63
|
-
<formly-validation-message [field]="field"></formly-validation-message>
|
|
64
|
-
</mat-error>
|
|
65
|
-
|
|
66
|
-
<mat-hint *ngIf="to.description || to.hintStart as hint">
|
|
67
|
-
<ng-container [ngTemplateOutlet]="stringOrTemplate" [ngTemplateOutletContext]="{ content: hint }">
|
|
68
|
-
</ng-container>
|
|
69
|
-
</mat-hint>
|
|
70
|
-
|
|
71
|
-
<mat-hint *ngIf="to.hintEnd as hintEnd" align="end">
|
|
72
|
-
<ng-container [ngTemplateOutlet]="stringOrTemplate" [ngTemplateOutletContext]="{ content: hintEnd }">
|
|
73
|
-
</ng-container>
|
|
74
|
-
</mat-hint>
|
|
75
|
-
</mat-form-field>
|
|
76
|
-
|
|
77
|
-
<ng-template #stringOrTemplate let-content="content">
|
|
78
|
-
<ng-container *ngIf="!content.createEmbeddedView; else template">{{ content }}</ng-container>
|
|
79
|
-
<ng-template #template>
|
|
80
|
-
<ng-container *ngTemplateOutlet="content"></ng-container>
|
|
81
|
-
</ng-template>
|
|
82
|
-
</ng-template>
|
|
83
|
-
`,
|
|
84
|
-
changeDetection: ChangeDetectionStrategy.OnPush
|
|
85
|
-
},] }
|
|
86
|
-
];
|
|
87
|
-
FormlyWrapperFormField.ctorParameters = () => [
|
|
88
|
-
{ type: Renderer2 },
|
|
89
|
-
{ type: ElementRef },
|
|
90
|
-
{ type: FocusMonitor }
|
|
91
|
-
];
|
|
92
|
-
FormlyWrapperFormField.propDecorators = {
|
|
93
|
-
formField: [{ type: ViewChild, args: [MatFormField, { static: true },] }]
|
|
94
|
-
};
|
|
95
|
-
|
|
96
|
-
class FormlyMatFormFieldModule {
|
|
97
|
-
}
|
|
98
|
-
FormlyMatFormFieldModule.decorators = [
|
|
99
|
-
{ type: NgModule, args: [{
|
|
100
|
-
declarations: [FormlyWrapperFormField],
|
|
101
|
-
imports: [
|
|
102
|
-
CommonModule,
|
|
103
|
-
ReactiveFormsModule,
|
|
104
|
-
MatFormFieldModule,
|
|
105
|
-
FormlyModule.forChild({
|
|
106
|
-
wrappers: [
|
|
107
|
-
{
|
|
108
|
-
name: 'form-field',
|
|
109
|
-
component: FormlyWrapperFormField,
|
|
110
|
-
},
|
|
111
|
-
],
|
|
112
|
-
}),
|
|
113
|
-
],
|
|
114
|
-
},] }
|
|
115
|
-
];
|
|
116
|
-
|
|
117
|
-
class FieldType extends FieldType$1 {
|
|
118
|
-
constructor() {
|
|
119
|
-
super(...arguments);
|
|
120
|
-
this.errorStateMatcher = { isErrorState: () => this.field && this.showError };
|
|
121
|
-
this.stateChanges = new Subject();
|
|
122
|
-
this._errorState = false;
|
|
123
|
-
}
|
|
124
|
-
set _controls(controls) {
|
|
125
|
-
if (controls.length === 1 && !this.formFieldControl) {
|
|
126
|
-
this.formFieldControl = controls.first;
|
|
127
|
-
}
|
|
128
|
-
}
|
|
129
|
-
ngOnInit() {
|
|
130
|
-
ɵobserve(this, ['formFieldControl'], ({ currentValue }) => {
|
|
131
|
-
this.attachControl(currentValue || this);
|
|
132
|
-
});
|
|
133
|
-
}
|
|
134
|
-
ngAfterViewInit() {
|
|
135
|
-
if (this.matPrefix) {
|
|
136
|
-
this.to.prefix = this.matPrefix;
|
|
137
|
-
}
|
|
138
|
-
if (this.matSuffix) {
|
|
139
|
-
this.to.prefix = this.matSuffix;
|
|
140
|
-
}
|
|
141
|
-
}
|
|
142
|
-
ngOnDestroy() {
|
|
143
|
-
var _a;
|
|
144
|
-
(_a = this.formField) === null || _a === void 0 ? true : delete _a._control;
|
|
145
|
-
this.stateChanges.complete();
|
|
146
|
-
}
|
|
147
|
-
setDescribedByIds(ids) { }
|
|
148
|
-
onContainerClick(event) {
|
|
149
|
-
this.field.focus = true;
|
|
150
|
-
this.stateChanges.next();
|
|
151
|
-
}
|
|
152
|
-
get errorState() {
|
|
153
|
-
const showError = this.options.showError(this);
|
|
154
|
-
if (showError !== this._errorState) {
|
|
155
|
-
this._errorState = showError;
|
|
156
|
-
this.stateChanges.next();
|
|
157
|
-
}
|
|
158
|
-
return showError;
|
|
159
|
-
}
|
|
160
|
-
get controlType() {
|
|
161
|
-
if (this.to.type) {
|
|
162
|
-
return this.to.type;
|
|
163
|
-
}
|
|
164
|
-
if (this.field.type instanceof Type) {
|
|
165
|
-
return this.field.type.constructor.name;
|
|
166
|
-
}
|
|
167
|
-
return this.field.type;
|
|
168
|
-
}
|
|
169
|
-
get focused() {
|
|
170
|
-
return !!this.field.focus && !this.disabled;
|
|
171
|
-
}
|
|
172
|
-
get disabled() {
|
|
173
|
-
return !!this.to.disabled;
|
|
174
|
-
}
|
|
175
|
-
get required() {
|
|
176
|
-
return !!this.to.required;
|
|
177
|
-
}
|
|
178
|
-
get placeholder() {
|
|
179
|
-
return this.to.placeholder || '';
|
|
180
|
-
}
|
|
181
|
-
get shouldPlaceholderFloat() {
|
|
182
|
-
return this.shouldLabelFloat;
|
|
183
|
-
}
|
|
184
|
-
get value() {
|
|
185
|
-
return this.formControl.value;
|
|
186
|
-
}
|
|
187
|
-
set value(value) {
|
|
188
|
-
this.formControl.patchValue(value);
|
|
189
|
-
}
|
|
190
|
-
get ngControl() {
|
|
191
|
-
return this.formControl;
|
|
192
|
-
}
|
|
193
|
-
get empty() {
|
|
194
|
-
return this.value == null || this.value === '';
|
|
195
|
-
}
|
|
196
|
-
get shouldLabelFloat() {
|
|
197
|
-
return this.focused || !this.empty;
|
|
198
|
-
}
|
|
199
|
-
get formField() {
|
|
200
|
-
var _a;
|
|
201
|
-
return (_a = this.field) === null || _a === void 0 ? void 0 : _a['_formField'];
|
|
202
|
-
}
|
|
203
|
-
attachControl(control) {
|
|
204
|
-
var _a, _b;
|
|
205
|
-
if (this.formField && control !== this.formField._control) {
|
|
206
|
-
this.formField._control = control;
|
|
207
|
-
// temporary fix for https://github.com/angular/material2/issues/6728
|
|
208
|
-
if ((_b = (_a = control === null || control === void 0 ? void 0 : control.ngControl) === null || _a === void 0 ? void 0 : _a.valueAccessor) === null || _b === void 0 ? void 0 : _b.hasOwnProperty('_formField')) {
|
|
209
|
-
control.ngControl.valueAccessor['_formField'] = this.formField;
|
|
210
|
-
}
|
|
211
|
-
['prefix', 'suffix'].forEach((type) => ɵobserve(this.field, ['templateOptions', type], ({ currentValue }) => currentValue &&
|
|
212
|
-
Promise.resolve().then(() => {
|
|
213
|
-
this.field[`_mat${type}`] = currentValue;
|
|
214
|
-
this.options.detectChanges(this.field);
|
|
215
|
-
})));
|
|
216
|
-
// https://github.com/angular/components/issues/16209
|
|
217
|
-
const setDescribedByIds = control.setDescribedByIds.bind(control);
|
|
218
|
-
control.setDescribedByIds = (ids) => {
|
|
219
|
-
setTimeout(() => setDescribedByIds(ids));
|
|
220
|
-
};
|
|
221
|
-
}
|
|
222
|
-
}
|
|
223
|
-
}
|
|
224
|
-
FieldType.decorators = [
|
|
225
|
-
{ type: Directive }
|
|
226
|
-
];
|
|
227
|
-
FieldType.propDecorators = {
|
|
228
|
-
matPrefix: [{ type: ViewChild, args: ['matPrefix',] }],
|
|
229
|
-
matSuffix: [{ type: ViewChild, args: ['matSuffix',] }],
|
|
230
|
-
_controls: [{ type: ViewChildren, args: [MatFormFieldControl,] }]
|
|
231
|
-
};
|
|
232
|
-
|
|
233
|
-
/**
|
|
234
|
-
* Generated bundle index. Do not edit.
|
|
235
|
-
*/
|
|
236
|
-
|
|
237
|
-
export { FieldType, FormlyMatFormFieldModule, FormlyWrapperFormField as ɵa };
|
|
238
|
-
//# sourceMappingURL=ngx-formly-material-form-field.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ngx-formly-material-form-field.js","sources":["../../../../src/ui/material/form-field/src/form-field.wrapper.ts","../../../../src/ui/material/form-field/src/form-field.module.ts","../../../../src/ui/material/form-field/src/field.type.ts","../../../../src/ui/material/form-field/src/ngx-formly-material-form-field.ts"],"sourcesContent":["import {\n Component,\n ChangeDetectionStrategy,\n ViewChild,\n OnInit,\n OnDestroy,\n Renderer2,\n AfterViewInit,\n TemplateRef,\n ElementRef,\n} from '@angular/core';\nimport {\n ɵdefineHiddenProp as defineHiddenProp,\n FormlyFieldConfig as CoreFieldConfig,\n FormlyTemplateOptions,\n FieldWrapper,\n} from '@ngx-formly/core';\nimport { MatFormField } from '@angular/material/form-field';\nimport { FocusMonitor } from '@angular/cdk/a11y';\nimport { FloatLabelType, MatFormFieldAppearance } from '@angular/material/form-field/form-field';\nimport { ThemePalette } from '@angular/material/core';\n\ninterface MatFormlyFieldConfig extends FormlyFieldConfig {\n _matprefix?: TemplateRef<any>;\n _matsuffix?: TemplateRef<any>;\n _formField?: FormlyWrapperFormField;\n}\n\nexport interface FormlyFieldConfig extends CoreFieldConfig {\n templateOptions?: MatFormlyTemplateOptions;\n}\n\ninterface MatFormlyTemplateOptions extends FormlyTemplateOptions {\n prefix?: TemplateRef<any>;\n suffix?: TemplateRef<any>;\n hideLabel?: boolean;\n hideRequiredMarker?: boolean;\n hideFieldUnderline?: boolean;\n floatLabel?: FloatLabelType;\n appearance?: MatFormFieldAppearance;\n color?: ThemePalette;\n hintStart?: TemplateRef<any> | string;\n hintEnd?: TemplateRef<any> | string;\n}\n\n@Component({\n selector: 'formly-wrapper-mat-form-field',\n template: `\n <!-- fix https://github.com/angular/material2/pull/7083 by setting width to 100% -->\n <mat-form-field\n [hideRequiredMarker]=\"true\"\n [floatLabel]=\"to.floatLabel\"\n [appearance]=\"to.appearance\"\n [color]=\"to.color\"\n [style.width]=\"'100%'\"\n >\n <ng-container #fieldComponent></ng-container>\n <mat-label *ngIf=\"to.label && to.hideLabel !== true\">\n {{ to.label }}\n <span *ngIf=\"to.required && to.hideRequiredMarker !== true\" class=\"mat-form-field-required-marker\">*</span>\n </mat-label>\n\n <ng-container matPrefix *ngIf=\"field._matprefix\">\n <ng-container *ngTemplateOutlet=\"field._matprefix\"></ng-container>\n </ng-container>\n\n <ng-container matSuffix *ngIf=\"field._matsuffix\">\n <ng-container *ngTemplateOutlet=\"field._matsuffix\"></ng-container>\n </ng-container>\n\n <mat-error>\n <formly-validation-message [field]=\"field\"></formly-validation-message>\n </mat-error>\n\n <mat-hint *ngIf=\"to.description || to.hintStart as hint\">\n <ng-container [ngTemplateOutlet]=\"stringOrTemplate\" [ngTemplateOutletContext]=\"{ content: hint }\">\n </ng-container>\n </mat-hint>\n\n <mat-hint *ngIf=\"to.hintEnd as hintEnd\" align=\"end\">\n <ng-container [ngTemplateOutlet]=\"stringOrTemplate\" [ngTemplateOutletContext]=\"{ content: hintEnd }\">\n </ng-container>\n </mat-hint>\n </mat-form-field>\n\n <ng-template #stringOrTemplate let-content=\"content\">\n <ng-container *ngIf=\"!content.createEmbeddedView; else template\">{{ content }}</ng-container>\n <ng-template #template>\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n </ng-template>\n </ng-template>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class FormlyWrapperFormField\n extends FieldWrapper<MatFormlyFieldConfig>\n implements OnInit, OnDestroy, AfterViewInit {\n @ViewChild(MatFormField, { static: true }) formField!: MatFormField;\n field!: MatFormlyFieldConfig;\n\n constructor(private renderer: Renderer2, private elementRef: ElementRef, private focusMonitor: FocusMonitor) {\n super();\n }\n\n ngOnInit() {\n defineHiddenProp(this.field, '_formField', this.formField);\n this.focusMonitor.monitor(this.elementRef, true).subscribe((origin) => {\n if (!origin && this.field.focus) {\n this.field.focus = false;\n }\n });\n }\n\n ngAfterViewInit() {\n // temporary fix for https://github.com/angular/material2/issues/7891\n if (this.formField.appearance !== 'outline' && this.to.hideFieldUnderline === true) {\n const underlineElement = this.formField._elementRef.nativeElement.querySelector('.mat-form-field-underline');\n underlineElement && this.renderer.removeChild(underlineElement.parentNode, underlineElement);\n }\n }\n\n ngOnDestroy() {\n delete this.field._formField;\n this.focusMonitor.stopMonitoring(this.elementRef);\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormlyModule } from '@ngx-formly/core';\nimport { ReactiveFormsModule } from '@angular/forms';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { FormlyWrapperFormField } from './form-field.wrapper';\n\n@NgModule({\n declarations: [FormlyWrapperFormField],\n imports: [\n CommonModule,\n ReactiveFormsModule,\n MatFormFieldModule,\n FormlyModule.forChild({\n wrappers: [\n {\n name: 'form-field',\n component: FormlyWrapperFormField,\n },\n ],\n }),\n ],\n})\nexport class FormlyMatFormFieldModule {}\n","import {\n OnInit,\n OnDestroy,\n AfterViewInit,\n TemplateRef,\n ViewChild,\n Type,\n Directive,\n ViewChildren,\n QueryList,\n} from '@angular/core';\nimport { FieldType as CoreFieldType, ɵobserve as observe } from '@ngx-formly/core';\nimport { Subject } from 'rxjs';\nimport { MatFormField, MatFormFieldControl } from '@angular/material/form-field';\nimport { ErrorStateMatcher } from '@angular/material/core';\nimport { FormlyFieldConfig } from './form-field.wrapper';\n\n@Directive()\nexport abstract class FieldType<F extends FormlyFieldConfig = FormlyFieldConfig>\n extends CoreFieldType<F>\n implements OnInit, AfterViewInit, OnDestroy, MatFormFieldControl<any> {\n @ViewChild('matPrefix') matPrefix!: TemplateRef<any>;\n @ViewChild('matSuffix') matSuffix!: TemplateRef<any>;\n\n formFieldControl!: MatFormFieldControl<any>;\n @ViewChildren(MatFormFieldControl) set _controls(controls: QueryList<MatFormFieldControl<any>>) {\n if (controls.length === 1 && !this.formFieldControl) {\n this.formFieldControl = controls.first;\n }\n }\n\n errorStateMatcher: ErrorStateMatcher = { isErrorState: () => this.field && this.showError };\n stateChanges = new Subject<void>();\n _errorState = false;\n\n ngOnInit() {\n observe(this, ['formFieldControl'], ({ currentValue }) => {\n this.attachControl(currentValue || this);\n });\n }\n\n ngAfterViewInit() {\n if (this.matPrefix) {\n this.to.prefix = this.matPrefix;\n }\n if (this.matSuffix) {\n this.to.prefix = this.matSuffix;\n }\n }\n\n ngOnDestroy() {\n delete (this.formField as any)?._control;\n this.stateChanges.complete();\n }\n\n setDescribedByIds(ids: string[]): void {}\n onContainerClick(event: MouseEvent): void {\n this.field.focus = true;\n this.stateChanges.next();\n }\n\n get errorState() {\n const showError = this.options!.showError!(this);\n if (showError !== this._errorState) {\n this._errorState = showError;\n this.stateChanges.next();\n }\n\n return showError;\n }\n\n get controlType() {\n if (this.to.type) {\n return this.to.type;\n }\n\n if (<any>this.field.type instanceof Type) {\n return this.field.type!.constructor.name;\n }\n\n return this.field.type!;\n }\n get focused() {\n return !!this.field.focus && !this.disabled;\n }\n get disabled() {\n return !!this.to.disabled;\n }\n get required() {\n return !!this.to.required;\n }\n get placeholder() {\n return this.to.placeholder || '';\n }\n get shouldPlaceholderFloat() {\n return this.shouldLabelFloat;\n }\n get value() {\n return this.formControl.value;\n }\n set value(value) {\n this.formControl.patchValue(value);\n }\n get ngControl() {\n return this.formControl as any;\n }\n get empty() {\n return this.value == null || this.value === '';\n }\n get shouldLabelFloat() {\n return this.focused || !this.empty;\n }\n get formField(): MatFormField {\n return (this.field as any)?.['_formField'];\n }\n\n private attachControl(control: MatFormFieldControl<any>) {\n if (this.formField && control !== this.formField._control) {\n this.formField._control = control;\n\n // temporary fix for https://github.com/angular/material2/issues/6728\n if (control?.ngControl?.valueAccessor?.hasOwnProperty('_formField')) {\n (control.ngControl.valueAccessor as any)['_formField'] = this.formField;\n }\n\n ['prefix', 'suffix'].forEach((type) =>\n observe<TemplateRef<any>>(\n this.field,\n ['templateOptions', type],\n ({ currentValue }) =>\n currentValue &&\n Promise.resolve().then(() => {\n (<any>this.field)[`_mat${type}`] = currentValue;\n this.options.detectChanges!(this.field);\n }),\n ),\n );\n\n // https://github.com/angular/components/issues/16209\n const setDescribedByIds = control.setDescribedByIds.bind(control);\n control.setDescribedByIds = (ids: string[]) => {\n setTimeout(() => setDescribedByIds(ids));\n };\n }\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n\nexport {FormlyWrapperFormField as ɵa} from './form-field.wrapper';"],"names":["defineHiddenProp","CoreFieldType","observe"],"mappings":";;;;;;;;MA8Fa,sBACX,SAAQ,YAAkC;IAK1C,YAAoB,QAAmB,EAAU,UAAsB,EAAU,YAA0B;QACzG,KAAK,EAAE,CAAC;QADU,aAAQ,GAAR,QAAQ,CAAW;QAAU,eAAU,GAAV,UAAU,CAAY;QAAU,iBAAY,GAAZ,YAAY,CAAc;KAE1G;IAED,QAAQ;QACNA,iBAAgB,CAAC,IAAI,CAAC,KAAK,EAAE,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;QAC3D,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC,SAAS,CAAC,CAAC,MAAM;YAChE,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE;gBAC/B,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC;aAC1B;SACF,CAAC,CAAC;KACJ;IAED,eAAe;;QAEb,IAAI,IAAI,CAAC,SAAS,CAAC,UAAU,KAAK,SAAS,IAAI,IAAI,CAAC,EAAE,CAAC,kBAAkB,KAAK,IAAI,EAAE;YAClF,MAAM,gBAAgB,GAAG,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,aAAa,CAAC,aAAa,CAAC,2BAA2B,CAAC,CAAC;YAC7G,gBAAgB,IAAI,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,gBAAgB,CAAC,UAAU,EAAE,gBAAgB,CAAC,CAAC;SAC9F;KACF;IAED,WAAW;QACT,OAAO,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC;QAC7B,IAAI,CAAC,YAAY,CAAC,cAAc,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;KACnD;;;YA/EF,SAAS,SAAC;gBACT,QAAQ,EAAE,+BAA+B;gBACzC,QAAQ,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4CT;gBACD,eAAe,EAAE,uBAAuB,CAAC,MAAM;aAChD;;;YAvFC,SAAS;YAGT,UAAU;YASH,YAAY;;;wBA+ElB,SAAS,SAAC,YAAY,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE;;;MC1E9B,wBAAwB;;;YAhBpC,QAAQ,SAAC;gBACR,YAAY,EAAE,CAAC,sBAAsB,CAAC;gBACtC,OAAO,EAAE;oBACP,YAAY;oBACZ,mBAAmB;oBACnB,kBAAkB;oBAClB,YAAY,CAAC,QAAQ,CAAC;wBACpB,QAAQ,EAAE;4BACR;gCACE,IAAI,EAAE,YAAY;gCAClB,SAAS,EAAE,sBAAsB;6BAClC;yBACF;qBACF,CAAC;iBACH;aACF;;;MCJqB,SACpB,SAAQC,WAAgB;IAF1B;;QAcE,sBAAiB,GAAsB,EAAE,YAAY,EAAE,MAAM,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;QAC5F,iBAAY,GAAG,IAAI,OAAO,EAAQ,CAAC;QACnC,gBAAW,GAAG,KAAK,CAAC;KAgHrB;IAxHC,IAAuC,SAAS,CAAC,QAA6C;QAC5F,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE;YACnD,IAAI,CAAC,gBAAgB,GAAG,QAAQ,CAAC,KAAK,CAAC;SACxC;KACF;IAMD,QAAQ;QACNC,QAAO,CAAC,IAAI,EAAE,CAAC,kBAAkB,CAAC,EAAE,CAAC,EAAE,YAAY,EAAE;YACnD,IAAI,CAAC,aAAa,CAAC,YAAY,IAAI,IAAI,CAAC,CAAC;SAC1C,CAAC,CAAC;KACJ;IAED,eAAe;QACb,IAAI,IAAI,CAAC,SAAS,EAAE;YAClB,IAAI,CAAC,EAAE,CAAC,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC;SACjC;QACD,IAAI,IAAI,CAAC,SAAS,EAAE;YAClB,IAAI,CAAC,EAAE,CAAC,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC;SACjC;KACF;IAED,WAAW;;QACT,MAAQ,IAAI,CAAC,SAAiB,+CAAE,QAAQ,CAAC;QACzC,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC;KAC9B;IAED,iBAAiB,CAAC,GAAa,KAAU;IACzC,gBAAgB,CAAC,KAAiB;QAChC,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC;QACxB,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC;KAC1B;IAED,IAAI,UAAU;QACZ,MAAM,SAAS,GAAG,IAAI,CAAC,OAAQ,CAAC,SAAU,CAAC,IAAI,CAAC,CAAC;QACjD,IAAI,SAAS,KAAK,IAAI,CAAC,WAAW,EAAE;YAClC,IAAI,CAAC,WAAW,GAAG,SAAS,CAAC;YAC7B,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC;SAC1B;QAED,OAAO,SAAS,CAAC;KAClB;IAED,IAAI,WAAW;QACb,IAAI,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE;YAChB,OAAO,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC;SACrB;QAED,IAAS,IAAI,CAAC,KAAK,CAAC,IAAI,YAAY,IAAI,EAAE;YACxC,OAAO,IAAI,CAAC,KAAK,CAAC,IAAK,CAAC,WAAW,CAAC,IAAI,CAAC;SAC1C;QAED,OAAO,IAAI,CAAC,KAAK,CAAC,IAAK,CAAC;KACzB;IACD,IAAI,OAAO;QACT,OAAO,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC;KAC7C;IACD,IAAI,QAAQ;QACV,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC;KAC3B;IACD,IAAI,QAAQ;QACV,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC;KAC3B;IACD,IAAI,WAAW;QACb,OAAO,IAAI,CAAC,EAAE,CAAC,WAAW,IAAI,EAAE,CAAC;KAClC;IACD,IAAI,sBAAsB;QACxB,OAAO,IAAI,CAAC,gBAAgB,CAAC;KAC9B;IACD,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC;KAC/B;IACD,IAAI,KAAK,CAAC,KAAK;QACb,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;KACpC;IACD,IAAI,SAAS;QACX,OAAO,IAAI,CAAC,WAAkB,CAAC;KAChC;IACD,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,KAAK,IAAI,IAAI,IAAI,IAAI,CAAC,KAAK,KAAK,EAAE,CAAC;KAChD;IACD,IAAI,gBAAgB;QAClB,OAAO,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;KACpC;IACD,IAAI,SAAS;;QACX,aAAQ,IAAI,CAAC,KAAa,0CAAG,YAAY,EAAE;KAC5C;IAEO,aAAa,CAAC,OAAiC;;QACrD,IAAI,IAAI,CAAC,SAAS,IAAI,OAAO,KAAK,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE;YACzD,IAAI,CAAC,SAAS,CAAC,QAAQ,GAAG,OAAO,CAAC;;YAGlC,gBAAI,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,SAAS,0CAAE,aAAa,0CAAE,cAAc,CAAC,YAAY,GAAG;gBAClE,OAAO,CAAC,SAAS,CAAC,aAAqB,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC;aACzE;YAED,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,KAChCA,QAAO,CACL,IAAI,CAAC,KAAK,EACV,CAAC,iBAAiB,EAAE,IAAI,CAAC,EACzB,CAAC,EAAE,YAAY,EAAE,KACf,YAAY;gBACZ,OAAO,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC;oBACf,IAAI,CAAC,KAAM,CAAC,OAAO,IAAI,EAAE,CAAC,GAAG,YAAY,CAAC;oBAChD,IAAI,CAAC,OAAO,CAAC,aAAc,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;iBACzC,CAAC,CACL,CACF,CAAC;;YAGF,MAAM,iBAAiB,GAAG,OAAO,CAAC,iBAAiB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAClE,OAAO,CAAC,iBAAiB,GAAG,CAAC,GAAa;gBACxC,UAAU,CAAC,MAAM,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC;aAC1C,CAAC;SACH;KACF;;;YA/HF,SAAS;;;wBAIP,SAAS,SAAC,WAAW;wBACrB,SAAS,SAAC,WAAW;wBAGrB,YAAY,SAAC,mBAAmB;;;ACzBnC;;;;;;"}
|