@ng-forge/dynamic-forms-ionic 0.1.3 → 0.2.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.
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { inject, input, computed, ChangeDetectionStrategy, Component, signal, InjectionToken,
|
|
2
|
+
import { inject, input, computed, ChangeDetectionStrategy, Component, signal, InjectionToken, linkedSignal, model, isSignal } from '@angular/core';
|
|
3
3
|
import { IonButton, IonCheckbox, IonNote, IonInput, IonModal, IonDatetime, IonButtons, IonHeader, IonContent, IonToolbar, IonTitle, IonItem, IonRadioGroup, IonRadio, IonSelect, IonSelectOption, IonRange, IonTextarea, IonToggle } from '@ionic/angular/standalone';
|
|
4
|
-
import { EventBus, ARRAY_CONTEXT, resolveTokens, DynamicTextPipe, buildBaseInputs, FIELD_SIGNAL_CONTEXT, resolveSubmitButtonDisabled, resolveNextButtonDisabled, NextPageEvent, PreviousPageEvent,
|
|
4
|
+
import { EventBus, ARRAY_CONTEXT, resolveTokens, DynamicTextPipe, buildBaseInputs, FIELD_SIGNAL_CONTEXT, resolveSubmitButtonDisabled, resolveNextButtonDisabled, NextPageEvent, PreviousPageEvent, DynamicFormLogger, AddArrayItemEvent, RemoveArrayItemEvent } from '@ng-forge/dynamic-forms';
|
|
5
5
|
import { AsyncPipe } from '@angular/common';
|
|
6
6
|
import { Field } from '@angular/forms/signals';
|
|
7
|
-
import { createResolvedErrorsSignal, shouldShowErrors, valueFieldMapper, optionsFieldMapper, checkboxFieldMapper, datepickerFieldMapper } from '@ng-forge/dynamic-forms/integration';
|
|
7
|
+
import { createResolvedErrorsSignal, shouldShowErrors, isEqual, ValueInArrayPipe, valueFieldMapper, optionsFieldMapper, checkboxFieldMapper, datepickerFieldMapper } from '@ng-forge/dynamic-forms/integration';
|
|
8
8
|
import { format } from 'date-fns';
|
|
9
9
|
import { explicitEffect } from 'ngxtension/explicit-effect';
|
|
10
10
|
|
|
@@ -64,8 +64,8 @@ class IonicButtonFieldComponent {
|
|
|
64
64
|
this.eventBus.dispatch(event);
|
|
65
65
|
}
|
|
66
66
|
}
|
|
67
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.
|
|
68
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.0.
|
|
67
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: IonicButtonFieldComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
68
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.0.6", type: IonicButtonFieldComponent, isStandalone: true, selector: "df-ionic-button", inputs: { key: { classPropertyName: "key", publicName: "key", isSignal: true, isRequired: true, transformFunction: null }, label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: true, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, hidden: { classPropertyName: "hidden", publicName: "hidden", isSignal: true, isRequired: false, transformFunction: null }, tabIndex: { classPropertyName: "tabIndex", publicName: "tabIndex", isSignal: true, isRequired: false, transformFunction: null }, className: { classPropertyName: "className", publicName: "className", isSignal: true, isRequired: false, transformFunction: null }, event: { classPropertyName: "event", publicName: "event", isSignal: true, isRequired: false, transformFunction: null }, eventArgs: { classPropertyName: "eventArgs", publicName: "eventArgs", isSignal: true, isRequired: false, transformFunction: null }, props: { classPropertyName: "props", publicName: "props", isSignal: true, isRequired: false, transformFunction: null }, eventContext: { classPropertyName: "eventContext", publicName: "eventContext", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "id": "`${key()}`", "attr.data-testid": "key()" } }, ngImport: i0, template: `
|
|
69
69
|
<ion-button
|
|
70
70
|
[type]="buttonType()"
|
|
71
71
|
[expand]="props()?.expand"
|
|
@@ -83,7 +83,7 @@ class IonicButtonFieldComponent {
|
|
|
83
83
|
</ion-button>
|
|
84
84
|
`, isInline: true, dependencies: [{ kind: "component", type: IonButton, selector: "ion-button", inputs: ["buttonType", "color", "disabled", "download", "expand", "fill", "form", "href", "mode", "rel", "routerAnimation", "routerDirection", "shape", "size", "strong", "target", "type"] }, { kind: "pipe", type: DynamicTextPipe, name: "dynamicText" }, { kind: "pipe", type: AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
85
85
|
}
|
|
86
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.
|
|
86
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: IonicButtonFieldComponent, decorators: [{
|
|
87
87
|
type: Component,
|
|
88
88
|
args: [{
|
|
89
89
|
selector: 'df-ionic-button',
|
|
@@ -148,8 +148,8 @@ class IonicCheckboxFieldComponent {
|
|
|
148
148
|
isRequired = computed(() => {
|
|
149
149
|
return this.field()().required?.() === true;
|
|
150
150
|
}, ...(ngDevMode ? [{ debugName: "isRequired" }] : []));
|
|
151
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.
|
|
152
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.
|
|
151
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: IonicCheckboxFieldComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
152
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.6", type: IonicCheckboxFieldComponent, isStandalone: true, selector: "df-ionic-checkbox", inputs: { field: { classPropertyName: "field", publicName: "field", isSignal: true, isRequired: true, transformFunction: null }, key: { classPropertyName: "key", publicName: "key", isSignal: true, isRequired: true, transformFunction: null }, label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null }, placeholder: { classPropertyName: "placeholder", publicName: "placeholder", isSignal: true, isRequired: false, transformFunction: null }, className: { classPropertyName: "className", publicName: "className", isSignal: true, isRequired: false, transformFunction: null }, tabIndex: { classPropertyName: "tabIndex", publicName: "tabIndex", isSignal: true, isRequired: false, transformFunction: null }, props: { classPropertyName: "props", publicName: "props", isSignal: true, isRequired: false, transformFunction: null }, validationMessages: { classPropertyName: "validationMessages", publicName: "validationMessages", isSignal: true, isRequired: false, transformFunction: null }, defaultValidationMessages: { classPropertyName: "defaultValidationMessages", publicName: "defaultValidationMessages", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "className()", "id": "`${key()}`", "attr.data-testid": "key()", "attr.hidden": "field()().hidden() || null" } }, ngImport: i0, template: `
|
|
153
153
|
@let f = field();
|
|
154
154
|
|
|
155
155
|
<ion-checkbox
|
|
@@ -170,7 +170,7 @@ class IonicCheckboxFieldComponent {
|
|
|
170
170
|
}
|
|
171
171
|
`, isInline: true, styles: [":host{display:block}:host([hidden]){display:none!important}\n"], dependencies: [{ kind: "component", type: IonCheckbox, selector: "ion-checkbox", inputs: ["checked", "color", "disabled", "errorText", "helperText", "indeterminate", "justify", "labelPlacement", "mode", "name", "value"] }, { kind: "component", type: IonNote, selector: "ion-note", inputs: ["color", "mode"] }, { kind: "directive", type: Field, selector: "[field]", inputs: ["field"] }, { kind: "pipe", type: DynamicTextPipe, name: "dynamicText" }, { kind: "pipe", type: AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
172
172
|
}
|
|
173
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.
|
|
173
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: IonicCheckboxFieldComponent, decorators: [{
|
|
174
174
|
type: Component,
|
|
175
175
|
args: [{ selector: 'df-ionic-checkbox', imports: [IonCheckbox, IonNote, Field, DynamicTextPipe, AsyncPipe], template: `
|
|
176
176
|
@let f = field();
|
|
@@ -279,8 +279,8 @@ class IonicDatepickerFieldComponent {
|
|
|
279
279
|
return format(date, 'MMM d, yyyy');
|
|
280
280
|
}
|
|
281
281
|
}
|
|
282
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.
|
|
283
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.
|
|
282
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: IonicDatepickerFieldComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
283
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.6", type: IonicDatepickerFieldComponent, isStandalone: true, selector: "df-ionic-datepicker", inputs: { field: { classPropertyName: "field", publicName: "field", isSignal: true, isRequired: true, transformFunction: null }, key: { classPropertyName: "key", publicName: "key", isSignal: true, isRequired: true, transformFunction: null }, label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null }, placeholder: { classPropertyName: "placeholder", publicName: "placeholder", isSignal: true, isRequired: false, transformFunction: null }, className: { classPropertyName: "className", publicName: "className", isSignal: true, isRequired: false, transformFunction: null }, tabIndex: { classPropertyName: "tabIndex", publicName: "tabIndex", isSignal: true, isRequired: false, transformFunction: null }, minDate: { classPropertyName: "minDate", publicName: "minDate", isSignal: true, isRequired: false, transformFunction: null }, maxDate: { classPropertyName: "maxDate", publicName: "maxDate", isSignal: true, isRequired: false, transformFunction: null }, startAt: { classPropertyName: "startAt", publicName: "startAt", isSignal: true, isRequired: false, transformFunction: null }, props: { classPropertyName: "props", publicName: "props", isSignal: true, isRequired: false, transformFunction: null }, validationMessages: { classPropertyName: "validationMessages", publicName: "validationMessages", isSignal: true, isRequired: false, transformFunction: null }, defaultValidationMessages: { classPropertyName: "defaultValidationMessages", publicName: "defaultValidationMessages", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "id": "`${key()}`", "attr.data-testid": "key()", "class": "className()", "attr.hidden": "field()().hidden() || null" } }, ngImport: i0, template: `
|
|
284
284
|
@let f = field(); @let dateValue = f().value();
|
|
285
285
|
|
|
286
286
|
<ion-input
|
|
@@ -336,7 +336,7 @@ class IonicDatepickerFieldComponent {
|
|
|
336
336
|
</ion-modal>
|
|
337
337
|
`, isInline: true, styles: ["ion-input{cursor:pointer}:host([hidden]){display:none!important}\n"], dependencies: [{ kind: "component", type: IonInput, selector: "ion-input", inputs: ["accept", "autocapitalize", "autocomplete", "autocorrect", "autofocus", "clearInput", "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", "size", "spellcheck", "step", "type", "value"] }, { kind: "component", type: IonModal, selector: "ion-modal" }, { kind: "component", type: 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: IonNote, selector: "ion-note", inputs: ["color", "mode"] }, { kind: "component", type: IonButtons, selector: "ion-buttons", inputs: ["collapse"] }, { kind: "component", type: IonHeader, selector: "ion-header", inputs: ["collapse", "mode", "translucent"] }, { kind: "component", type: IonContent, selector: "ion-content", inputs: ["color", "fixedSlotPlacement", "forceOverscroll", "fullscreen", "scrollEvents", "scrollX", "scrollY"] }, { kind: "component", type: IonToolbar, selector: "ion-toolbar", inputs: ["color", "mode"] }, { kind: "component", type: IonTitle, selector: "ion-title", inputs: ["color", "size"] }, { kind: "component", type: IonButton, selector: "ion-button", inputs: ["buttonType", "color", "disabled", "download", "expand", "fill", "form", "href", "mode", "rel", "routerAnimation", "routerDirection", "shape", "size", "strong", "target", "type"] }, { kind: "pipe", type: DynamicTextPipe, name: "dynamicText" }, { kind: "pipe", type: AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
338
338
|
}
|
|
339
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.
|
|
339
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: IonicDatepickerFieldComponent, decorators: [{
|
|
340
340
|
type: Component,
|
|
341
341
|
args: [{ selector: 'df-ionic-datepicker', imports: [
|
|
342
342
|
IonInput,
|
|
@@ -473,361 +473,73 @@ class IonicInputFieldComponent {
|
|
|
473
473
|
isRequired = computed(() => {
|
|
474
474
|
return this.field()().required?.() === true;
|
|
475
475
|
}, ...(ngDevMode ? [{ debugName: "isRequired" }] : []));
|
|
476
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.
|
|
477
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.
|
|
476
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: IonicInputFieldComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
477
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.6", type: IonicInputFieldComponent, isStandalone: true, selector: "df-ionic-input", inputs: { field: { classPropertyName: "field", publicName: "field", isSignal: true, isRequired: true, transformFunction: null }, key: { classPropertyName: "key", publicName: "key", isSignal: true, isRequired: true, transformFunction: null }, label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null }, placeholder: { classPropertyName: "placeholder", publicName: "placeholder", isSignal: true, isRequired: false, transformFunction: null }, className: { classPropertyName: "className", publicName: "className", isSignal: true, isRequired: false, transformFunction: null }, tabIndex: { classPropertyName: "tabIndex", publicName: "tabIndex", isSignal: true, isRequired: false, transformFunction: null }, props: { classPropertyName: "props", publicName: "props", isSignal: true, isRequired: false, transformFunction: null }, validationMessages: { classPropertyName: "validationMessages", publicName: "validationMessages", isSignal: true, isRequired: false, transformFunction: null }, defaultValidationMessages: { classPropertyName: "defaultValidationMessages", publicName: "defaultValidationMessages", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "id": "`${key()}`", "attr.data-testid": "key()", "class": "className()", "attr.hidden": "field()().hidden() || null" } }, ngImport: i0, template: `
|
|
478
478
|
@let f = field();
|
|
479
479
|
@let ariaInvalid = isAriaInvalid();
|
|
480
480
|
@let ariaRequired = isRequired() || null;
|
|
481
481
|
|
|
482
|
-
|
|
483
|
-
|
|
484
|
-
|
|
485
|
-
|
|
486
|
-
|
|
487
|
-
|
|
488
|
-
|
|
489
|
-
|
|
490
|
-
|
|
491
|
-
|
|
492
|
-
|
|
493
|
-
|
|
494
|
-
|
|
495
|
-
|
|
496
|
-
|
|
497
|
-
|
|
498
|
-
|
|
499
|
-
|
|
500
|
-
|
|
501
|
-
|
|
502
|
-
|
|
503
|
-
|
|
504
|
-
<
|
|
505
|
-
|
|
506
|
-
|
|
507
|
-
|
|
508
|
-
</div>
|
|
509
|
-
</ion-input>
|
|
510
|
-
}
|
|
511
|
-
@case ('password') {
|
|
512
|
-
<ion-input
|
|
513
|
-
type="password"
|
|
514
|
-
[field]="f"
|
|
515
|
-
[label]="(label() | dynamicText | async) ?? undefined"
|
|
516
|
-
[labelPlacement]="effectiveLabelPlacement()"
|
|
517
|
-
[placeholder]="(placeholder() | dynamicText | async) ?? ''"
|
|
518
|
-
[clearInput]="props()?.clearInput ?? false"
|
|
519
|
-
[counter]="props()?.counter ?? false"
|
|
520
|
-
[color]="effectiveColor()"
|
|
521
|
-
[fill]="effectiveFill()"
|
|
522
|
-
[shape]="effectiveShape()"
|
|
523
|
-
[readonly]="f().readonly()"
|
|
524
|
-
[helperText]="(props()?.helperText | dynamicText | async) ?? undefined"
|
|
525
|
-
[errorText]="f().invalid() && f().touched() ? ((props()?.errorText | dynamicText | async) ?? undefined) : undefined"
|
|
526
|
-
[attr.tabindex]="tabIndex()"
|
|
527
|
-
[attr.aria-invalid]="ariaInvalid"
|
|
528
|
-
[attr.aria-required]="ariaRequired"
|
|
529
|
-
[class.ion-invalid]="f().invalid()"
|
|
530
|
-
[class.ion-touched]="f().touched()"
|
|
531
|
-
>
|
|
532
|
-
<div slot="error">
|
|
533
|
-
@for (error of errorsToDisplay(); track error.kind; let i = $index) {
|
|
534
|
-
<ion-note color="danger" [id]="errorId() + '-' + i" role="alert">{{ error.message }}</ion-note>
|
|
535
|
-
}
|
|
536
|
-
</div>
|
|
537
|
-
</ion-input>
|
|
538
|
-
}
|
|
539
|
-
@case ('number') {
|
|
540
|
-
<ion-input
|
|
541
|
-
type="number"
|
|
542
|
-
[field]="f"
|
|
543
|
-
[label]="(label() | dynamicText | async) ?? undefined"
|
|
544
|
-
[labelPlacement]="effectiveLabelPlacement()"
|
|
545
|
-
[placeholder]="(placeholder() | dynamicText | async) ?? ''"
|
|
546
|
-
[clearInput]="props()?.clearInput ?? false"
|
|
547
|
-
[counter]="props()?.counter ?? false"
|
|
548
|
-
[color]="effectiveColor()"
|
|
549
|
-
[fill]="effectiveFill()"
|
|
550
|
-
[shape]="effectiveShape()"
|
|
551
|
-
[readonly]="f().readonly()"
|
|
552
|
-
[helperText]="(props()?.helperText | dynamicText | async) ?? undefined"
|
|
553
|
-
[errorText]="f().invalid() && f().touched() ? ((props()?.errorText | dynamicText | async) ?? undefined) : undefined"
|
|
554
|
-
[attr.tabindex]="tabIndex()"
|
|
555
|
-
[attr.aria-invalid]="ariaInvalid"
|
|
556
|
-
[attr.aria-required]="ariaRequired"
|
|
557
|
-
[class.ion-invalid]="f().invalid()"
|
|
558
|
-
[class.ion-touched]="f().touched()"
|
|
559
|
-
>
|
|
560
|
-
<div slot="error">
|
|
561
|
-
@for (error of errorsToDisplay(); track error.kind; let i = $index) {
|
|
562
|
-
<ion-note color="danger" [id]="errorId() + '-' + i" role="alert">{{ error.message }}</ion-note>
|
|
563
|
-
}
|
|
564
|
-
</div>
|
|
565
|
-
</ion-input>
|
|
566
|
-
}
|
|
567
|
-
@case ('tel') {
|
|
568
|
-
<ion-input
|
|
569
|
-
type="tel"
|
|
570
|
-
[field]="f"
|
|
571
|
-
[label]="(label() | dynamicText | async) ?? undefined"
|
|
572
|
-
[labelPlacement]="effectiveLabelPlacement()"
|
|
573
|
-
[placeholder]="(placeholder() | dynamicText | async) ?? ''"
|
|
574
|
-
[clearInput]="props()?.clearInput ?? false"
|
|
575
|
-
[counter]="props()?.counter ?? false"
|
|
576
|
-
[color]="effectiveColor()"
|
|
577
|
-
[fill]="effectiveFill()"
|
|
578
|
-
[shape]="effectiveShape()"
|
|
579
|
-
[readonly]="f().readonly()"
|
|
580
|
-
[helperText]="(props()?.helperText | dynamicText | async) ?? undefined"
|
|
581
|
-
[errorText]="f().invalid() && f().touched() ? ((props()?.errorText | dynamicText | async) ?? undefined) : undefined"
|
|
582
|
-
[attr.tabindex]="tabIndex()"
|
|
583
|
-
[attr.aria-invalid]="ariaInvalid"
|
|
584
|
-
[attr.aria-required]="ariaRequired"
|
|
585
|
-
[class.ion-invalid]="f().invalid()"
|
|
586
|
-
[class.ion-touched]="f().touched()"
|
|
587
|
-
>
|
|
588
|
-
<div slot="error">
|
|
589
|
-
@for (error of errorsToDisplay(); track error.kind; let i = $index) {
|
|
590
|
-
<ion-note color="danger" [id]="errorId() + '-' + i" role="alert">{{ error.message }}</ion-note>
|
|
591
|
-
}
|
|
592
|
-
</div>
|
|
593
|
-
</ion-input>
|
|
594
|
-
}
|
|
595
|
-
@case ('url') {
|
|
596
|
-
<ion-input
|
|
597
|
-
type="url"
|
|
598
|
-
[field]="f"
|
|
599
|
-
[label]="(label() | dynamicText | async) ?? undefined"
|
|
600
|
-
[labelPlacement]="effectiveLabelPlacement()"
|
|
601
|
-
[placeholder]="(placeholder() | dynamicText | async) ?? ''"
|
|
602
|
-
[clearInput]="props()?.clearInput ?? false"
|
|
603
|
-
[counter]="props()?.counter ?? false"
|
|
604
|
-
[color]="effectiveColor()"
|
|
605
|
-
[fill]="effectiveFill()"
|
|
606
|
-
[shape]="effectiveShape()"
|
|
607
|
-
[readonly]="f().readonly()"
|
|
608
|
-
[helperText]="(props()?.helperText | dynamicText | async) ?? undefined"
|
|
609
|
-
[errorText]="f().invalid() && f().touched() ? ((props()?.errorText | dynamicText | async) ?? undefined) : undefined"
|
|
610
|
-
[attr.tabindex]="tabIndex()"
|
|
611
|
-
[attr.aria-invalid]="ariaInvalid"
|
|
612
|
-
[attr.aria-required]="ariaRequired"
|
|
613
|
-
[class.ion-invalid]="f().invalid()"
|
|
614
|
-
[class.ion-touched]="f().touched()"
|
|
615
|
-
>
|
|
616
|
-
<div slot="error">
|
|
617
|
-
@for (error of errorsToDisplay(); track error.kind; let i = $index) {
|
|
618
|
-
<ion-note color="danger" [id]="errorId() + '-' + i" role="alert">{{ error.message }}</ion-note>
|
|
619
|
-
}
|
|
620
|
-
</div>
|
|
621
|
-
</ion-input>
|
|
622
|
-
}
|
|
623
|
-
@default {
|
|
624
|
-
<ion-input
|
|
625
|
-
type="text"
|
|
626
|
-
[field]="f"
|
|
627
|
-
[label]="(label() | dynamicText | async) ?? undefined"
|
|
628
|
-
[labelPlacement]="effectiveLabelPlacement()"
|
|
629
|
-
[placeholder]="(placeholder() | dynamicText | async) ?? ''"
|
|
630
|
-
[clearInput]="props()?.clearInput ?? false"
|
|
631
|
-
[counter]="props()?.counter ?? false"
|
|
632
|
-
[color]="effectiveColor()"
|
|
633
|
-
[fill]="effectiveFill()"
|
|
634
|
-
[shape]="effectiveShape()"
|
|
635
|
-
[readonly]="f().readonly()"
|
|
636
|
-
[helperText]="(props()?.helperText | dynamicText | async) ?? undefined"
|
|
637
|
-
[errorText]="f().invalid() && f().touched() ? ((props()?.errorText | dynamicText | async) ?? undefined) : undefined"
|
|
638
|
-
[attr.tabindex]="tabIndex()"
|
|
639
|
-
[attr.aria-invalid]="ariaInvalid"
|
|
640
|
-
[attr.aria-required]="ariaRequired"
|
|
641
|
-
[class.ion-invalid]="f().invalid()"
|
|
642
|
-
[class.ion-touched]="f().touched()"
|
|
643
|
-
>
|
|
644
|
-
<div slot="error">
|
|
645
|
-
@for (error of errorsToDisplay(); track error.kind; let i = $index) {
|
|
646
|
-
<ion-note color="danger" [id]="errorId() + '-' + i" role="alert">{{ error.message }}</ion-note>
|
|
647
|
-
}
|
|
648
|
-
</div>
|
|
649
|
-
</ion-input>
|
|
650
|
-
}
|
|
651
|
-
}
|
|
482
|
+
<ion-input
|
|
483
|
+
[type]="props()?.type ?? 'text'"
|
|
484
|
+
[field]="f"
|
|
485
|
+
[label]="(label() | dynamicText | async) ?? undefined"
|
|
486
|
+
[labelPlacement]="effectiveLabelPlacement()"
|
|
487
|
+
[placeholder]="(placeholder() | dynamicText | async) ?? ''"
|
|
488
|
+
[clearInput]="props()?.clearInput ?? false"
|
|
489
|
+
[counter]="props()?.counter ?? false"
|
|
490
|
+
[color]="effectiveColor()"
|
|
491
|
+
[fill]="effectiveFill()"
|
|
492
|
+
[shape]="effectiveShape()"
|
|
493
|
+
[readonly]="f().readonly()"
|
|
494
|
+
[helperText]="(props()?.helperText | dynamicText | async) ?? undefined"
|
|
495
|
+
[errorText]="f().invalid() && f().touched() ? ((props()?.errorText | dynamicText | async) ?? undefined) : undefined"
|
|
496
|
+
[attr.tabindex]="tabIndex()"
|
|
497
|
+
[attr.aria-invalid]="ariaInvalid"
|
|
498
|
+
[attr.aria-required]="ariaRequired"
|
|
499
|
+
[class.ion-invalid]="f().invalid()"
|
|
500
|
+
[class.ion-touched]="f().touched()"
|
|
501
|
+
>
|
|
502
|
+
<div slot="error">
|
|
503
|
+
@for (error of errorsToDisplay(); track error.kind; let i = $index) {
|
|
504
|
+
<ion-note color="danger" [id]="errorId() + '-' + i" role="alert">{{ error.message }}</ion-note>
|
|
505
|
+
}
|
|
506
|
+
</div>
|
|
507
|
+
</ion-input>
|
|
652
508
|
`, isInline: true, styles: [":host([hidden]){display:none!important}\n"], dependencies: [{ kind: "component", type: IonInput, selector: "ion-input", inputs: ["accept", "autocapitalize", "autocomplete", "autocorrect", "autofocus", "clearInput", "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", "size", "spellcheck", "step", "type", "value"] }, { kind: "component", type: IonNote, selector: "ion-note", inputs: ["color", "mode"] }, { kind: "directive", type: Field, selector: "[field]", inputs: ["field"] }, { kind: "pipe", type: DynamicTextPipe, name: "dynamicText" }, { kind: "pipe", type: AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
653
509
|
}
|
|
654
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.
|
|
510
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: IonicInputFieldComponent, decorators: [{
|
|
655
511
|
type: Component,
|
|
656
512
|
args: [{ selector: 'df-ionic-input', imports: [IonInput, IonNote, Field, DynamicTextPipe, AsyncPipe], template: `
|
|
657
513
|
@let f = field();
|
|
658
514
|
@let ariaInvalid = isAriaInvalid();
|
|
659
515
|
@let ariaRequired = isRequired() || null;
|
|
660
516
|
|
|
661
|
-
|
|
662
|
-
|
|
663
|
-
|
|
664
|
-
|
|
665
|
-
|
|
666
|
-
|
|
667
|
-
|
|
668
|
-
|
|
669
|
-
|
|
670
|
-
|
|
671
|
-
|
|
672
|
-
|
|
673
|
-
|
|
674
|
-
|
|
675
|
-
|
|
676
|
-
|
|
677
|
-
|
|
678
|
-
|
|
679
|
-
|
|
680
|
-
|
|
681
|
-
|
|
682
|
-
|
|
683
|
-
<
|
|
684
|
-
|
|
685
|
-
|
|
686
|
-
|
|
687
|
-
</div>
|
|
688
|
-
</ion-input>
|
|
689
|
-
}
|
|
690
|
-
@case ('password') {
|
|
691
|
-
<ion-input
|
|
692
|
-
type="password"
|
|
693
|
-
[field]="f"
|
|
694
|
-
[label]="(label() | dynamicText | async) ?? undefined"
|
|
695
|
-
[labelPlacement]="effectiveLabelPlacement()"
|
|
696
|
-
[placeholder]="(placeholder() | dynamicText | async) ?? ''"
|
|
697
|
-
[clearInput]="props()?.clearInput ?? false"
|
|
698
|
-
[counter]="props()?.counter ?? false"
|
|
699
|
-
[color]="effectiveColor()"
|
|
700
|
-
[fill]="effectiveFill()"
|
|
701
|
-
[shape]="effectiveShape()"
|
|
702
|
-
[readonly]="f().readonly()"
|
|
703
|
-
[helperText]="(props()?.helperText | dynamicText | async) ?? undefined"
|
|
704
|
-
[errorText]="f().invalid() && f().touched() ? ((props()?.errorText | dynamicText | async) ?? undefined) : undefined"
|
|
705
|
-
[attr.tabindex]="tabIndex()"
|
|
706
|
-
[attr.aria-invalid]="ariaInvalid"
|
|
707
|
-
[attr.aria-required]="ariaRequired"
|
|
708
|
-
[class.ion-invalid]="f().invalid()"
|
|
709
|
-
[class.ion-touched]="f().touched()"
|
|
710
|
-
>
|
|
711
|
-
<div slot="error">
|
|
712
|
-
@for (error of errorsToDisplay(); track error.kind; let i = $index) {
|
|
713
|
-
<ion-note color="danger" [id]="errorId() + '-' + i" role="alert">{{ error.message }}</ion-note>
|
|
714
|
-
}
|
|
715
|
-
</div>
|
|
716
|
-
</ion-input>
|
|
717
|
-
}
|
|
718
|
-
@case ('number') {
|
|
719
|
-
<ion-input
|
|
720
|
-
type="number"
|
|
721
|
-
[field]="f"
|
|
722
|
-
[label]="(label() | dynamicText | async) ?? undefined"
|
|
723
|
-
[labelPlacement]="effectiveLabelPlacement()"
|
|
724
|
-
[placeholder]="(placeholder() | dynamicText | async) ?? ''"
|
|
725
|
-
[clearInput]="props()?.clearInput ?? false"
|
|
726
|
-
[counter]="props()?.counter ?? false"
|
|
727
|
-
[color]="effectiveColor()"
|
|
728
|
-
[fill]="effectiveFill()"
|
|
729
|
-
[shape]="effectiveShape()"
|
|
730
|
-
[readonly]="f().readonly()"
|
|
731
|
-
[helperText]="(props()?.helperText | dynamicText | async) ?? undefined"
|
|
732
|
-
[errorText]="f().invalid() && f().touched() ? ((props()?.errorText | dynamicText | async) ?? undefined) : undefined"
|
|
733
|
-
[attr.tabindex]="tabIndex()"
|
|
734
|
-
[attr.aria-invalid]="ariaInvalid"
|
|
735
|
-
[attr.aria-required]="ariaRequired"
|
|
736
|
-
[class.ion-invalid]="f().invalid()"
|
|
737
|
-
[class.ion-touched]="f().touched()"
|
|
738
|
-
>
|
|
739
|
-
<div slot="error">
|
|
740
|
-
@for (error of errorsToDisplay(); track error.kind; let i = $index) {
|
|
741
|
-
<ion-note color="danger" [id]="errorId() + '-' + i" role="alert">{{ error.message }}</ion-note>
|
|
742
|
-
}
|
|
743
|
-
</div>
|
|
744
|
-
</ion-input>
|
|
745
|
-
}
|
|
746
|
-
@case ('tel') {
|
|
747
|
-
<ion-input
|
|
748
|
-
type="tel"
|
|
749
|
-
[field]="f"
|
|
750
|
-
[label]="(label() | dynamicText | async) ?? undefined"
|
|
751
|
-
[labelPlacement]="effectiveLabelPlacement()"
|
|
752
|
-
[placeholder]="(placeholder() | dynamicText | async) ?? ''"
|
|
753
|
-
[clearInput]="props()?.clearInput ?? false"
|
|
754
|
-
[counter]="props()?.counter ?? false"
|
|
755
|
-
[color]="effectiveColor()"
|
|
756
|
-
[fill]="effectiveFill()"
|
|
757
|
-
[shape]="effectiveShape()"
|
|
758
|
-
[readonly]="f().readonly()"
|
|
759
|
-
[helperText]="(props()?.helperText | dynamicText | async) ?? undefined"
|
|
760
|
-
[errorText]="f().invalid() && f().touched() ? ((props()?.errorText | dynamicText | async) ?? undefined) : undefined"
|
|
761
|
-
[attr.tabindex]="tabIndex()"
|
|
762
|
-
[attr.aria-invalid]="ariaInvalid"
|
|
763
|
-
[attr.aria-required]="ariaRequired"
|
|
764
|
-
[class.ion-invalid]="f().invalid()"
|
|
765
|
-
[class.ion-touched]="f().touched()"
|
|
766
|
-
>
|
|
767
|
-
<div slot="error">
|
|
768
|
-
@for (error of errorsToDisplay(); track error.kind; let i = $index) {
|
|
769
|
-
<ion-note color="danger" [id]="errorId() + '-' + i" role="alert">{{ error.message }}</ion-note>
|
|
770
|
-
}
|
|
771
|
-
</div>
|
|
772
|
-
</ion-input>
|
|
773
|
-
}
|
|
774
|
-
@case ('url') {
|
|
775
|
-
<ion-input
|
|
776
|
-
type="url"
|
|
777
|
-
[field]="f"
|
|
778
|
-
[label]="(label() | dynamicText | async) ?? undefined"
|
|
779
|
-
[labelPlacement]="effectiveLabelPlacement()"
|
|
780
|
-
[placeholder]="(placeholder() | dynamicText | async) ?? ''"
|
|
781
|
-
[clearInput]="props()?.clearInput ?? false"
|
|
782
|
-
[counter]="props()?.counter ?? false"
|
|
783
|
-
[color]="effectiveColor()"
|
|
784
|
-
[fill]="effectiveFill()"
|
|
785
|
-
[shape]="effectiveShape()"
|
|
786
|
-
[readonly]="f().readonly()"
|
|
787
|
-
[helperText]="(props()?.helperText | dynamicText | async) ?? undefined"
|
|
788
|
-
[errorText]="f().invalid() && f().touched() ? ((props()?.errorText | dynamicText | async) ?? undefined) : undefined"
|
|
789
|
-
[attr.tabindex]="tabIndex()"
|
|
790
|
-
[attr.aria-invalid]="ariaInvalid"
|
|
791
|
-
[attr.aria-required]="ariaRequired"
|
|
792
|
-
[class.ion-invalid]="f().invalid()"
|
|
793
|
-
[class.ion-touched]="f().touched()"
|
|
794
|
-
>
|
|
795
|
-
<div slot="error">
|
|
796
|
-
@for (error of errorsToDisplay(); track error.kind; let i = $index) {
|
|
797
|
-
<ion-note color="danger" [id]="errorId() + '-' + i" role="alert">{{ error.message }}</ion-note>
|
|
798
|
-
}
|
|
799
|
-
</div>
|
|
800
|
-
</ion-input>
|
|
801
|
-
}
|
|
802
|
-
@default {
|
|
803
|
-
<ion-input
|
|
804
|
-
type="text"
|
|
805
|
-
[field]="f"
|
|
806
|
-
[label]="(label() | dynamicText | async) ?? undefined"
|
|
807
|
-
[labelPlacement]="effectiveLabelPlacement()"
|
|
808
|
-
[placeholder]="(placeholder() | dynamicText | async) ?? ''"
|
|
809
|
-
[clearInput]="props()?.clearInput ?? false"
|
|
810
|
-
[counter]="props()?.counter ?? false"
|
|
811
|
-
[color]="effectiveColor()"
|
|
812
|
-
[fill]="effectiveFill()"
|
|
813
|
-
[shape]="effectiveShape()"
|
|
814
|
-
[readonly]="f().readonly()"
|
|
815
|
-
[helperText]="(props()?.helperText | dynamicText | async) ?? undefined"
|
|
816
|
-
[errorText]="f().invalid() && f().touched() ? ((props()?.errorText | dynamicText | async) ?? undefined) : undefined"
|
|
817
|
-
[attr.tabindex]="tabIndex()"
|
|
818
|
-
[attr.aria-invalid]="ariaInvalid"
|
|
819
|
-
[attr.aria-required]="ariaRequired"
|
|
820
|
-
[class.ion-invalid]="f().invalid()"
|
|
821
|
-
[class.ion-touched]="f().touched()"
|
|
822
|
-
>
|
|
823
|
-
<div slot="error">
|
|
824
|
-
@for (error of errorsToDisplay(); track error.kind; let i = $index) {
|
|
825
|
-
<ion-note color="danger" [id]="errorId() + '-' + i" role="alert">{{ error.message }}</ion-note>
|
|
826
|
-
}
|
|
827
|
-
</div>
|
|
828
|
-
</ion-input>
|
|
829
|
-
}
|
|
830
|
-
}
|
|
517
|
+
<ion-input
|
|
518
|
+
[type]="props()?.type ?? 'text'"
|
|
519
|
+
[field]="f"
|
|
520
|
+
[label]="(label() | dynamicText | async) ?? undefined"
|
|
521
|
+
[labelPlacement]="effectiveLabelPlacement()"
|
|
522
|
+
[placeholder]="(placeholder() | dynamicText | async) ?? ''"
|
|
523
|
+
[clearInput]="props()?.clearInput ?? false"
|
|
524
|
+
[counter]="props()?.counter ?? false"
|
|
525
|
+
[color]="effectiveColor()"
|
|
526
|
+
[fill]="effectiveFill()"
|
|
527
|
+
[shape]="effectiveShape()"
|
|
528
|
+
[readonly]="f().readonly()"
|
|
529
|
+
[helperText]="(props()?.helperText | dynamicText | async) ?? undefined"
|
|
530
|
+
[errorText]="f().invalid() && f().touched() ? ((props()?.errorText | dynamicText | async) ?? undefined) : undefined"
|
|
531
|
+
[attr.tabindex]="tabIndex()"
|
|
532
|
+
[attr.aria-invalid]="ariaInvalid"
|
|
533
|
+
[attr.aria-required]="ariaRequired"
|
|
534
|
+
[class.ion-invalid]="f().invalid()"
|
|
535
|
+
[class.ion-touched]="f().touched()"
|
|
536
|
+
>
|
|
537
|
+
<div slot="error">
|
|
538
|
+
@for (error of errorsToDisplay(); track error.kind; let i = $index) {
|
|
539
|
+
<ion-note color="danger" [id]="errorId() + '-' + i" role="alert">{{ error.message }}</ion-note>
|
|
540
|
+
}
|
|
541
|
+
</div>
|
|
542
|
+
</ion-input>
|
|
831
543
|
`, changeDetection: ChangeDetectionStrategy.OnPush, host: {
|
|
832
544
|
'[id]': '`${key()}`',
|
|
833
545
|
'[attr.data-testid]': 'key()',
|
|
@@ -841,49 +553,6 @@ var ionicInput_component = /*#__PURE__*/Object.freeze({
|
|
|
841
553
|
default: IonicInputFieldComponent
|
|
842
554
|
});
|
|
843
555
|
|
|
844
|
-
class ValueInArrayPipe {
|
|
845
|
-
transform(element, array) {
|
|
846
|
-
return array?.includes(element) ?? false;
|
|
847
|
-
}
|
|
848
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.5", ngImport: i0, type: ValueInArrayPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
|
|
849
|
-
static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "21.0.5", ngImport: i0, type: ValueInArrayPipe, isStandalone: true, name: "inArray" });
|
|
850
|
-
}
|
|
851
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.5", ngImport: i0, type: ValueInArrayPipe, decorators: [{
|
|
852
|
-
type: Pipe,
|
|
853
|
-
args: [{
|
|
854
|
-
pure: true,
|
|
855
|
-
name: 'inArray',
|
|
856
|
-
}]
|
|
857
|
-
}] });
|
|
858
|
-
|
|
859
|
-
/**
|
|
860
|
-
* Performs a deep equality comparison between two values
|
|
861
|
-
*/
|
|
862
|
-
function isEqual(a, b) {
|
|
863
|
-
if (a === b)
|
|
864
|
-
return true;
|
|
865
|
-
if (a == null || b == null)
|
|
866
|
-
return false;
|
|
867
|
-
if (typeof a !== typeof b)
|
|
868
|
-
return false;
|
|
869
|
-
if (a instanceof Date && b instanceof Date) {
|
|
870
|
-
return a.getTime() === b.getTime();
|
|
871
|
-
}
|
|
872
|
-
if (Array.isArray(a) && Array.isArray(b)) {
|
|
873
|
-
if (a.length !== b.length)
|
|
874
|
-
return false;
|
|
875
|
-
return a.every((item, index) => isEqual(item, b[index]));
|
|
876
|
-
}
|
|
877
|
-
if (typeof a === 'object' && typeof b === 'object') {
|
|
878
|
-
const keysA = Object.keys(a);
|
|
879
|
-
const keysB = Object.keys(b);
|
|
880
|
-
if (keysA.length !== keysB.length)
|
|
881
|
-
return false;
|
|
882
|
-
return keysA.every((key) => keysB.includes(key) && isEqual(a[key], b[key]));
|
|
883
|
-
}
|
|
884
|
-
return Object.is(a, b);
|
|
885
|
-
}
|
|
886
|
-
|
|
887
556
|
class IonicMultiCheckboxFieldComponent {
|
|
888
557
|
field = input.required(...(ngDevMode ? [{ debugName: "field" }] : []));
|
|
889
558
|
key = input.required(...(ngDevMode ? [{ debugName: "key" }] : []));
|
|
@@ -942,8 +611,8 @@ class IonicMultiCheckboxFieldComponent {
|
|
|
942
611
|
}
|
|
943
612
|
});
|
|
944
613
|
}
|
|
945
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.
|
|
946
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.
|
|
614
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: IonicMultiCheckboxFieldComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
615
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.6", type: IonicMultiCheckboxFieldComponent, isStandalone: true, selector: "df-ionic-multi-checkbox", inputs: { field: { classPropertyName: "field", publicName: "field", isSignal: true, isRequired: true, transformFunction: null }, key: { classPropertyName: "key", publicName: "key", isSignal: true, isRequired: true, transformFunction: null }, label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null }, placeholder: { classPropertyName: "placeholder", publicName: "placeholder", isSignal: true, isRequired: false, transformFunction: null }, className: { classPropertyName: "className", publicName: "className", isSignal: true, isRequired: false, transformFunction: null }, tabIndex: { classPropertyName: "tabIndex", publicName: "tabIndex", isSignal: true, isRequired: false, transformFunction: null }, options: { classPropertyName: "options", publicName: "options", isSignal: true, isRequired: false, transformFunction: null }, props: { classPropertyName: "props", publicName: "props", isSignal: true, isRequired: false, transformFunction: null }, validationMessages: { classPropertyName: "validationMessages", publicName: "validationMessages", isSignal: true, isRequired: false, transformFunction: null }, defaultValidationMessages: { classPropertyName: "defaultValidationMessages", publicName: "defaultValidationMessages", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "className() || \"\"", "id": "`${key()}`", "attr.data-testid": "key()", "attr.hidden": "field()().hidden() || null" } }, providers: [ValueInArrayPipe], ngImport: i0, template: `
|
|
947
616
|
@let f = field();
|
|
948
617
|
@if (label(); as label) {
|
|
949
618
|
<div class="checkbox-group-label">{{ label | dynamicText | async }}</div>
|
|
@@ -971,7 +640,7 @@ class IonicMultiCheckboxFieldComponent {
|
|
|
971
640
|
}
|
|
972
641
|
`, isInline: true, styles: [":host{display:block}:host([hidden]){display:none!important}.checkbox-group-label{margin-bottom:8px;font-weight:500}.checkbox-group{display:flex;flex-direction:column;gap:4px}ion-item{--padding-start: 0;--inner-padding-end: 0}\n"], dependencies: [{ kind: "component", type: IonCheckbox, selector: "ion-checkbox", inputs: ["checked", "color", "disabled", "errorText", "helperText", "indeterminate", "justify", "labelPlacement", "mode", "name", "value"] }, { kind: "component", type: IonItem, selector: "ion-item", inputs: ["button", "color", "detail", "detailIcon", "disabled", "download", "href", "lines", "mode", "rel", "routerAnimation", "routerDirection", "target", "type"] }, { kind: "component", type: IonNote, selector: "ion-note", inputs: ["color", "mode"] }, { kind: "pipe", type: ValueInArrayPipe, name: "inArray" }, { kind: "pipe", type: DynamicTextPipe, name: "dynamicText" }, { kind: "pipe", type: AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
973
642
|
}
|
|
974
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.
|
|
643
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: IonicMultiCheckboxFieldComponent, decorators: [{
|
|
975
644
|
type: Component,
|
|
976
645
|
args: [{ selector: 'df-ionic-multi-checkbox', imports: [IonCheckbox, IonItem, IonNote, ValueInArrayPipe, DynamicTextPipe, AsyncPipe], template: `
|
|
977
646
|
@let f = field();
|
|
@@ -1042,8 +711,8 @@ class IonicRadioFieldComponent {
|
|
|
1042
711
|
isRequired = computed(() => {
|
|
1043
712
|
return this.field()().required?.() === true;
|
|
1044
713
|
}, ...(ngDevMode ? [{ debugName: "isRequired" }] : []));
|
|
1045
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.
|
|
1046
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.
|
|
714
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: IonicRadioFieldComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
715
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.6", type: IonicRadioFieldComponent, isStandalone: true, selector: "df-ionic-radio", inputs: { field: { classPropertyName: "field", publicName: "field", isSignal: true, isRequired: true, transformFunction: null }, key: { classPropertyName: "key", publicName: "key", isSignal: true, isRequired: true, transformFunction: null }, label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null }, placeholder: { classPropertyName: "placeholder", publicName: "placeholder", isSignal: true, isRequired: false, transformFunction: null }, className: { classPropertyName: "className", publicName: "className", isSignal: true, isRequired: false, transformFunction: null }, tabIndex: { classPropertyName: "tabIndex", publicName: "tabIndex", isSignal: true, isRequired: false, transformFunction: null }, options: { classPropertyName: "options", publicName: "options", isSignal: true, isRequired: false, transformFunction: null }, props: { classPropertyName: "props", publicName: "props", isSignal: true, isRequired: false, transformFunction: null }, validationMessages: { classPropertyName: "validationMessages", publicName: "validationMessages", isSignal: true, isRequired: false, transformFunction: null }, defaultValidationMessages: { classPropertyName: "defaultValidationMessages", publicName: "defaultValidationMessages", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "className()", "id": "`${key()}`", "attr.data-testid": "key()", "attr.hidden": "field()().hidden() || null" } }, ngImport: i0, template: `
|
|
1047
716
|
@let f = field();
|
|
1048
717
|
@if (label(); as label) {
|
|
1049
718
|
<div class="radio-label">{{ label | dynamicText | async }}</div>
|
|
@@ -1075,7 +744,7 @@ class IonicRadioFieldComponent {
|
|
|
1075
744
|
}
|
|
1076
745
|
`, isInline: true, styles: [":host{display:block}:host([hidden]){display:none!important}.radio-label{font-size:.875rem;font-weight:500;margin-bottom:.5rem;color:var(--ion-text-color)}\n"], dependencies: [{ kind: "component", type: IonRadioGroup, selector: "ion-radio-group", inputs: ["allowEmptySelection", "compareWith", "errorText", "helperText", "name", "value"] }, { kind: "component", type: IonRadio, selector: "ion-radio", inputs: ["alignment", "color", "disabled", "justify", "labelPlacement", "mode", "name", "value"] }, { kind: "component", type: IonItem, selector: "ion-item", inputs: ["button", "color", "detail", "detailIcon", "disabled", "download", "href", "lines", "mode", "rel", "routerAnimation", "routerDirection", "target", "type"] }, { kind: "component", type: IonNote, selector: "ion-note", inputs: ["color", "mode"] }, { kind: "directive", type: Field, selector: "[field]", inputs: ["field"] }, { kind: "pipe", type: DynamicTextPipe, name: "dynamicText" }, { kind: "pipe", type: AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
1077
746
|
}
|
|
1078
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.
|
|
747
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: IonicRadioFieldComponent, decorators: [{
|
|
1079
748
|
type: Component,
|
|
1080
749
|
args: [{ selector: 'df-ionic-radio', imports: [IonRadioGroup, IonRadio, IonItem, IonNote, Field, DynamicTextPipe, AsyncPipe], template: `
|
|
1081
750
|
@let f = field();
|
|
@@ -1149,8 +818,8 @@ class IonicSelectFieldComponent {
|
|
|
1149
818
|
isRequired = computed(() => {
|
|
1150
819
|
return this.field()().required?.() === true;
|
|
1151
820
|
}, ...(ngDevMode ? [{ debugName: "isRequired" }] : []));
|
|
1152
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.
|
|
1153
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.
|
|
821
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: IonicSelectFieldComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
822
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.6", type: IonicSelectFieldComponent, isStandalone: true, selector: "df-ionic-select", inputs: { field: { classPropertyName: "field", publicName: "field", isSignal: true, isRequired: true, transformFunction: null }, key: { classPropertyName: "key", publicName: "key", isSignal: true, isRequired: true, transformFunction: null }, label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null }, placeholder: { classPropertyName: "placeholder", publicName: "placeholder", isSignal: true, isRequired: false, transformFunction: null }, className: { classPropertyName: "className", publicName: "className", isSignal: true, isRequired: false, transformFunction: null }, tabIndex: { classPropertyName: "tabIndex", publicName: "tabIndex", isSignal: true, isRequired: false, transformFunction: null }, options: { classPropertyName: "options", publicName: "options", isSignal: true, isRequired: false, transformFunction: null }, props: { classPropertyName: "props", publicName: "props", isSignal: true, isRequired: false, transformFunction: null }, validationMessages: { classPropertyName: "validationMessages", publicName: "validationMessages", isSignal: true, isRequired: false, transformFunction: null }, defaultValidationMessages: { classPropertyName: "defaultValidationMessages", publicName: "defaultValidationMessages", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "id": "`${key()}`", "attr.data-testid": "key()", "class": "className()", "attr.hidden": "field()().hidden() || null" } }, ngImport: i0, template: `
|
|
1154
823
|
@let f = field();
|
|
1155
824
|
|
|
1156
825
|
<ion-select
|
|
@@ -1186,7 +855,7 @@ class IonicSelectFieldComponent {
|
|
|
1186
855
|
</ion-select>
|
|
1187
856
|
`, isInline: true, styles: [":host([hidden]){display:none!important}\n"], dependencies: [{ kind: "component", type: IonSelect, selector: "ion-select", inputs: ["cancelText", "color", "compareWith", "disabled", "errorText", "expandedIcon", "fill", "helperText", "interface", "interfaceOptions", "justify", "label", "labelPlacement", "mode", "multiple", "name", "okText", "placeholder", "selectedText", "shape", "toggleIcon", "value"] }, { kind: "component", type: IonSelectOption, selector: "ion-select-option", inputs: ["disabled", "value"] }, { kind: "component", type: IonNote, selector: "ion-note", inputs: ["color", "mode"] }, { kind: "directive", type: Field, selector: "[field]", inputs: ["field"] }, { kind: "pipe", type: DynamicTextPipe, name: "dynamicText" }, { kind: "pipe", type: AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
1188
857
|
}
|
|
1189
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.
|
|
858
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: IonicSelectFieldComponent, decorators: [{
|
|
1190
859
|
type: Component,
|
|
1191
860
|
args: [{ selector: 'df-ionic-select', imports: [IonSelect, IonSelectOption, IonNote, Field, DynamicTextPipe, AsyncPipe], template: `
|
|
1192
861
|
@let f = field();
|
|
@@ -1263,8 +932,8 @@ class IonicSliderFieldComponent {
|
|
|
1263
932
|
isRequired = computed(() => {
|
|
1264
933
|
return this.field()().required?.() === true;
|
|
1265
934
|
}, ...(ngDevMode ? [{ debugName: "isRequired" }] : []));
|
|
1266
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.
|
|
1267
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.
|
|
935
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: IonicSliderFieldComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
936
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.6", type: IonicSliderFieldComponent, isStandalone: true, selector: "df-ionic-slider", inputs: { field: { classPropertyName: "field", publicName: "field", isSignal: true, isRequired: true, transformFunction: null }, key: { classPropertyName: "key", publicName: "key", isSignal: true, isRequired: true, transformFunction: null }, label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null }, placeholder: { classPropertyName: "placeholder", publicName: "placeholder", isSignal: true, isRequired: false, transformFunction: null }, className: { classPropertyName: "className", publicName: "className", isSignal: true, isRequired: false, transformFunction: null }, tabIndex: { classPropertyName: "tabIndex", publicName: "tabIndex", isSignal: true, isRequired: false, transformFunction: null }, props: { classPropertyName: "props", publicName: "props", isSignal: true, isRequired: false, transformFunction: null }, validationMessages: { classPropertyName: "validationMessages", publicName: "validationMessages", isSignal: true, isRequired: false, transformFunction: null }, defaultValidationMessages: { classPropertyName: "defaultValidationMessages", publicName: "defaultValidationMessages", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "className()", "id": "`${key()}`", "attr.data-testid": "key()", "attr.hidden": "field()().hidden() || null" } }, ngImport: i0, template: `
|
|
1268
937
|
@let f = field();
|
|
1269
938
|
|
|
1270
939
|
<ion-range
|
|
@@ -1288,7 +957,7 @@ class IonicSliderFieldComponent {
|
|
|
1288
957
|
}
|
|
1289
958
|
`, isInline: true, styles: [":host{display:block}:host([hidden]){display:none!important}\n"], dependencies: [{ kind: "component", type: IonRange, selector: "ion-range", inputs: ["activeBarStart", "color", "debounce", "disabled", "dualKnobs", "label", "labelPlacement", "max", "min", "mode", "name", "pin", "pinFormatter", "snaps", "step", "ticks", "value"] }, { kind: "component", type: IonNote, selector: "ion-note", inputs: ["color", "mode"] }, { kind: "directive", type: Field, selector: "[field]", inputs: ["field"] }, { kind: "pipe", type: DynamicTextPipe, name: "dynamicText" }, { kind: "pipe", type: AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
1290
959
|
}
|
|
1291
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.
|
|
960
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: IonicSliderFieldComponent, decorators: [{
|
|
1292
961
|
type: Component,
|
|
1293
962
|
args: [{ selector: 'df-ionic-slider', imports: [IonRange, IonNote, Field, DynamicTextPipe, AsyncPipe], template: `
|
|
1294
963
|
@let f = field();
|
|
@@ -1352,8 +1021,8 @@ class IonicTextareaFieldComponent {
|
|
|
1352
1021
|
isRequired = computed(() => {
|
|
1353
1022
|
return this.field()().required?.() === true;
|
|
1354
1023
|
}, ...(ngDevMode ? [{ debugName: "isRequired" }] : []));
|
|
1355
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.
|
|
1356
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.
|
|
1024
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: IonicTextareaFieldComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
1025
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.6", type: IonicTextareaFieldComponent, isStandalone: true, selector: "df-ionic-textarea", inputs: { field: { classPropertyName: "field", publicName: "field", isSignal: true, isRequired: true, transformFunction: null }, key: { classPropertyName: "key", publicName: "key", isSignal: true, isRequired: true, transformFunction: null }, label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null }, placeholder: { classPropertyName: "placeholder", publicName: "placeholder", isSignal: true, isRequired: false, transformFunction: null }, className: { classPropertyName: "className", publicName: "className", isSignal: true, isRequired: false, transformFunction: null }, tabIndex: { classPropertyName: "tabIndex", publicName: "tabIndex", isSignal: true, isRequired: false, transformFunction: null }, props: { classPropertyName: "props", publicName: "props", isSignal: true, isRequired: false, transformFunction: null }, validationMessages: { classPropertyName: "validationMessages", publicName: "validationMessages", isSignal: true, isRequired: false, transformFunction: null }, defaultValidationMessages: { classPropertyName: "defaultValidationMessages", publicName: "defaultValidationMessages", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "id": "`${key()}`", "attr.data-testid": "key()", "class": "className()", "attr.hidden": "field()().hidden() || null" } }, ngImport: i0, template: `
|
|
1357
1026
|
@let f = field();
|
|
1358
1027
|
|
|
1359
1028
|
<ion-textarea
|
|
@@ -1384,7 +1053,7 @@ class IonicTextareaFieldComponent {
|
|
|
1384
1053
|
</ion-textarea>
|
|
1385
1054
|
`, isInline: true, styles: [":host([hidden]){display:none!important}\n"], dependencies: [{ kind: "component", type: IonTextarea, selector: "ion-textarea", inputs: ["autoGrow", "autocapitalize", "autofocus", "clearOnEdit", "color", "cols", "counter", "counterFormatter", "debounce", "disabled", "enterkeyhint", "errorText", "fill", "helperText", "inputmode", "label", "labelPlacement", "maxlength", "minlength", "mode", "name", "placeholder", "readonly", "required", "rows", "shape", "spellcheck", "value", "wrap"] }, { kind: "component", type: IonNote, selector: "ion-note", inputs: ["color", "mode"] }, { kind: "directive", type: Field, selector: "[field]", inputs: ["field"] }, { kind: "pipe", type: DynamicTextPipe, name: "dynamicText" }, { kind: "pipe", type: AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
1386
1055
|
}
|
|
1387
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.
|
|
1056
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: IonicTextareaFieldComponent, decorators: [{
|
|
1388
1057
|
type: Component,
|
|
1389
1058
|
args: [{ selector: 'df-ionic-textarea', imports: [IonTextarea, IonNote, Field, DynamicTextPipe, AsyncPipe], template: `
|
|
1390
1059
|
@let f = field();
|
|
@@ -1496,8 +1165,8 @@ class IonicToggleControlComponent {
|
|
|
1496
1165
|
onBlur() {
|
|
1497
1166
|
this.touched.set(true);
|
|
1498
1167
|
}
|
|
1499
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.
|
|
1500
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.0.
|
|
1168
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: IonicToggleControlComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
1169
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.0.6", type: IonicToggleControlComponent, isStandalone: true, selector: "df-ionic-toggle-control", inputs: { checked: { classPropertyName: "checked", publicName: "checked", isSignal: true, isRequired: false, transformFunction: null }, touched: { classPropertyName: "touched", publicName: "touched", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, readonly: { classPropertyName: "readonly", publicName: "readonly", isSignal: true, isRequired: false, transformFunction: null }, invalid: { classPropertyName: "invalid", publicName: "invalid", isSignal: true, isRequired: false, transformFunction: null }, required: { classPropertyName: "required", publicName: "required", isSignal: true, isRequired: false, transformFunction: null }, labelPlacement: { classPropertyName: "labelPlacement", publicName: "labelPlacement", isSignal: true, isRequired: false, transformFunction: null }, justify: { classPropertyName: "justify", publicName: "justify", isSignal: true, isRequired: false, transformFunction: null }, color: { classPropertyName: "color", publicName: "color", isSignal: true, isRequired: false, transformFunction: null }, enableOnOffLabels: { classPropertyName: "enableOnOffLabels", publicName: "enableOnOffLabels", isSignal: true, isRequired: false, transformFunction: null }, tabIndex: { classPropertyName: "tabIndex", publicName: "tabIndex", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { checked: "checkedChange", touched: "touchedChange" }, ngImport: i0, template: `
|
|
1501
1170
|
<ion-toggle
|
|
1502
1171
|
[checked]="isChecked()"
|
|
1503
1172
|
(ionChange)="onToggleChange($event)"
|
|
@@ -1516,7 +1185,7 @@ class IonicToggleControlComponent {
|
|
|
1516
1185
|
</ion-toggle>
|
|
1517
1186
|
`, isInline: true, dependencies: [{ kind: "component", type: IonToggle, selector: "ion-toggle", inputs: ["checked", "color", "disabled", "enableOnOffLabels", "errorText", "helperText", "justify", "labelPlacement", "mode", "name", "value"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
1518
1187
|
}
|
|
1519
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.
|
|
1188
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: IonicToggleControlComponent, decorators: [{
|
|
1520
1189
|
type: Component,
|
|
1521
1190
|
args: [{
|
|
1522
1191
|
selector: 'df-ionic-toggle-control',
|
|
@@ -1562,8 +1231,8 @@ class IonicToggleFieldComponent {
|
|
|
1562
1231
|
// ─────────────────────────────────────────────────────────────────────────────
|
|
1563
1232
|
/** Base ID for error elements */
|
|
1564
1233
|
errorId = computed(() => `${this.key()}-error`, ...(ngDevMode ? [{ debugName: "errorId" }] : []));
|
|
1565
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.
|
|
1566
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.
|
|
1234
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: IonicToggleFieldComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
1235
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.6", type: IonicToggleFieldComponent, isStandalone: true, selector: "df-ionic-toggle", inputs: { field: { classPropertyName: "field", publicName: "field", isSignal: true, isRequired: true, transformFunction: null }, key: { classPropertyName: "key", publicName: "key", isSignal: true, isRequired: true, transformFunction: null }, label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null }, placeholder: { classPropertyName: "placeholder", publicName: "placeholder", isSignal: true, isRequired: false, transformFunction: null }, className: { classPropertyName: "className", publicName: "className", isSignal: true, isRequired: false, transformFunction: null }, tabIndex: { classPropertyName: "tabIndex", publicName: "tabIndex", isSignal: true, isRequired: false, transformFunction: null }, props: { classPropertyName: "props", publicName: "props", isSignal: true, isRequired: false, transformFunction: null }, validationMessages: { classPropertyName: "validationMessages", publicName: "validationMessages", isSignal: true, isRequired: false, transformFunction: null }, defaultValidationMessages: { classPropertyName: "defaultValidationMessages", publicName: "defaultValidationMessages", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "className()", "id": "`${key()}`", "attr.data-testid": "key()", "attr.hidden": "field()().hidden() || null" } }, ngImport: i0, template: `
|
|
1567
1236
|
@let f = field();
|
|
1568
1237
|
|
|
1569
1238
|
<df-ionic-toggle-control
|
|
@@ -1582,7 +1251,7 @@ class IonicToggleFieldComponent {
|
|
|
1582
1251
|
}
|
|
1583
1252
|
`, isInline: true, styles: [":host{display:block}:host([hidden]){display:none!important}\n"], dependencies: [{ kind: "component", type: IonicToggleControlComponent, selector: "df-ionic-toggle-control", inputs: ["checked", "touched", "disabled", "readonly", "invalid", "required", "labelPlacement", "justify", "color", "enableOnOffLabels", "tabIndex"], outputs: ["checkedChange", "touchedChange"] }, { kind: "component", type: IonNote, selector: "ion-note", inputs: ["color", "mode"] }, { kind: "directive", type: Field, selector: "[field]", inputs: ["field"] }, { kind: "pipe", type: DynamicTextPipe, name: "dynamicText" }, { kind: "pipe", type: AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
1584
1253
|
}
|
|
1585
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.
|
|
1254
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: IonicToggleFieldComponent, decorators: [{
|
|
1586
1255
|
type: Component,
|
|
1587
1256
|
args: [{ selector: 'df-ionic-toggle', imports: [IonicToggleControlComponent, IonNote, Field, DynamicTextPipe, AsyncPipe], template: `
|
|
1588
1257
|
@let f = field();
|
|
@@ -1794,7 +1463,7 @@ function addArrayItemButtonFieldMapper(fieldDef) {
|
|
|
1794
1463
|
// Try to get array context (available when inside an array)
|
|
1795
1464
|
// Use optional injection so it doesn't fail when outside an array
|
|
1796
1465
|
const arrayContext = inject(ARRAY_CONTEXT, { optional: true });
|
|
1797
|
-
const logger = inject(
|
|
1466
|
+
const logger = inject(DynamicFormLogger);
|
|
1798
1467
|
// Determine the target array key
|
|
1799
1468
|
// Priority: explicit arrayKey from fieldDef > arrayKey from context
|
|
1800
1469
|
const targetArrayKey = fieldDef.arrayKey ?? arrayContext?.arrayKey;
|
|
@@ -1850,7 +1519,7 @@ function removeArrayItemButtonFieldMapper(fieldDef) {
|
|
|
1850
1519
|
// Try to get array context (available when inside an array)
|
|
1851
1520
|
// Use optional injection so it doesn't fail when outside an array
|
|
1852
1521
|
const arrayContext = inject(ARRAY_CONTEXT, { optional: true });
|
|
1853
|
-
const logger = inject(
|
|
1522
|
+
const logger = inject(DynamicFormLogger);
|
|
1854
1523
|
// Determine the target array key
|
|
1855
1524
|
// Priority: explicit arrayKey from fieldDef > arrayKey from context
|
|
1856
1525
|
const targetArrayKey = fieldDef.arrayKey ?? arrayContext?.arrayKey;
|