@ngx-formly/ionic 8.0.0 → 10.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +46 -19
- package/fesm2022/ngx-formly-ionic-checkbox.mjs +7 -7
- package/fesm2022/ngx-formly-ionic-datetime.mjs +39 -11
- package/fesm2022/ngx-formly-ionic-datetime.mjs.map +1 -1
- package/fesm2022/ngx-formly-ionic-form-field.mjs +19 -13
- package/fesm2022/ngx-formly-ionic-form-field.mjs.map +1 -1
- package/fesm2022/ngx-formly-ionic-input.mjs +11 -9
- package/fesm2022/ngx-formly-ionic-input.mjs.map +1 -1
- package/fesm2022/ngx-formly-ionic-radio.mjs +7 -7
- package/fesm2022/ngx-formly-ionic-select.mjs +11 -9
- package/fesm2022/ngx-formly-ionic-select.mjs.map +1 -1
- package/fesm2022/ngx-formly-ionic-slider.mjs +9 -9
- package/fesm2022/ngx-formly-ionic-slider.mjs.map +1 -1
- package/fesm2022/ngx-formly-ionic-textarea.mjs +9 -9
- package/fesm2022/ngx-formly-ionic-textarea.mjs.map +1 -1
- package/fesm2022/ngx-formly-ionic-toggle.mjs +7 -7
- package/fesm2022/ngx-formly-ionic.mjs +4 -4
- package/package.json +14 -13
- package/types/ngx-formly-ionic-checkbox.d.ts +30 -0
- package/{datetime/datetime.type.d.ts → types/ngx-formly-ionic-datetime.d.ts} +21 -5
- package/types/ngx-formly-ionic-form-field.d.ts +37 -0
- package/types/ngx-formly-ionic-input.d.ts +30 -0
- package/types/ngx-formly-ionic-radio.d.ts +30 -0
- package/types/ngx-formly-ionic-select.d.ts +44 -0
- package/types/ngx-formly-ionic-slider.d.ts +30 -0
- package/types/ngx-formly-ionic-textarea.d.ts +30 -0
- package/types/ngx-formly-ionic-toggle.d.ts +30 -0
- package/types/ngx-formly-ionic.d.ts +21 -0
- package/checkbox/checkbox.config.d.ts +0 -2
- package/checkbox/checkbox.module.d.ts +0 -12
- package/checkbox/checkbox.type.d.ts +0 -14
- package/checkbox/index.d.ts +0 -5
- package/checkbox/public_api.d.ts +0 -3
- package/datetime/datetime.config.d.ts +0 -2
- package/datetime/datetime.module.d.ts +0 -12
- package/datetime/index.d.ts +0 -5
- package/datetime/public_api.d.ts +0 -3
- package/form-field/form-field.config.d.ts +0 -2
- package/form-field/form-field.module.d.ts +0 -12
- package/form-field/form-field.wrapper.d.ts +0 -12
- package/form-field/formly.attributes.d.ts +0 -9
- package/form-field/index.d.ts +0 -5
- package/form-field/public_api.d.ts +0 -4
- package/index.d.ts +0 -5
- package/input/index.d.ts +0 -5
- package/input/input.config.d.ts +0 -2
- package/input/input.module.d.ts +0 -12
- package/input/input.type.d.ts +0 -14
- package/input/public_api.d.ts +0 -3
- package/lib/ui-ionic.config.d.ts +0 -1
- package/lib/ui-ionic.d.ts +0 -2
- package/lib/ui-ionic.module.d.ts +0 -15
- package/public_api.d.ts +0 -1
- package/radio/index.d.ts +0 -5
- package/radio/public_api.d.ts +0 -3
- package/radio/radio.config.d.ts +0 -2
- package/radio/radio.module.d.ts +0 -13
- package/radio/radio.type.d.ts +0 -13
- package/select/index.d.ts +0 -5
- package/select/public_api.d.ts +0 -3
- package/select/select.config.d.ts +0 -2
- package/select/select.module.d.ts +0 -13
- package/select/select.type.d.ts +0 -25
- package/slider/index.d.ts +0 -5
- package/slider/public_api.d.ts +0 -3
- package/slider/slider.config.d.ts +0 -2
- package/slider/slider.module.d.ts +0 -12
- package/slider/slider.type.d.ts +0 -14
- package/textarea/index.d.ts +0 -5
- package/textarea/public_api.d.ts +0 -3
- package/textarea/textarea.config.d.ts +0 -2
- package/textarea/textarea.module.d.ts +0 -12
- package/textarea/textarea.type.d.ts +0 -14
- package/toggle/index.d.ts +0 -5
- package/toggle/public_api.d.ts +0 -3
- package/toggle/toggle.config.d.ts +0 -2
- package/toggle/toggle.module.d.ts +0 -12
- package/toggle/toggle.type.d.ts +0 -14
package/README.md
CHANGED
|
@@ -25,14 +25,23 @@ Formly is a dynamic (JSON powered) form library for Angular that brings unmatche
|
|
|
25
25
|
- ⚡️ Supports multiple schemas:
|
|
26
26
|
- Formly Schema (core)
|
|
27
27
|
- JSON Schema
|
|
28
|
+
- JSON Schema string defaults are configurable. See [schema defaults](docs/json-schema.md#defaults).
|
|
28
29
|
- 😍 A bunch of themes, out of the box!
|
|
29
30
|
- 💪 Built on top of [Angular Reactive Forms](https://angular.dev/guide/forms/reactive-forms)
|
|
31
|
+
- Nullable JSON Schema numbers preserve `null` when cleared. See [JSON Schema](docs/json-schema.md#nullable-numbers).
|
|
32
|
+
- Forms emit their initial validation status after building, including valid forms. See [form notifications](docs/properties-options.md#initial-validation-status).
|
|
33
|
+
- Subscribe to controls after fields load with the `fieldChange` output. See [form build notifications](docs/properties-options.md#accessing-controls-after-a-build).
|
|
30
34
|
- 📹 [@eggheadio course](https://egghead.io/playlists/configuration-based-reactive-angular-forms-with-ngx-formly-465f) - 20 lessons & 78 minutes
|
|
31
35
|
|
|
32
36
|
## Docs
|
|
33
37
|
|
|
38
|
+
Try the live configuration-to-form example on [formly.dev](https://formly.dev), then explore the guides and UI demos.
|
|
39
|
+
Use the search button or Cmd/Ctrl+K to search guide and migration text, plus UI and example page names.
|
|
40
|
+
|
|
34
41
|
- [Get Started](https://formly.dev/guide)
|
|
42
|
+
- [CSP-safe expressions and optional chaining](docs/expression-properties.md#4-expression-evaluation)
|
|
35
43
|
- [Themes](https://formly.dev/ui)
|
|
44
|
+
- [Ionic select interface options](docs/properties-options.md#ionic-select-interfaces)
|
|
36
45
|
- [Examples](https://formly.dev/examples)
|
|
37
46
|
|
|
38
47
|
## Resources
|
|
@@ -55,25 +64,43 @@ Formly is a dynamic (JSON powered) form library for Angular that brings unmatche
|
|
|
55
64
|
|
|
56
65
|
#### **Which Version to use?**
|
|
57
66
|
|
|
58
|
-
| Angular version | Formly version
|
|
59
|
-
| --------------- |
|
|
60
|
-
| Angular >=
|
|
61
|
-
| Angular >=
|
|
62
|
-
| Angular >=
|
|
63
|
-
| Angular >=
|
|
64
|
-
| Angular >=
|
|
65
|
-
| Angular >=
|
|
66
|
-
| Angular >=
|
|
67
|
-
| Angular >=
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
67
|
+
| Angular version | Formly version | Migration |
|
|
68
|
+
| --------------- | -------------------- | ---------------------------------- |
|
|
69
|
+
| Angular >= 21 | `@ngx-formly/core@10.x` | [Upgrade to v10](UPGRADE-10.0.md) |
|
|
70
|
+
| Angular >= 20 | `@ngx-formly/core@9.x` | [Upgrade to v9](UPGRADE-9.0.md) |
|
|
71
|
+
| Angular >= 19 | `@ngx-formly/core@8.x` | [Upgrade to v8](UPGRADE-8.0.md) |
|
|
72
|
+
| Angular >= 18 | `@ngx-formly/core@7.x` | [Upgrade to v7](UPGRADE-7.0.md) |
|
|
73
|
+
| Angular >= 13 | `@ngx-formly/core@6.x` | [Upgrade to v6](UPGRADE-6.0.md) |
|
|
74
|
+
| Angular >= 7 | `@ngx-formly/core@5.x` | [Upgrade to v5](UPGRADE-5.0.md) |
|
|
75
|
+
| Angular >= 6 | `@ngx-formly/core@4.x` | |
|
|
76
|
+
| Angular >= 5 | `@ngx-formly/core@3.x` | |
|
|
77
|
+
| Angular >= 4 | `@ngx-formly/core@2.x` | [Upgrade to v2](UPGRADE-2.0.md) |
|
|
78
|
+
| Angular >= 2 | `ng-formly@1.x` | |
|
|
79
|
+
|
|
80
|
+
#### Upgrading to v10
|
|
81
|
+
|
|
82
|
+
Formly v10 requires Angular 21 or newer. Upgrade Angular first, then update all
|
|
83
|
+
`@ngx-formly/*` packages used by your application together to v10.
|
|
84
|
+
The Material, PrimeNG, and NG-ZORRO integrations require version 21 or newer of
|
|
85
|
+
their respective UI libraries. Kendo requires version 21.4.1 or newer, and NativeScript
|
|
86
|
+
requires `@nativescript/angular` 21 or newer. Applications staying on Angular 20 should use Formly v9.
|
|
87
|
+
|
|
88
|
+
See the [v10 upgrade guide](UPGRADE-10.0.md) for migration steps.
|
|
89
|
+
|
|
90
|
+
#### Upgrading to v9
|
|
91
|
+
|
|
92
|
+
Formly v9 requires Angular 20 or newer. Upgrade Angular first, then update all
|
|
93
|
+
`@ngx-formly/*` packages used by your application together to v9.
|
|
94
|
+
The Material, PrimeNG, and NG-ZORRO integrations require version 20 or newer of
|
|
95
|
+
their respective UI libraries. Kendo requires version 19.1 or newer, and NativeScript
|
|
96
|
+
requires `@nativescript/angular` 20 or newer. Applications staying on Angular 19 should
|
|
97
|
+
use Formly v8; applications staying on Angular 18 should use Formly v7.
|
|
98
|
+
|
|
99
|
+
PrimeNG datepicker fields no longer accept `monthNavigator`, `yearNavigator`, or
|
|
100
|
+
`yearRange`, which PrimeNG 20 removed. Replace `@primeng/themes` imports with
|
|
101
|
+
`@primeuix/themes` when configuring a PrimeNG theme.
|
|
102
|
+
|
|
103
|
+
See the [v9 upgrade guide](UPGRADE-9.0.md) for migration steps and the [changelog](CHANGELOG.md) for the full list of changes.
|
|
77
104
|
|
|
78
105
|
## Core Team
|
|
79
106
|
|
|
@@ -11,14 +11,14 @@ import { FormlyFormFieldModule } from '@ngx-formly/ionic/form-field';
|
|
|
11
11
|
import { CommonModule } from '@angular/common';
|
|
12
12
|
|
|
13
13
|
class FormlyFieldCheckbox extends FieldType {
|
|
14
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
15
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
|
14
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.25", ngImport: i0, type: FormlyFieldCheckbox, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
15
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.25", type: FormlyFieldCheckbox, isStandalone: false, selector: "formly-field-ion-checkbox", usesInheritance: true, ngImport: i0, template: `
|
|
16
16
|
<ion-checkbox [formControl]="formControl" [ionFormlyAttributes]="field">
|
|
17
17
|
{{ props.label }}
|
|
18
18
|
</ion-checkbox>
|
|
19
19
|
`, isInline: true, styles: [":host{display:inherit}\n"], dependencies: [{ kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: i2.IonCheckbox, selector: "ion-checkbox", inputs: ["alignment", "checked", "color", "disabled", "errorText", "helperText", "indeterminate", "justify", "labelPlacement", "mode", "name", "required", "value"] }, { kind: "directive", type: i2.BooleanValueAccessor, selector: "ion-checkbox,ion-toggle" }, { kind: "directive", type: i3.ɵIonFormlyAttributes, selector: "[ionFormlyAttributes]", inputs: ["ionFormlyAttributes"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
20
20
|
}
|
|
21
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
21
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.25", ngImport: i0, type: FormlyFieldCheckbox, decorators: [{
|
|
22
22
|
type: Component,
|
|
23
23
|
args: [{ selector: 'formly-field-ion-checkbox', template: `
|
|
24
24
|
<ion-checkbox [formControl]="formControl" [ionFormlyAttributes]="field">
|
|
@@ -44,18 +44,18 @@ function withFormlyFieldCheckbox() {
|
|
|
44
44
|
}
|
|
45
45
|
|
|
46
46
|
class FormlyCheckboxModule {
|
|
47
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
48
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "
|
|
47
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.25", ngImport: i0, type: FormlyCheckboxModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
48
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.25", ngImport: i0, type: FormlyCheckboxModule, declarations: [FormlyFieldCheckbox], imports: [CommonModule,
|
|
49
49
|
ReactiveFormsModule,
|
|
50
50
|
IonicModule,
|
|
51
51
|
FormlyFormFieldModule, i1$1.FormlyModule] }); }
|
|
52
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "
|
|
52
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.25", ngImport: i0, type: FormlyCheckboxModule, imports: [CommonModule,
|
|
53
53
|
ReactiveFormsModule,
|
|
54
54
|
IonicModule,
|
|
55
55
|
FormlyFormFieldModule,
|
|
56
56
|
FormlyModule.forChild(withFormlyFieldCheckbox())] }); }
|
|
57
57
|
}
|
|
58
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
58
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.25", ngImport: i0, type: FormlyCheckboxModule, decorators: [{
|
|
59
59
|
type: NgModule,
|
|
60
60
|
args: [{
|
|
61
61
|
declarations: [FormlyFieldCheckbox],
|
|
@@ -53,11 +53,25 @@ class FormlyFieldDatetime extends FieldType {
|
|
|
53
53
|
this.isOpen = false;
|
|
54
54
|
this.formControl.markAsTouched();
|
|
55
55
|
}
|
|
56
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
57
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
58
|
-
<ion-item
|
|
56
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.25", ngImport: i0, type: FormlyFieldDatetime, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
57
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.25", type: FormlyFieldDatetime, isStandalone: false, selector: "formly-field-ion-datetime", viewQueries: [{ propertyName: "datetime", first: true, predicate: IonDatetime, descendants: true }], usesInheritance: true, ngImport: i0, template: `
|
|
58
|
+
<ion-item
|
|
59
|
+
[button]="true"
|
|
60
|
+
[detail]="false"
|
|
61
|
+
[disabled]="formControl.disabled"
|
|
62
|
+
[attr.aria-label]="props.label"
|
|
63
|
+
aria-haspopup="dialog"
|
|
64
|
+
[attr.aria-expanded]="isOpen"
|
|
65
|
+
(click)="isOpen = true"
|
|
66
|
+
>
|
|
59
67
|
<ion-label>
|
|
60
|
-
|
|
68
|
+
@if (!props.hideLabel) {
|
|
69
|
+
{{ props.label }}
|
|
70
|
+
@if (props.required && !props.hideRequiredMarker) {
|
|
71
|
+
<span aria-hidden="true">*</span>
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
<p>{{ formControl.value ? (formControl.value | date: displayFormat()) : props.placeholder }}</p>
|
|
61
75
|
</ion-label>
|
|
62
76
|
</ion-item>
|
|
63
77
|
<ion-modal
|
|
@@ -90,12 +104,26 @@ class FormlyFieldDatetime extends FieldType {
|
|
|
90
104
|
</ion-modal>
|
|
91
105
|
`, isInline: true, styles: [".ion-datetime-modal{--width: 310px;--border-radius: 8px}.ion-datetime-modal.ion-datetime-modal-time-date{--height: 440px}.ion-datetime-modal.ion-datetime-modal-date{--height: 390px}.ion-datetime-modal.ion-datetime-modal-time{--height: 260px}formly-field-ion-datetime{display:inherit}formly-field-ion-datetime ion-item{flex:1}\n"], dependencies: [{ kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: i2.IonButton, selector: "ion-button", inputs: ["buttonType", "color", "disabled", "download", "expand", "fill", "form", "href", "mode", "rel", "routerAnimation", "routerDirection", "shape", "size", "strong", "target", "type"] }, { kind: "component", type: i2.IonButtons, selector: "ion-buttons", inputs: ["collapse"] }, { kind: "component", type: i2.IonDatetime, selector: "ion-datetime", inputs: ["cancelText", "clearText", "color", "dayValues", "disabled", "doneText", "firstDayOfWeek", "formatOptions", "highlightedDates", "hourCycle", "hourValues", "isDateEnabled", "locale", "max", "min", "minuteValues", "mode", "monthValues", "multiple", "name", "preferWheel", "presentation", "readonly", "showAdjacentDays", "showClearButton", "showDefaultButtons", "showDefaultTimeLabel", "showDefaultTitle", "size", "titleSelectedDatesFormatter", "value", "yearValues"] }, { kind: "component", type: i2.IonItem, selector: "ion-item", inputs: ["button", "color", "detail", "detailIcon", "disabled", "download", "href", "lines", "mode", "rel", "routerAnimation", "routerDirection", "target", "type"] }, { kind: "component", type: i2.IonLabel, selector: "ion-label", inputs: ["color", "mode", "position"] }, { kind: "component", type: i2.IonModal, selector: "ion-modal" }, { kind: "directive", type: i2.SelectValueAccessor, selector: "ion-select, ion-radio-group, ion-segment, ion-datetime" }, { kind: "directive", type: i3.ɵIonFormlyAttributes, selector: "[ionFormlyAttributes]", inputs: ["ionFormlyAttributes"] }, { kind: "pipe", type: i4.DatePipe, name: "date" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
92
106
|
}
|
|
93
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
107
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.25", ngImport: i0, type: FormlyFieldDatetime, decorators: [{
|
|
94
108
|
type: Component,
|
|
95
109
|
args: [{ selector: 'formly-field-ion-datetime', template: `
|
|
96
|
-
<ion-item
|
|
110
|
+
<ion-item
|
|
111
|
+
[button]="true"
|
|
112
|
+
[detail]="false"
|
|
113
|
+
[disabled]="formControl.disabled"
|
|
114
|
+
[attr.aria-label]="props.label"
|
|
115
|
+
aria-haspopup="dialog"
|
|
116
|
+
[attr.aria-expanded]="isOpen"
|
|
117
|
+
(click)="isOpen = true"
|
|
118
|
+
>
|
|
97
119
|
<ion-label>
|
|
98
|
-
|
|
120
|
+
@if (!props.hideLabel) {
|
|
121
|
+
{{ props.label }}
|
|
122
|
+
@if (props.required && !props.hideRequiredMarker) {
|
|
123
|
+
<span aria-hidden="true">*</span>
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
<p>{{ formControl.value ? (formControl.value | date: displayFormat()) : props.placeholder }}</p>
|
|
99
127
|
</ion-label>
|
|
100
128
|
</ion-item>
|
|
101
129
|
<ion-modal
|
|
@@ -145,18 +173,18 @@ function withFormlyFieldDatetime() {
|
|
|
145
173
|
}
|
|
146
174
|
|
|
147
175
|
class FormlyDatetimeModule {
|
|
148
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
149
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "
|
|
176
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.25", ngImport: i0, type: FormlyDatetimeModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
177
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.25", ngImport: i0, type: FormlyDatetimeModule, declarations: [FormlyFieldDatetime], imports: [CommonModule,
|
|
150
178
|
ReactiveFormsModule,
|
|
151
179
|
IonicModule,
|
|
152
180
|
FormlyFormFieldModule, i1$1.FormlyModule] }); }
|
|
153
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "
|
|
181
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.25", ngImport: i0, type: FormlyDatetimeModule, imports: [CommonModule,
|
|
154
182
|
ReactiveFormsModule,
|
|
155
183
|
IonicModule,
|
|
156
184
|
FormlyFormFieldModule,
|
|
157
185
|
FormlyModule.forChild(withFormlyFieldDatetime())] }); }
|
|
158
186
|
}
|
|
159
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
187
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.25", ngImport: i0, type: FormlyDatetimeModule, decorators: [{
|
|
160
188
|
type: NgModule,
|
|
161
189
|
args: [{
|
|
162
190
|
declarations: [FormlyFieldDatetime],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ngx-formly-ionic-datetime.mjs","sources":["../../../../src/ui/ionic/datetime/src/datetime.type.ts","../../../../src/ui/ionic/datetime/src/datetime.config.ts","../../../../src/ui/ionic/datetime/src/datetime.module.ts","../../../../src/ui/ionic/datetime/src/ngx-formly-ionic-datetime.ts"],"sourcesContent":["import { Component, ChangeDetectionStrategy, ViewChild, ViewEncapsulation, Type } from '@angular/core';\nimport { IonDatetime } from '@ionic/angular';\nimport { FieldType, FieldTypeConfig, FormlyFieldConfig } from '@ngx-formly/core';\nimport { FormlyFieldProps } from '@ngx-formly/ionic/form-field';\n\ninterface DatetimeProps extends FormlyFieldProps {\n presentation?: 'date' | 'date-time' | 'month' | 'month-year' | 'time' | 'time-date' | 'year';\n locale?: any;\n cancelText?: string;\n doneText?: string;\n dayValues?: number | number[] | string | undefined;\n hourValues?: number | number[] | string | undefined;\n minuteValues?: number | number[] | string | undefined;\n monthValues?: number | number[] | string | undefined;\n yearValues?: number | number[] | string | undefined;\n minDate?: string | undefined;\n maxDate?: string | undefined;\n displayFormat?: string;\n}\n\nexport interface FormlyDatetimeFieldConfig extends FormlyFieldConfig<DatetimeProps> {\n type: 'datetime' | Type<FormlyFieldDatetime>;\n}\n\n@Component({\n selector: 'formly-field-ion-datetime',\n template: `\n <ion-item
|
|
1
|
+
{"version":3,"file":"ngx-formly-ionic-datetime.mjs","sources":["../../../../src/ui/ionic/datetime/src/datetime.type.ts","../../../../src/ui/ionic/datetime/src/datetime.config.ts","../../../../src/ui/ionic/datetime/src/datetime.module.ts","../../../../src/ui/ionic/datetime/src/ngx-formly-ionic-datetime.ts"],"sourcesContent":["import { Component, ChangeDetectionStrategy, ViewChild, ViewEncapsulation, Type } from '@angular/core';\nimport { IonDatetime } from '@ionic/angular';\nimport { FieldType, FieldTypeConfig, FormlyFieldConfig } from '@ngx-formly/core';\nimport { FormlyFieldProps } from '@ngx-formly/ionic/form-field';\n\ninterface DatetimeProps extends FormlyFieldProps {\n presentation?: 'date' | 'date-time' | 'month' | 'month-year' | 'time' | 'time-date' | 'year';\n locale?: any;\n cancelText?: string;\n doneText?: string;\n dayValues?: number | number[] | string | undefined;\n hourValues?: number | number[] | string | undefined;\n minuteValues?: number | number[] | string | undefined;\n monthValues?: number | number[] | string | undefined;\n yearValues?: number | number[] | string | undefined;\n minDate?: string | undefined;\n maxDate?: string | undefined;\n displayFormat?: string;\n}\n\nexport interface FormlyDatetimeFieldConfig extends FormlyFieldConfig<DatetimeProps> {\n type: 'datetime' | Type<FormlyFieldDatetime>;\n}\n\n@Component({\n selector: 'formly-field-ion-datetime',\n template: `\n <ion-item\n [button]=\"true\"\n [detail]=\"false\"\n [disabled]=\"formControl.disabled\"\n [attr.aria-label]=\"props.label\"\n aria-haspopup=\"dialog\"\n [attr.aria-expanded]=\"isOpen\"\n (click)=\"isOpen = true\"\n >\n <ion-label>\n @if (!props.hideLabel) {\n {{ props.label }}\n @if (props.required && !props.hideRequiredMarker) {\n <span aria-hidden=\"true\">*</span>\n }\n }\n <p>{{ formControl.value ? (formControl.value | date: displayFormat()) : props.placeholder }}</p>\n </ion-label>\n </ion-item>\n <ion-modal\n [isOpen]=\"isOpen\"\n (didDismiss)=\"close()\"\n [cssClass]=\"'ion-datetime-modal ion-datetime-modal-' + props.presentation\"\n >\n <ng-template>\n <ion-datetime\n [locale]=\"props.locale\"\n [presentation]=\"props.presentation\"\n [cancelText]=\"props.cancelText\"\n [dayValues]=\"props.dayValues\"\n [doneText]=\"props.doneText\"\n [hourValues]=\"props.hourValues\"\n [minuteValues]=\"props.minuteValues\"\n [monthValues]=\"props.monthValues\"\n [yearValues]=\"props.yearValues\"\n [min]=\"props.minDate ? props.minDate : props.min\"\n [max]=\"props.maxDate ? props.maxDate : props.max\"\n [formControl]=\"formControl\"\n [ionFormlyAttributes]=\"field\"\n >\n <ion-buttons slot=\"buttons\">\n <ion-button (click)=\"reset()\">{{ props.cancelText || 'Cancel' }}</ion-button>\n <ion-button (click)=\"confirm()\">{{ props.doneText || 'Done' }}</ion-button>\n </ion-buttons>\n </ion-datetime>\n </ng-template>\n </ion-modal>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n styleUrls: ['./dattime.type.scss'],\n encapsulation: ViewEncapsulation.None,\n standalone: false,\n})\nexport class FormlyFieldDatetime extends FieldType<FieldTypeConfig<DatetimeProps>> {\n @ViewChild(IonDatetime) datetime!: IonDatetime;\n isOpen = false;\n\n override defaultOptions = {\n props: {\n presentation: 'month-year' as const,\n },\n };\n\n displayFormat() {\n if (this.props.displayFormat) {\n return this.props.displayFormat;\n }\n\n switch (this.props.presentation) {\n case 'date-time':\n case 'time-date':\n return 'short';\n case 'time':\n return 'shortTime';\n case 'month':\n return 'MMMM';\n case 'month-year':\n return 'MMMM, y';\n case 'year':\n return 'y';\n case 'date':\n return 'mediumDate';\n }\n }\n\n confirm() {\n this.datetime?.confirm();\n this.close();\n }\n\n reset() {\n this.datetime?.reset();\n this.close();\n }\n\n close() {\n this.isOpen = false;\n this.formControl.markAsTouched();\n }\n}\n","import { ConfigOption } from '@ngx-formly/core';\nimport { FormlyFieldDatetime } from './datetime.type';\n\nexport function withFormlyFieldDatetime(): ConfigOption {\n return {\n types: [\n {\n name: 'datetime',\n component: FormlyFieldDatetime,\n wrappers: ['form-field'],\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';\nimport { IonicModule } from '@ionic/angular';\nimport { FormlyFormFieldModule } from '@ngx-formly/ionic/form-field';\n\nimport { FormlyFieldDatetime } from './datetime.type';\nimport { withFormlyFieldDatetime } from './datetime.config';\n\n@NgModule({\n declarations: [FormlyFieldDatetime],\n imports: [\n CommonModule,\n ReactiveFormsModule,\n IonicModule,\n FormlyFormFieldModule,\n FormlyModule.forChild(withFormlyFieldDatetime()),\n ],\n})\nexport class FormlyDatetimeModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["i1"],"mappings":"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"}
|
|
@@ -1,18 +1,21 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { Component, Input, Inject, Directive, NgModule } from '@angular/core';
|
|
2
|
+
import { Component, DOCUMENT, Input, Inject, Directive, NgModule } from '@angular/core';
|
|
3
3
|
import * as i2 from '@ngx-formly/core';
|
|
4
4
|
import { FieldWrapper, FormlyAttributes, FormlyModule } from '@ngx-formly/core';
|
|
5
5
|
import * as i1 from '@ionic/angular';
|
|
6
6
|
import { IonicModule } from '@ionic/angular';
|
|
7
|
-
import {
|
|
7
|
+
import { CommonModule } from '@angular/common';
|
|
8
8
|
import { ReactiveFormsModule } from '@angular/forms';
|
|
9
9
|
|
|
10
10
|
class FormlyWrapperFormField extends FieldWrapper {
|
|
11
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
12
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "
|
|
11
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.25", ngImport: i0, type: FormlyWrapperFormField, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
12
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.25", type: FormlyWrapperFormField, isStandalone: false, selector: "formly-wrapper-ion-form-field", usesInheritance: true, ngImport: i0, template: `
|
|
13
13
|
<ion-item [lines]="props.itemLines">
|
|
14
14
|
<ng-template #fieldComponent></ng-template>
|
|
15
15
|
</ion-item>
|
|
16
|
+
@if (props.description) {
|
|
17
|
+
<ion-note class="ion-margin-start">{{ props.description }}</ion-note>
|
|
18
|
+
}
|
|
16
19
|
@if (showError) {
|
|
17
20
|
<ion-item lines="none">
|
|
18
21
|
<ion-label>
|
|
@@ -24,9 +27,9 @@ class FormlyWrapperFormField extends FieldWrapper {
|
|
|
24
27
|
</ion-label>
|
|
25
28
|
</ion-item>
|
|
26
29
|
}
|
|
27
|
-
`, isInline: true, dependencies: [{ kind: "component", type: i1.IonItem, selector: "ion-item", inputs: ["button", "color", "detail", "detailIcon", "disabled", "download", "href", "lines", "mode", "rel", "routerAnimation", "routerDirection", "target", "type"] }, { kind: "component", type: i1.IonLabel, selector: "ion-label", inputs: ["color", "mode", "position"] }, { kind: "component", type: i1.IonText, selector: "ion-text", inputs: ["color", "mode"] }, { kind: "component", type: i2.LegacyFormlyValidationMessage, selector: "formly-validation-message" }] }); }
|
|
30
|
+
`, isInline: true, dependencies: [{ kind: "component", type: i1.IonItem, selector: "ion-item", inputs: ["button", "color", "detail", "detailIcon", "disabled", "download", "href", "lines", "mode", "rel", "routerAnimation", "routerDirection", "target", "type"] }, { kind: "component", type: i1.IonLabel, selector: "ion-label", inputs: ["color", "mode", "position"] }, { kind: "component", type: i1.IonNote, selector: "ion-note", inputs: ["color", "mode"] }, { kind: "component", type: i1.IonText, selector: "ion-text", inputs: ["color", "mode"] }, { kind: "component", type: i2.LegacyFormlyValidationMessage, selector: "formly-validation-message" }] }); }
|
|
28
31
|
}
|
|
29
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
32
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.25", ngImport: i0, type: FormlyWrapperFormField, decorators: [{
|
|
30
33
|
type: Component,
|
|
31
34
|
args: [{
|
|
32
35
|
selector: 'formly-wrapper-ion-form-field',
|
|
@@ -34,6 +37,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImpo
|
|
|
34
37
|
<ion-item [lines]="props.itemLines">
|
|
35
38
|
<ng-template #fieldComponent></ng-template>
|
|
36
39
|
</ion-item>
|
|
40
|
+
@if (props.description) {
|
|
41
|
+
<ion-note class="ion-margin-start">{{ props.description }}</ion-note>
|
|
42
|
+
}
|
|
37
43
|
@if (showError) {
|
|
38
44
|
<ion-item lines="none">
|
|
39
45
|
<ion-label>
|
|
@@ -65,10 +71,10 @@ class IonFormlyAttributes extends FormlyAttributes {
|
|
|
65
71
|
constructor(renderer, elementRef, _document) {
|
|
66
72
|
super(renderer, elementRef, _document);
|
|
67
73
|
}
|
|
68
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
69
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "
|
|
74
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.25", ngImport: i0, type: IonFormlyAttributes, deps: [{ token: i0.Renderer2 }, { token: i0.ElementRef }, { token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
75
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.25", type: IonFormlyAttributes, isStandalone: false, selector: "[ionFormlyAttributes]", inputs: { field: ["ionFormlyAttributes", "field"] }, host: { listeners: { "ionFocus": "onFocus($event)", "ionBlur": "onBlur($event)", "ionChange": "onChange($event)", "ionInput": "onChange($event)" } }, usesInheritance: true, ngImport: i0 }); }
|
|
70
76
|
}
|
|
71
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
77
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.25", ngImport: i0, type: IonFormlyAttributes, decorators: [{
|
|
72
78
|
type: Directive,
|
|
73
79
|
args: [{
|
|
74
80
|
// eslint-disable-next-line
|
|
@@ -90,11 +96,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImpo
|
|
|
90
96
|
}] } });
|
|
91
97
|
|
|
92
98
|
class FormlyFormFieldModule {
|
|
93
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
94
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "
|
|
95
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "
|
|
99
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.25", ngImport: i0, type: FormlyFormFieldModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
100
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.25", ngImport: i0, type: FormlyFormFieldModule, declarations: [FormlyWrapperFormField, IonFormlyAttributes], imports: [CommonModule, ReactiveFormsModule, IonicModule, i2.FormlyModule], exports: [IonFormlyAttributes] }); }
|
|
101
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.25", ngImport: i0, type: FormlyFormFieldModule, imports: [CommonModule, ReactiveFormsModule, IonicModule, FormlyModule.forChild(withFormlyFormField())] }); }
|
|
96
102
|
}
|
|
97
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
103
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.25", ngImport: i0, type: FormlyFormFieldModule, decorators: [{
|
|
98
104
|
type: NgModule,
|
|
99
105
|
args: [{
|
|
100
106
|
declarations: [FormlyWrapperFormField, IonFormlyAttributes],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ngx-formly-ionic-form-field.mjs","sources":["../../../../src/ui/ionic/form-field/src/form-field.wrapper.ts","../../../../src/ui/ionic/form-field/src/form-field.config.ts","../../../../src/ui/ionic/form-field/src/formly.attributes.ts","../../../../src/ui/ionic/form-field/src/form-field.module.ts","../../../../src/ui/ionic/form-field/src/ngx-formly-ionic-form-field.ts"],"sourcesContent":["import { Component } from '@angular/core';\nimport { IonItem, IonLabel } from '@ionic/angular';\nimport { FieldWrapper, FormlyFieldConfig, FormlyFieldProps as CoreFormlyFieldProps } from '@ngx-formly/core';\n\nexport interface FormlyFieldProps extends CoreFormlyFieldProps {\n hideRequiredMarker?: boolean;\n itemLines?: IonItem['lines'];\n labelPosition?: IonLabel['position'];\n}\n\n@Component({\n selector: 'formly-wrapper-ion-form-field',\n template: `\n <ion-item [lines]=\"props.itemLines\">\n <ng-template #fieldComponent></ng-template>\n </ion-item>\n @if (showError) {\n <ion-item lines=\"none\">\n <ion-label>\n <ion-text color=\"danger\">\n <p>\n <formly-validation-message [field]=\"field\"></formly-validation-message>\n </p>\n </ion-text>\n </ion-label>\n </ion-item>\n }\n `,\n standalone: false,\n})\nexport class FormlyWrapperFormField extends FieldWrapper<FormlyFieldConfig<FormlyFieldProps>> {}\n","import { ConfigOption } from '@ngx-formly/core';\nimport { FormlyWrapperFormField } from './form-field.wrapper';\n\nexport function withFormlyFormField(): ConfigOption {\n return {\n wrappers: [\n {\n name: 'form-field',\n component: FormlyWrapperFormField,\n },\n ],\n };\n}\n","import {
|
|
1
|
+
{"version":3,"file":"ngx-formly-ionic-form-field.mjs","sources":["../../../../src/ui/ionic/form-field/src/form-field.wrapper.ts","../../../../src/ui/ionic/form-field/src/form-field.config.ts","../../../../src/ui/ionic/form-field/src/formly.attributes.ts","../../../../src/ui/ionic/form-field/src/form-field.module.ts","../../../../src/ui/ionic/form-field/src/ngx-formly-ionic-form-field.ts"],"sourcesContent":["import { Component } from '@angular/core';\nimport { IonItem, IonLabel } from '@ionic/angular';\nimport { FieldWrapper, FormlyFieldConfig, FormlyFieldProps as CoreFormlyFieldProps } from '@ngx-formly/core';\n\nexport interface FormlyFieldProps extends CoreFormlyFieldProps {\n hideLabel?: boolean;\n hideRequiredMarker?: boolean;\n itemLines?: IonItem['lines'];\n labelPosition?: IonLabel['position'];\n}\n\n@Component({\n selector: 'formly-wrapper-ion-form-field',\n template: `\n <ion-item [lines]=\"props.itemLines\">\n <ng-template #fieldComponent></ng-template>\n </ion-item>\n @if (props.description) {\n <ion-note class=\"ion-margin-start\">{{ props.description }}</ion-note>\n }\n @if (showError) {\n <ion-item lines=\"none\">\n <ion-label>\n <ion-text color=\"danger\">\n <p>\n <formly-validation-message [field]=\"field\"></formly-validation-message>\n </p>\n </ion-text>\n </ion-label>\n </ion-item>\n }\n `,\n standalone: false,\n})\nexport class FormlyWrapperFormField extends FieldWrapper<FormlyFieldConfig<FormlyFieldProps>> {}\n","import { ConfigOption } from '@ngx-formly/core';\nimport { FormlyWrapperFormField } from './form-field.wrapper';\n\nexport function withFormlyFormField(): ConfigOption {\n return {\n wrappers: [\n {\n name: 'form-field',\n component: FormlyWrapperFormField,\n },\n ],\n };\n}\n","import { Directive, ElementRef, Inject, Input, Renderer2, DOCUMENT } from '@angular/core';\nimport { FormlyAttributes, FormlyFieldConfig } from '@ngx-formly/core';\n\n@Directive({\n // eslint-disable-next-line\n selector: '[ionFormlyAttributes]',\n host: {\n '(ionFocus)': 'onFocus($event)',\n '(ionBlur)': 'onBlur($event)',\n '(ionChange)': 'onChange($event)',\n '(ionInput)': 'onChange($event)',\n },\n standalone: false,\n})\nexport class IonFormlyAttributes extends FormlyAttributes {\n @Input('ionFormlyAttributes') override field: FormlyFieldConfig;\n constructor(renderer: Renderer2, elementRef: ElementRef, @Inject(DOCUMENT) _document: any) {\n super(renderer, elementRef, _document);\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 { IonicModule } from '@ionic/angular';\nimport { FormlyWrapperFormField } from './form-field.wrapper';\nimport { IonFormlyAttributes } from './formly.attributes';\nimport { withFormlyFormField } from './form-field.config';\n\n@NgModule({\n declarations: [FormlyWrapperFormField, IonFormlyAttributes],\n exports: [IonFormlyAttributes],\n imports: [CommonModule, ReactiveFormsModule, IonicModule, FormlyModule.forChild(withFormlyFormField())],\n})\nexport class FormlyFormFieldModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["i1"],"mappings":";;;;;;;;;AAkCM,MAAO,sBAAuB,SAAQ,YAAiD,CAAA;+GAAhF,sBAAsB,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAtB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,sBAAsB,EAAA,YAAA,EAAA,KAAA,EAAA,QAAA,EAAA,+BAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EArBvB;;;;;;;;;;;;;;;;;;AAkBT,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,YAAA,EAAA,UAAA,EAAA,UAAA,EAAA,MAAA,EAAA,OAAA,EAAA,MAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,iBAAA,EAAA,QAAA,EAAA,MAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,QAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,MAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,MAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,MAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,6BAAA,EAAA,QAAA,EAAA,2BAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FAGU,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBAvBlC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,+BAA+B;AACzC,oBAAA,QAAQ,EAAE;;;;;;;;;;;;;;;;;;AAkBT,EAAA,CAAA;AACD,oBAAA,UAAU,EAAE,KAAK;AAClB,iBAAA;;;SC9Be,mBAAmB,GAAA;IACjC,OAAO;AACL,QAAA,QAAQ,EAAE;AACR,YAAA;AACE,gBAAA,IAAI,EAAE,YAAY;AAClB,gBAAA,SAAS,EAAE,sBAAsB;AAClC,aAAA;AACF,SAAA;KACF;AACH;;ACEM,MAAO,mBAAoB,SAAQ,gBAAgB,CAAA;AAEvD,IAAA,WAAA,CAAY,QAAmB,EAAE,UAAsB,EAAoB,SAAc,EAAA;AACvF,QAAA,KAAK,CAAC,QAAQ,EAAE,UAAU,EAAE,SAAS,CAAC;IACxC;AAJW,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,mBAAmB,qEAEmC,QAAQ,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;mGAF9D,mBAAmB,EAAA,YAAA,EAAA,KAAA,EAAA,QAAA,EAAA,uBAAA,EAAA,MAAA,EAAA,EAAA,KAAA,EAAA,CAAA,qBAAA,EAAA,OAAA,CAAA,EAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,UAAA,EAAA,iBAAA,EAAA,SAAA,EAAA,gBAAA,EAAA,WAAA,EAAA,kBAAA,EAAA,UAAA,EAAA,kBAAA,EAAA,EAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;4FAAnB,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAX/B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;;AAET,oBAAA,QAAQ,EAAE,uBAAuB;AACjC,oBAAA,IAAI,EAAE;AACJ,wBAAA,YAAY,EAAE,iBAAiB;AAC/B,wBAAA,WAAW,EAAE,gBAAgB;AAC7B,wBAAA,aAAa,EAAE,kBAAkB;AACjC,wBAAA,YAAY,EAAE,kBAAkB;AACjC,qBAAA;AACD,oBAAA,UAAU,EAAE,KAAK;AAClB,iBAAA;;0BAG2D,MAAM;2BAAC,QAAQ;;sBADxE,KAAK;uBAAC,qBAAqB;;;MCDjB,qBAAqB,CAAA;+GAArB,qBAAqB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;gHAArB,qBAAqB,EAAA,YAAA,EAAA,CAJjB,sBAAsB,EAAE,mBAAmB,CAAA,EAAA,OAAA,EAAA,CAEhD,YAAY,EAAE,mBAAmB,EAAE,WAAW,EAAAA,EAAA,CAAA,YAAA,CAAA,EAAA,OAAA,EAAA,CAD9C,mBAAmB,CAAA,EAAA,CAAA,CAAA;AAGlB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,qBAAqB,EAAA,OAAA,EAAA,CAFtB,YAAY,EAAE,mBAAmB,EAAE,WAAW,EAAE,YAAY,CAAC,QAAQ,CAAC,mBAAmB,EAAE,CAAC,CAAA,EAAA,CAAA,CAAA;;4FAE3F,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBALjC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,YAAY,EAAE,CAAC,sBAAsB,EAAE,mBAAmB,CAAC;oBAC3D,OAAO,EAAE,CAAC,mBAAmB,CAAC;AAC9B,oBAAA,OAAO,EAAE,CAAC,YAAY,EAAE,mBAAmB,EAAE,WAAW,EAAE,YAAY,CAAC,QAAQ,CAAC,mBAAmB,EAAE,CAAC,CAAC;AACxG,iBAAA;;;ACbD;;AAEG;;;;"}
|
|
@@ -11,13 +11,13 @@ import { FormlyFormFieldModule } from '@ngx-formly/ionic/form-field';
|
|
|
11
11
|
import { CommonModule } from '@angular/common';
|
|
12
12
|
|
|
13
13
|
class FormlyFieldInput extends FieldType {
|
|
14
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
15
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "
|
|
14
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.25", ngImport: i0, type: FormlyFieldInput, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
15
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.25", type: FormlyFieldInput, isStandalone: false, selector: "formly-field-ion-input", usesInheritance: true, ngImport: i0, template: `
|
|
16
16
|
@if (props.type !== 'number') {
|
|
17
17
|
<ion-input
|
|
18
18
|
[type]="props.type || 'text'"
|
|
19
19
|
[label]="props.label"
|
|
20
|
-
[labelPlacement]="props.labelPosition"
|
|
20
|
+
[labelPlacement]="props.labelPosition ?? 'start'"
|
|
21
21
|
[formControl]="formControl"
|
|
22
22
|
[ionFormlyAttributes]="field"
|
|
23
23
|
></ion-input>
|
|
@@ -25,20 +25,21 @@ class FormlyFieldInput extends FieldType {
|
|
|
25
25
|
<ion-input
|
|
26
26
|
type="number"
|
|
27
27
|
[label]="props.label"
|
|
28
|
+
[labelPlacement]="props.labelPosition ?? 'start'"
|
|
28
29
|
[formControl]="formControl"
|
|
29
30
|
[ionFormlyAttributes]="field"
|
|
30
31
|
></ion-input>
|
|
31
32
|
}
|
|
32
33
|
`, isInline: true, styles: [":host{display:inherit}\n"], dependencies: [{ kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: i2.IonInput, selector: "ion-input", inputs: ["autocapitalize", "autocomplete", "autocorrect", "autofocus", "clearInput", "clearInputIcon", "clearOnEdit", "color", "counter", "counterFormatter", "debounce", "disabled", "enterkeyhint", "errorText", "fill", "helperText", "inputmode", "label", "labelPlacement", "max", "maxlength", "min", "minlength", "mode", "multiple", "name", "pattern", "placeholder", "readonly", "required", "shape", "spellcheck", "step", "type", "value"] }, { kind: "directive", type: i2.NumericValueAccessor, selector: "ion-input[type=number],ion-input-otp:not([type=text]),ion-range" }, { kind: "directive", type: i2.TextValueAccessor, selector: "ion-input:not([type=number]),ion-input-otp[type=text],ion-textarea,ion-searchbar" }, { kind: "directive", type: i3.ɵIonFormlyAttributes, selector: "[ionFormlyAttributes]", inputs: ["ionFormlyAttributes"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
33
34
|
}
|
|
34
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
35
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.25", ngImport: i0, type: FormlyFieldInput, decorators: [{
|
|
35
36
|
type: Component,
|
|
36
37
|
args: [{ selector: 'formly-field-ion-input', template: `
|
|
37
38
|
@if (props.type !== 'number') {
|
|
38
39
|
<ion-input
|
|
39
40
|
[type]="props.type || 'text'"
|
|
40
41
|
[label]="props.label"
|
|
41
|
-
[labelPlacement]="props.labelPosition"
|
|
42
|
+
[labelPlacement]="props.labelPosition ?? 'start'"
|
|
42
43
|
[formControl]="formControl"
|
|
43
44
|
[ionFormlyAttributes]="field"
|
|
44
45
|
></ion-input>
|
|
@@ -46,6 +47,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImpo
|
|
|
46
47
|
<ion-input
|
|
47
48
|
type="number"
|
|
48
49
|
[label]="props.label"
|
|
50
|
+
[labelPlacement]="props.labelPosition ?? 'start'"
|
|
49
51
|
[formControl]="formControl"
|
|
50
52
|
[ionFormlyAttributes]="field"
|
|
51
53
|
></ion-input>
|
|
@@ -85,18 +87,18 @@ function withFormlyFieldInput() {
|
|
|
85
87
|
}
|
|
86
88
|
|
|
87
89
|
class FormlyInputModule {
|
|
88
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
89
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "
|
|
90
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.25", ngImport: i0, type: FormlyInputModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
91
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.25", ngImport: i0, type: FormlyInputModule, declarations: [FormlyFieldInput], imports: [CommonModule,
|
|
90
92
|
ReactiveFormsModule,
|
|
91
93
|
IonicModule,
|
|
92
94
|
FormlyFormFieldModule, i1$1.FormlyModule] }); }
|
|
93
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "
|
|
95
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.25", ngImport: i0, type: FormlyInputModule, imports: [CommonModule,
|
|
94
96
|
ReactiveFormsModule,
|
|
95
97
|
IonicModule,
|
|
96
98
|
FormlyFormFieldModule,
|
|
97
99
|
FormlyModule.forChild(withFormlyFieldInput())] }); }
|
|
98
100
|
}
|
|
99
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
101
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.25", ngImport: i0, type: FormlyInputModule, decorators: [{
|
|
100
102
|
type: NgModule,
|
|
101
103
|
args: [{
|
|
102
104
|
declarations: [FormlyFieldInput],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ngx-formly-ionic-input.mjs","sources":["../../../../src/ui/ionic/input/src/input.type.ts","../../../../src/ui/ionic/input/src/input.config.ts","../../../../src/ui/ionic/input/src/input.module.ts","../../../../src/ui/ionic/input/src/ngx-formly-ionic-input.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, Type } from '@angular/core';\n\nimport { FieldType, FieldTypeConfig, FormlyFieldConfig } from '@ngx-formly/core';\nimport { FormlyFieldProps } from '@ngx-formly/ionic/form-field';\n\ninterface InputProps extends FormlyFieldProps {}\n\nexport interface FormlyInputFieldConfig extends FormlyFieldConfig<InputProps> {\n type: 'input' | Type<FormlyFieldInput>;\n}\n\n@Component({\n selector: 'formly-field-ion-input',\n template: `\n @if (props.type !== 'number') {\n <ion-input\n [type]=\"props.type || 'text'\"\n [label]=\"props.label\"\n [labelPlacement]=\"props.labelPosition\"\n [formControl]=\"formControl\"\n [ionFormlyAttributes]=\"field\"\n ></ion-input>\n } @else {\n <ion-input\n type=\"number\"\n [label]=\"props.label\"\n [formControl]=\"formControl\"\n [ionFormlyAttributes]=\"field\"\n ></ion-input>\n }\n `,\n styles: [':host { display: inherit; }'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: false,\n})\nexport class FormlyFieldInput extends FieldType<FieldTypeConfig<InputProps>> {}\n","import { ConfigOption } from '@ngx-formly/core';\nimport { FormlyFieldInput } from './input.type';\n\nexport function withFormlyFieldInput(): ConfigOption {\n return {\n types: [\n {\n name: 'input',\n component: FormlyFieldInput,\n wrappers: ['form-field'],\n },\n { name: 'string', extends: 'input' },\n {\n name: 'number',\n extends: 'input',\n defaultOptions: {\n props: {\n type: 'number',\n },\n },\n },\n {\n name: 'integer',\n extends: 'input',\n defaultOptions: {\n props: {\n type: 'number',\n },\n },\n },\n ],\n };\n}\n","import { NO_ERRORS_SCHEMA, NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormlyModule } from '@ngx-formly/core';\nimport { ReactiveFormsModule } from '@angular/forms';\nimport { IonicModule } from '@ionic/angular';\nimport { FormlyFormFieldModule } from '@ngx-formly/ionic/form-field';\n\nimport { FormlyFieldInput } from './input.type';\nimport { withFormlyFieldInput } from './input.config';\n\n@NgModule({\n declarations: [FormlyFieldInput],\n imports: [\n CommonModule,\n ReactiveFormsModule,\n IonicModule,\n FormlyFormFieldModule,\n FormlyModule.forChild(withFormlyFieldInput()),\n ],\n schemas: [NO_ERRORS_SCHEMA],\n})\nexport class FormlyInputModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["i1"],"mappings":";;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"ngx-formly-ionic-input.mjs","sources":["../../../../src/ui/ionic/input/src/input.type.ts","../../../../src/ui/ionic/input/src/input.config.ts","../../../../src/ui/ionic/input/src/input.module.ts","../../../../src/ui/ionic/input/src/ngx-formly-ionic-input.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, Type } from '@angular/core';\n\nimport { FieldType, FieldTypeConfig, FormlyFieldConfig } from '@ngx-formly/core';\nimport { FormlyFieldProps } from '@ngx-formly/ionic/form-field';\n\ninterface InputProps extends FormlyFieldProps {}\n\nexport interface FormlyInputFieldConfig extends FormlyFieldConfig<InputProps> {\n type: 'input' | Type<FormlyFieldInput>;\n}\n\n@Component({\n selector: 'formly-field-ion-input',\n template: `\n @if (props.type !== 'number') {\n <ion-input\n [type]=\"props.type || 'text'\"\n [label]=\"props.label\"\n [labelPlacement]=\"props.labelPosition ?? 'start'\"\n [formControl]=\"formControl\"\n [ionFormlyAttributes]=\"field\"\n ></ion-input>\n } @else {\n <ion-input\n type=\"number\"\n [label]=\"props.label\"\n [labelPlacement]=\"props.labelPosition ?? 'start'\"\n [formControl]=\"formControl\"\n [ionFormlyAttributes]=\"field\"\n ></ion-input>\n }\n `,\n styles: [':host { display: inherit; }'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: false,\n})\nexport class FormlyFieldInput extends FieldType<FieldTypeConfig<InputProps>> {}\n","import { ConfigOption } from '@ngx-formly/core';\nimport { FormlyFieldInput } from './input.type';\n\nexport function withFormlyFieldInput(): ConfigOption {\n return {\n types: [\n {\n name: 'input',\n component: FormlyFieldInput,\n wrappers: ['form-field'],\n },\n { name: 'string', extends: 'input' },\n {\n name: 'number',\n extends: 'input',\n defaultOptions: {\n props: {\n type: 'number',\n },\n },\n },\n {\n name: 'integer',\n extends: 'input',\n defaultOptions: {\n props: {\n type: 'number',\n },\n },\n },\n ],\n };\n}\n","import { NO_ERRORS_SCHEMA, NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormlyModule } from '@ngx-formly/core';\nimport { ReactiveFormsModule } from '@angular/forms';\nimport { IonicModule } from '@ionic/angular';\nimport { FormlyFormFieldModule } from '@ngx-formly/ionic/form-field';\n\nimport { FormlyFieldInput } from './input.type';\nimport { withFormlyFieldInput } from './input.config';\n\n@NgModule({\n declarations: [FormlyFieldInput],\n imports: [\n CommonModule,\n ReactiveFormsModule,\n IonicModule,\n FormlyFormFieldModule,\n FormlyModule.forChild(withFormlyFieldInput()),\n ],\n schemas: [NO_ERRORS_SCHEMA],\n})\nexport class FormlyInputModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["i1"],"mappings":";;;;;;;;;;;;AAoCM,MAAO,gBAAiB,SAAQ,SAAsC,CAAA;+GAA/D,gBAAgB,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAhB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,gBAAgB,EAAA,YAAA,EAAA,KAAA,EAAA,QAAA,EAAA,wBAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAvBjB;;;;;;;;;;;;;;;;;;AAkBT,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,0BAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,2CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,aAAA,EAAA,UAAA,EAAA,SAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,CAAA,EAAA,QAAA,EAAA,CAAA,QAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,QAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,gBAAA,EAAA,cAAA,EAAA,aAAA,EAAA,WAAA,EAAA,YAAA,EAAA,gBAAA,EAAA,aAAA,EAAA,OAAA,EAAA,SAAA,EAAA,kBAAA,EAAA,UAAA,EAAA,UAAA,EAAA,cAAA,EAAA,WAAA,EAAA,MAAA,EAAA,YAAA,EAAA,WAAA,EAAA,OAAA,EAAA,gBAAA,EAAA,KAAA,EAAA,WAAA,EAAA,KAAA,EAAA,WAAA,EAAA,MAAA,EAAA,UAAA,EAAA,MAAA,EAAA,SAAA,EAAA,aAAA,EAAA,UAAA,EAAA,UAAA,EAAA,OAAA,EAAA,YAAA,EAAA,MAAA,EAAA,MAAA,EAAA,OAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,iEAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,QAAA,EAAA,kFAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,uBAAA,EAAA,MAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;4FAKU,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAzB5B,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,wBAAwB,EAAA,QAAA,EACxB;;;;;;;;;;;;;;;;;;AAkBT,EAAA,CAAA,EAAA,eAAA,EAEgB,uBAAuB,CAAC,MAAM,EAAA,UAAA,EACnC,KAAK,EAAA,MAAA,EAAA,CAAA,0BAAA,CAAA,EAAA;;;SC/BH,oBAAoB,GAAA;IAClC,OAAO;AACL,QAAA,KAAK,EAAE;AACL,YAAA;AACE,gBAAA,IAAI,EAAE,OAAO;AACb,gBAAA,SAAS,EAAE,gBAAgB;gBAC3B,QAAQ,EAAE,CAAC,YAAY,CAAC;AACzB,aAAA;AACD,YAAA,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE;AACpC,YAAA;AACE,gBAAA,IAAI,EAAE,QAAQ;AACd,gBAAA,OAAO,EAAE,OAAO;AAChB,gBAAA,cAAc,EAAE;AACd,oBAAA,KAAK,EAAE;AACL,wBAAA,IAAI,EAAE,QAAQ;AACf,qBAAA;AACF,iBAAA;AACF,aAAA;AACD,YAAA;AACE,gBAAA,IAAI,EAAE,SAAS;AACf,gBAAA,OAAO,EAAE,OAAO;AAChB,gBAAA,cAAc,EAAE;AACd,oBAAA,KAAK,EAAE;AACL,wBAAA,IAAI,EAAE,QAAQ;AACf,qBAAA;AACF,iBAAA;AACF,aAAA;AACF,SAAA;KACF;AACH;;MCXa,iBAAiB,CAAA;+GAAjB,iBAAiB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;gHAAjB,iBAAiB,EAAA,YAAA,EAAA,CAVb,gBAAgB,CAAA,EAAA,OAAA,EAAA,CAE7B,YAAY;YACZ,mBAAmB;YACnB,WAAW;YACX,qBAAqB,EAAAA,IAAA,CAAA,YAAA,CAAA,EAAA,CAAA,CAAA;AAKZ,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,iBAAiB,YAR1B,YAAY;YACZ,mBAAmB;YACnB,WAAW;YACX,qBAAqB;AACrB,YAAA,YAAY,CAAC,QAAQ,CAAC,oBAAoB,EAAE,CAAC,CAAA,EAAA,CAAA,CAAA;;4FAIpC,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAX7B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACR,YAAY,EAAE,CAAC,gBAAgB,CAAC;AAChC,oBAAA,OAAO,EAAE;wBACP,YAAY;wBACZ,mBAAmB;wBACnB,WAAW;wBACX,qBAAqB;AACrB,wBAAA,YAAY,CAAC,QAAQ,CAAC,oBAAoB,EAAE,CAAC;AAC9C,qBAAA;oBACD,OAAO,EAAE,CAAC,gBAAgB,CAAC;AAC5B,iBAAA;;;ACpBD;;AAEG;;;;"}
|
|
@@ -14,8 +14,8 @@ import * as i5 from '@ngx-formly/core/select';
|
|
|
14
14
|
import { FormlySelectModule } from '@ngx-formly/core/select';
|
|
15
15
|
|
|
16
16
|
class FormlyFieldRadio extends FieldType {
|
|
17
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
18
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "
|
|
17
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.25", ngImport: i0, type: FormlyFieldRadio, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
18
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.25", type: FormlyFieldRadio, isStandalone: false, selector: "formly-field-ion-radio", usesInheritance: true, ngImport: i0, template: `
|
|
19
19
|
<ion-list>
|
|
20
20
|
<ion-list-header>{{ props.label }}</ion-list-header>
|
|
21
21
|
<ion-radio-group [formControl]="formControl" [ionFormlyAttributes]="field">
|
|
@@ -30,7 +30,7 @@ class FormlyFieldRadio extends FieldType {
|
|
|
30
30
|
</ion-list>
|
|
31
31
|
`, isInline: true, styles: [":host{display:inherit}:host ion-list{flex:1}\n"], dependencies: [{ kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: i2.IonItem, selector: "ion-item", inputs: ["button", "color", "detail", "detailIcon", "disabled", "download", "href", "lines", "mode", "rel", "routerAnimation", "routerDirection", "target", "type"] }, { kind: "component", type: i2.IonList, selector: "ion-list", inputs: ["inset", "lines", "mode"] }, { kind: "component", type: i2.IonListHeader, selector: "ion-list-header", inputs: ["color", "lines", "mode"] }, { kind: "component", type: i2.IonRadio, selector: "ion-radio", inputs: ["alignment", "color", "disabled", "justify", "labelPlacement", "mode", "name", "value"] }, { kind: "component", type: i2.IonRadioGroup, selector: "ion-radio-group", inputs: ["allowEmptySelection", "compareWith", "errorText", "helperText", "name", "value"] }, { kind: "directive", type: i2.SelectValueAccessor, selector: "ion-select, ion-radio-group, ion-segment, ion-datetime" }, { kind: "directive", type: i3.ɵIonFormlyAttributes, selector: "[ionFormlyAttributes]", inputs: ["ionFormlyAttributes"] }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }, { kind: "pipe", type: i5.LegacyFormlySelectOptionsPipe, name: "formlySelectOptions" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
32
32
|
}
|
|
33
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
33
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.25", ngImport: i0, type: FormlyFieldRadio, decorators: [{
|
|
34
34
|
type: Component,
|
|
35
35
|
args: [{ selector: 'formly-field-ion-radio', template: `
|
|
36
36
|
<ion-list>
|
|
@@ -61,20 +61,20 @@ function withFormlyFieldRadio() {
|
|
|
61
61
|
}
|
|
62
62
|
|
|
63
63
|
class FormlyRadioModule {
|
|
64
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
65
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "
|
|
64
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.25", ngImport: i0, type: FormlyRadioModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
65
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.25", ngImport: i0, type: FormlyRadioModule, declarations: [FormlyFieldRadio], imports: [CommonModule,
|
|
66
66
|
ReactiveFormsModule,
|
|
67
67
|
IonicModule,
|
|
68
68
|
FormlyFormFieldModule,
|
|
69
69
|
FormlySelectModule, i1$1.FormlyModule] }); }
|
|
70
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "
|
|
70
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.25", ngImport: i0, type: FormlyRadioModule, imports: [CommonModule,
|
|
71
71
|
ReactiveFormsModule,
|
|
72
72
|
IonicModule,
|
|
73
73
|
FormlyFormFieldModule,
|
|
74
74
|
FormlySelectModule,
|
|
75
75
|
FormlyModule.forChild(withFormlyFieldRadio())] }); }
|
|
76
76
|
}
|
|
77
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
77
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.25", ngImport: i0, type: FormlyRadioModule, decorators: [{
|
|
78
78
|
type: NgModule,
|
|
79
79
|
args: [{
|
|
80
80
|
declarations: [FormlyFieldRadio],
|