@ng-forge/dynamic-forms-ionic 1.0.0-rc.4 → 1.1.0-next.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -30,8 +30,8 @@ type IonicPreviousButtonField = Omit<IonicButtonField<PreviousPageEvent>, 'event
|
|
|
30
30
|
type: 'previous';
|
|
31
31
|
};
|
|
32
32
|
/** Add array item button field - dispatches AppendArrayItemEvent */
|
|
33
|
-
type
|
|
34
|
-
type: 'addArrayItem';
|
|
33
|
+
type IonicAddArrayItemButtonField = Omit<IonicButtonField<AppendArrayItemEvent>, 'event' | 'type' | 'eventArgs'> & {
|
|
34
|
+
type: 'add-array-item' | 'addArrayItem';
|
|
35
35
|
/**
|
|
36
36
|
* The key of the array field to add items to.
|
|
37
37
|
* Required when the button is placed outside the array.
|
|
@@ -46,8 +46,8 @@ type AddArrayItemButtonField = Omit<IonicButtonField<AppendArrayItemEvent>, 'eve
|
|
|
46
46
|
template: ArrayAllowedChildren | readonly ArrayAllowedChildren[];
|
|
47
47
|
};
|
|
48
48
|
/** Prepend array item button field - dispatches PrependArrayItemEvent (adds at beginning) */
|
|
49
|
-
type
|
|
50
|
-
type: 'prependArrayItem';
|
|
49
|
+
type IonicPrependArrayItemButtonField = Omit<IonicButtonField<PrependArrayItemEvent>, 'event' | 'type' | 'eventArgs'> & {
|
|
50
|
+
type: 'prepend-array-item' | 'prependArrayItem';
|
|
51
51
|
/**
|
|
52
52
|
* The key of the array field to prepend items to.
|
|
53
53
|
* Required when the button is placed outside the array.
|
|
@@ -62,8 +62,8 @@ type PrependArrayItemButtonField = Omit<IonicButtonField<PrependArrayItemEvent>,
|
|
|
62
62
|
template: ArrayAllowedChildren | readonly ArrayAllowedChildren[];
|
|
63
63
|
};
|
|
64
64
|
/** Insert array item button field - dispatches InsertArrayItemEvent (adds at specific index) */
|
|
65
|
-
type
|
|
66
|
-
type: 'insertArrayItem';
|
|
65
|
+
type IonicInsertArrayItemButtonField = Omit<IonicButtonField<InsertArrayItemEvent>, 'event' | 'type' | 'eventArgs'> & {
|
|
66
|
+
type: 'insert-array-item' | 'insertArrayItem';
|
|
67
67
|
/**
|
|
68
68
|
* The key of the array field to insert items into.
|
|
69
69
|
* Required when the button is placed outside the array.
|
|
@@ -80,8 +80,8 @@ type InsertArrayItemButtonField = Omit<IonicButtonField<InsertArrayItemEvent>, '
|
|
|
80
80
|
template: ArrayAllowedChildren | readonly ArrayAllowedChildren[];
|
|
81
81
|
};
|
|
82
82
|
/** Remove array item button field - dispatches RemoveAtIndexEvent or PopArrayItemEvent */
|
|
83
|
-
type
|
|
84
|
-
type: 'removeArrayItem';
|
|
83
|
+
type IonicRemoveArrayItemButtonField = Omit<IonicButtonField<RemoveAtIndexEvent>, 'event' | 'type' | 'eventArgs'> & {
|
|
84
|
+
type: 'remove-array-item' | 'removeArrayItem';
|
|
85
85
|
/**
|
|
86
86
|
* The key of the array field to remove items from.
|
|
87
87
|
* Required when the button is placed outside the array.
|
|
@@ -90,8 +90,8 @@ type RemoveArrayItemButtonField = Omit<IonicButtonField<RemoveAtIndexEvent>, 'ev
|
|
|
90
90
|
arrayKey?: string;
|
|
91
91
|
};
|
|
92
92
|
/** Pop array item button field - dispatches PopArrayItemEvent (removes last item) */
|
|
93
|
-
type
|
|
94
|
-
type: 'popArrayItem';
|
|
93
|
+
type IonicPopArrayItemButtonField = Omit<IonicButtonField<PopArrayItemEvent>, 'event' | 'type' | 'eventArgs'> & {
|
|
94
|
+
type: 'pop-array-item' | 'popArrayItem';
|
|
95
95
|
/**
|
|
96
96
|
* The key of the array field to remove the last item from.
|
|
97
97
|
* REQUIRED - must specify which array to pop from.
|
|
@@ -99,8 +99,8 @@ type PopArrayItemButtonField = Omit<IonicButtonField<PopArrayItemEvent>, 'event'
|
|
|
99
99
|
arrayKey: string;
|
|
100
100
|
};
|
|
101
101
|
/** Shift array item button field - dispatches ShiftArrayItemEvent (removes first item) */
|
|
102
|
-
type
|
|
103
|
-
type: 'shiftArrayItem';
|
|
102
|
+
type IonicShiftArrayItemButtonField = Omit<IonicButtonField<ShiftArrayItemEvent>, 'event' | 'type' | 'eventArgs'> & {
|
|
103
|
+
type: 'shift-array-item' | 'shiftArrayItem';
|
|
104
104
|
/**
|
|
105
105
|
* The key of the array field to remove the first item from.
|
|
106
106
|
* REQUIRED - must specify which array to shift from.
|
|
@@ -166,8 +166,8 @@ declare class IonicDatepickerFieldComponent {
|
|
|
166
166
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<IonicDatepickerFieldComponent, "df-ion-datepicker", never, { "minDate": { "alias": "minDate"; "required": false; "isSignal": true; }; "maxDate": { "alias": "maxDate"; "required": false; "isSignal": true; }; "startAt": { "alias": "startAt"; "required": false; "isSignal": true; }; "props": { "alias": "props"; "required": false; "isSignal": true; }; }, {}, never, never, true, [{ directive: typeof i1.NgForgeFieldHost; inputs: {}; outputs: {}; }]>;
|
|
167
167
|
}
|
|
168
168
|
|
|
169
|
-
/** Decorative icon addon for
|
|
170
|
-
interface
|
|
169
|
+
/** Decorative icon addon for Ionic fields. */
|
|
170
|
+
interface IonicIconAddon extends BaseAddon {
|
|
171
171
|
readonly type: 'ion-icon';
|
|
172
172
|
/** Ionons name (e.g., `'search-outline'`, `'close-outline'`). */
|
|
173
173
|
readonly icon: string;
|
|
@@ -175,19 +175,19 @@ interface IonIconAddon extends BaseAddon {
|
|
|
175
175
|
readonly ariaLabel?: DynamicText;
|
|
176
176
|
}
|
|
177
177
|
/** Ionic-supported button colour palette. */
|
|
178
|
-
type
|
|
178
|
+
type IonicButtonColor = 'primary' | 'secondary' | 'tertiary' | 'success' | 'warning' | 'danger' | 'light' | 'medium' | 'dark';
|
|
179
179
|
/** Ionic-supported button fill variants. */
|
|
180
|
-
type
|
|
180
|
+
type IonicButtonFill = 'clear' | 'outline' | 'solid' | 'default';
|
|
181
181
|
/**
|
|
182
182
|
* Common shape of every `ion-button` addon — properties that don't
|
|
183
183
|
* participate in either XOR axis.
|
|
184
184
|
*/
|
|
185
|
-
interface
|
|
185
|
+
interface IonicButtonBase extends BaseAddon {
|
|
186
186
|
readonly type: 'ion-button';
|
|
187
187
|
/** Ion button colour. */
|
|
188
|
-
readonly color?:
|
|
188
|
+
readonly color?: IonicButtonColor;
|
|
189
189
|
/** Ion button fill style. */
|
|
190
|
-
readonly fill?:
|
|
190
|
+
readonly fill?: IonicButtonFill;
|
|
191
191
|
/** Reactive loading state — renders an `<ion-spinner>` when truthy. */
|
|
192
192
|
readonly loading?: DynamicValue<boolean>;
|
|
193
193
|
}
|
|
@@ -196,7 +196,7 @@ interface IonButtonBase extends BaseAddon {
|
|
|
196
196
|
* two click handlers (e.g., `preset` AND `actionRef`) are rejected by
|
|
197
197
|
* TypeScript. The four shapes:
|
|
198
198
|
*/
|
|
199
|
-
type
|
|
199
|
+
type IonicButtonClickPreset = {
|
|
200
200
|
/** Built-in preset action (e.g., `'clear'`, `'toggle-password-visibility'`). JSON-safe. */
|
|
201
201
|
readonly preset: AddonActionPreset;
|
|
202
202
|
readonly actionRef?: never;
|
|
@@ -210,54 +210,54 @@ type IonButtonClickPreset = {
|
|
|
210
210
|
* usable; once the user augments `DynamicFormActionRegistry`, autocomplete
|
|
211
211
|
* tightens to the registered keys.
|
|
212
212
|
*/
|
|
213
|
-
type
|
|
214
|
-
type
|
|
213
|
+
type IonicButtonActionRef = [RegisteredActionRef] extends [never] ? string : RegisteredActionRef;
|
|
214
|
+
type IonicButtonClickActionRef = {
|
|
215
215
|
readonly preset?: never;
|
|
216
216
|
/** Reference to a handler registered via `withAddonActions(...)`. JSON-safe. */
|
|
217
|
-
readonly actionRef:
|
|
217
|
+
readonly actionRef: IonicButtonActionRef;
|
|
218
218
|
readonly action?: never;
|
|
219
219
|
};
|
|
220
|
-
type
|
|
220
|
+
type IonicButtonClickAction = {
|
|
221
221
|
readonly preset?: never;
|
|
222
222
|
readonly actionRef?: never;
|
|
223
223
|
/** Inline handler — code-only; dropped from JSON-derived configs. Matches the generic `AddonActionHandler` shape used by `withAddonActions(...)`. */
|
|
224
224
|
readonly action: AddonActionHandler;
|
|
225
225
|
};
|
|
226
|
-
type
|
|
226
|
+
type IonicButtonClickNone = {
|
|
227
227
|
readonly preset?: never;
|
|
228
228
|
readonly actionRef?: never;
|
|
229
229
|
readonly action?: never;
|
|
230
230
|
};
|
|
231
|
-
type
|
|
231
|
+
type IonicButtonClick = IonicButtonClickPreset | IonicButtonClickActionRef | IonicButtonClickAction | IonicButtonClickNone;
|
|
232
232
|
/**
|
|
233
233
|
* Content axis — XOR enforced at type level so an icon-only button is
|
|
234
234
|
* forced to declare `ariaLabel`. The three shapes:
|
|
235
235
|
*/
|
|
236
|
-
type
|
|
236
|
+
type IonicButtonContentIconOnly = {
|
|
237
237
|
readonly icon: string;
|
|
238
238
|
readonly label?: never;
|
|
239
239
|
/** REQUIRED: icon-only buttons must carry an accessible label. */
|
|
240
240
|
readonly ariaLabel: DynamicText;
|
|
241
241
|
};
|
|
242
|
-
type
|
|
242
|
+
type IonicButtonContentLabeled = {
|
|
243
243
|
readonly icon?: string;
|
|
244
244
|
readonly label: DynamicText;
|
|
245
245
|
readonly ariaLabel?: DynamicText;
|
|
246
246
|
};
|
|
247
|
-
type
|
|
247
|
+
type IonicButtonContentDecorative = {
|
|
248
248
|
readonly icon?: never;
|
|
249
249
|
readonly label?: never;
|
|
250
250
|
readonly ariaLabel?: DynamicText;
|
|
251
251
|
};
|
|
252
|
-
type
|
|
253
|
-
/** Interactive button addon for
|
|
254
|
-
type
|
|
252
|
+
type IonicButtonContent = IonicButtonContentIconOnly | IonicButtonContentLabeled | IonicButtonContentDecorative;
|
|
253
|
+
/** Interactive button addon for Ionic fields. */
|
|
254
|
+
type IonicButtonAddon = IonicButtonBase & IonicButtonContent & IonicButtonClick;
|
|
255
255
|
/** Union of all Ion-shipped addon types. */
|
|
256
|
-
type
|
|
256
|
+
type IonicAddon = IonicIconAddon | IonicButtonAddon;
|
|
257
257
|
declare module '@ng-forge/dynamic-forms' {
|
|
258
258
|
interface DynamicFormAddonRegistry {
|
|
259
|
-
'ion-icon':
|
|
260
|
-
'ion-button':
|
|
259
|
+
'ion-icon': IonicIconAddon;
|
|
260
|
+
'ion-button': IonicButtonAddon;
|
|
261
261
|
}
|
|
262
262
|
}
|
|
263
263
|
|
|
@@ -275,20 +275,20 @@ interface IonicInputProps extends InputProps {
|
|
|
275
275
|
* Module-augmentable seam for adding custom addon types to `ion-input` at
|
|
276
276
|
* the type level. Pair with `withCustomAddon(...)` for the runtime side:
|
|
277
277
|
*/
|
|
278
|
-
interface
|
|
278
|
+
interface IonicAddonExtensions {
|
|
279
279
|
}
|
|
280
|
-
type
|
|
280
|
+
type IonicAddonExtension = IonicAddonExtensions[keyof IonicAddonExtensions];
|
|
281
281
|
/** Addon types accepted by `ion-input`. */
|
|
282
|
-
type
|
|
282
|
+
type IonicInputAddon = IonicIconAddon | IonicButtonAddon | TextAddon | TemplateAddon | IonicAddonExtension;
|
|
283
283
|
type IonicInputField = InputField<IonicInputProps> & {
|
|
284
|
-
addons?: ReadonlyArray<
|
|
284
|
+
addons?: ReadonlyArray<IonicInputAddon>;
|
|
285
285
|
};
|
|
286
286
|
|
|
287
287
|
declare class IonicInputFieldComponent {
|
|
288
288
|
private readonly elementRef;
|
|
289
289
|
private ionicConfig;
|
|
290
290
|
protected readonly ngf: i1.TypedNgForgeField<string>;
|
|
291
|
-
protected readonly ngfa: i1.TypedNgForgeAddons<
|
|
291
|
+
protected readonly ngfa: i1.TypedNgForgeAddons<IonicInputAddon>;
|
|
292
292
|
readonly props: _angular_core.InputSignal<IonicInputProps | undefined>;
|
|
293
293
|
/**
|
|
294
294
|
* Wrapper-style host bag pushed by `DfFieldOutlet`. Declared at the
|
|
@@ -310,10 +310,10 @@ declare class IonicInputFieldComponent {
|
|
|
310
310
|
* <ion-button> Ionic can style); everything else (icon/text/template/
|
|
311
311
|
* component types) goes through the universal <df-addon-slot> dispatcher
|
|
312
312
|
* wrapped in <span slot="start|end"> for safe shadow-DOM projection. */
|
|
313
|
-
protected readonly buttonPrefixAddons: _angular_core.Signal<_ng_forge_dynamic_forms_ionic.
|
|
314
|
-
protected readonly buttonSuffixAddons: _angular_core.Signal<_ng_forge_dynamic_forms_ionic.
|
|
315
|
-
protected readonly decorativePrefixAddons: _angular_core.Signal<(_ng_forge_dynamic_forms.TextAddon | _ng_forge_dynamic_forms.TemplateAddon | _ng_forge_dynamic_forms_ionic.
|
|
316
|
-
protected readonly decorativeSuffixAddons: _angular_core.Signal<(_ng_forge_dynamic_forms.TextAddon | _ng_forge_dynamic_forms.TemplateAddon | _ng_forge_dynamic_forms_ionic.
|
|
313
|
+
protected readonly buttonPrefixAddons: _angular_core.Signal<_ng_forge_dynamic_forms_ionic.IonicButtonAddon[]>;
|
|
314
|
+
protected readonly buttonSuffixAddons: _angular_core.Signal<_ng_forge_dynamic_forms_ionic.IonicButtonAddon[]>;
|
|
315
|
+
protected readonly decorativePrefixAddons: _angular_core.Signal<(_ng_forge_dynamic_forms.TextAddon | _ng_forge_dynamic_forms.TemplateAddon | _ng_forge_dynamic_forms_ionic.IonicIconAddon)[]>;
|
|
316
|
+
protected readonly decorativeSuffixAddons: _angular_core.Signal<(_ng_forge_dynamic_forms.TextAddon | _ng_forge_dynamic_forms.TemplateAddon | _ng_forge_dynamic_forms_ionic.IonicIconAddon)[]>;
|
|
317
317
|
/** Set when the component is destroyed — guards async aria-describedby sync against teardown. */
|
|
318
318
|
private destroyed;
|
|
319
319
|
constructor();
|
|
@@ -533,12 +533,12 @@ declare const IonicField: {
|
|
|
533
533
|
readonly Submit: "submit";
|
|
534
534
|
readonly Next: "next";
|
|
535
535
|
readonly Previous: "previous";
|
|
536
|
-
readonly AddArrayItem: "
|
|
537
|
-
readonly PrependArrayItem: "
|
|
538
|
-
readonly InsertArrayItem: "
|
|
539
|
-
readonly RemoveArrayItem: "
|
|
540
|
-
readonly PopArrayItem: "
|
|
541
|
-
readonly ShiftArrayItem: "
|
|
536
|
+
readonly AddArrayItem: "add-array-item";
|
|
537
|
+
readonly PrependArrayItem: "prepend-array-item";
|
|
538
|
+
readonly InsertArrayItem: "insert-array-item";
|
|
539
|
+
readonly RemoveArrayItem: "remove-array-item";
|
|
540
|
+
readonly PopArrayItem: "pop-array-item";
|
|
541
|
+
readonly ShiftArrayItem: "shift-array-item";
|
|
542
542
|
readonly Textarea: "textarea";
|
|
543
543
|
readonly Radio: "radio";
|
|
544
544
|
readonly MultiCheckbox: "multi-checkbox";
|
|
@@ -574,12 +574,18 @@ declare module '@ng-forge/dynamic-forms' {
|
|
|
574
574
|
datepicker: IonicDatepickerField;
|
|
575
575
|
slider: IonicSliderField;
|
|
576
576
|
toggle: IonicToggleField;
|
|
577
|
-
addArrayItem:
|
|
578
|
-
|
|
579
|
-
|
|
580
|
-
|
|
581
|
-
|
|
582
|
-
|
|
577
|
+
addArrayItem: IonicAddArrayItemButtonField;
|
|
578
|
+
'add-array-item': IonicAddArrayItemButtonField;
|
|
579
|
+
prependArrayItem: IonicPrependArrayItemButtonField;
|
|
580
|
+
'prepend-array-item': IonicPrependArrayItemButtonField;
|
|
581
|
+
insertArrayItem: IonicInsertArrayItemButtonField;
|
|
582
|
+
'insert-array-item': IonicInsertArrayItemButtonField;
|
|
583
|
+
removeArrayItem: IonicRemoveArrayItemButtonField;
|
|
584
|
+
'remove-array-item': IonicRemoveArrayItemButtonField;
|
|
585
|
+
popArrayItem: IonicPopArrayItemButtonField;
|
|
586
|
+
'pop-array-item': IonicPopArrayItemButtonField;
|
|
587
|
+
shiftArrayItem: IonicShiftArrayItemButtonField;
|
|
588
|
+
'shift-array-item': IonicShiftArrayItemButtonField;
|
|
583
589
|
}
|
|
584
590
|
}
|
|
585
591
|
|
|
@@ -620,10 +626,10 @@ type IonicAddonsFeature = {
|
|
|
620
626
|
declare function withIonicAddons(): IonicAddonsFeature;
|
|
621
627
|
|
|
622
628
|
/** Renderer for the `ion-button` addon type. */
|
|
623
|
-
declare class
|
|
624
|
-
protected readonly action: i1.TypedNgForgeAddonAction<
|
|
629
|
+
declare class IonicButtonAddonComponent {
|
|
630
|
+
protected readonly action: i1.TypedNgForgeAddonAction<IonicButtonAddon>;
|
|
625
631
|
/** Re-exposed for template binding — same signal stored on the directive. */
|
|
626
|
-
protected readonly addon: _angular_core.Signal<
|
|
632
|
+
protected readonly addon: _angular_core.Signal<IonicButtonAddon>;
|
|
627
633
|
protected readonly label: _angular_core.Signal<_ng_forge_dynamic_forms.DynamicText | undefined>;
|
|
628
634
|
protected readonly ariaLabel: _angular_core.Signal<_ng_forge_dynamic_forms.DynamicText | undefined>;
|
|
629
635
|
protected readonly icon: _angular_core.Signal<string | undefined>;
|
|
@@ -638,24 +644,24 @@ declare class IonButtonAddonComponent {
|
|
|
638
644
|
* is treated as "no label" so the button doesn't render an invisible text
|
|
639
645
|
* slot beside the icon. */
|
|
640
646
|
protected readonly iconOnly: _angular_core.Signal<boolean>;
|
|
641
|
-
static ɵfac: _angular_core.ɵɵFactoryDeclaration<
|
|
642
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<
|
|
647
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<IonicButtonAddonComponent, never>;
|
|
648
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<IonicButtonAddonComponent, "df-ion-button-addon", never, {}, {}, never, never, true, [{ directive: typeof i1.NgForgeAddonAction; inputs: {}; outputs: {}; }]>;
|
|
643
649
|
}
|
|
644
650
|
|
|
645
651
|
/** Renderer for the `ion-icon` addon type. */
|
|
646
|
-
declare class
|
|
647
|
-
readonly addon: _angular_core.InputSignal<
|
|
652
|
+
declare class IonicIconAddonComponent {
|
|
653
|
+
readonly addon: _angular_core.InputSignal<IonicIconAddon>;
|
|
648
654
|
/** Accepted for contract uniformity — `NgComponentOutlet` setInput is strict; every type must declare it. */
|
|
649
655
|
readonly fieldInputs: _angular_core.InputSignal<WrapperFieldInputs | undefined>;
|
|
650
656
|
protected readonly iconName: _angular_core.Signal<string>;
|
|
651
657
|
protected readonly ariaLabel: _angular_core.Signal<_ng_forge_dynamic_forms.DynamicText | undefined>;
|
|
652
658
|
protected readonly hasAriaLabel: _angular_core.Signal<boolean>;
|
|
653
|
-
static ɵfac: _angular_core.ɵɵFactoryDeclaration<
|
|
654
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<
|
|
659
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<IonicIconAddonComponent, never>;
|
|
660
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<IonicIconAddonComponent, "df-ion-icon-addon", never, { "addon": { "alias": "addon"; "required": true; "isSignal": true; }; "fieldInputs": { "alias": "fieldInputs"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
655
661
|
}
|
|
656
662
|
|
|
657
663
|
/** Per-field writable signal that overrides the input's `type` attribute. */
|
|
658
664
|
declare const IONIC_INPUT_TYPE_OVERRIDE: InjectionToken<WritableSignal<string | undefined>>;
|
|
659
665
|
|
|
660
|
-
export { IONIC_CONFIG, IONIC_FIELD_TYPES, IONIC_INPUT_TYPE_OVERRIDE,
|
|
661
|
-
export type {
|
|
666
|
+
export { IONIC_CONFIG, IONIC_FIELD_TYPES, IONIC_INPUT_TYPE_OVERRIDE, IonicButtonAddonComponent, IonicButtonFieldComponent, IonicCheckboxFieldComponent, IonicDatepickerFieldComponent, IonicField, IonicIconAddonComponent, IonicInputFieldComponent, IonicMultiCheckboxFieldComponent, IonicRadioFieldComponent, IonicSelectFieldComponent, IonicSliderFieldComponent, IonicTextareaFieldComponent, IonicToggleFieldComponent, withIonicAddons, withIonicFields };
|
|
667
|
+
export type { IonicAddArrayItemButtonField, IonicAddon, IonicAddonExtensions, IonicButtonAddon, IonicButtonField, IonicButtonProps, IonicCheckboxField, IonicCheckboxProps, IonicConfig, IonicDatepickerField, IonicDatepickerProps, IonicFieldType, IonicFormConfig, IonicFormProps, IonicIconAddon, IonicInputAddon, IonicInputField, IonicInputProps, IonicInsertArrayItemButtonField, IonicMultiCheckboxField, IonicMultiCheckboxProps, IonicNextButtonField, IonicPopArrayItemButtonField, IonicPrependArrayItemButtonField, IonicPreviousButtonField, IonicRadioField, IonicRadioProps, IonicRemoveArrayItemButtonField, IonicSelectField, IonicSelectProps, IonicShiftArrayItemButtonField, IonicSliderField, IonicSliderProps, IonicSubmitButtonField, IonicTextareaField, IonicTextareaProps, IonicToggleField, IonicToggleProps };
|