@dereekb/dbx-form 13.43.0 → 14.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.
Files changed (34) hide show
  1. package/fesm2022/dereekb-dbx-form-calendar.mjs +156 -196
  2. package/fesm2022/dereekb-dbx-form-calendar.mjs.map +1 -1
  3. package/fesm2022/dereekb-dbx-form-expand.field.component-BO_8nxHg.mjs +70 -0
  4. package/fesm2022/dereekb-dbx-form-expand.field.component-BO_8nxHg.mjs.map +1 -0
  5. package/fesm2022/dereekb-dbx-form-flex.wrapper.component-C54ACtzt.mjs +40 -0
  6. package/fesm2022/dereekb-dbx-form-flex.wrapper.component-C54ACtzt.mjs.map +1 -0
  7. package/fesm2022/dereekb-dbx-form-info.field.component-CImBKYE7.mjs +61 -0
  8. package/fesm2022/dereekb-dbx-form-info.field.component-CImBKYE7.mjs.map +1 -0
  9. package/fesm2022/{dereekb-dbx-form-info.wrapper.component-ChSBMxgm.mjs → dereekb-dbx-form-info.wrapper.component-DdDCQ47C.mjs} +14 -13
  10. package/fesm2022/dereekb-dbx-form-info.wrapper.component-DdDCQ47C.mjs.map +1 -0
  11. package/fesm2022/dereekb-dbx-form-mapbox.mjs +100 -60
  12. package/fesm2022/dereekb-dbx-form-mapbox.mjs.map +1 -1
  13. package/fesm2022/dereekb-dbx-form-quiz.mjs +106 -73
  14. package/fesm2022/dereekb-dbx-form-quiz.mjs.map +1 -1
  15. package/fesm2022/{dereekb-dbx-form-section.wrapper.component-BoR5-a8A.mjs → dereekb-dbx-form-section.wrapper.component-CpXSvC5e.mjs} +14 -13
  16. package/fesm2022/dereekb-dbx-form-section.wrapper.component-CpXSvC5e.mjs.map +1 -0
  17. package/fesm2022/dereekb-dbx-form-style-demo.mjs +30 -39
  18. package/fesm2022/dereekb-dbx-form-style-demo.mjs.map +1 -1
  19. package/fesm2022/{dereekb-dbx-form-style.wrapper.component-C4dVNND_.mjs → dereekb-dbx-form-style.wrapper.component-CPzzgQXk.mjs} +12 -12
  20. package/fesm2022/dereekb-dbx-form-style.wrapper.component-CPzzgQXk.mjs.map +1 -0
  21. package/fesm2022/dereekb-dbx-form.mjs +949 -635
  22. package/fesm2022/dereekb-dbx-form.mjs.map +1 -1
  23. package/package.json +24 -24
  24. package/types/dereekb-dbx-form-calendar.d.ts +55 -64
  25. package/types/dereekb-dbx-form.d.ts +51 -293
  26. package/fesm2022/dereekb-dbx-form-expand.field.component-uqVNtX2s.mjs +0 -56
  27. package/fesm2022/dereekb-dbx-form-expand.field.component-uqVNtX2s.mjs.map +0 -1
  28. package/fesm2022/dereekb-dbx-form-flex.wrapper.component-C2nN1Oi1.mjs +0 -39
  29. package/fesm2022/dereekb-dbx-form-flex.wrapper.component-C2nN1Oi1.mjs.map +0 -1
  30. package/fesm2022/dereekb-dbx-form-info.field.component-CBAXCDdO.mjs +0 -50
  31. package/fesm2022/dereekb-dbx-form-info.field.component-CBAXCDdO.mjs.map +0 -1
  32. package/fesm2022/dereekb-dbx-form-info.wrapper.component-ChSBMxgm.mjs.map +0 -1
  33. package/fesm2022/dereekb-dbx-form-section.wrapper.component-BoR5-a8A.mjs.map +0 -1
  34. package/fesm2022/dereekb-dbx-form-style.wrapper.component-C4dVNND_.mjs.map +0 -1
@@ -1,5 +1,5 @@
1
1
  import * as i0 from '@angular/core';
2
- import { forwardRef, inject, input, Directive, effect, Injectable, signal, computed, untracked, viewChild, ChangeDetectionStrategy, Component, output, InjectionToken, DestroyRef, ElementRef, ViewContainerRef, NgModule, model, makeEnvironmentProviders } from '@angular/core';
2
+ import { forwardRef, inject, input, Directive, effect, Service, signal, computed, Injectable, untracked, viewChild, Component, output, InjectionToken, DestroyRef, ElementRef, ViewContainerRef, NgModule, model, makeEnvironmentProviders } from '@angular/core';
3
3
  import * as i1$1 from '@dereekb/dbx-web';
4
4
  import { DbxActionTransitionSafetyDirective, AbstractDialogDirective, DbxDialogContentDirective, DbxActionModule, DbxButtonModule, DbxDialogContentCloseComponent, AbstractPopoverDirective, DbxPopoverService, DbxAnchorComponent, DbxLoadingModule, DbxButtonComponent, DbxLoadingComponent, dbxValueListItemDecisionFunction, DbxListModifierModule, CompactContextStore, mapCompactModeObs, DbxChipDirective, DbxButtonSpacerDirective } from '@dereekb/dbx-web';
5
5
  import { isPast, addSeconds, startOfDay, addMinutes, addDays, isBefore } from 'date-fns';
@@ -167,26 +167,31 @@ class DbxActionFormDirective {
167
167
  *
168
168
  * Defaults to true.
169
169
  */
170
- dbxActionFormDisabledOnWorking = input(true, ...(ngDevMode ? [{ debugName: "dbxActionFormDisabledOnWorking" }] : /* istanbul ignore next */ []));
170
+ dbxActionFormDisabledOnWorking = input(true, /* @ts-ignore */
171
+ ...(ngDevMode ? [{ debugName: "dbxActionFormDisabledOnWorking" }] : /* istanbul ignore next */ []));
171
172
  /**
172
173
  * Optional validator that checks whether or not the value is
173
174
  * ready to send before the context store is marked enabled.
174
175
  */
175
- dbxActionFormIsValid = input(...(ngDevMode ? [undefined, { debugName: "dbxActionFormIsValid" }] : /* istanbul ignore next */ []));
176
+ dbxActionFormIsValid = input(/* @ts-ignore */
177
+ ...(ngDevMode ? [undefined, { debugName: "dbxActionFormIsValid" }] : /* istanbul ignore next */ []));
176
178
  /**
177
179
  * Optional function that checks whether or not the value is still the same/equal.
178
180
  */
179
- dbxActionFormIsEqual = input(...(ngDevMode ? [undefined, { debugName: "dbxActionFormIsEqual" }] : /* istanbul ignore next */ []));
181
+ dbxActionFormIsEqual = input(/* @ts-ignore */
182
+ ...(ngDevMode ? [undefined, { debugName: "dbxActionFormIsEqual" }] : /* istanbul ignore next */ []));
180
183
  /**
181
184
  * Optional function that checks whether or not the value has been modified.
182
185
  *
183
186
  * If dbxActionFormIsEqual is provided, this will be ignored.
184
187
  */
185
- dbxActionFormIsModified = input(...(ngDevMode ? [undefined, { debugName: "dbxActionFormIsModified" }] : /* istanbul ignore next */ []));
188
+ dbxActionFormIsModified = input(/* @ts-ignore */
189
+ ...(ngDevMode ? [undefined, { debugName: "dbxActionFormIsModified" }] : /* istanbul ignore next */ []));
186
190
  /**
187
191
  * Optional function that maps the form's value to the source's value.
188
192
  */
189
- dbxActionFormMapValue = input(...(ngDevMode ? [undefined, { debugName: "dbxActionFormMapValue" }] : /* istanbul ignore next */ []));
193
+ dbxActionFormMapValue = input(/* @ts-ignore */
194
+ ...(ngDevMode ? [undefined, { debugName: "dbxActionFormMapValue" }] : /* istanbul ignore next */ []));
190
195
  dbxActionFormDisabledOnWorking$ = toObservable(this.dbxActionFormDisabledOnWorking);
191
196
  isValidFunction$ = toObservable(this.dbxActionFormIsValid).pipe(map((x) => x ?? (() => of(true))), shareReplay(1));
192
197
  isModifiedFunction$ = makeIsModifiedFunctionObservable({
@@ -302,14 +307,13 @@ class DbxActionFormDirective {
302
307
  return of({ value: value });
303
308
  }));
304
309
  }
305
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: DbxActionFormDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
306
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.2.11", type: DbxActionFormDirective, isStandalone: true, selector: "[dbxActionForm]", inputs: { dbxActionFormDisabledOnWorking: { classPropertyName: "dbxActionFormDisabledOnWorking", publicName: "dbxActionFormDisabledOnWorking", isSignal: true, isRequired: false, transformFunction: null }, dbxActionFormIsValid: { classPropertyName: "dbxActionFormIsValid", publicName: "dbxActionFormIsValid", isSignal: true, isRequired: false, transformFunction: null }, dbxActionFormIsEqual: { classPropertyName: "dbxActionFormIsEqual", publicName: "dbxActionFormIsEqual", isSignal: true, isRequired: false, transformFunction: null }, dbxActionFormIsModified: { classPropertyName: "dbxActionFormIsModified", publicName: "dbxActionFormIsModified", isSignal: true, isRequired: false, transformFunction: null }, dbxActionFormMapValue: { classPropertyName: "dbxActionFormMapValue", publicName: "dbxActionFormMapValue", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0 });
310
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: DbxActionFormDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
311
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "22.1.4", type: DbxActionFormDirective, isStandalone: true, selector: "[dbxActionForm]", inputs: { dbxActionFormDisabledOnWorking: { classPropertyName: "dbxActionFormDisabledOnWorking", publicName: "dbxActionFormDisabledOnWorking", isSignal: true, isRequired: false, transformFunction: null }, dbxActionFormIsValid: { classPropertyName: "dbxActionFormIsValid", publicName: "dbxActionFormIsValid", isSignal: true, isRequired: false, transformFunction: null }, dbxActionFormIsEqual: { classPropertyName: "dbxActionFormIsEqual", publicName: "dbxActionFormIsEqual", isSignal: true, isRequired: false, transformFunction: null }, dbxActionFormIsModified: { classPropertyName: "dbxActionFormIsModified", publicName: "dbxActionFormIsModified", isSignal: true, isRequired: false, transformFunction: null }, dbxActionFormMapValue: { classPropertyName: "dbxActionFormMapValue", publicName: "dbxActionFormMapValue", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0 });
307
312
  }
308
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: DbxActionFormDirective, decorators: [{
313
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: DbxActionFormDirective, decorators: [{
309
314
  type: Directive,
310
315
  args: [{
311
- selector: '[dbxActionForm]',
312
- standalone: true
316
+ selector: '[dbxActionForm]'
313
317
  }]
314
318
  }], ctorParameters: () => [], propDecorators: { dbxActionFormDisabledOnWorking: [{ type: i0.Input, args: [{ isSignal: true, alias: "dbxActionFormDisabledOnWorking", required: false }] }], dbxActionFormIsValid: [{ type: i0.Input, args: [{ isSignal: true, alias: "dbxActionFormIsValid", required: false }] }], dbxActionFormIsEqual: [{ type: i0.Input, args: [{ isSignal: true, alias: "dbxActionFormIsEqual", required: false }] }], dbxActionFormIsModified: [{ type: i0.Input, args: [{ isSignal: true, alias: "dbxActionFormIsModified", required: false }] }], dbxActionFormMapValue: [{ type: i0.Input, args: [{ isSignal: true, alias: "dbxActionFormMapValue", required: false }] }] } });
315
319
 
@@ -332,20 +336,21 @@ class DbxActionFormSafetyDirective extends DbxActionTransitionSafetyDirective {
332
336
  *
333
337
  * Defaults to `'auto'`, which blocks transitions when the form has unsaved changes.
334
338
  */
335
- dbxActionFormSafety = input('auto', ...(ngDevMode ? [{ debugName: "dbxActionFormSafety" }] : /* istanbul ignore next */ []));
336
- _dbxActionFormSafetyUpdateEffect = effect(() => this._safetyType.next(this.dbxActionFormSafety()), ...(ngDevMode ? [{ debugName: "_dbxActionFormSafetyUpdateEffect" }] : /* istanbul ignore next */ []));
339
+ dbxActionFormSafety = input('auto', /* @ts-ignore */
340
+ ...(ngDevMode ? [{ debugName: "dbxActionFormSafety" }] : /* istanbul ignore next */ []));
341
+ _dbxActionFormSafetyUpdateEffect = effect(() => this._safetyType.next(this.dbxActionFormSafety()), /* @ts-ignore */
342
+ ...(ngDevMode ? [{ debugName: "_dbxActionFormSafetyUpdateEffect" }] : /* istanbul ignore next */ []));
337
343
  _handleOnBeforeTransition(transition) {
338
344
  this.dbxActionForm.form.forceFormUpdate();
339
345
  return super._handleOnBeforeTransition(transition);
340
346
  }
341
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: DbxActionFormSafetyDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive });
342
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.2.11", type: DbxActionFormSafetyDirective, isStandalone: true, selector: "[dbxActionFormSafety]", inputs: { dbxActionFormSafety: { classPropertyName: "dbxActionFormSafety", publicName: "dbxActionFormSafety", isSignal: true, isRequired: false, transformFunction: null } }, usesInheritance: true, ngImport: i0 });
347
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: DbxActionFormSafetyDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive });
348
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "22.1.4", type: DbxActionFormSafetyDirective, isStandalone: true, selector: "[dbxActionFormSafety]", inputs: { dbxActionFormSafety: { classPropertyName: "dbxActionFormSafety", publicName: "dbxActionFormSafety", isSignal: true, isRequired: false, transformFunction: null } }, usesInheritance: true, ngImport: i0 });
343
349
  }
344
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: DbxActionFormSafetyDirective, decorators: [{
350
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: DbxActionFormSafetyDirective, decorators: [{
345
351
  type: Directive,
346
352
  args: [{
347
- selector: '[dbxActionFormSafety]',
348
- standalone: true
353
+ selector: '[dbxActionFormSafety]'
349
354
  }]
350
355
  }], propDecorators: { dbxActionFormSafety: [{ type: i0.Input, args: [{ isSignal: true, alias: "dbxActionFormSafety", required: false }] }] } });
351
356
 
@@ -602,14 +607,11 @@ class DbxForgeGlobalDefaultConfigService {
602
607
  setDefaultValidationMessages(messages) {
603
608
  this._defaults = { ...this._defaults, defaultValidationMessages: messages ?? undefined };
604
609
  }
605
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: DbxForgeGlobalDefaultConfigService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
606
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: DbxForgeGlobalDefaultConfigService, providedIn: 'root' });
610
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: DbxForgeGlobalDefaultConfigService, deps: [], target: i0.ɵɵFactoryTarget.Service });
611
+ static ɵprov = i0.ɵɵngDeclareService({ minVersion: "22.0.0", version: "22.1.4", ngImport: i0, type: DbxForgeGlobalDefaultConfigService });
607
612
  }
608
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: DbxForgeGlobalDefaultConfigService, decorators: [{
609
- type: Injectable,
610
- args: [{
611
- providedIn: 'root'
612
- }]
613
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: DbxForgeGlobalDefaultConfigService, decorators: [{
614
+ type: Service
613
615
  }] });
614
616
 
615
617
  /**
@@ -787,7 +789,8 @@ class DbxForgeFormContext {
787
789
  * and the combined result is exposed as {@link allWrappersValid}.
788
790
  */
789
791
  _wrapperValidSignals = new Set();
790
- _wrapperValidSignalsVersion = signal(0, ...(ngDevMode ? [{ debugName: "_wrapperValidSignalsVersion" }] : /* istanbul ignore next */ []));
792
+ _wrapperValidSignalsVersion = signal(0, /* @ts-ignore */
793
+ ...(ngDevMode ? [{ debugName: "_wrapperValidSignalsVersion" }] : /* istanbul ignore next */ []));
791
794
  /**
792
795
  * Computed signal that is `true` when all registered wrapper nested forms are valid.
793
796
  * Returns `true` when no wrappers are registered.
@@ -802,7 +805,8 @@ class DbxForgeFormContext {
802
805
  }
803
806
  }
804
807
  return result;
805
- }, ...(ngDevMode ? [{ debugName: "allWrappersValid" }] : /* istanbul ignore next */ []));
808
+ }, /* @ts-ignore */
809
+ ...(ngDevMode ? [{ debugName: "allWrappersValid" }] : /* istanbul ignore next */ []));
806
810
  /**
807
811
  * Registers a wrapper's nested form validity signal for tracking.
808
812
  *
@@ -826,7 +830,8 @@ class DbxForgeFormContext {
826
830
  * Allows wrapper field components to write values to sibling hidden fields
827
831
  * in the parent form (e.g., for the form-field wrapper's hidden field sync).
828
832
  */
829
- _parentFormTree = signal(undefined, ...(ngDevMode ? [{ debugName: "_parentFormTree" }] : /* istanbul ignore next */ []));
833
+ _parentFormTree = signal(undefined, /* @ts-ignore */
834
+ ...(ngDevMode ? [{ debugName: "_parentFormTree" }] : /* istanbul ignore next */ []));
830
835
  parentFormTree = this._parentFormTree.asReadonly();
831
836
  setParentFormTree(tree) {
832
837
  this._parentFormTree.set(tree);
@@ -928,10 +933,10 @@ class DbxForgeFormContext {
928
933
  this._reset.complete();
929
934
  });
930
935
  }
931
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: DbxForgeFormContext, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
932
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: DbxForgeFormContext });
936
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: DbxForgeFormContext, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
937
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: DbxForgeFormContext });
933
938
  }
934
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: DbxForgeFormContext, decorators: [{
939
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: DbxForgeFormContext, decorators: [{
935
940
  type: Injectable
936
941
  }] });
937
942
  /**
@@ -985,14 +990,16 @@ class DbxForgeFormContextService {
985
990
  formValue = computed(() => {
986
991
  const form = this._signalRef.dynamicForm();
987
992
  return (form?.formValue() ?? {});
988
- }, ...(ngDevMode ? [{ debugName: "formValue" }] : /* istanbul ignore next */ []));
993
+ }, /* @ts-ignore */
994
+ ...(ngDevMode ? [{ debugName: "formValue" }] : /* istanbul ignore next */ []));
989
995
  /**
990
996
  * The active Signal Form tree, or undefined until the DynamicForm mounts.
991
997
  */
992
998
  rootForm = computed(() => {
993
999
  const form = this._signalRef.dynamicForm();
994
1000
  return form?.form();
995
- }, ...(ngDevMode ? [{ debugName: "rootForm" }] : /* istanbul ignore next */ []));
1001
+ }, /* @ts-ignore */
1002
+ ...(ngDevMode ? [{ debugName: "rootForm" }] : /* istanbul ignore next */ []));
996
1003
  /**
997
1004
  * Builds an {@link EvaluationContext} scoped to the current array item.
998
1005
  *
@@ -1048,10 +1055,10 @@ class DbxForgeFormContextService {
1048
1055
  }
1049
1056
  return result;
1050
1057
  }
1051
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: DbxForgeFormContextService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
1052
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: DbxForgeFormContextService });
1058
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: DbxForgeFormContextService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
1059
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: DbxForgeFormContextService });
1053
1060
  }
1054
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: DbxForgeFormContextService, decorators: [{
1061
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: DbxForgeFormContextService, decorators: [{
1055
1062
  type: Injectable
1056
1063
  }] });
1057
1064
  /**
@@ -1090,13 +1097,18 @@ class DbxForgeFormComponent {
1090
1097
  _setValueSub = cleanSubscription();
1091
1098
  _resetSub = cleanSubscription();
1092
1099
  _disabledSub = cleanSubscription();
1093
- dynamicForm = viewChild(DynamicForm, ...(ngDevMode ? [{ debugName: "dynamicForm" }] : /* istanbul ignore next */ []));
1100
+ dynamicForm = viewChild(DynamicForm, /* @ts-ignore */
1101
+ ...(ngDevMode ? [{ debugName: "dynamicForm" }] : /* istanbul ignore next */ []));
1094
1102
  formValue = signal({}, { ...(ngDevMode ? { debugName: "formValue" } : /* istanbul ignore next */ {}), equal: (a, b) => _forgeFormValueEqual(a, b, this._context) });
1095
1103
  configSignal = toSignal(this._context.config$, { initialValue: undefined });
1096
- _changesCount = signal(0, ...(ngDevMode ? [{ debugName: "_changesCount" }] : /* istanbul ignore next */ []));
1097
- _lastResetAt = signal(new Date(), ...(ngDevMode ? [{ debugName: "_lastResetAt" }] : /* istanbul ignore next */ []));
1098
- _isReset = signal(true, ...(ngDevMode ? [{ debugName: "_isReset" }] : /* istanbul ignore next */ []));
1099
- _disabled = signal(undefined, ...(ngDevMode ? [{ debugName: "_disabled" }] : /* istanbul ignore next */ []));
1104
+ _changesCount = signal(0, /* @ts-ignore */
1105
+ ...(ngDevMode ? [{ debugName: "_changesCount" }] : /* istanbul ignore next */ []));
1106
+ _lastResetAt = signal(new Date(), /* @ts-ignore */
1107
+ ...(ngDevMode ? [{ debugName: "_lastResetAt" }] : /* istanbul ignore next */ []));
1108
+ _isReset = signal(true, /* @ts-ignore */
1109
+ ...(ngDevMode ? [{ debugName: "_isReset" }] : /* istanbul ignore next */ []));
1110
+ _disabled = signal(undefined, /* @ts-ignore */
1111
+ ...(ngDevMode ? [{ debugName: "_disabled" }] : /* istanbul ignore next */ []));
1100
1112
  /**
1101
1113
  * True once ng-forge has finished its synchronous initialization: the config
1102
1114
  * has arrived, the DynamicForm view child is populated, and ng-forge has
@@ -1108,7 +1120,8 @@ class DbxForgeFormComponent {
1108
1120
  * {@link DbxFormSourceDirective} 'reset' mode still forwards an
1109
1121
  * asynchronously-resolving value once it arrives.
1110
1122
  */
1111
- _formReady = signal(false, ...(ngDevMode ? [{ debugName: "_formReady" }] : /* istanbul ignore next */ []));
1123
+ _formReady = signal(false, /* @ts-ignore */
1124
+ ...(ngDevMode ? [{ debugName: "_formReady" }] : /* istanbul ignore next */ []));
1112
1125
  /**
1113
1126
  * A setValue payload received while {@link _formReady} was false. Applied
1114
1127
  * once ready; only the most recent pending value is retained.
@@ -1118,10 +1131,12 @@ class DbxForgeFormComponent {
1118
1131
  * with a null/undefined inner value).
1119
1132
  */
1120
1133
  _pendingValue = undefined;
1121
- isDisabledSignal = computed(() => BooleanStringKeyArrayUtility.isTrue(this._disabled()), ...(ngDevMode ? [{ debugName: "isDisabledSignal" }] : /* istanbul ignore next */ []));
1134
+ isDisabledSignal = computed(() => BooleanStringKeyArrayUtility.isTrue(this._disabled()), /* @ts-ignore */
1135
+ ...(ngDevMode ? [{ debugName: "isDisabledSignal" }] : /* istanbul ignore next */ []));
1122
1136
  formOptionsSignal = computed(() => {
1123
1137
  return this.isDisabledSignal() ? { disabled: true } : undefined;
1124
- }, ...(ngDevMode ? [{ debugName: "formOptionsSignal" }] : /* istanbul ignore next */ []));
1138
+ }, /* @ts-ignore */
1139
+ ...(ngDevMode ? [{ debugName: "formOptionsSignal" }] : /* istanbul ignore next */ []));
1125
1140
  /**
1126
1141
  * Computed validity combining the ng-forge DynamicForm's valid signal with
1127
1142
  * validity from all registered wrapper nested forms.
@@ -1131,7 +1146,8 @@ class DbxForgeFormComponent {
1131
1146
  * DynamicForm.valid(). They register their nested validity via
1132
1147
  * {@link DbxForgeFormContext.registerWrapperValidity}, and this computed combines both sources.
1133
1148
  */
1134
- formValidSignal = computed(() => (this.dynamicForm()?.valid() ?? false) && this._context.allWrappersValid(), ...(ngDevMode ? [{ debugName: "formValidSignal" }] : /* istanbul ignore next */ []));
1149
+ formValidSignal = computed(() => (this.dynamicForm()?.valid() ?? false) && this._context.allWrappersValid(), /* @ts-ignore */
1150
+ ...(ngDevMode ? [{ debugName: "formValidSignal" }] : /* istanbul ignore next */ []));
1135
1151
  /**
1136
1152
  * Track form value changes and update the context value + changes count.
1137
1153
  *
@@ -1162,7 +1178,8 @@ class DbxForgeFormComponent {
1162
1178
  this._emitFormState();
1163
1179
  }
1164
1180
  });
1165
- }, ...(ngDevMode ? [{ debugName: "_formValueEffect" }] : /* istanbul ignore next */ []));
1181
+ }, /* @ts-ignore */
1182
+ ...(ngDevMode ? [{ debugName: "_formValueEffect" }] : /* istanbul ignore next */ []));
1166
1183
  /**
1167
1184
  * Marks the form as ready once the ng-forge DynamicForm view child is
1168
1185
  * populated. The viewChild signal updates after ng-forge has completed its
@@ -1185,7 +1202,8 @@ class DbxForgeFormComponent {
1185
1202
  }
1186
1203
  });
1187
1204
  }
1188
- }, ...(ngDevMode ? [{ debugName: "_formReadyEffect" }] : /* istanbul ignore next */ []));
1205
+ }, /* @ts-ignore */
1206
+ ...(ngDevMode ? [{ debugName: "_formReadyEffect" }] : /* istanbul ignore next */ []));
1189
1207
  /**
1190
1208
  * Expose the parent DynamicForm's field tree to the context so wrapper components
1191
1209
  * can write to sibling hidden fields in the parent form.
@@ -1195,7 +1213,8 @@ class DbxForgeFormComponent {
1195
1213
  untracked(() => {
1196
1214
  this._context.setParentFormTree(formTree);
1197
1215
  });
1198
- }, ...(ngDevMode ? [{ debugName: "_parentFormTreeEffect" }] : /* istanbul ignore next */ []));
1216
+ }, /* @ts-ignore */
1217
+ ...(ngDevMode ? [{ debugName: "_parentFormTreeEffect" }] : /* istanbul ignore next */ []));
1199
1218
  /**
1200
1219
  * Track validity changes from the DynamicForm and update the context.
1201
1220
  *
@@ -1208,7 +1227,8 @@ class DbxForgeFormComponent {
1208
1227
  this._context.updateIsValid(isValid);
1209
1228
  this._emitFormState();
1210
1229
  });
1211
- }, ...(ngDevMode ? [{ debugName: "_validityEffect" }] : /* istanbul ignore next */ []));
1230
+ }, /* @ts-ignore */
1231
+ ...(ngDevMode ? [{ debugName: "_validityEffect" }] : /* istanbul ignore next */ []));
1212
1232
  _emitFormState() {
1213
1233
  const isValid = this.formValidSignal();
1214
1234
  const isReset = this._isReset();
@@ -1308,14 +1328,14 @@ class DbxForgeFormComponent {
1308
1328
  this.formValue.set(sanitized);
1309
1329
  this._emitFormState();
1310
1330
  }
1311
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: DbxForgeFormComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1312
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.11", type: DbxForgeFormComponent, isStandalone: true, selector: "dbx-forge", host: { properties: { "class.dbx-forge-form-disabled": "isDisabledSignal()" }, classAttribute: "dbx-forge" }, providers: [EventDispatcher, { provide: DbxForgeDynamicFormSignalRef, useExisting: DbxForgeFormComponent }, DbxForgeFormContextService, { provide: DbxForm, useExisting: DbxForgeFormContext }, { provide: DbxMutableForm, useExisting: DbxForgeFormContext }], viewQueries: [{ propertyName: "dynamicForm", first: true, predicate: DynamicForm, descendants: true, isSignal: true }], ngImport: i0, template: `
1331
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: DbxForgeFormComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1332
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.4", type: DbxForgeFormComponent, isStandalone: true, selector: "dbx-forge", host: { properties: { "class.dbx-forge-form-disabled": "isDisabledSignal()" }, classAttribute: "dbx-forge" }, providers: [EventDispatcher, { provide: DbxForgeDynamicFormSignalRef, useExisting: DbxForgeFormComponent }, DbxForgeFormContextService, { provide: DbxForm, useExisting: DbxForgeFormContext }, { provide: DbxMutableForm, useExisting: DbxForgeFormContext }], viewQueries: [{ propertyName: "dynamicForm", first: true, predicate: DynamicForm, descendants: true, isSignal: true }], ngImport: i0, template: `
1313
1333
  @if (configSignal()) {
1314
1334
  <form [dynamic-form]="configSignal()!" [(value)]="formValue" [formOptions]="formOptionsSignal()"></form>
1315
1335
  }
1316
- `, isInline: true, dependencies: [{ kind: "component", type: DynamicForm, selector: "form[dynamic-form]", inputs: ["dynamic-form", "formOptions", "value", "source"], outputs: ["valueChange", "validityChange", "dirtyChange", "submitted", "reset", "cleared", "events", "initialized", "onPageChange", "onPageNavigationStateChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
1336
+ `, isInline: true, dependencies: [{ kind: "component", type: DynamicForm, selector: "form[dynamic-form]", inputs: ["dynamic-form", "formOptions", "value", "source"], outputs: ["valueChange", "validityChange", "dirtyChange", "submitted", "reset", "cleared", "events", "initialized", "activePageInitialized", "onPageChange", "onPageNavigationStateChange"] }] });
1317
1337
  }
1318
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: DbxForgeFormComponent, decorators: [{
1338
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: DbxForgeFormComponent, decorators: [{
1319
1339
  type: Component,
1320
1340
  args: [{
1321
1341
  selector: 'dbx-forge',
@@ -1329,9 +1349,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.11", ngImpo
1329
1349
  '[class.dbx-forge-form-disabled]': 'isDisabledSignal()'
1330
1350
  },
1331
1351
  providers: [EventDispatcher, { provide: DbxForgeDynamicFormSignalRef, useExisting: DbxForgeFormComponent }, DbxForgeFormContextService, { provide: DbxForm, useExisting: DbxForgeFormContext }, { provide: DbxMutableForm, useExisting: DbxForgeFormContext }],
1332
- imports: [DynamicForm],
1333
- changeDetection: ChangeDetectionStrategy.OnPush,
1334
- standalone: true
1352
+ imports: [DynamicForm]
1335
1353
  }]
1336
1354
  }], propDecorators: { dynamicForm: [{ type: i0.ViewChild, args: [i0.forwardRef(() => DynamicForm), { isSignal: true }] }] } });
1337
1355
  /**
@@ -1495,11 +1513,13 @@ class DbxFormSourceDirective {
1495
1513
  /**
1496
1514
  * The mode controlling when the source value is forwarded to the form.
1497
1515
  */
1498
- dbxFormSourceMode = input(...(ngDevMode ? [undefined, { debugName: "dbxFormSourceMode" }] : /* istanbul ignore next */ []));
1516
+ dbxFormSourceMode = input(/* @ts-ignore */
1517
+ ...(ngDevMode ? [undefined, { debugName: "dbxFormSourceMode" }] : /* istanbul ignore next */ []));
1499
1518
  /**
1500
1519
  * The source value or observable to pipe into the form.
1501
1520
  */
1502
- dbxFormSource = input(...(ngDevMode ? [undefined, { debugName: "dbxFormSource" }] : /* istanbul ignore next */ []));
1521
+ dbxFormSource = input(/* @ts-ignore */
1522
+ ...(ngDevMode ? [undefined, { debugName: "dbxFormSource" }] : /* istanbul ignore next */ []));
1503
1523
  _effectSub = cleanSubscription();
1504
1524
  _setFormSourceObservableEffect = effect(() => {
1505
1525
  const formSource = this.dbxFormSource();
@@ -1519,15 +1539,15 @@ class DbxFormSourceDirective {
1519
1539
  });
1520
1540
  }
1521
1541
  this._effectSub.setSub(subscription);
1522
- }, ...(ngDevMode ? [{ debugName: "_setFormSourceObservableEffect" }] : /* istanbul ignore next */ []));
1523
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: DbxFormSourceDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
1524
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.2.11", type: DbxFormSourceDirective, isStandalone: true, selector: "[dbxFormSource]", inputs: { dbxFormSourceMode: { classPropertyName: "dbxFormSourceMode", publicName: "dbxFormSourceMode", isSignal: true, isRequired: false, transformFunction: null }, dbxFormSource: { classPropertyName: "dbxFormSource", publicName: "dbxFormSource", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0 });
1542
+ }, /* @ts-ignore */
1543
+ ...(ngDevMode ? [{ debugName: "_setFormSourceObservableEffect" }] : /* istanbul ignore next */ []));
1544
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: DbxFormSourceDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
1545
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "22.1.4", type: DbxFormSourceDirective, isStandalone: true, selector: "[dbxFormSource]", inputs: { dbxFormSourceMode: { classPropertyName: "dbxFormSourceMode", publicName: "dbxFormSourceMode", isSignal: true, isRequired: false, transformFunction: null }, dbxFormSource: { classPropertyName: "dbxFormSource", publicName: "dbxFormSource", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0 });
1525
1546
  }
1526
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: DbxFormSourceDirective, decorators: [{
1547
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: DbxFormSourceDirective, decorators: [{
1527
1548
  type: Directive,
1528
1549
  args: [{
1529
- selector: '[dbxFormSource]',
1530
- standalone: true
1550
+ selector: '[dbxFormSource]'
1531
1551
  }]
1532
1552
  }], propDecorators: { dbxFormSourceMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "dbxFormSourceMode", required: false }] }], dbxFormSource: [{ type: i0.Input, args: [{ isSignal: true, alias: "dbxFormSource", required: false }] }] } });
1533
1553
 
@@ -1582,8 +1602,8 @@ class DbxForgeActionDialogComponent extends AbstractDialogDirective {
1582
1602
  data: config
1583
1603
  });
1584
1604
  }
1585
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: DbxForgeActionDialogComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
1586
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.11", type: DbxForgeActionDialogComponent, isStandalone: true, selector: "ng-component", providers: [provideDbxForgeFormContext()], usesInheritance: true, ngImport: i0, template: `
1605
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: DbxForgeActionDialogComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
1606
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.1.4", type: DbxForgeActionDialogComponent, isStandalone: true, selector: "ng-component", providers: [provideDbxForgeFormContext()], usesInheritance: true, ngImport: i0, template: `
1587
1607
  <dbx-dialog-content dbxAction [dbxActionHandler]="handleSubmitValue" class="dbx-dialog-content-with-header">
1588
1608
  <h3 class="dbx-dialog-content-header">{{ header }}</h3>
1589
1609
  <dbx-dialog-content-close (close)="close()"></dbx-dialog-content-close>
@@ -1592,9 +1612,9 @@ class DbxForgeActionDialogComponent extends AbstractDialogDirective {
1592
1612
  <dbx-button dbxActionButton [buttonDisplay]="submitButtonConfig" [buttonStyle]="submitButtonConfig" [raised]="true"></dbx-button>
1593
1613
  </div>
1594
1614
  </dbx-dialog-content>
1595
- `, isInline: true, dependencies: [{ kind: "directive", type: DbxDialogContentDirective, selector: "dbx-dialog-content,[dbxDialogContent],.dbx-dialog-content", inputs: ["width"] }, { kind: "ngmodule", type: DbxActionModule }, { kind: "directive", type: i1.DbxActionDirective, selector: "dbx-action,[dbxAction]", exportAs: ["action", "dbxAction"] }, { kind: "directive", type: i1.DbxActionHandlerDirective, selector: "[dbxActionHandler]", inputs: ["dbxActionHandler"] }, { kind: "directive", type: i1.DbxActionButtonDirective, selector: "[dbxActionButton]", inputs: ["dbxActionButtonEcho"] }, { kind: "ngmodule", type: DbxButtonModule }, { kind: "component", type: i1$1.DbxButtonComponent, selector: "dbx-button", inputs: ["bar", "type", "buttonStyle", "color", "spinnerColor", "customButtonColor", "customTextColor", "customSpinnerColor", "basic", "tonal", "raised", "stroked", "flat", "iconOnly", "fab", "customContent", "allowClickPropagation", "mode"] }, { kind: "component", type: DbxDialogContentCloseComponent, selector: "dbx-dialog-content-close", inputs: ["padded"], outputs: ["close"] }, { kind: "component", type: DbxForgeFormComponent, selector: "dbx-forge" }, { kind: "directive", type: DbxFormSourceDirective, selector: "[dbxFormSource]", inputs: ["dbxFormSourceMode", "dbxFormSource"] }, { kind: "directive", type: DbxActionFormDirective, selector: "[dbxActionForm]", inputs: ["dbxActionFormDisabledOnWorking", "dbxActionFormIsValid", "dbxActionFormIsEqual", "dbxActionFormIsModified", "dbxActionFormMapValue"] }] });
1615
+ `, isInline: true, dependencies: [{ kind: "directive", type: DbxDialogContentDirective, selector: "dbx-dialog-content,[dbxDialogContent],.dbx-dialog-content", inputs: ["width"] }, { kind: "ngmodule", type: DbxActionModule }, { kind: "directive", type: i1.DbxActionDirective, selector: "dbx-action,[dbxAction]", exportAs: ["action", "dbxAction"] }, { kind: "directive", type: i1.DbxActionHandlerDirective, selector: "[dbxActionHandler]", inputs: ["dbxActionHandler"] }, { kind: "directive", type: i1.DbxActionButtonDirective, selector: "[dbxActionButton]", inputs: ["dbxActionButtonEcho"] }, { kind: "ngmodule", type: DbxButtonModule }, { kind: "component", type: i1$1.DbxButtonComponent, selector: "dbx-button", inputs: ["bar", "type", "buttonStyle", "color", "spinnerColor", "customTextColor", "customSpinnerColor", "basic", "tonal", "raised", "stroked", "flat", "iconOnly", "fab", "customContent", "allowClickPropagation", "mode"] }, { kind: "component", type: DbxDialogContentCloseComponent, selector: "dbx-dialog-content-close", inputs: ["padded"], outputs: ["close"] }, { kind: "component", type: DbxForgeFormComponent, selector: "dbx-forge" }, { kind: "directive", type: DbxFormSourceDirective, selector: "[dbxFormSource]", inputs: ["dbxFormSourceMode", "dbxFormSource"] }, { kind: "directive", type: DbxActionFormDirective, selector: "[dbxActionForm]", inputs: ["dbxActionFormDisabledOnWorking", "dbxActionFormIsValid", "dbxActionFormIsEqual", "dbxActionFormIsModified", "dbxActionFormMapValue"] }] });
1596
1616
  }
1597
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: DbxForgeActionDialogComponent, decorators: [{
1617
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: DbxForgeActionDialogComponent, decorators: [{
1598
1618
  type: Component,
1599
1619
  args: [{
1600
1620
  template: `
@@ -1607,7 +1627,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.11", ngImpo
1607
1627
  </div>
1608
1628
  </dbx-dialog-content>
1609
1629
  `,
1610
- standalone: true,
1611
1630
  providers: [provideDbxForgeFormContext()],
1612
1631
  imports: [DbxDialogContentDirective, DbxActionModule, DbxButtonModule, DbxDialogContentCloseComponent, DbxForgeFormComponent, DbxFormSourceDirective, DbxActionFormDirective]
1613
1632
  }]
@@ -1636,14 +1655,13 @@ class DbxFormLoggerDirective {
1636
1655
  console.log('dbxFormLogger - stream: ', { currentValue, event });
1637
1656
  }));
1638
1657
  }
1639
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: DbxFormLoggerDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
1640
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.11", type: DbxFormLoggerDirective, isStandalone: true, selector: "[dbxFormLogger],[dbxFormStreamLogger]", ngImport: i0 });
1658
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: DbxFormLoggerDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
1659
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.1.4", type: DbxFormLoggerDirective, isStandalone: true, selector: "[dbxFormLogger],[dbxFormStreamLogger]", ngImport: i0 });
1641
1660
  }
1642
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: DbxFormLoggerDirective, decorators: [{
1661
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: DbxFormLoggerDirective, decorators: [{
1643
1662
  type: Directive,
1644
1663
  args: [{
1645
- selector: '[dbxFormLogger],[dbxFormStreamLogger]',
1646
- standalone: true
1664
+ selector: '[dbxFormLogger],[dbxFormStreamLogger]'
1647
1665
  }]
1648
1666
  }], ctorParameters: () => [] });
1649
1667
 
@@ -1672,7 +1690,8 @@ class DbxFormLoadingSourceDirective {
1672
1690
  /**
1673
1691
  * The loading state source to observe. The form value is set once loading finishes with a non-null value.
1674
1692
  */
1675
- dbxFormLoadingSource = input(...(ngDevMode ? [undefined, { debugName: "dbxFormLoadingSource" }] : /* istanbul ignore next */ []));
1693
+ dbxFormLoadingSource = input(/* @ts-ignore */
1694
+ ...(ngDevMode ? [undefined, { debugName: "dbxFormLoadingSource" }] : /* istanbul ignore next */ []));
1676
1695
  mode$ = toObservable(this.dbxFormLoadingSourceMode);
1677
1696
  source$ = toObservable(this.dbxFormLoadingSource).pipe(maybeValueFromObservableOrValue(), filterMaybe(), valueFromFinishedLoadingState());
1678
1697
  constructor() {
@@ -1680,14 +1699,13 @@ class DbxFormLoadingSourceDirective {
1680
1699
  this.form.setValue(x);
1681
1700
  }));
1682
1701
  }
1683
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: DbxFormLoadingSourceDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
1684
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.2.11", type: DbxFormLoadingSourceDirective, isStandalone: true, selector: "[dbxFormLoadingSource]", inputs: { dbxFormLoadingSourceMode: { classPropertyName: "dbxFormLoadingSourceMode", publicName: "dbxFormLoadingSourceMode", isSignal: true, isRequired: false, transformFunction: null }, dbxFormLoadingSource: { classPropertyName: "dbxFormLoadingSource", publicName: "dbxFormLoadingSource", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0 });
1702
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: DbxFormLoadingSourceDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
1703
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "22.1.4", type: DbxFormLoadingSourceDirective, isStandalone: true, selector: "[dbxFormLoadingSource]", inputs: { dbxFormLoadingSourceMode: { classPropertyName: "dbxFormLoadingSourceMode", publicName: "dbxFormLoadingSourceMode", isSignal: true, isRequired: false, transformFunction: null }, dbxFormLoadingSource: { classPropertyName: "dbxFormLoadingSource", publicName: "dbxFormLoadingSource", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0 });
1685
1704
  }
1686
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: DbxFormLoadingSourceDirective, decorators: [{
1705
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: DbxFormLoadingSourceDirective, decorators: [{
1687
1706
  type: Directive,
1688
1707
  args: [{
1689
- selector: '[dbxFormLoadingSource]',
1690
- standalone: true
1708
+ selector: '[dbxFormLoadingSource]'
1691
1709
  }]
1692
1710
  }], ctorParameters: () => [], propDecorators: { dbxFormLoadingSourceMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "dbxFormLoadingSourceMode", required: false }] }], dbxFormLoadingSource: [{ type: i0.Input, args: [{ isSignal: true, alias: "dbxFormLoadingSource", required: false }] }] } });
1693
1711
 
@@ -1726,14 +1744,13 @@ class DbxFormValueChangeDirective {
1726
1744
  }
1727
1745
  }));
1728
1746
  }
1729
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: DbxFormValueChangeDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
1730
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.11", type: DbxFormValueChangeDirective, isStandalone: true, selector: "[dbxFormValueChange]", outputs: { dbxFormValueChange: "dbxFormValueChange" }, ngImport: i0 });
1747
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: DbxFormValueChangeDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
1748
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.1.4", type: DbxFormValueChangeDirective, isStandalone: true, selector: "[dbxFormValueChange]", outputs: { dbxFormValueChange: "dbxFormValueChange" }, ngImport: i0 });
1731
1749
  }
1732
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: DbxFormValueChangeDirective, decorators: [{
1750
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: DbxFormValueChangeDirective, decorators: [{
1733
1751
  type: Directive,
1734
1752
  args: [{
1735
- selector: '[dbxFormValueChange]',
1736
- standalone: true
1753
+ selector: '[dbxFormValueChange]'
1737
1754
  }]
1738
1755
  }], propDecorators: { dbxFormValueChange: [{ type: i0.Output, args: ["dbxFormValueChange"] }] } });
1739
1756
 
@@ -2315,10 +2332,10 @@ function dbxForgeFieldFunctionConfigure(...fns) {
2315
2332
  return fn;
2316
2333
  }
2317
2334
  /**
2318
- * Creates a {@link DbxForgeFieldFunctionConfigPropsBuilder} that automatically copies `hint` (or the deprecated `description`)
2335
+ * Creates a {@link DbxForgeFieldFunctionConfigPropsBuilder} that automatically copies `hint`
2319
2336
  * from the top-level field config into `props.hint`.
2320
2337
  *
2321
- * Historically hint/description lived at the base config level. In `@ng-forge/dynamic-forms` hints are
2338
+ * Historically the hint lived at the base config level. In `@ng-forge/dynamic-forms` hints are
2322
2339
  * expected under `props`, so this builder bridges that gap.
2323
2340
  *
2324
2341
  * @param makeProps - Optional delegate that produces additional props; its result is merged before the hint is applied.
@@ -2338,10 +2355,6 @@ function dbxForgeFieldFunctionConfigPropsWithHintBuilder(makeProps) {
2338
2355
  if ('hint' in input) {
2339
2356
  props.hint = input.hint;
2340
2357
  }
2341
- else if ('description' in input) {
2342
- // eslint-disable-next-line @typescript-eslint/no-deprecated -- intentionally accepts the deprecated `description` input as a fallback for `hint`
2343
- props.hint = input.description;
2344
- }
2345
2358
  return props;
2346
2359
  };
2347
2360
  }
@@ -2803,14 +2816,14 @@ function dbxForgeNameField(config = {}) {
2803
2816
  * ```
2804
2817
  */
2805
2818
  function dbxForgeEmailField(config = {}) {
2806
- const { key = 'email', label = 'Email Address', placeholder = 'you@example.com', required, readonly: isReadonly, description, autocomplete } = config;
2819
+ const { key = 'email', label = 'Email Address', placeholder = 'you@example.com', required, readonly: isReadonly, hint, autocomplete } = config;
2807
2820
  return dbxForgeTextField({
2808
2821
  key,
2809
2822
  label,
2810
2823
  placeholder,
2811
2824
  required,
2812
2825
  readonly: isReadonly,
2813
- description,
2826
+ hint,
2814
2827
  autocomplete,
2815
2828
  inputType: 'email'
2816
2829
  });
@@ -3037,8 +3050,7 @@ function isFlexFieldConfig(input) {
3037
3050
  * dbxForgeFlexLayout({ breakpoint: 'large', breakToColumn: true, relative: true, size: 1, fields: [...] })
3038
3051
  * ```
3039
3052
  */
3040
- function dbxForgeFlexLayout(input, legacyConfig) {
3041
- const config = Array.isArray(input) ? { ...legacyConfig, fields: input } : input;
3053
+ function dbxForgeFlexLayout(config) {
3042
3054
  const { breakpoint, relative, breakToColumn, size: defaultSize = 2, fields = [] } = config;
3043
3055
  const mappedFields = fields.map((entry) => {
3044
3056
  const { field, size = defaultSize } = isFlexFieldConfig(entry) ? entry : { field: entry };
@@ -3825,15 +3837,6 @@ const dbxForgeCheckboxField = dbxForgeFieldFunction({
3825
3837
  }
3826
3838
  })
3827
3839
  });
3828
- // COMPAT: Deprecated aliases
3829
- /**
3830
- * CSS class applied to forge fields when `styledBox` is enabled.
3831
- *
3832
- * @deprecated Boolean fields now use the Material-style form-field wrapper to render the
3833
- * outlined chrome and standard label/hint/error subscript. Retained as an export for any
3834
- * consumers still referencing the class name directly.
3835
- */
3836
- const FORGE_STYLED_BOX_CLASS = 'dbx-forge-styled-box';
3837
3840
 
3838
3841
  var DbxDateTimeFieldTimeMode;
3839
3842
  (function (DbxDateTimeFieldTimeMode) {
@@ -4598,14 +4601,11 @@ class DbxDateTimeFieldMenuPresetsService {
4598
4601
  set configurations(configurations) {
4599
4602
  this._configurations.next(configurations);
4600
4603
  }
4601
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: DbxDateTimeFieldMenuPresetsService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
4602
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: DbxDateTimeFieldMenuPresetsService, providedIn: 'root' });
4604
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: DbxDateTimeFieldMenuPresetsService, deps: [], target: i0.ɵɵFactoryTarget.Service });
4605
+ static ɵprov = i0.ɵɵngDeclareService({ minVersion: "22.0.0", version: "22.1.4", ngImport: i0, type: DbxDateTimeFieldMenuPresetsService });
4603
4606
  }
4604
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: DbxDateTimeFieldMenuPresetsService, decorators: [{
4605
- type: Injectable,
4606
- args: [{
4607
- providedIn: 'root'
4608
- }]
4607
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: DbxDateTimeFieldMenuPresetsService, decorators: [{
4608
+ type: Service
4609
4609
  }] });
4610
4610
 
4611
4611
  // MARK: Time Output Constants
@@ -4626,29 +4626,46 @@ class DbxForgeDateTimeFieldComponent {
4626
4626
  presetsService = inject(DbxDateTimeFieldMenuPresetsService, { optional: true });
4627
4627
  fieldSignalContext = inject(FIELD_SIGNAL_CONTEXT);
4628
4628
  // MARK: ng-forge ValueFieldComponent inputs
4629
- field = input.required(...(ngDevMode ? [{ debugName: "field" }] : /* istanbul ignore next */ []));
4630
- key = input.required(...(ngDevMode ? [{ debugName: "key" }] : /* istanbul ignore next */ []));
4631
- label = input(...(ngDevMode ? [undefined, { debugName: "label" }] : /* istanbul ignore next */ []));
4632
- placeholder = input(...(ngDevMode ? [undefined, { debugName: "placeholder" }] : /* istanbul ignore next */ []));
4633
- className = input('', ...(ngDevMode ? [{ debugName: "className" }] : /* istanbul ignore next */ []));
4634
- tabIndex = input(...(ngDevMode ? [undefined, { debugName: "tabIndex" }] : /* istanbul ignore next */ []));
4635
- props = input(...(ngDevMode ? [undefined, { debugName: "props" }] : /* istanbul ignore next */ []));
4636
- meta = input(...(ngDevMode ? [undefined, { debugName: "meta" }] : /* istanbul ignore next */ []));
4637
- validationMessages = input(...(ngDevMode ? [undefined, { debugName: "validationMessages" }] : /* istanbul ignore next */ []));
4638
- defaultValidationMessages = input(...(ngDevMode ? [undefined, { debugName: "defaultValidationMessages" }] : /* istanbul ignore next */ []));
4629
+ field = input.required(/* @ts-ignore */
4630
+ ...(ngDevMode ? [{ debugName: "field" }] : /* istanbul ignore next */ []));
4631
+ key = input.required(/* @ts-ignore */
4632
+ ...(ngDevMode ? [{ debugName: "key" }] : /* istanbul ignore next */ []));
4633
+ label = input(/* @ts-ignore */
4634
+ ...(ngDevMode ? [undefined, { debugName: "label" }] : /* istanbul ignore next */ []));
4635
+ placeholder = input(/* @ts-ignore */
4636
+ ...(ngDevMode ? [undefined, { debugName: "placeholder" }] : /* istanbul ignore next */ []));
4637
+ className = input('', /* @ts-ignore */
4638
+ ...(ngDevMode ? [{ debugName: "className" }] : /* istanbul ignore next */ []));
4639
+ tabIndex = input(/* @ts-ignore */
4640
+ ...(ngDevMode ? [undefined, { debugName: "tabIndex" }] : /* istanbul ignore next */ []));
4641
+ props = input(/* @ts-ignore */
4642
+ ...(ngDevMode ? [undefined, { debugName: "props" }] : /* istanbul ignore next */ []));
4643
+ meta = input(/* @ts-ignore */
4644
+ ...(ngDevMode ? [undefined, { debugName: "meta" }] : /* istanbul ignore next */ []));
4645
+ validationMessages = input(/* @ts-ignore */
4646
+ ...(ngDevMode ? [undefined, { debugName: "validationMessages" }] : /* istanbul ignore next */ []));
4647
+ defaultValidationMessages = input(/* @ts-ignore */
4648
+ ...(ngDevMode ? [undefined, { debugName: "defaultValidationMessages" }] : /* istanbul ignore next */ []));
4639
4649
  // MARK: Form controls
4640
4650
  dateCtrl = new FormControl(null);
4641
4651
  timeCtrl = new FormControl(null, {
4642
4652
  validators: [Validators.pattern(/^(now)$|^(\d|(0\d)|(1\d)|(2[0-3]))(:)?([0-5]\d)?(\s)?([apAP][Mm])?(\\s)*$/)]
4643
4653
  });
4644
4654
  // MARK: Internal signals
4645
- _fullDay = signal(false, ...(ngDevMode ? [{ debugName: "_fullDay" }] : /* istanbul ignore next */ []));
4646
- _timezone = signal(undefined, ...(ngDevMode ? [{ debugName: "_timezone" }] : /* istanbul ignore next */ []));
4647
- _pickerConfig = signal(undefined, ...(ngDevMode ? [{ debugName: "_pickerConfig" }] : /* istanbul ignore next */ []));
4648
- _timeDate = signal(undefined, ...(ngDevMode ? [{ debugName: "_timeDate" }] : /* istanbul ignore next */ []));
4649
- _presetConfigs = signal([], ...(ngDevMode ? [{ debugName: "_presetConfigs" }] : /* istanbul ignore next */ []));
4650
- _isCleared = signal(false, ...(ngDevMode ? [{ debugName: "_isCleared" }] : /* istanbul ignore next */ []));
4651
- _isTimeInputFocused = signal(false, ...(ngDevMode ? [{ debugName: "_isTimeInputFocused" }] : /* istanbul ignore next */ []));
4655
+ _fullDay = signal(false, /* @ts-ignore */
4656
+ ...(ngDevMode ? [{ debugName: "_fullDay" }] : /* istanbul ignore next */ []));
4657
+ _timezone = signal(undefined, /* @ts-ignore */
4658
+ ...(ngDevMode ? [{ debugName: "_timezone" }] : /* istanbul ignore next */ []));
4659
+ _pickerConfig = signal(undefined, /* @ts-ignore */
4660
+ ...(ngDevMode ? [{ debugName: "_pickerConfig" }] : /* istanbul ignore next */ []));
4661
+ _timeDate = signal(undefined, /* @ts-ignore */
4662
+ ...(ngDevMode ? [{ debugName: "_timeDate" }] : /* istanbul ignore next */ []));
4663
+ _presetConfigs = signal([], /* @ts-ignore */
4664
+ ...(ngDevMode ? [{ debugName: "_presetConfigs" }] : /* istanbul ignore next */ []));
4665
+ _isCleared = signal(false, /* @ts-ignore */
4666
+ ...(ngDevMode ? [{ debugName: "_isCleared" }] : /* istanbul ignore next */ []));
4667
+ _isTimeInputFocused = signal(false, /* @ts-ignore */
4668
+ ...(ngDevMode ? [{ debugName: "_isTimeInputFocused" }] : /* istanbul ignore next */ []));
4652
4669
  // MARK: Subscription management
4653
4670
  _sub = cleanSubscription();
4654
4671
  _valueSub = cleanSubscription();
@@ -4676,7 +4693,8 @@ class DbxForgeDateTimeFieldComponent {
4676
4693
  fieldLabelSignal = computed(() => {
4677
4694
  const l = this.label();
4678
4695
  return typeof l === 'string' && l ? l : undefined;
4679
- }, ...(ngDevMode ? [{ debugName: "fieldLabelSignal" }] : /* istanbul ignore next */ []));
4696
+ }, /* @ts-ignore */
4697
+ ...(ngDevMode ? [{ debugName: "fieldLabelSignal" }] : /* istanbul ignore next */ []));
4680
4698
  isRequiredSignal = computed(() => {
4681
4699
  let required = false;
4682
4700
  try {
@@ -4687,18 +4705,24 @@ class DbxForgeDateTimeFieldComponent {
4687
4705
  required = false;
4688
4706
  }
4689
4707
  return required;
4690
- }, ...(ngDevMode ? [{ debugName: "isRequiredSignal" }] : /* istanbul ignore next */ []));
4691
- isDateRequiredSignal = computed(() => this.isRequiredSignal(), ...(ngDevMode ? [{ debugName: "isDateRequiredSignal" }] : /* istanbul ignore next */ []));
4708
+ }, /* @ts-ignore */
4709
+ ...(ngDevMode ? [{ debugName: "isRequiredSignal" }] : /* istanbul ignore next */ []));
4710
+ isDateRequiredSignal = computed(() => this.isRequiredSignal(), /* @ts-ignore */
4711
+ ...(ngDevMode ? [{ debugName: "isDateRequiredSignal" }] : /* istanbul ignore next */ []));
4692
4712
  isTimeRequiredSignal = computed(() => {
4693
4713
  const timeMode = this.timeModeSignal();
4694
4714
  return this.isRequiredSignal() && timeMode === DbxDateTimeFieldTimeMode.REQUIRED;
4695
- }, ...(ngDevMode ? [{ debugName: "isTimeRequiredSignal" }] : /* istanbul ignore next */ []));
4715
+ }, /* @ts-ignore */
4716
+ ...(ngDevMode ? [{ debugName: "isTimeRequiredSignal" }] : /* istanbul ignore next */ []));
4696
4717
  descriptionSignal = computed(() => {
4697
4718
  const h = this.props()?.hint;
4698
4719
  return typeof h === 'string' ? h : undefined;
4699
- }, ...(ngDevMode ? [{ debugName: "descriptionSignal" }] : /* istanbul ignore next */ []));
4700
- appearanceSignal = computed(() => this.props()?.appearance ?? this.materialConfig?.appearance ?? 'outline', ...(ngDevMode ? [{ debugName: "appearanceSignal" }] : /* istanbul ignore next */ []));
4701
- valueModeSignal = computed(() => this.props()?.valueMode ?? DbxDateTimeValueMode.DATE, ...(ngDevMode ? [{ debugName: "valueModeSignal" }] : /* istanbul ignore next */ []));
4720
+ }, /* @ts-ignore */
4721
+ ...(ngDevMode ? [{ debugName: "descriptionSignal" }] : /* istanbul ignore next */ []));
4722
+ appearanceSignal = computed(() => this.props()?.appearance ?? this.materialConfig?.appearance ?? 'outline', /* @ts-ignore */
4723
+ ...(ngDevMode ? [{ debugName: "appearanceSignal" }] : /* istanbul ignore next */ []));
4724
+ valueModeSignal = computed(() => this.props()?.valueMode ?? DbxDateTimeValueMode.DATE, /* @ts-ignore */
4725
+ ...(ngDevMode ? [{ debugName: "valueModeSignal" }] : /* istanbul ignore next */ []));
4702
4726
  timeModeSignal = computed(() => {
4703
4727
  const p = this.props();
4704
4728
  if (this.valueModeSignal() === DbxDateTimeValueMode.DAY_STRING)
@@ -4708,43 +4732,64 @@ class DbxForgeDateTimeFieldComponent {
4708
4732
  if (p?.timeMode)
4709
4733
  return p.timeMode;
4710
4734
  return DbxDateTimeFieldTimeMode.REQUIRED;
4711
- }, ...(ngDevMode ? [{ debugName: "timeModeSignal" }] : /* istanbul ignore next */ []));
4735
+ }, /* @ts-ignore */
4736
+ ...(ngDevMode ? [{ debugName: "timeModeSignal" }] : /* istanbul ignore next */ []));
4712
4737
  isTimeOnlySignal = computed(() => {
4713
4738
  const props = this.props();
4714
4739
  return this.valueModeSignal() === DbxDateTimeValueMode.MINUTE_OF_DAY || props?.timeOnly === true;
4715
- }, ...(ngDevMode ? [{ debugName: "isTimeOnlySignal" }] : /* istanbul ignore next */ []));
4716
- isDateOnlySignal = computed(() => this.timeModeSignal() === DbxDateTimeFieldTimeMode.NONE, ...(ngDevMode ? [{ debugName: "isDateOnlySignal" }] : /* istanbul ignore next */ []));
4717
- isFullDaySignal = computed(() => this._fullDay(), ...(ngDevMode ? [{ debugName: "isFullDaySignal" }] : /* istanbul ignore next */ []));
4718
- showDateInputSignal = computed(() => !this.isTimeOnlySignal(), ...(ngDevMode ? [{ debugName: "showDateInputSignal" }] : /* istanbul ignore next */ []));
4740
+ }, /* @ts-ignore */
4741
+ ...(ngDevMode ? [{ debugName: "isTimeOnlySignal" }] : /* istanbul ignore next */ []));
4742
+ isDateOnlySignal = computed(() => this.timeModeSignal() === DbxDateTimeFieldTimeMode.NONE, /* @ts-ignore */
4743
+ ...(ngDevMode ? [{ debugName: "isDateOnlySignal" }] : /* istanbul ignore next */ []));
4744
+ isFullDaySignal = computed(() => this._fullDay(), /* @ts-ignore */
4745
+ ...(ngDevMode ? [{ debugName: "isFullDaySignal" }] : /* istanbul ignore next */ []));
4746
+ showDateInputSignal = computed(() => !this.isTimeOnlySignal(), /* @ts-ignore */
4747
+ ...(ngDevMode ? [{ debugName: "showDateInputSignal" }] : /* istanbul ignore next */ []));
4719
4748
  showTimeInputSignal = computed(() => {
4720
4749
  const timeMode = this.timeModeSignal();
4721
4750
  return !this._fullDay() && timeMode !== DbxDateTimeFieldTimeMode.NONE;
4722
- }, ...(ngDevMode ? [{ debugName: "showTimeInputSignal" }] : /* istanbul ignore next */ []));
4751
+ }, /* @ts-ignore */
4752
+ ...(ngDevMode ? [{ debugName: "showTimeInputSignal" }] : /* istanbul ignore next */ []));
4723
4753
  showAddTimeButtonSignal = computed(() => {
4724
4754
  const timeMode = this.timeModeSignal();
4725
4755
  return !this.showTimeInputSignal() && timeMode === DbxDateTimeFieldTimeMode.OPTIONAL;
4726
- }, ...(ngDevMode ? [{ debugName: "showAddTimeButtonSignal" }] : /* istanbul ignore next */ []));
4727
- dateLabelSignal = computed(() => this.props()?.dateLabel ?? 'Date', ...(ngDevMode ? [{ debugName: "dateLabelSignal" }] : /* istanbul ignore next */ []));
4728
- timeLabelSignal = computed(() => this.props()?.timeLabel ?? 'Time', ...(ngDevMode ? [{ debugName: "timeLabelSignal" }] : /* istanbul ignore next */ []));
4729
- allDayLabelSignal = computed(() => this.props()?.allDayLabel ?? 'All Day', ...(ngDevMode ? [{ debugName: "allDayLabelSignal" }] : /* istanbul ignore next */ []));
4730
- atTimeLabelSignal = computed(() => this.props()?.atTimeLabel ?? 'At', ...(ngDevMode ? [{ debugName: "atTimeLabelSignal" }] : /* istanbul ignore next */ []));
4731
- hideDateHintSignal = computed(() => this.props()?.hideDateHint ?? false, ...(ngDevMode ? [{ debugName: "hideDateHintSignal" }] : /* istanbul ignore next */ []));
4732
- hideDatePickerSignal = computed(() => this.props()?.hideDatePicker ?? false, ...(ngDevMode ? [{ debugName: "hideDatePickerSignal" }] : /* istanbul ignore next */ []));
4733
- showTimezoneSignal = computed(() => this.props()?.showTimezone ?? true, ...(ngDevMode ? [{ debugName: "showTimezoneSignal" }] : /* istanbul ignore next */ []));
4734
- showClearButtonSignal = computed(() => this.props()?.showClearButton !== false, ...(ngDevMode ? [{ debugName: "showClearButtonSignal" }] : /* istanbul ignore next */ []));
4735
- minuteStepSignal = computed(() => this.props()?.minuteStep ?? 5, ...(ngDevMode ? [{ debugName: "minuteStepSignal" }] : /* istanbul ignore next */ []));
4736
- alwaysShowDateInputSignal = computed(() => this.props()?.alwaysShowDateInput ?? true, ...(ngDevMode ? [{ debugName: "alwaysShowDateInputSignal" }] : /* istanbul ignore next */ []));
4756
+ }, /* @ts-ignore */
4757
+ ...(ngDevMode ? [{ debugName: "showAddTimeButtonSignal" }] : /* istanbul ignore next */ []));
4758
+ dateLabelSignal = computed(() => this.props()?.dateLabel ?? 'Date', /* @ts-ignore */
4759
+ ...(ngDevMode ? [{ debugName: "dateLabelSignal" }] : /* istanbul ignore next */ []));
4760
+ timeLabelSignal = computed(() => this.props()?.timeLabel ?? 'Time', /* @ts-ignore */
4761
+ ...(ngDevMode ? [{ debugName: "timeLabelSignal" }] : /* istanbul ignore next */ []));
4762
+ allDayLabelSignal = computed(() => this.props()?.allDayLabel ?? 'All Day', /* @ts-ignore */
4763
+ ...(ngDevMode ? [{ debugName: "allDayLabelSignal" }] : /* istanbul ignore next */ []));
4764
+ atTimeLabelSignal = computed(() => this.props()?.atTimeLabel ?? 'At', /* @ts-ignore */
4765
+ ...(ngDevMode ? [{ debugName: "atTimeLabelSignal" }] : /* istanbul ignore next */ []));
4766
+ hideDateHintSignal = computed(() => this.props()?.hideDateHint ?? false, /* @ts-ignore */
4767
+ ...(ngDevMode ? [{ debugName: "hideDateHintSignal" }] : /* istanbul ignore next */ []));
4768
+ hideDatePickerSignal = computed(() => this.props()?.hideDatePicker ?? false, /* @ts-ignore */
4769
+ ...(ngDevMode ? [{ debugName: "hideDatePickerSignal" }] : /* istanbul ignore next */ []));
4770
+ showTimezoneSignal = computed(() => this.props()?.showTimezone ?? true, /* @ts-ignore */
4771
+ ...(ngDevMode ? [{ debugName: "showTimezoneSignal" }] : /* istanbul ignore next */ []));
4772
+ showClearButtonSignal = computed(() => this.props()?.showClearButton !== false, /* @ts-ignore */
4773
+ ...(ngDevMode ? [{ debugName: "showClearButtonSignal" }] : /* istanbul ignore next */ []));
4774
+ minuteStepSignal = computed(() => this.props()?.minuteStep ?? 5, /* @ts-ignore */
4775
+ ...(ngDevMode ? [{ debugName: "minuteStepSignal" }] : /* istanbul ignore next */ []));
4776
+ alwaysShowDateInputSignal = computed(() => this.props()?.alwaysShowDateInput ?? true, /* @ts-ignore */
4777
+ ...(ngDevMode ? [{ debugName: "alwaysShowDateInputSignal" }] : /* istanbul ignore next */ []));
4737
4778
  autofillDateWhenTimeIsPickedSignal = computed(() => {
4738
4779
  const alwaysShowDateInput = this.alwaysShowDateInputSignal();
4739
4780
  return this.props()?.autofillDateWhenTimeIsPicked ?? alwaysShowDateInput === false;
4740
- }, ...(ngDevMode ? [{ debugName: "autofillDateWhenTimeIsPickedSignal" }] : /* istanbul ignore next */ []));
4741
- openOnInputClickSignal = computed(() => this.props()?.openOnInputClick ?? 'picker', ...(ngDevMode ? [{ debugName: "openOnInputClickSignal" }] : /* istanbul ignore next */ []));
4781
+ }, /* @ts-ignore */
4782
+ ...(ngDevMode ? [{ debugName: "autofillDateWhenTimeIsPickedSignal" }] : /* istanbul ignore next */ []));
4783
+ openOnInputClickSignal = computed(() => this.props()?.openOnInputClick ?? 'picker', /* @ts-ignore */
4784
+ ...(ngDevMode ? [{ debugName: "openOnInputClickSignal" }] : /* istanbul ignore next */ []));
4742
4785
  // MARK: Timezone signals
4743
- resolvedTimezoneSignal = computed(() => this._timezone() ?? guessCurrentTimezone(), ...(ngDevMode ? [{ debugName: "resolvedTimezoneSignal" }] : /* istanbul ignore next */ []));
4786
+ resolvedTimezoneSignal = computed(() => this._timezone() ?? guessCurrentTimezone(), /* @ts-ignore */
4787
+ ...(ngDevMode ? [{ debugName: "resolvedTimezoneSignal" }] : /* istanbul ignore next */ []));
4744
4788
  timezoneInstanceSignal = computed(() => {
4745
4789
  const tz = this.resolvedTimezoneSignal();
4746
4790
  return tz ? dateTimezoneUtcNormal({ timezone: tz }) : undefined;
4747
- }, ...(ngDevMode ? [{ debugName: "timezoneInstanceSignal" }] : /* istanbul ignore next */ []));
4791
+ }, /* @ts-ignore */
4792
+ ...(ngDevMode ? [{ debugName: "timezoneInstanceSignal" }] : /* istanbul ignore next */ []));
4748
4793
  // MARK: Field value reading
4749
4794
  // FieldTree<unknown> is callable — calling it returns FieldState which has .value, .disabled, etc.
4750
4795
  // We call field()() to first unwrap the InputSignal (→ FieldTree), then call the FieldTree (→ FieldState).
@@ -4758,7 +4803,8 @@ class DbxForgeDateTimeFieldComponent {
4758
4803
  // Field tree not yet initialized — fall through to undefined
4759
4804
  }
4760
4805
  return result;
4761
- }, ...(ngDevMode ? [{ debugName: "fieldValueSignal" }] : /* istanbul ignore next */ []));
4806
+ }, /* @ts-ignore */
4807
+ ...(ngDevMode ? [{ debugName: "fieldValueSignal" }] : /* istanbul ignore next */ []));
4762
4808
  isDisabled = dbxForgeFieldDisabled();
4763
4809
  // MARK: Observable pipelines
4764
4810
  // Parse field value to system timezone Date
@@ -4925,7 +4971,8 @@ class DbxForgeDateTimeFieldComponent {
4925
4971
  }
4926
4972
  }
4927
4973
  return result;
4928
- }, ...(ngDevMode ? [{ debugName: "dateValueSignal" }] : /* istanbul ignore next */ []));
4974
+ }, /* @ts-ignore */
4975
+ ...(ngDevMode ? [{ debugName: "dateValueSignal" }] : /* istanbul ignore next */ []));
4929
4976
  displayValueSignal = toSignal(this.displayValue$);
4930
4977
  pickerFilterSignal = toSignal(this.pickerFilter$, { initialValue: () => true });
4931
4978
  dateInputMinSignal = toSignal(this.dateInputMin$, { initialValue: null });
@@ -4944,12 +4991,17 @@ class DbxForgeDateTimeFieldComponent {
4944
4991
  const isOptional = this.timeModeSignal() === DbxDateTimeFieldTimeMode.OPTIONAL;
4945
4992
  const hasPresets = Boolean(this.presetsSignal()?.length);
4946
4993
  return disabled || (!isOptional && !hasPresets);
4947
- }, ...(ngDevMode ? [{ debugName: "isTimeMenuDisabledSignal" }] : /* istanbul ignore next */ []));
4994
+ }, /* @ts-ignore */
4995
+ ...(ngDevMode ? [{ debugName: "isTimeMenuDisabledSignal" }] : /* istanbul ignore next */ []));
4948
4996
  // ARIA
4949
- hintIdSignal = computed(() => `${this.key()}-hint`, ...(ngDevMode ? [{ debugName: "hintIdSignal" }] : /* istanbul ignore next */ []));
4950
- errorIdSignal = computed(() => `${this.key()}-error`, ...(ngDevMode ? [{ debugName: "errorIdSignal" }] : /* istanbul ignore next */ []));
4951
- ariaInvalidSignal = computed(() => (this.hasErrorSignal() ? 'true' : null), ...(ngDevMode ? [{ debugName: "ariaInvalidSignal" }] : /* istanbul ignore next */ []));
4952
- ariaRequiredSignal = computed(() => (this.field()().required() ? 'true' : null), ...(ngDevMode ? [{ debugName: "ariaRequiredSignal" }] : /* istanbul ignore next */ []));
4997
+ hintIdSignal = computed(() => `${this.key()}-hint`, /* @ts-ignore */
4998
+ ...(ngDevMode ? [{ debugName: "hintIdSignal" }] : /* istanbul ignore next */ []));
4999
+ errorIdSignal = computed(() => `${this.key()}-error`, /* @ts-ignore */
5000
+ ...(ngDevMode ? [{ debugName: "errorIdSignal" }] : /* istanbul ignore next */ []));
5001
+ ariaInvalidSignal = computed(() => (this.hasErrorSignal() ? 'true' : null), /* @ts-ignore */
5002
+ ...(ngDevMode ? [{ debugName: "ariaInvalidSignal" }] : /* istanbul ignore next */ []));
5003
+ ariaRequiredSignal = computed(() => (this.field()().required() ? 'true' : null), /* @ts-ignore */
5004
+ ...(ngDevMode ? [{ debugName: "ariaRequiredSignal" }] : /* istanbul ignore next */ []));
4953
5005
  ariaDescribedBySignal = computed(() => {
4954
5006
  const errorId = this.errorIdSignal();
4955
5007
  const props = this.props();
@@ -4962,7 +5014,8 @@ class DbxForgeDateTimeFieldComponent {
4962
5014
  result = hintId;
4963
5015
  }
4964
5016
  return result;
4965
- }, ...(ngDevMode ? [{ debugName: "ariaDescribedBySignal" }] : /* istanbul ignore next */ []));
5017
+ }, /* @ts-ignore */
5018
+ ...(ngDevMode ? [{ debugName: "ariaDescribedBySignal" }] : /* istanbul ignore next */ []));
4966
5019
  constructor() {
4967
5020
  setupMetaTracking(this.elementRef, this.meta, { selector: 'input' });
4968
5021
  // Initialize fullDay from timeMode
@@ -5279,12 +5332,12 @@ class DbxForgeDateTimeFieldComponent {
5279
5332
  // Silently handle if sibling field is not writable
5280
5333
  }
5281
5334
  }
5282
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: DbxForgeDateTimeFieldComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
5283
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.11", type: DbxForgeDateTimeFieldComponent, isStandalone: true, selector: "dbx-forge-datetime-field", 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 }, meta: { classPropertyName: "meta", publicName: "meta", 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()" } }, ngImport: i0, template: "<div class=\"dbx-forge-datetime-field-wrapper\">\n <!-- Field Label -->\n @if (fieldLabelSignal()) {\n <span class=\"dbx-forge-field-label\">\n {{ fieldLabelSignal() }}\n @if (isRequiredSignal()) {\n <span class=\"dbx-forge-required-marker\">*</span>\n }\n </span>\n }\n\n <!-- Date + Time row -->\n <div class=\"dbx-forge-datetime-field dbx-forge-datetime-inputs\">\n <!-- Date Input -->\n @if (resolvedShowDateInputSignal()) {\n <div class=\"dbx-forge-datetime-col\" [class.dbx-forge-datetime-col-full]=\"isDateOnlySignal()\">\n <mat-form-field [appearance]=\"appearanceSignal()\" subscriptSizing=\"dynamic\" class=\"dbx-forge-datetime-col-field\">\n <mat-label>{{ dateLabelSignal() }}</mat-label>\n <input matInput [disabled]=\"isDisabledSignal()\" [required]=\"isDateRequiredSignal()\" [min]=\"dateInputMinSignal()\" [max]=\"dateInputMaxSignal()\" [matDatepicker]=\"picker\" [matDatepickerFilter]=\"pickerFilterSignal()\" (dateChange)=\"onDatePicked($event)\" [value]=\"dateValueSignal()\" (click)=\"onDateInputClick(picker)\" (keydown)=\"onDateKeydown($event)\" [attr.aria-invalid]=\"ariaInvalidSignal()\" [attr.aria-required]=\"ariaRequiredSignal()\" [attr.aria-describedby]=\"ariaDescribedBySignal()\" />\n @if (!hideDatePickerSignal()) {\n <button matPrefix mat-icon-button (click)=\"picker.open()\" [disabled]=\"isDisabledSignal()\" aria-label=\"Open date picker\">\n <mat-icon aria-hidden=\"true\">calendar_today</mat-icon>\n </button>\n }\n <mat-datepicker #picker></mat-datepicker>\n @if (resolvedShowClearButtonSignal()) {\n <button matSuffix mat-icon-button aria-label=\"Clear date and time\" [disabled]=\"isDisabledSignal()\" (click)=\"clearValue()\">\n <mat-icon aria-hidden=\"true\">clear</mat-icon>\n </button>\n }\n @if (!showTimeInputSignal()) {\n <span matTextSuffix>\n <ng-container [ngTemplateOutlet]=\"tzSuffix\"></ng-container>\n </span>\n }\n </mat-form-field>\n </div>\n }\n\n <!-- Time Input / Add Time Button -->\n @if (showTimeInputSignal() || showAddTimeButtonSignal()) {\n <div class=\"dbx-forge-datetime-col\">\n @if (showTimeInputSignal()) {\n <mat-menu #timemenu=\"matMenu\">\n @if (timeModeSignal() === 'optional') {\n <button mat-menu-item (click)=\"removeTime()\">\n <span>Remove Time</span>\n </button>\n <mat-divider></mat-divider>\n }\n @for (preset of presetsSignal(); track $index) {\n <button mat-menu-item (click)=\"selectPreset(preset)\">{{ preset.label | getValue }}</button>\n }\n </mat-menu>\n <mat-form-field [appearance]=\"appearanceSignal()\" subscriptSizing=\"dynamic\" class=\"dbx-forge-datetime-col-field\">\n <mat-label>{{ timeLabelSignal() }}</mat-label>\n <input matInput [errorStateMatcher]=\"timeErrorStateMatcher\" [required]=\"isTimeRequiredSignal()\" [formControl]=\"timeCtrl\" (focus)=\"onTimeFocus()\" (focusout)=\"onTimeBlur()\" (keydown)=\"onTimeKeydown($event)\" />\n <button matPrefix mat-icon-button [matMenuTriggerFor]=\"timemenu\" aria-label=\"Open time presets\" [disabled]=\"isTimeMenuDisabledSignal()\">\n <mat-icon aria-hidden=\"true\">timer</mat-icon>\n </button>\n <span matTextSuffix>\n <ng-container [ngTemplateOutlet]=\"tzSuffix\"></ng-container>\n </span>\n @if (timeCtrl.hasError('pattern')) {\n <mat-error>The input time is not recognizable.</mat-error>\n }\n </mat-form-field>\n }\n @if (showAddTimeButtonSignal()) {\n <div class=\"dbx-forge-add-time-wrapper\">\n <button mat-button (click)=\"addTime()\">\n <mat-icon>timer</mat-icon>\n Add Time\n </button>\n </div>\n }\n </div>\n }\n </div>\n\n <!-- Date Hint / Error -->\n @if (hasErrorSignal()) {\n @if (currentErrorMessageSignal()) {\n <mat-error class=\"dbx-forge-datetime-error\" [id]=\"errorIdSignal()\">{{ currentErrorMessageSignal() }}</mat-error>\n }\n } @else if (!hideDateHintSignal()) {\n <div class=\"dbx-forge-datetime-hint\" [id]=\"hintIdSignal()\">\n @if (!hasValueSignal()) {\n <span class=\"dbx-small dbx-hint\">No date/time set</span>\n } @else if (displayValueSignal(); as dv) {\n @if (fullDaySignal()) {\n <small>\n <b class=\"dbx-ok\">{{ allDayLabelSignal() }}</b>\n {{ dv | date: 'fullDate' }} {{ tzAbbreviationSignal() }} ({{ dv | dateDistance }})\n </small>\n } @else {\n <small>\n <b class=\"dbx-ok\">{{ atTimeLabelSignal() }}</b>\n {{ dv | date: 'medium' }} {{ tzAbbreviationSignal() }} ({{ dv | timeDistance }})\n </small>\n }\n }\n </div>\n }\n\n <!-- Description -->\n @if (descriptionSignal()) {\n <p class=\"dbx-hint dbx-forge-datetime-desc\">{{ descriptionSignal() }}</p>\n }\n</div>\n\n<!-- Timezone Suffix Template -->\n<ng-template #tzSuffix>\n @if (showTimezoneSignal()) {\n <span class=\"dbx-forge-datetime-timezone dbx-faint\">{{ tzAbbreviationSignal() }}</span>\n }\n</ng-template>\n", styles: [".dbx-forge-datetime-field-wrapper{width:100%}.dbx-forge-datetime-inputs{display:flex;flex-wrap:wrap;gap:6px;align-items:flex-start;width:100%}.dbx-forge-datetime-col{flex:1 1 0%;min-width:180px}.dbx-forge-datetime-col-full{flex:1 1 100%}.dbx-forge-datetime-col-field{width:100%}.dbx-forge-field-label{font-weight:500}.dbx-forge-required-marker{color:var(--mat-sys-error, red)}.dbx-forge-datetime-desc{font-size:12px;margin-top:0}.dbx-forge-add-time-wrapper{display:flex;align-items:center;min-height:56px}.dbx-forge-datetime-timezone{padding:0 6px;pointer-events:none}.dbx-forge-datetime-hint,.dbx-forge-datetime-error{padding:0 2px}@media(max-width:599px){.dbx-forge-datetime-inputs{flex-direction:column;align-items:stretch}.dbx-forge-datetime-col{flex:1 1 auto;width:100%}}\n"], dependencies: [{ kind: "ngmodule", type: MatFormFieldModule }, { kind: "component", type: i1$2.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i1$2.MatLabel, selector: "mat-label" }, { kind: "directive", type: i1$2.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "directive", type: i1$2.MatPrefix, selector: "[matPrefix], [matIconPrefix], [matTextPrefix]", inputs: ["matTextPrefix"] }, { kind: "directive", type: i1$2.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i2.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly", "disabledInteractive"], exportAs: ["matInput"] }, { kind: "ngmodule", type: MatDatepickerModule }, { kind: "component", type: i3.MatDatepicker, selector: "mat-datepicker", exportAs: ["matDatepicker"] }, { kind: "directive", type: i3.MatDatepickerInput, selector: "input[matDatepicker]", inputs: ["matDatepicker", "min", "max", "matDatepickerFilter"], exportAs: ["matDatepickerInput"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i4.MatButton, selector: " button[matButton], a[matButton], button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button], a[mat-button], a[mat-raised-button], a[mat-flat-button], a[mat-stroked-button] ", inputs: ["matButton"], exportAs: ["matButton", "matAnchor"] }, { kind: "component", type: i4.MatIconButton, selector: "button[mat-icon-button], a[mat-icon-button], button[matIconButton], a[matIconButton]", exportAs: ["matButton", "matAnchor"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i1$3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatMenuModule }, { kind: "component", type: i6.MatMenu, selector: "mat-menu", inputs: ["backdropClass", "aria-label", "aria-labelledby", "aria-describedby", "xPosition", "yPosition", "overlapTrigger", "hasBackdrop", "class", "classList"], outputs: ["closed", "close"], exportAs: ["matMenu"] }, { kind: "component", type: i6.MatMenuItem, selector: "[mat-menu-item]", inputs: ["role", "disabled", "disableRipple"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i6.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }, { kind: "ngmodule", type: MatDividerModule }, { kind: "component", type: i7.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1$4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$4.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i1$4.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "pipe", type: DatePipe, name: "date" }, { kind: "pipe", type: DateDistancePipe, name: "dateDistance" }, { kind: "pipe", type: TimeDistancePipe, name: "timeDistance" }, { kind: "pipe", type: GetValuePipe, name: "getValue" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
5335
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: DbxForgeDateTimeFieldComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
5336
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.4", type: DbxForgeDateTimeFieldComponent, isStandalone: true, selector: "dbx-forge-datetime-field", 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 }, meta: { classPropertyName: "meta", publicName: "meta", 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()" } }, ngImport: i0, template: "<div class=\"dbx-forge-datetime-field-wrapper\">\n <!-- Field Label -->\n @if (fieldLabelSignal()) {\n <span class=\"dbx-forge-field-label\">\n {{ fieldLabelSignal() }}\n @if (isRequiredSignal()) {\n <span class=\"dbx-forge-required-marker\">*</span>\n }\n </span>\n }\n\n <!-- Date + Time row -->\n <div class=\"dbx-forge-datetime-field dbx-forge-datetime-inputs\">\n <!-- Date Input -->\n @if (resolvedShowDateInputSignal()) {\n <div class=\"dbx-forge-datetime-col\" [class.dbx-forge-datetime-col-full]=\"isDateOnlySignal()\">\n <mat-form-field [appearance]=\"appearanceSignal()\" subscriptSizing=\"dynamic\" class=\"dbx-forge-datetime-col-field\">\n <mat-label>{{ dateLabelSignal() }}</mat-label>\n <input matInput [disabled]=\"isDisabledSignal()\" [required]=\"isDateRequiredSignal()\" [min]=\"dateInputMinSignal()\" [max]=\"dateInputMaxSignal()\" [matDatepicker]=\"picker\" [matDatepickerFilter]=\"pickerFilterSignal()\" (dateChange)=\"onDatePicked($event)\" [value]=\"dateValueSignal()\" (click)=\"onDateInputClick(picker)\" (keydown)=\"onDateKeydown($event)\" [attr.aria-invalid]=\"ariaInvalidSignal()\" [attr.aria-required]=\"ariaRequiredSignal()\" [attr.aria-describedby]=\"ariaDescribedBySignal()\" />\n @if (!hideDatePickerSignal()) {\n <button matPrefix mat-icon-button (click)=\"picker.open()\" [disabled]=\"isDisabledSignal()\" aria-label=\"Open date picker\">\n <mat-icon aria-hidden=\"true\">calendar_today</mat-icon>\n </button>\n }\n <mat-datepicker #picker></mat-datepicker>\n @if (resolvedShowClearButtonSignal()) {\n <button matSuffix mat-icon-button aria-label=\"Clear date and time\" [disabled]=\"isDisabledSignal()\" (click)=\"clearValue()\">\n <mat-icon aria-hidden=\"true\">clear</mat-icon>\n </button>\n }\n @if (!showTimeInputSignal()) {\n <span matTextSuffix>\n <ng-container [ngTemplateOutlet]=\"tzSuffix\"></ng-container>\n </span>\n }\n </mat-form-field>\n </div>\n }\n\n <!-- Time Input / Add Time Button -->\n @if (showTimeInputSignal() || showAddTimeButtonSignal()) {\n <div class=\"dbx-forge-datetime-col\">\n @if (showTimeInputSignal()) {\n <mat-menu #timemenu=\"matMenu\">\n @if (timeModeSignal() === 'optional') {\n <button mat-menu-item (click)=\"removeTime()\">\n <span>Remove Time</span>\n </button>\n <mat-divider></mat-divider>\n }\n @for (preset of presetsSignal(); track $index) {\n <button mat-menu-item (click)=\"selectPreset(preset)\">{{ preset.label | getValue }}</button>\n }\n </mat-menu>\n <mat-form-field [appearance]=\"appearanceSignal()\" subscriptSizing=\"dynamic\" class=\"dbx-forge-datetime-col-field\">\n <mat-label>{{ timeLabelSignal() }}</mat-label>\n <input matInput [errorStateMatcher]=\"timeErrorStateMatcher\" [required]=\"isTimeRequiredSignal()\" [formControl]=\"timeCtrl\" (focus)=\"onTimeFocus()\" (focusout)=\"onTimeBlur()\" (keydown)=\"onTimeKeydown($event)\" />\n <button matPrefix mat-icon-button [matMenuTriggerFor]=\"timemenu\" aria-label=\"Open time presets\" [disabled]=\"isTimeMenuDisabledSignal()\">\n <mat-icon aria-hidden=\"true\">timer</mat-icon>\n </button>\n <span matTextSuffix>\n <ng-container [ngTemplateOutlet]=\"tzSuffix\"></ng-container>\n </span>\n @if (timeCtrl.hasError('pattern')) {\n <mat-error>The input time is not recognizable.</mat-error>\n }\n </mat-form-field>\n }\n @if (showAddTimeButtonSignal()) {\n <div class=\"dbx-forge-add-time-wrapper\">\n <button mat-button (click)=\"addTime()\">\n <mat-icon>timer</mat-icon>\n Add Time\n </button>\n </div>\n }\n </div>\n }\n </div>\n\n <!-- Date Hint / Error -->\n @if (hasErrorSignal()) {\n @if (currentErrorMessageSignal()) {\n <mat-error class=\"dbx-forge-datetime-error\" [id]=\"errorIdSignal()\">{{ currentErrorMessageSignal() }}</mat-error>\n }\n } @else if (!hideDateHintSignal()) {\n <div class=\"dbx-forge-datetime-hint\" [id]=\"hintIdSignal()\">\n @if (!hasValueSignal()) {\n <span class=\"dbx-small dbx-hint\">No date/time set</span>\n } @else if (displayValueSignal(); as dv) {\n @if (fullDaySignal()) {\n <small>\n <b class=\"dbx-ok\">{{ allDayLabelSignal() }}</b>\n {{ dv | date: 'fullDate' }} {{ tzAbbreviationSignal() }} ({{ dv | dateDistance }})\n </small>\n } @else {\n <small>\n <b class=\"dbx-ok\">{{ atTimeLabelSignal() }}</b>\n {{ dv | date: 'medium' }} {{ tzAbbreviationSignal() }} ({{ dv | timeDistance }})\n </small>\n }\n }\n </div>\n }\n\n <!-- Description -->\n @if (descriptionSignal()) {\n <p class=\"dbx-hint dbx-forge-datetime-desc\">{{ descriptionSignal() }}</p>\n }\n</div>\n\n<!-- Timezone Suffix Template -->\n<ng-template #tzSuffix>\n @if (showTimezoneSignal()) {\n <span class=\"dbx-forge-datetime-timezone dbx-faint\">{{ tzAbbreviationSignal() }}</span>\n }\n</ng-template>\n", styles: [".dbx-forge-datetime-field-wrapper{width:100%}.dbx-forge-datetime-inputs{display:flex;flex-wrap:wrap;gap:6px;align-items:flex-start;width:100%}.dbx-forge-datetime-col{flex:1 1 0%;min-width:180px}.dbx-forge-datetime-col-full{flex:1 1 100%}.dbx-forge-datetime-col-field{width:100%}.dbx-forge-field-label{font-weight:500}.dbx-forge-required-marker{color:var(--mat-sys-error, red)}.dbx-forge-datetime-desc{font-size:12px;margin-top:0}.dbx-forge-add-time-wrapper{display:flex;align-items:center;min-height:56px}.dbx-forge-datetime-timezone{padding:0 6px;pointer-events:none}.dbx-forge-datetime-hint,.dbx-forge-datetime-error{padding:0 2px}@media(max-width:599px){.dbx-forge-datetime-inputs{flex-direction:column;align-items:stretch}.dbx-forge-datetime-col{flex:1 1 auto;width:100%}}\n"], dependencies: [{ kind: "ngmodule", type: MatFormFieldModule }, { kind: "component", type: i1$2.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i1$2.MatLabel, selector: "mat-label" }, { kind: "directive", type: i1$2.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "directive", type: i1$2.MatPrefix, selector: "[matPrefix], [matIconPrefix], [matTextPrefix]", inputs: ["matTextPrefix"] }, { kind: "directive", type: i1$2.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i2.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly", "disabledInteractive"], exportAs: ["matInput"] }, { kind: "ngmodule", type: MatDatepickerModule }, { kind: "component", type: i3.MatDatepicker, selector: "mat-datepicker", exportAs: ["matDatepicker"] }, { kind: "directive", type: i3.MatDatepickerInput, selector: "input[matDatepicker]", inputs: ["matDatepicker", "min", "max", "matDatepickerFilter"], exportAs: ["matDatepickerInput"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i4.MatButton, selector: " button[matButton], a[matButton], button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button], a[mat-button], a[mat-raised-button], a[mat-flat-button], a[mat-stroked-button] ", inputs: ["matButton"], exportAs: ["matButton", "matAnchor"] }, { kind: "component", type: i4.MatIconButton, selector: "button[mat-icon-button], a[mat-icon-button], button[matIconButton], a[matIconButton]", exportAs: ["matButton", "matAnchor"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i1$3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatMenuModule }, { kind: "component", type: i6.MatMenu, selector: "mat-menu", inputs: ["backdropClass", "aria-label", "aria-labelledby", "aria-describedby", "xPosition", "yPosition", "overlapTrigger", "hasBackdrop", "class", "classList"], outputs: ["closed", "close"], exportAs: ["matMenu"] }, { kind: "component", type: i6.MatMenuItem, selector: "[mat-menu-item]", inputs: ["role", "disabled", "disableRipple"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i6.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }, { kind: "ngmodule", type: MatDividerModule }, { kind: "component", type: i7.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1$4.DefaultValueAccessor, selector: "input:not([type=checkbox]):not([ngNoCva])[formControlName],textarea:not([ngNoCva])[formControlName],input:not([type=checkbox]):not([ngNoCva])[formControl],textarea:not([ngNoCva])[formControl],input:not([type=checkbox]):not([ngNoCva])[ngModel],textarea:not([ngNoCva])[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$4.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i1$4.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "pipe", type: DatePipe, name: "date" }, { kind: "pipe", type: DateDistancePipe, name: "dateDistance" }, { kind: "pipe", type: TimeDistancePipe, name: "timeDistance" }, { kind: "pipe", type: GetValuePipe, name: "getValue" }] });
5284
5337
  }
5285
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: DbxForgeDateTimeFieldComponent, decorators: [{
5338
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: DbxForgeDateTimeFieldComponent, decorators: [{
5286
5339
  type: Component,
5287
- args: [{ selector: 'dbx-forge-datetime-field', standalone: true, imports: [MatFormFieldModule, MatInputModule, MatDatepickerModule, MatButtonModule, MatIconModule, MatMenuModule, MatDividerModule, ReactiveFormsModule, FormsModule, NgTemplateOutlet, DatePipe, DateDistancePipe, TimeDistancePipe, GetValuePipe], changeDetection: ChangeDetectionStrategy.OnPush, host: {
5340
+ args: [{ selector: 'dbx-forge-datetime-field', imports: [MatFormFieldModule, MatInputModule, MatDatepickerModule, MatButtonModule, MatIconModule, MatMenuModule, MatDividerModule, ReactiveFormsModule, FormsModule, NgTemplateOutlet, DatePipe, DateDistancePipe, TimeDistancePipe, GetValuePipe], host: {
5288
5341
  '[class]': 'className()'
5289
5342
  }, template: "<div class=\"dbx-forge-datetime-field-wrapper\">\n <!-- Field Label -->\n @if (fieldLabelSignal()) {\n <span class=\"dbx-forge-field-label\">\n {{ fieldLabelSignal() }}\n @if (isRequiredSignal()) {\n <span class=\"dbx-forge-required-marker\">*</span>\n }\n </span>\n }\n\n <!-- Date + Time row -->\n <div class=\"dbx-forge-datetime-field dbx-forge-datetime-inputs\">\n <!-- Date Input -->\n @if (resolvedShowDateInputSignal()) {\n <div class=\"dbx-forge-datetime-col\" [class.dbx-forge-datetime-col-full]=\"isDateOnlySignal()\">\n <mat-form-field [appearance]=\"appearanceSignal()\" subscriptSizing=\"dynamic\" class=\"dbx-forge-datetime-col-field\">\n <mat-label>{{ dateLabelSignal() }}</mat-label>\n <input matInput [disabled]=\"isDisabledSignal()\" [required]=\"isDateRequiredSignal()\" [min]=\"dateInputMinSignal()\" [max]=\"dateInputMaxSignal()\" [matDatepicker]=\"picker\" [matDatepickerFilter]=\"pickerFilterSignal()\" (dateChange)=\"onDatePicked($event)\" [value]=\"dateValueSignal()\" (click)=\"onDateInputClick(picker)\" (keydown)=\"onDateKeydown($event)\" [attr.aria-invalid]=\"ariaInvalidSignal()\" [attr.aria-required]=\"ariaRequiredSignal()\" [attr.aria-describedby]=\"ariaDescribedBySignal()\" />\n @if (!hideDatePickerSignal()) {\n <button matPrefix mat-icon-button (click)=\"picker.open()\" [disabled]=\"isDisabledSignal()\" aria-label=\"Open date picker\">\n <mat-icon aria-hidden=\"true\">calendar_today</mat-icon>\n </button>\n }\n <mat-datepicker #picker></mat-datepicker>\n @if (resolvedShowClearButtonSignal()) {\n <button matSuffix mat-icon-button aria-label=\"Clear date and time\" [disabled]=\"isDisabledSignal()\" (click)=\"clearValue()\">\n <mat-icon aria-hidden=\"true\">clear</mat-icon>\n </button>\n }\n @if (!showTimeInputSignal()) {\n <span matTextSuffix>\n <ng-container [ngTemplateOutlet]=\"tzSuffix\"></ng-container>\n </span>\n }\n </mat-form-field>\n </div>\n }\n\n <!-- Time Input / Add Time Button -->\n @if (showTimeInputSignal() || showAddTimeButtonSignal()) {\n <div class=\"dbx-forge-datetime-col\">\n @if (showTimeInputSignal()) {\n <mat-menu #timemenu=\"matMenu\">\n @if (timeModeSignal() === 'optional') {\n <button mat-menu-item (click)=\"removeTime()\">\n <span>Remove Time</span>\n </button>\n <mat-divider></mat-divider>\n }\n @for (preset of presetsSignal(); track $index) {\n <button mat-menu-item (click)=\"selectPreset(preset)\">{{ preset.label | getValue }}</button>\n }\n </mat-menu>\n <mat-form-field [appearance]=\"appearanceSignal()\" subscriptSizing=\"dynamic\" class=\"dbx-forge-datetime-col-field\">\n <mat-label>{{ timeLabelSignal() }}</mat-label>\n <input matInput [errorStateMatcher]=\"timeErrorStateMatcher\" [required]=\"isTimeRequiredSignal()\" [formControl]=\"timeCtrl\" (focus)=\"onTimeFocus()\" (focusout)=\"onTimeBlur()\" (keydown)=\"onTimeKeydown($event)\" />\n <button matPrefix mat-icon-button [matMenuTriggerFor]=\"timemenu\" aria-label=\"Open time presets\" [disabled]=\"isTimeMenuDisabledSignal()\">\n <mat-icon aria-hidden=\"true\">timer</mat-icon>\n </button>\n <span matTextSuffix>\n <ng-container [ngTemplateOutlet]=\"tzSuffix\"></ng-container>\n </span>\n @if (timeCtrl.hasError('pattern')) {\n <mat-error>The input time is not recognizable.</mat-error>\n }\n </mat-form-field>\n }\n @if (showAddTimeButtonSignal()) {\n <div class=\"dbx-forge-add-time-wrapper\">\n <button mat-button (click)=\"addTime()\">\n <mat-icon>timer</mat-icon>\n Add Time\n </button>\n </div>\n }\n </div>\n }\n </div>\n\n <!-- Date Hint / Error -->\n @if (hasErrorSignal()) {\n @if (currentErrorMessageSignal()) {\n <mat-error class=\"dbx-forge-datetime-error\" [id]=\"errorIdSignal()\">{{ currentErrorMessageSignal() }}</mat-error>\n }\n } @else if (!hideDateHintSignal()) {\n <div class=\"dbx-forge-datetime-hint\" [id]=\"hintIdSignal()\">\n @if (!hasValueSignal()) {\n <span class=\"dbx-small dbx-hint\">No date/time set</span>\n } @else if (displayValueSignal(); as dv) {\n @if (fullDaySignal()) {\n <small>\n <b class=\"dbx-ok\">{{ allDayLabelSignal() }}</b>\n {{ dv | date: 'fullDate' }} {{ tzAbbreviationSignal() }} ({{ dv | dateDistance }})\n </small>\n } @else {\n <small>\n <b class=\"dbx-ok\">{{ atTimeLabelSignal() }}</b>\n {{ dv | date: 'medium' }} {{ tzAbbreviationSignal() }} ({{ dv | timeDistance }})\n </small>\n }\n }\n </div>\n }\n\n <!-- Description -->\n @if (descriptionSignal()) {\n <p class=\"dbx-hint dbx-forge-datetime-desc\">{{ descriptionSignal() }}</p>\n }\n</div>\n\n<!-- Timezone Suffix Template -->\n<ng-template #tzSuffix>\n @if (showTimezoneSignal()) {\n <span class=\"dbx-forge-datetime-timezone dbx-faint\">{{ tzAbbreviationSignal() }}</span>\n }\n</ng-template>\n", styles: [".dbx-forge-datetime-field-wrapper{width:100%}.dbx-forge-datetime-inputs{display:flex;flex-wrap:wrap;gap:6px;align-items:flex-start;width:100%}.dbx-forge-datetime-col{flex:1 1 0%;min-width:180px}.dbx-forge-datetime-col-full{flex:1 1 100%}.dbx-forge-datetime-col-field{width:100%}.dbx-forge-field-label{font-weight:500}.dbx-forge-required-marker{color:var(--mat-sys-error, red)}.dbx-forge-datetime-desc{font-size:12px;margin-top:0}.dbx-forge-add-time-wrapper{display:flex;align-items:center;min-height:56px}.dbx-forge-datetime-timezone{padding:0 6px;pointer-events:none}.dbx-forge-datetime-hint,.dbx-forge-datetime-error{padding:0 2px}@media(max-width:599px){.dbx-forge-datetime-inputs{flex-direction:column;align-items:stretch}.dbx-forge-datetime-col{flex:1 1 auto;width:100%}}\n"] }]
5290
5343
  }], ctorParameters: () => [], propDecorators: { field: [{ type: i0.Input, args: [{ isSignal: true, alias: "field", required: true }] }], key: [{ type: i0.Input, args: [{ isSignal: true, alias: "key", required: true }] }], label: [{ type: i0.Input, args: [{ isSignal: true, alias: "label", required: false }] }], placeholder: [{ type: i0.Input, args: [{ isSignal: true, alias: "placeholder", required: false }] }], className: [{ type: i0.Input, args: [{ isSignal: true, alias: "className", required: false }] }], tabIndex: [{ type: i0.Input, args: [{ isSignal: true, alias: "tabIndex", required: false }] }], props: [{ type: i0.Input, args: [{ isSignal: true, alias: "props", required: false }] }], meta: [{ type: i0.Input, args: [{ isSignal: true, alias: "meta", required: false }] }], validationMessages: [{ type: i0.Input, args: [{ isSignal: true, alias: "validationMessages", required: false }] }], defaultValidationMessages: [{ type: i0.Input, args: [{ isSignal: true, alias: "defaultValidationMessages", required: false }] }] } });
@@ -5334,16 +5387,26 @@ class DbxForgeDateRangeFieldComponent {
5334
5387
  destroyRef = inject(DestroyRef);
5335
5388
  elementRef = inject((ElementRef));
5336
5389
  // Standard ng-forge value field inputs
5337
- field = input.required(...(ngDevMode ? [{ debugName: "field" }] : /* istanbul ignore next */ []));
5338
- key = input.required(...(ngDevMode ? [{ debugName: "key" }] : /* istanbul ignore next */ []));
5339
- label = input(...(ngDevMode ? [undefined, { debugName: "label" }] : /* istanbul ignore next */ []));
5340
- placeholder = input(...(ngDevMode ? [undefined, { debugName: "placeholder" }] : /* istanbul ignore next */ []));
5341
- className = input('', ...(ngDevMode ? [{ debugName: "className" }] : /* istanbul ignore next */ []));
5342
- tabIndex = input(...(ngDevMode ? [undefined, { debugName: "tabIndex" }] : /* istanbul ignore next */ []));
5343
- props = input(...(ngDevMode ? [undefined, { debugName: "props" }] : /* istanbul ignore next */ []));
5344
- meta = input(...(ngDevMode ? [undefined, { debugName: "meta" }] : /* istanbul ignore next */ []));
5345
- validationMessages = input(...(ngDevMode ? [undefined, { debugName: "validationMessages" }] : /* istanbul ignore next */ []));
5346
- defaultValidationMessages = input(...(ngDevMode ? [undefined, { debugName: "defaultValidationMessages" }] : /* istanbul ignore next */ []));
5390
+ field = input.required(/* @ts-ignore */
5391
+ ...(ngDevMode ? [{ debugName: "field" }] : /* istanbul ignore next */ []));
5392
+ key = input.required(/* @ts-ignore */
5393
+ ...(ngDevMode ? [{ debugName: "key" }] : /* istanbul ignore next */ []));
5394
+ label = input(/* @ts-ignore */
5395
+ ...(ngDevMode ? [undefined, { debugName: "label" }] : /* istanbul ignore next */ []));
5396
+ placeholder = input(/* @ts-ignore */
5397
+ ...(ngDevMode ? [undefined, { debugName: "placeholder" }] : /* istanbul ignore next */ []));
5398
+ className = input('', /* @ts-ignore */
5399
+ ...(ngDevMode ? [{ debugName: "className" }] : /* istanbul ignore next */ []));
5400
+ tabIndex = input(/* @ts-ignore */
5401
+ ...(ngDevMode ? [undefined, { debugName: "tabIndex" }] : /* istanbul ignore next */ []));
5402
+ props = input(/* @ts-ignore */
5403
+ ...(ngDevMode ? [undefined, { debugName: "props" }] : /* istanbul ignore next */ []));
5404
+ meta = input(/* @ts-ignore */
5405
+ ...(ngDevMode ? [undefined, { debugName: "meta" }] : /* istanbul ignore next */ []));
5406
+ validationMessages = input(/* @ts-ignore */
5407
+ ...(ngDevMode ? [undefined, { debugName: "validationMessages" }] : /* istanbul ignore next */ []));
5408
+ defaultValidationMessages = input(/* @ts-ignore */
5409
+ ...(ngDevMode ? [undefined, { debugName: "defaultValidationMessages" }] : /* istanbul ignore next */ []));
5347
5410
  /**
5348
5411
  * Internal FormControls for start and end dates and times.
5349
5412
  */
@@ -5352,27 +5415,38 @@ class DbxForgeDateRangeFieldComponent {
5352
5415
  endDateCtrl = new FormControl(null);
5353
5416
  endTimeCtrl = new FormControl('');
5354
5417
  // Computed props
5355
- startLabelSignal = computed(() => this.props()?.startLabel ?? 'Start', ...(ngDevMode ? [{ debugName: "startLabelSignal" }] : /* istanbul ignore next */ []));
5356
- endLabelSignal = computed(() => this.props()?.endLabel ?? 'End', ...(ngDevMode ? [{ debugName: "endLabelSignal" }] : /* istanbul ignore next */ []));
5357
- showTimeSignal = computed(() => this.props()?.showTime ?? false, ...(ngDevMode ? [{ debugName: "showTimeSignal" }] : /* istanbul ignore next */ []));
5358
- effectiveAppearanceSignal = computed(() => this.props()?.appearance ?? this.materialConfig?.appearance ?? 'outline', ...(ngDevMode ? [{ debugName: "effectiveAppearanceSignal" }] : /* istanbul ignore next */ []));
5418
+ startLabelSignal = computed(() => this.props()?.startLabel ?? 'Start', /* @ts-ignore */
5419
+ ...(ngDevMode ? [{ debugName: "startLabelSignal" }] : /* istanbul ignore next */ []));
5420
+ endLabelSignal = computed(() => this.props()?.endLabel ?? 'End', /* @ts-ignore */
5421
+ ...(ngDevMode ? [{ debugName: "endLabelSignal" }] : /* istanbul ignore next */ []));
5422
+ showTimeSignal = computed(() => this.props()?.showTime ?? false, /* @ts-ignore */
5423
+ ...(ngDevMode ? [{ debugName: "showTimeSignal" }] : /* istanbul ignore next */ []));
5424
+ effectiveAppearanceSignal = computed(() => this.props()?.appearance ?? this.materialConfig?.appearance ?? 'outline', /* @ts-ignore */
5425
+ ...(ngDevMode ? [{ debugName: "effectiveAppearanceSignal" }] : /* istanbul ignore next */ []));
5359
5426
  minDateSignal = computed(() => {
5360
5427
  const minDate = this.props()?.minDate;
5361
5428
  return minDate ? safeToJsDate(minDate) : null;
5362
- }, ...(ngDevMode ? [{ debugName: "minDateSignal" }] : /* istanbul ignore next */ []));
5429
+ }, /* @ts-ignore */
5430
+ ...(ngDevMode ? [{ debugName: "minDateSignal" }] : /* istanbul ignore next */ []));
5363
5431
  maxDateSignal = computed(() => {
5364
5432
  const maxDate = this.props()?.maxDate;
5365
5433
  return maxDate ? safeToJsDate(maxDate) : null;
5366
- }, ...(ngDevMode ? [{ debugName: "maxDateSignal" }] : /* istanbul ignore next */ []));
5434
+ }, /* @ts-ignore */
5435
+ ...(ngDevMode ? [{ debugName: "maxDateSignal" }] : /* istanbul ignore next */ []));
5367
5436
  // Error handling
5368
5437
  resolvedErrors = createResolvedErrorsSignal(this.field, this.validationMessages, this.defaultValidationMessages);
5369
5438
  showErrors = shouldShowErrors(this.field);
5370
- errorsToDisplaySignal = computed(() => (this.showErrors() ? this.resolvedErrors() : []), ...(ngDevMode ? [{ debugName: "errorsToDisplaySignal" }] : /* istanbul ignore next */ []));
5439
+ errorsToDisplaySignal = computed(() => (this.showErrors() ? this.resolvedErrors() : []), /* @ts-ignore */
5440
+ ...(ngDevMode ? [{ debugName: "errorsToDisplaySignal" }] : /* istanbul ignore next */ []));
5371
5441
  // ARIA
5372
- hintIdSignal = computed(() => `${this.key()}-hint`, ...(ngDevMode ? [{ debugName: "hintIdSignal" }] : /* istanbul ignore next */ []));
5373
- errorIdSignal = computed(() => `${this.key()}-error`, ...(ngDevMode ? [{ debugName: "errorIdSignal" }] : /* istanbul ignore next */ []));
5374
- ariaInvalidSignal = computed(() => (this.showErrors() ? 'true' : null), ...(ngDevMode ? [{ debugName: "ariaInvalidSignal" }] : /* istanbul ignore next */ []));
5375
- ariaRequiredSignal = computed(() => (this.field()().required() ? 'true' : null), ...(ngDevMode ? [{ debugName: "ariaRequiredSignal" }] : /* istanbul ignore next */ []));
5442
+ hintIdSignal = computed(() => `${this.key()}-hint`, /* @ts-ignore */
5443
+ ...(ngDevMode ? [{ debugName: "hintIdSignal" }] : /* istanbul ignore next */ []));
5444
+ errorIdSignal = computed(() => `${this.key()}-error`, /* @ts-ignore */
5445
+ ...(ngDevMode ? [{ debugName: "errorIdSignal" }] : /* istanbul ignore next */ []));
5446
+ ariaInvalidSignal = computed(() => (this.showErrors() ? 'true' : null), /* @ts-ignore */
5447
+ ...(ngDevMode ? [{ debugName: "ariaInvalidSignal" }] : /* istanbul ignore next */ []));
5448
+ ariaRequiredSignal = computed(() => (this.field()().required() ? 'true' : null), /* @ts-ignore */
5449
+ ...(ngDevMode ? [{ debugName: "ariaRequiredSignal" }] : /* istanbul ignore next */ []));
5376
5450
  ariaDescribedBySignal = computed(() => {
5377
5451
  const errorId = this.errorIdSignal();
5378
5452
  const hintId = this.hintIdSignal();
@@ -5381,7 +5455,8 @@ class DbxForgeDateRangeFieldComponent {
5381
5455
  if (this.props()?.hint)
5382
5456
  return hintId;
5383
5457
  return null;
5384
- }, ...(ngDevMode ? [{ debugName: "ariaDescribedBySignal" }] : /* istanbul ignore next */ []));
5458
+ }, /* @ts-ignore */
5459
+ ...(ngDevMode ? [{ debugName: "ariaDescribedBySignal" }] : /* istanbul ignore next */ []));
5385
5460
  /**
5386
5461
  * Flag to prevent feedback loops during sync.
5387
5462
  */
@@ -5483,12 +5558,12 @@ class DbxForgeDateRangeFieldComponent {
5483
5558
  }
5484
5559
  return result;
5485
5560
  }
5486
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: DbxForgeDateRangeFieldComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
5487
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.11", type: DbxForgeDateRangeFieldComponent, isStandalone: true, selector: "dbx-forge-daterange-field", 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 }, meta: { classPropertyName: "meta", publicName: "meta", 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 } }, ngImport: i0, template: "<div class=\"dbx-forge-daterange-field\">\n <mat-form-field [appearance]=\"effectiveAppearanceSignal()\" subscriptSizing=\"dynamic\" class=\"dbx-forge-daterange-start\">\n <mat-label>{{ startLabelSignal() }}</mat-label>\n <input matInput [matDatepicker]=\"startPicker\" [formControl]=\"startDateCtrl\" [min]=\"minDateSignal()\" [max]=\"maxDateSignal()\" [attr.aria-invalid]=\"ariaInvalidSignal()\" [attr.aria-required]=\"ariaRequiredSignal()\" [attr.aria-describedby]=\"ariaDescribedBySignal()\" />\n <mat-datepicker-toggle matIconSuffix [for]=\"startPicker\"></mat-datepicker-toggle>\n <mat-datepicker #startPicker></mat-datepicker>\n </mat-form-field>\n @if (showTimeSignal()) {\n <mat-form-field [appearance]=\"effectiveAppearanceSignal()\" subscriptSizing=\"dynamic\" class=\"dbx-forge-daterange-start-time\">\n <mat-label>Start Time</mat-label>\n <input matInput type=\"time\" [formControl]=\"startTimeCtrl\" />\n </mat-form-field>\n }\n <mat-form-field [appearance]=\"effectiveAppearanceSignal()\" subscriptSizing=\"dynamic\" class=\"dbx-forge-daterange-end\">\n <mat-label>{{ endLabelSignal() }}</mat-label>\n <input matInput [matDatepicker]=\"endPicker\" [formControl]=\"endDateCtrl\" [min]=\"minDateSignal()\" [max]=\"maxDateSignal()\" />\n <mat-datepicker-toggle matIconSuffix [for]=\"endPicker\"></mat-datepicker-toggle>\n <mat-datepicker #endPicker></mat-datepicker>\n </mat-form-field>\n @if (showTimeSignal()) {\n <mat-form-field [appearance]=\"effectiveAppearanceSignal()\" subscriptSizing=\"dynamic\" class=\"dbx-forge-daterange-end-time\">\n <mat-label>End Time</mat-label>\n <input matInput type=\"time\" [formControl]=\"endTimeCtrl\" />\n </mat-form-field>\n }\n @if (errorsToDisplaySignal()[0]; as error) {\n <mat-error [id]=\"errorIdSignal()\">{{ error.message }}</mat-error>\n } @else if (props()?.hint; as hint) {\n <mat-hint [id]=\"hintIdSignal()\">{{ hint | dynamicText | async }}</mat-hint>\n }\n</div>\n", styles: [".dbx-forge-daterange-field{display:flex;flex-wrap:wrap;gap:8px;align-items:flex-start}.dbx-forge-daterange-start,.dbx-forge-daterange-end{flex:1 1 auto;min-width:140px}.dbx-forge-daterange-start-time,.dbx-forge-daterange-end-time{flex:0 1 auto;min-width:100px}\n"], dependencies: [{ kind: "ngmodule", type: MatFormFieldModule }, { kind: "component", type: i1$2.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i1$2.MatLabel, selector: "mat-label" }, { kind: "directive", type: i1$2.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "directive", type: i1$2.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "directive", type: i1$2.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i2.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly", "disabledInteractive"], exportAs: ["matInput"] }, { kind: "ngmodule", type: MatDatepickerModule }, { kind: "component", type: i3.MatDatepicker, selector: "mat-datepicker", exportAs: ["matDatepicker"] }, { kind: "directive", type: i3.MatDatepickerInput, selector: "input[matDatepicker]", inputs: ["matDatepicker", "min", "max", "matDatepickerFilter"], exportAs: ["matDatepickerInput"] }, { kind: "component", type: i3.MatDatepickerToggle, selector: "mat-datepicker-toggle", inputs: ["for", "tabIndex", "aria-label", "disabled", "disableRipple"], exportAs: ["matDatepickerToggle"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "ngmodule", type: MatIconModule }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1$4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$4.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "pipe", type: DynamicTextPipe, name: "dynamicText" }, { kind: "pipe", type: AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
5561
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: DbxForgeDateRangeFieldComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
5562
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.4", type: DbxForgeDateRangeFieldComponent, isStandalone: true, selector: "dbx-forge-daterange-field", 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 }, meta: { classPropertyName: "meta", publicName: "meta", 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 } }, ngImport: i0, template: "<div class=\"dbx-forge-daterange-field\">\n <mat-form-field [appearance]=\"effectiveAppearanceSignal()\" subscriptSizing=\"dynamic\" class=\"dbx-forge-daterange-start\">\n <mat-label>{{ startLabelSignal() }}</mat-label>\n <input matInput [matDatepicker]=\"startPicker\" [formControl]=\"startDateCtrl\" [min]=\"minDateSignal()\" [max]=\"maxDateSignal()\" [attr.aria-invalid]=\"ariaInvalidSignal()\" [attr.aria-required]=\"ariaRequiredSignal()\" [attr.aria-describedby]=\"ariaDescribedBySignal()\" />\n <mat-datepicker-toggle matIconSuffix [for]=\"startPicker\"></mat-datepicker-toggle>\n <mat-datepicker #startPicker></mat-datepicker>\n </mat-form-field>\n @if (showTimeSignal()) {\n <mat-form-field [appearance]=\"effectiveAppearanceSignal()\" subscriptSizing=\"dynamic\" class=\"dbx-forge-daterange-start-time\">\n <mat-label>Start Time</mat-label>\n <input matInput type=\"time\" [formControl]=\"startTimeCtrl\" />\n </mat-form-field>\n }\n <mat-form-field [appearance]=\"effectiveAppearanceSignal()\" subscriptSizing=\"dynamic\" class=\"dbx-forge-daterange-end\">\n <mat-label>{{ endLabelSignal() }}</mat-label>\n <input matInput [matDatepicker]=\"endPicker\" [formControl]=\"endDateCtrl\" [min]=\"minDateSignal()\" [max]=\"maxDateSignal()\" />\n <mat-datepicker-toggle matIconSuffix [for]=\"endPicker\"></mat-datepicker-toggle>\n <mat-datepicker #endPicker></mat-datepicker>\n </mat-form-field>\n @if (showTimeSignal()) {\n <mat-form-field [appearance]=\"effectiveAppearanceSignal()\" subscriptSizing=\"dynamic\" class=\"dbx-forge-daterange-end-time\">\n <mat-label>End Time</mat-label>\n <input matInput type=\"time\" [formControl]=\"endTimeCtrl\" />\n </mat-form-field>\n }\n @if (errorsToDisplaySignal()[0]; as error) {\n <mat-error [id]=\"errorIdSignal()\">{{ error.message }}</mat-error>\n } @else if (props()?.hint; as hint) {\n <mat-hint [id]=\"hintIdSignal()\">{{ hint | dynamicText | async }}</mat-hint>\n }\n</div>\n", styles: [".dbx-forge-daterange-field{display:flex;flex-wrap:wrap;gap:8px;align-items:flex-start}.dbx-forge-daterange-start,.dbx-forge-daterange-end{flex:1 1 auto;min-width:140px}.dbx-forge-daterange-start-time,.dbx-forge-daterange-end-time{flex:0 1 auto;min-width:100px}\n"], dependencies: [{ kind: "ngmodule", type: MatFormFieldModule }, { kind: "component", type: i1$2.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i1$2.MatLabel, selector: "mat-label" }, { kind: "directive", type: i1$2.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "directive", type: i1$2.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "directive", type: i1$2.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i2.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly", "disabledInteractive"], exportAs: ["matInput"] }, { kind: "ngmodule", type: MatDatepickerModule }, { kind: "component", type: i3.MatDatepicker, selector: "mat-datepicker", exportAs: ["matDatepicker"] }, { kind: "directive", type: i3.MatDatepickerInput, selector: "input[matDatepicker]", inputs: ["matDatepicker", "min", "max", "matDatepickerFilter"], exportAs: ["matDatepickerInput"] }, { kind: "component", type: i3.MatDatepickerToggle, selector: "mat-datepicker-toggle", inputs: ["for", "tabIndex", "aria-label", "disabled", "disableRipple"], exportAs: ["matDatepickerToggle"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "ngmodule", type: MatIconModule }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1$4.DefaultValueAccessor, selector: "input:not([type=checkbox]):not([ngNoCva])[formControlName],textarea:not([ngNoCva])[formControlName],input:not([type=checkbox]):not([ngNoCva])[formControl],textarea:not([ngNoCva])[formControl],input:not([type=checkbox]):not([ngNoCva])[ngModel],textarea:not([ngNoCva])[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$4.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "pipe", type: DynamicTextPipe, name: "dynamicText" }, { kind: "pipe", type: AsyncPipe, name: "async" }] });
5488
5563
  }
5489
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: DbxForgeDateRangeFieldComponent, decorators: [{
5564
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: DbxForgeDateRangeFieldComponent, decorators: [{
5490
5565
  type: Component,
5491
- args: [{ selector: 'dbx-forge-daterange-field', standalone: true, imports: [MatFormFieldModule, MatInputModule, MatDatepickerModule, MatButtonModule, MatIconModule, ReactiveFormsModule, DynamicTextPipe, AsyncPipe], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"dbx-forge-daterange-field\">\n <mat-form-field [appearance]=\"effectiveAppearanceSignal()\" subscriptSizing=\"dynamic\" class=\"dbx-forge-daterange-start\">\n <mat-label>{{ startLabelSignal() }}</mat-label>\n <input matInput [matDatepicker]=\"startPicker\" [formControl]=\"startDateCtrl\" [min]=\"minDateSignal()\" [max]=\"maxDateSignal()\" [attr.aria-invalid]=\"ariaInvalidSignal()\" [attr.aria-required]=\"ariaRequiredSignal()\" [attr.aria-describedby]=\"ariaDescribedBySignal()\" />\n <mat-datepicker-toggle matIconSuffix [for]=\"startPicker\"></mat-datepicker-toggle>\n <mat-datepicker #startPicker></mat-datepicker>\n </mat-form-field>\n @if (showTimeSignal()) {\n <mat-form-field [appearance]=\"effectiveAppearanceSignal()\" subscriptSizing=\"dynamic\" class=\"dbx-forge-daterange-start-time\">\n <mat-label>Start Time</mat-label>\n <input matInput type=\"time\" [formControl]=\"startTimeCtrl\" />\n </mat-form-field>\n }\n <mat-form-field [appearance]=\"effectiveAppearanceSignal()\" subscriptSizing=\"dynamic\" class=\"dbx-forge-daterange-end\">\n <mat-label>{{ endLabelSignal() }}</mat-label>\n <input matInput [matDatepicker]=\"endPicker\" [formControl]=\"endDateCtrl\" [min]=\"minDateSignal()\" [max]=\"maxDateSignal()\" />\n <mat-datepicker-toggle matIconSuffix [for]=\"endPicker\"></mat-datepicker-toggle>\n <mat-datepicker #endPicker></mat-datepicker>\n </mat-form-field>\n @if (showTimeSignal()) {\n <mat-form-field [appearance]=\"effectiveAppearanceSignal()\" subscriptSizing=\"dynamic\" class=\"dbx-forge-daterange-end-time\">\n <mat-label>End Time</mat-label>\n <input matInput type=\"time\" [formControl]=\"endTimeCtrl\" />\n </mat-form-field>\n }\n @if (errorsToDisplaySignal()[0]; as error) {\n <mat-error [id]=\"errorIdSignal()\">{{ error.message }}</mat-error>\n } @else if (props()?.hint; as hint) {\n <mat-hint [id]=\"hintIdSignal()\">{{ hint | dynamicText | async }}</mat-hint>\n }\n</div>\n", styles: [".dbx-forge-daterange-field{display:flex;flex-wrap:wrap;gap:8px;align-items:flex-start}.dbx-forge-daterange-start,.dbx-forge-daterange-end{flex:1 1 auto;min-width:140px}.dbx-forge-daterange-start-time,.dbx-forge-daterange-end-time{flex:0 1 auto;min-width:100px}\n"] }]
5566
+ args: [{ selector: 'dbx-forge-daterange-field', imports: [MatFormFieldModule, MatInputModule, MatDatepickerModule, MatButtonModule, MatIconModule, ReactiveFormsModule, DynamicTextPipe, AsyncPipe], template: "<div class=\"dbx-forge-daterange-field\">\n <mat-form-field [appearance]=\"effectiveAppearanceSignal()\" subscriptSizing=\"dynamic\" class=\"dbx-forge-daterange-start\">\n <mat-label>{{ startLabelSignal() }}</mat-label>\n <input matInput [matDatepicker]=\"startPicker\" [formControl]=\"startDateCtrl\" [min]=\"minDateSignal()\" [max]=\"maxDateSignal()\" [attr.aria-invalid]=\"ariaInvalidSignal()\" [attr.aria-required]=\"ariaRequiredSignal()\" [attr.aria-describedby]=\"ariaDescribedBySignal()\" />\n <mat-datepicker-toggle matIconSuffix [for]=\"startPicker\"></mat-datepicker-toggle>\n <mat-datepicker #startPicker></mat-datepicker>\n </mat-form-field>\n @if (showTimeSignal()) {\n <mat-form-field [appearance]=\"effectiveAppearanceSignal()\" subscriptSizing=\"dynamic\" class=\"dbx-forge-daterange-start-time\">\n <mat-label>Start Time</mat-label>\n <input matInput type=\"time\" [formControl]=\"startTimeCtrl\" />\n </mat-form-field>\n }\n <mat-form-field [appearance]=\"effectiveAppearanceSignal()\" subscriptSizing=\"dynamic\" class=\"dbx-forge-daterange-end\">\n <mat-label>{{ endLabelSignal() }}</mat-label>\n <input matInput [matDatepicker]=\"endPicker\" [formControl]=\"endDateCtrl\" [min]=\"minDateSignal()\" [max]=\"maxDateSignal()\" />\n <mat-datepicker-toggle matIconSuffix [for]=\"endPicker\"></mat-datepicker-toggle>\n <mat-datepicker #endPicker></mat-datepicker>\n </mat-form-field>\n @if (showTimeSignal()) {\n <mat-form-field [appearance]=\"effectiveAppearanceSignal()\" subscriptSizing=\"dynamic\" class=\"dbx-forge-daterange-end-time\">\n <mat-label>End Time</mat-label>\n <input matInput type=\"time\" [formControl]=\"endTimeCtrl\" />\n </mat-form-field>\n }\n @if (errorsToDisplaySignal()[0]; as error) {\n <mat-error [id]=\"errorIdSignal()\">{{ error.message }}</mat-error>\n } @else if (props()?.hint; as hint) {\n <mat-hint [id]=\"hintIdSignal()\">{{ hint | dynamicText | async }}</mat-hint>\n }\n</div>\n", styles: [".dbx-forge-daterange-field{display:flex;flex-wrap:wrap;gap:8px;align-items:flex-start}.dbx-forge-daterange-start,.dbx-forge-daterange-end{flex:1 1 auto;min-width:140px}.dbx-forge-daterange-start-time,.dbx-forge-daterange-end-time{flex:0 1 auto;min-width:100px}\n"] }]
5492
5567
  }], ctorParameters: () => [], propDecorators: { field: [{ type: i0.Input, args: [{ isSignal: true, alias: "field", required: true }] }], key: [{ type: i0.Input, args: [{ isSignal: true, alias: "key", required: true }] }], label: [{ type: i0.Input, args: [{ isSignal: true, alias: "label", required: false }] }], placeholder: [{ type: i0.Input, args: [{ isSignal: true, alias: "placeholder", required: false }] }], className: [{ type: i0.Input, args: [{ isSignal: true, alias: "className", required: false }] }], tabIndex: [{ type: i0.Input, args: [{ isSignal: true, alias: "tabIndex", required: false }] }], props: [{ type: i0.Input, args: [{ isSignal: true, alias: "props", required: false }] }], meta: [{ type: i0.Input, args: [{ isSignal: true, alias: "meta", required: false }] }], validationMessages: [{ type: i0.Input, args: [{ isSignal: true, alias: "validationMessages", required: false }] }], defaultValidationMessages: [{ type: i0.Input, args: [{ isSignal: true, alias: "defaultValidationMessages", required: false }] }] } });
5493
5568
  // MARK: Mapper
5494
5569
  /**
@@ -5566,23 +5641,36 @@ class DbxForgeFixedDateRangeFieldComponent {
5566
5641
  destroyRef = inject(DestroyRef);
5567
5642
  elementRef = inject((ElementRef));
5568
5643
  // MARK: ng-forge ValueFieldComponent inputs
5569
- field = input.required(...(ngDevMode ? [{ debugName: "field" }] : /* istanbul ignore next */ []));
5570
- key = input.required(...(ngDevMode ? [{ debugName: "key" }] : /* istanbul ignore next */ []));
5571
- label = input(...(ngDevMode ? [undefined, { debugName: "label" }] : /* istanbul ignore next */ []));
5572
- placeholder = input(...(ngDevMode ? [undefined, { debugName: "placeholder" }] : /* istanbul ignore next */ []));
5573
- className = input('', ...(ngDevMode ? [{ debugName: "className" }] : /* istanbul ignore next */ []));
5574
- tabIndex = input(...(ngDevMode ? [undefined, { debugName: "tabIndex" }] : /* istanbul ignore next */ []));
5575
- props = input(...(ngDevMode ? [undefined, { debugName: "props" }] : /* istanbul ignore next */ []));
5576
- meta = input(...(ngDevMode ? [undefined, { debugName: "meta" }] : /* istanbul ignore next */ []));
5577
- validationMessages = input(...(ngDevMode ? [undefined, { debugName: "validationMessages" }] : /* istanbul ignore next */ []));
5578
- defaultValidationMessages = input(...(ngDevMode ? [undefined, { debugName: "defaultValidationMessages" }] : /* istanbul ignore next */ []));
5644
+ field = input.required(/* @ts-ignore */
5645
+ ...(ngDevMode ? [{ debugName: "field" }] : /* istanbul ignore next */ []));
5646
+ key = input.required(/* @ts-ignore */
5647
+ ...(ngDevMode ? [{ debugName: "key" }] : /* istanbul ignore next */ []));
5648
+ label = input(/* @ts-ignore */
5649
+ ...(ngDevMode ? [undefined, { debugName: "label" }] : /* istanbul ignore next */ []));
5650
+ placeholder = input(/* @ts-ignore */
5651
+ ...(ngDevMode ? [undefined, { debugName: "placeholder" }] : /* istanbul ignore next */ []));
5652
+ className = input('', /* @ts-ignore */
5653
+ ...(ngDevMode ? [{ debugName: "className" }] : /* istanbul ignore next */ []));
5654
+ tabIndex = input(/* @ts-ignore */
5655
+ ...(ngDevMode ? [undefined, { debugName: "tabIndex" }] : /* istanbul ignore next */ []));
5656
+ props = input(/* @ts-ignore */
5657
+ ...(ngDevMode ? [undefined, { debugName: "props" }] : /* istanbul ignore next */ []));
5658
+ meta = input(/* @ts-ignore */
5659
+ ...(ngDevMode ? [undefined, { debugName: "meta" }] : /* istanbul ignore next */ []));
5660
+ validationMessages = input(/* @ts-ignore */
5661
+ ...(ngDevMode ? [undefined, { debugName: "validationMessages" }] : /* istanbul ignore next */ []));
5662
+ defaultValidationMessages = input(/* @ts-ignore */
5663
+ ...(ngDevMode ? [undefined, { debugName: "defaultValidationMessages" }] : /* istanbul ignore next */ []));
5579
5664
  // MARK: View children
5580
- calendar = viewChild.required(MatCalendar);
5665
+ calendar = viewChild.required(MatCalendar, /* @ts-ignore */
5666
+ ...(ngDevMode ? [{ debugName: "calendar" }] : /* istanbul ignore next */ []));
5581
5667
  startDateInputElement = viewChild('startDateInput', { ...(ngDevMode ? { debugName: "startDateInputElement" } : /* istanbul ignore next */ {}), read: ElementRef });
5582
5668
  endDateInputElement = viewChild('endDateInput', { ...(ngDevMode ? { debugName: "endDateInputElement" } : /* istanbul ignore next */ {}), read: ElementRef });
5583
5669
  // MARK: Internal signals
5584
- currentDateRangeInputSignal = signal(undefined, ...(ngDevMode ? [{ debugName: "currentDateRangeInputSignal" }] : /* istanbul ignore next */ []));
5585
- currentSelectionModeSignal = signal('single', ...(ngDevMode ? [{ debugName: "currentSelectionModeSignal" }] : /* istanbul ignore next */ []));
5670
+ currentDateRangeInputSignal = signal(undefined, /* @ts-ignore */
5671
+ ...(ngDevMode ? [{ debugName: "currentDateRangeInputSignal" }] : /* istanbul ignore next */ []));
5672
+ currentSelectionModeSignal = signal('single', /* @ts-ignore */
5673
+ ...(ngDevMode ? [{ debugName: "currentSelectionModeSignal" }] : /* istanbul ignore next */ []));
5586
5674
  // MARK: Subscription management
5587
5675
  _sub = cleanSubscription();
5588
5676
  _inputRangeFormSub = cleanSubscription();
@@ -5615,20 +5703,29 @@ class DbxForgeFixedDateRangeFieldComponent {
5615
5703
  // Field tree not yet initialized — fall through to false
5616
5704
  }
5617
5705
  return result;
5618
- }, ...(ngDevMode ? [{ debugName: "isRequiredSignal" }] : /* istanbul ignore next */ []));
5706
+ }, /* @ts-ignore */
5707
+ ...(ngDevMode ? [{ debugName: "isRequiredSignal" }] : /* istanbul ignore next */ []));
5619
5708
  isDisabled = dbxForgeFieldDisabled();
5620
- valueModeSignal = computed(() => this.props()?.valueMode ?? DbxDateTimeValueMode.DATE, ...(ngDevMode ? [{ debugName: "valueModeSignal" }] : /* istanbul ignore next */ []));
5621
- showRangeInputSignal = computed(() => this.props()?.showRangeInput ?? true, ...(ngDevMode ? [{ debugName: "showRangeInputSignal" }] : /* istanbul ignore next */ []));
5622
- showTimezoneSignal = computed(() => this.props()?.showTimezone ?? true, ...(ngDevMode ? [{ debugName: "showTimezoneSignal" }] : /* istanbul ignore next */ []));
5709
+ valueModeSignal = computed(() => this.props()?.valueMode ?? DbxDateTimeValueMode.DATE, /* @ts-ignore */
5710
+ ...(ngDevMode ? [{ debugName: "valueModeSignal" }] : /* istanbul ignore next */ []));
5711
+ showRangeInputSignal = computed(() => this.props()?.showRangeInput ?? true, /* @ts-ignore */
5712
+ ...(ngDevMode ? [{ debugName: "showRangeInputSignal" }] : /* istanbul ignore next */ []));
5713
+ showTimezoneSignal = computed(() => this.props()?.showTimezone ?? true, /* @ts-ignore */
5714
+ ...(ngDevMode ? [{ debugName: "showTimezoneSignal" }] : /* istanbul ignore next */ []));
5623
5715
  // Error handling
5624
5716
  resolvedErrors = createResolvedErrorsSignal(this.field, this.validationMessages, this.defaultValidationMessages);
5625
5717
  showErrors = shouldShowErrors(this.field);
5626
- errorsToDisplaySignal = computed(() => (this.showErrors() ? this.resolvedErrors() : []), ...(ngDevMode ? [{ debugName: "errorsToDisplaySignal" }] : /* istanbul ignore next */ []));
5718
+ errorsToDisplaySignal = computed(() => (this.showErrors() ? this.resolvedErrors() : []), /* @ts-ignore */
5719
+ ...(ngDevMode ? [{ debugName: "errorsToDisplaySignal" }] : /* istanbul ignore next */ []));
5627
5720
  // ARIA
5628
- hintIdSignal = computed(() => `${this.key()}-hint`, ...(ngDevMode ? [{ debugName: "hintIdSignal" }] : /* istanbul ignore next */ []));
5629
- errorIdSignal = computed(() => `${this.key()}-error`, ...(ngDevMode ? [{ debugName: "errorIdSignal" }] : /* istanbul ignore next */ []));
5630
- ariaInvalidSignal = computed(() => (this.showErrors() ? 'true' : null), ...(ngDevMode ? [{ debugName: "ariaInvalidSignal" }] : /* istanbul ignore next */ []));
5631
- ariaRequiredSignal = computed(() => (this.field()().required() ? 'true' : null), ...(ngDevMode ? [{ debugName: "ariaRequiredSignal" }] : /* istanbul ignore next */ []));
5721
+ hintIdSignal = computed(() => `${this.key()}-hint`, /* @ts-ignore */
5722
+ ...(ngDevMode ? [{ debugName: "hintIdSignal" }] : /* istanbul ignore next */ []));
5723
+ errorIdSignal = computed(() => `${this.key()}-error`, /* @ts-ignore */
5724
+ ...(ngDevMode ? [{ debugName: "errorIdSignal" }] : /* istanbul ignore next */ []));
5725
+ ariaInvalidSignal = computed(() => (this.showErrors() ? 'true' : null), /* @ts-ignore */
5726
+ ...(ngDevMode ? [{ debugName: "ariaInvalidSignal" }] : /* istanbul ignore next */ []));
5727
+ ariaRequiredSignal = computed(() => (this.field()().required() ? 'true' : null), /* @ts-ignore */
5728
+ ...(ngDevMode ? [{ debugName: "ariaRequiredSignal" }] : /* istanbul ignore next */ []));
5632
5729
  ariaDescribedBySignal = computed(() => {
5633
5730
  const errorId = this.errorIdSignal();
5634
5731
  const props = this.props();
@@ -5641,7 +5738,8 @@ class DbxForgeFixedDateRangeFieldComponent {
5641
5738
  result = hintId;
5642
5739
  }
5643
5740
  return result;
5644
- }, ...(ngDevMode ? [{ debugName: "ariaDescribedBySignal" }] : /* istanbul ignore next */ []));
5741
+ }, /* @ts-ignore */
5742
+ ...(ngDevMode ? [{ debugName: "ariaDescribedBySignal" }] : /* istanbul ignore next */ []));
5645
5743
  hasRequiredErrorSignal = computed(() => {
5646
5744
  let result = false;
5647
5745
  try {
@@ -5659,7 +5757,8 @@ class DbxForgeFixedDateRangeFieldComponent {
5659
5757
  // Field tree not yet initialized — fall through to false
5660
5758
  }
5661
5759
  return result;
5662
- }, ...(ngDevMode ? [{ debugName: "hasRequiredErrorSignal" }] : /* istanbul ignore next */ []));
5760
+ }, /* @ts-ignore */
5761
+ ...(ngDevMode ? [{ debugName: "hasRequiredErrorSignal" }] : /* istanbul ignore next */ []));
5663
5762
  // MARK: Field value reading
5664
5763
  fieldValueSignal = computed(() => {
5665
5764
  let result = undefined;
@@ -5671,7 +5770,8 @@ class DbxForgeFixedDateRangeFieldComponent {
5671
5770
  // Field tree not yet initialized — fall through to undefined
5672
5771
  }
5673
5772
  return result;
5674
- }, ...(ngDevMode ? [{ debugName: "fieldValueSignal" }] : /* istanbul ignore next */ []));
5773
+ }, /* @ts-ignore */
5774
+ ...(ngDevMode ? [{ debugName: "fieldValueSignal" }] : /* istanbul ignore next */ []));
5675
5775
  fieldValue$ = toObservable(this.fieldValueSignal);
5676
5776
  // MARK: Observable pipelines
5677
5777
  config$ = this._config.pipe(map((x) => x ?? of({})), switchMap((x) => x), distinctUntilChanged(), shareReplay(1));
@@ -6019,17 +6119,17 @@ class DbxForgeFixedDateRangeFieldComponent {
6019
6119
  // Field may not be ready
6020
6120
  }
6021
6121
  }
6022
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: DbxForgeFixedDateRangeFieldComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
6023
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.11", type: DbxForgeFixedDateRangeFieldComponent, isStandalone: true, selector: "dbx-forge-fixeddaterange-field", 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 }, meta: { classPropertyName: "meta", publicName: "meta", 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 } }, providers: [
6122
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: DbxForgeFixedDateRangeFieldComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
6123
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.4", type: DbxForgeFixedDateRangeFieldComponent, isStandalone: true, selector: "dbx-forge-fixeddaterange-field", 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 }, meta: { classPropertyName: "meta", publicName: "meta", 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 } }, providers: [
6024
6124
  {
6025
6125
  provide: MAT_DATE_RANGE_SELECTION_STRATEGY,
6026
6126
  useClass: forwardRef(() => DbxForgeFixedDateRangeFieldSelectionStrategy)
6027
6127
  }
6028
- ], viewQueries: [{ propertyName: "calendar", first: true, predicate: MatCalendar, descendants: true, isSignal: true }, { propertyName: "startDateInputElement", first: true, predicate: ["startDateInput"], descendants: true, read: ElementRef, isSignal: true }, { propertyName: "endDateInputElement", first: true, predicate: ["endDateInput"], descendants: true, read: ElementRef, isSignal: true }], ngImport: i0, template: "<div class=\"dbx-fixeddaterange-field\">\n <mat-calendar #calendarView [selected]=\"calendarSelectionSignal()\" [dateFilter]=\"pickerFilterSignal()\" [minDate]=\"minDateSignal()\" [maxDate]=\"maxDateSignal()\" (selectedChange)=\"selectedChange($event)\" [attr.aria-invalid]=\"ariaInvalidSignal()\" [attr.aria-describedby]=\"ariaDescribedBySignal()\"></mat-calendar>\n <mat-form-field class=\"dbx-fixeddaterange-field-input\" appearance=\"fill\">\n @if (showRangeInputSignal()) {\n <mat-date-range-input [formGroup]=\"inputRangeForm\">\n <input #startDateInput matStartDate formControlName=\"start\" placeholder=\"Start date\" />\n <input #endDateInput [ngClass]=\"endDisabledSignal() ? 'dbx-fixeddaterange-field-input-end' : ''\" [attr.tabindex]=\"endDisabledSignal() ? -1 : 0\" matEndDate formControlName=\"end\" placeholder=\"End date\" />\n </mat-date-range-input>\n }\n </mat-form-field>\n @if (errorsToDisplaySignal()[0]; as error) {\n <mat-error [id]=\"errorIdSignal()\">{{ error.message }}</mat-error>\n } @else if (props()?.hint; as hint) {\n <mat-hint [id]=\"hintIdSignal()\">{{ hint }}</mat-hint>\n }\n</div>\n", dependencies: [{ kind: "ngmodule", type: MatDatepickerModule }, { kind: "component", type: i3.MatCalendar, selector: "mat-calendar", inputs: ["headerComponent", "startAt", "startView", "selected", "minDate", "maxDate", "dateFilter", "dateClass", "comparisonStart", "comparisonEnd", "startDateAccessibleName", "endDateAccessibleName"], outputs: ["selectedChange", "yearSelected", "monthSelected", "viewChanged", "_userSelection", "_userDragDrop"], exportAs: ["matCalendar"] }, { kind: "component", type: i3.MatDateRangeInput, selector: "mat-date-range-input", inputs: ["rangePicker", "required", "dateFilter", "min", "max", "disabled", "separator", "comparisonStart", "comparisonEnd"], exportAs: ["matDateRangeInput"] }, { kind: "directive", type: i3.MatStartDate, selector: "input[matStartDate]", outputs: ["dateChange", "dateInput"] }, { kind: "directive", type: i3.MatEndDate, selector: "input[matEndDate]", outputs: ["dateChange", "dateInput"] }, { kind: "ngmodule", type: MatFormFieldModule }, { kind: "component", type: i1$2.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i1$2.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "directive", type: i1$2.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1$4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$4.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],[formArray],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$4.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$4.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
6128
+ ], viewQueries: [{ propertyName: "calendar", first: true, predicate: MatCalendar, descendants: true, isSignal: true }, { propertyName: "startDateInputElement", first: true, predicate: ["startDateInput"], descendants: true, read: ElementRef, isSignal: true }, { propertyName: "endDateInputElement", first: true, predicate: ["endDateInput"], descendants: true, read: ElementRef, isSignal: true }], ngImport: i0, template: "<div class=\"dbx-fixeddaterange-field\">\n <mat-calendar #calendarView [selected]=\"calendarSelectionSignal()\" [dateFilter]=\"pickerFilterSignal()\" [minDate]=\"minDateSignal()\" [maxDate]=\"maxDateSignal()\" (selectedChange)=\"selectedChange($event)\" [attr.aria-invalid]=\"ariaInvalidSignal()\" [attr.aria-describedby]=\"ariaDescribedBySignal()\"></mat-calendar>\n <mat-form-field class=\"dbx-fixeddaterange-field-input\" appearance=\"fill\">\n @if (showRangeInputSignal()) {\n <mat-date-range-input [formGroup]=\"inputRangeForm\">\n <input #startDateInput matStartDate formControlName=\"start\" placeholder=\"Start date\" />\n <input #endDateInput [ngClass]=\"endDisabledSignal() ? 'dbx-fixeddaterange-field-input-end' : ''\" [attr.tabindex]=\"endDisabledSignal() ? -1 : 0\" matEndDate formControlName=\"end\" placeholder=\"End date\" />\n </mat-date-range-input>\n }\n </mat-form-field>\n @if (errorsToDisplaySignal()[0]; as error) {\n <mat-error [id]=\"errorIdSignal()\">{{ error.message }}</mat-error>\n } @else if (props()?.hint; as hint) {\n <mat-hint [id]=\"hintIdSignal()\">{{ hint }}</mat-hint>\n }\n</div>\n", dependencies: [{ kind: "ngmodule", type: MatDatepickerModule }, { kind: "component", type: i3.MatCalendar, selector: "mat-calendar", inputs: ["headerComponent", "startAt", "startView", "selected", "minDate", "maxDate", "dateFilter", "dateClass", "comparisonStart", "comparisonEnd", "startDateAccessibleName", "endDateAccessibleName"], outputs: ["selectedChange", "yearSelected", "monthSelected", "viewChanged", "_userSelection", "_userDragDrop"], exportAs: ["matCalendar"] }, { kind: "component", type: i3.MatDateRangeInput, selector: "mat-date-range-input", inputs: ["rangePicker", "required", "dateFilter", "min", "max", "disabled", "separator", "comparisonStart", "comparisonEnd"], exportAs: ["matDateRangeInput"] }, { kind: "directive", type: i3.MatStartDate, selector: "input[matStartDate]", outputs: ["dateChange", "dateInput"] }, { kind: "directive", type: i3.MatEndDate, selector: "input[matEndDate]", outputs: ["dateChange", "dateInput"] }, { kind: "ngmodule", type: MatFormFieldModule }, { kind: "component", type: i1$2.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i1$2.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "directive", type: i1$2.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1$4.DefaultValueAccessor, selector: "input:not([type=checkbox]):not([ngNoCva])[formControlName],textarea:not([ngNoCva])[formControlName],input:not([type=checkbox]):not([ngNoCva])[formControl],textarea:not([ngNoCva])[formControl],input:not([type=checkbox]):not([ngNoCva])[ngModel],textarea:not([ngNoCva])[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$4.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],[formArray],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$4.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$4.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] });
6029
6129
  }
6030
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: DbxForgeFixedDateRangeFieldComponent, decorators: [{
6130
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: DbxForgeFixedDateRangeFieldComponent, decorators: [{
6031
6131
  type: Component,
6032
- args: [{ selector: 'dbx-forge-fixeddaterange-field', standalone: true, imports: [MatDatepickerModule, MatFormFieldModule, ReactiveFormsModule, MatInputModule, MatError, NgClass], changeDetection: ChangeDetectionStrategy.OnPush, providers: [
6132
+ args: [{ selector: 'dbx-forge-fixeddaterange-field', imports: [MatDatepickerModule, MatFormFieldModule, ReactiveFormsModule, MatInputModule, MatError, NgClass], providers: [
6033
6133
  {
6034
6134
  provide: MAT_DATE_RANGE_SELECTION_STRATEGY,
6035
6135
  useClass: forwardRef(() => DbxForgeFixedDateRangeFieldSelectionStrategy)
@@ -6085,10 +6185,10 @@ class DbxForgeFixedDateRangeFieldSelectionStrategy {
6085
6185
  const year = date.getFullYear();
6086
6186
  return this._dateAdapter.createDate(year, monthIndex, day);
6087
6187
  }
6088
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: DbxForgeFixedDateRangeFieldSelectionStrategy, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
6089
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: DbxForgeFixedDateRangeFieldSelectionStrategy });
6188
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: DbxForgeFixedDateRangeFieldSelectionStrategy, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
6189
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: DbxForgeFixedDateRangeFieldSelectionStrategy });
6090
6190
  }
6091
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: DbxForgeFixedDateRangeFieldSelectionStrategy, decorators: [{
6191
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: DbxForgeFixedDateRangeFieldSelectionStrategy, decorators: [{
6092
6192
  type: Injectable
6093
6193
  }] });
6094
6194
  // MARK: Mapper
@@ -6182,7 +6282,8 @@ const DEFAULT_DURATION_PICKER_POPOVER_KEY = 'durationpicker';
6182
6282
  * ```
6183
6283
  */
6184
6284
  class DbxDurationPickerPopoverComponent extends AbstractPopoverDirective {
6185
- durationData = signal(this.popover.data?.current ?? {}, ...(ngDevMode ? [{ debugName: "durationData" }] : /* istanbul ignore next */ []));
6285
+ durationData = signal(this.popover.data?.current ?? {}, /* @ts-ignore */
6286
+ ...(ngDevMode ? [{ debugName: "durationData" }] : /* istanbul ignore next */ []));
6186
6287
  units = [...(this.popover.data?.units ?? ['d', 'h', 'min', 's'])].reverse();
6187
6288
  _onChange = this.popover.data?.onChange;
6188
6289
  _minMs = this.popover.data?.minMs;
@@ -6410,12 +6511,12 @@ class DbxDurationPickerPopoverComponent extends AbstractPopoverDirective {
6410
6511
  }
6411
6512
  return false;
6412
6513
  }
6413
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: DbxDurationPickerPopoverComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
6414
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.11", type: DbxDurationPickerPopoverComponent, isStandalone: true, selector: "ng-component", usesInheritance: true, ngImport: i0, template: "<div class=\"dbx-duration-picker\">\n @for (unit of units; track unit) {\n <div class=\"dbx-duration-picker-column\">\n <span class=\"dbx-duration-picker-label\">{{ unitLabel(unit) }}</span>\n <button mat-icon-button type=\"button\" (mousedown)=\"onHoldStart('increment', unit, $event)\" (mouseup)=\"stopHold()\" (mouseleave)=\"stopHold()\" (keydown.arrowup)=\"onHoldStart('increment', unit, $event)\" (keydown.arrowdown)=\"onHoldStart('decrement', unit, $event)\" (keyup)=\"onKeyUp($event)\" [disabled]=\"!canIncrement(unit)\" aria-label=\"Increase\">\n <mat-icon>add</mat-icon>\n </button>\n <span class=\"dbx-duration-picker-value\">{{ getValue(unit) }}</span>\n <button mat-icon-button type=\"button\" (mousedown)=\"onHoldStart('decrement', unit, $event)\" (mouseup)=\"stopHold()\" (mouseleave)=\"stopHold()\" (keydown.arrowup)=\"onHoldStart('increment', unit, $event)\" (keydown.arrowdown)=\"onHoldStart('decrement', unit, $event)\" (keyup)=\"onKeyUp($event)\" [disabled]=\"!canDecrement(unit)\" aria-label=\"Decrease\">\n <mat-icon>remove</mat-icon>\n </button>\n </div>\n }\n</div>\n", dependencies: [{ kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i1$3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i4.MatIconButton, selector: "button[mat-icon-button], a[mat-icon-button], button[matIconButton], a[matIconButton]", exportAs: ["matButton", "matAnchor"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
6514
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: DbxDurationPickerPopoverComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
6515
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.4", type: DbxDurationPickerPopoverComponent, isStandalone: true, selector: "ng-component", usesInheritance: true, ngImport: i0, template: "<div class=\"dbx-duration-picker\">\n @for (unit of units; track unit) {\n <div class=\"dbx-duration-picker-column\">\n <span class=\"dbx-duration-picker-label\">{{ unitLabel(unit) }}</span>\n <button mat-icon-button type=\"button\" (mousedown)=\"onHoldStart('increment', unit, $event)\" (mouseup)=\"stopHold()\" (mouseleave)=\"stopHold()\" (keydown.arrowup)=\"onHoldStart('increment', unit, $event)\" (keydown.arrowdown)=\"onHoldStart('decrement', unit, $event)\" (keyup)=\"onKeyUp($event)\" [disabled]=\"!canIncrement(unit)\" aria-label=\"Increase\">\n <mat-icon>add</mat-icon>\n </button>\n <span class=\"dbx-duration-picker-value\">{{ getValue(unit) }}</span>\n <button mat-icon-button type=\"button\" (mousedown)=\"onHoldStart('decrement', unit, $event)\" (mouseup)=\"stopHold()\" (mouseleave)=\"stopHold()\" (keydown.arrowup)=\"onHoldStart('increment', unit, $event)\" (keydown.arrowdown)=\"onHoldStart('decrement', unit, $event)\" (keyup)=\"onKeyUp($event)\" [disabled]=\"!canDecrement(unit)\" aria-label=\"Decrease\">\n <mat-icon>remove</mat-icon>\n </button>\n </div>\n }\n</div>\n", dependencies: [{ kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i1$3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i4.MatIconButton, selector: "button[mat-icon-button], a[mat-icon-button], button[matIconButton], a[matIconButton]", exportAs: ["matButton", "matAnchor"] }] });
6415
6516
  }
6416
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: DbxDurationPickerPopoverComponent, decorators: [{
6517
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: DbxDurationPickerPopoverComponent, decorators: [{
6417
6518
  type: Component,
6418
- args: [{ imports: [MatIconModule, MatButtonModule], changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, template: "<div class=\"dbx-duration-picker\">\n @for (unit of units; track unit) {\n <div class=\"dbx-duration-picker-column\">\n <span class=\"dbx-duration-picker-label\">{{ unitLabel(unit) }}</span>\n <button mat-icon-button type=\"button\" (mousedown)=\"onHoldStart('increment', unit, $event)\" (mouseup)=\"stopHold()\" (mouseleave)=\"stopHold()\" (keydown.arrowup)=\"onHoldStart('increment', unit, $event)\" (keydown.arrowdown)=\"onHoldStart('decrement', unit, $event)\" (keyup)=\"onKeyUp($event)\" [disabled]=\"!canIncrement(unit)\" aria-label=\"Increase\">\n <mat-icon>add</mat-icon>\n </button>\n <span class=\"dbx-duration-picker-value\">{{ getValue(unit) }}</span>\n <button mat-icon-button type=\"button\" (mousedown)=\"onHoldStart('decrement', unit, $event)\" (mouseup)=\"stopHold()\" (mouseleave)=\"stopHold()\" (keydown.arrowup)=\"onHoldStart('increment', unit, $event)\" (keydown.arrowdown)=\"onHoldStart('decrement', unit, $event)\" (keyup)=\"onKeyUp($event)\" [disabled]=\"!canDecrement(unit)\" aria-label=\"Decrease\">\n <mat-icon>remove</mat-icon>\n </button>\n </div>\n }\n</div>\n" }]
6519
+ args: [{ imports: [MatIconModule, MatButtonModule], template: "<div class=\"dbx-duration-picker\">\n @for (unit of units; track unit) {\n <div class=\"dbx-duration-picker-column\">\n <span class=\"dbx-duration-picker-label\">{{ unitLabel(unit) }}</span>\n <button mat-icon-button type=\"button\" (mousedown)=\"onHoldStart('increment', unit, $event)\" (mouseup)=\"stopHold()\" (mouseleave)=\"stopHold()\" (keydown.arrowup)=\"onHoldStart('increment', unit, $event)\" (keydown.arrowdown)=\"onHoldStart('decrement', unit, $event)\" (keyup)=\"onKeyUp($event)\" [disabled]=\"!canIncrement(unit)\" aria-label=\"Increase\">\n <mat-icon>add</mat-icon>\n </button>\n <span class=\"dbx-duration-picker-value\">{{ getValue(unit) }}</span>\n <button mat-icon-button type=\"button\" (mousedown)=\"onHoldStart('decrement', unit, $event)\" (mouseup)=\"stopHold()\" (mouseleave)=\"stopHold()\" (keydown.arrowup)=\"onHoldStart('increment', unit, $event)\" (keydown.arrowdown)=\"onHoldStart('decrement', unit, $event)\" (keyup)=\"onKeyUp($event)\" [disabled]=\"!canDecrement(unit)\" aria-label=\"Decrease\">\n <mat-icon>remove</mat-icon>\n </button>\n </div>\n }\n</div>\n" }]
6419
6520
  }], ctorParameters: () => [] });
6420
6521
 
6421
6522
  /**
@@ -6433,16 +6534,26 @@ class DbxForgeTimeDurationFieldComponent {
6433
6534
  popoverService = inject(DbxPopoverService);
6434
6535
  elementRef = inject((ElementRef));
6435
6536
  // Standard ng-forge value field inputs
6436
- field = input.required(...(ngDevMode ? [{ debugName: "field" }] : /* istanbul ignore next */ []));
6437
- key = input.required(...(ngDevMode ? [{ debugName: "key" }] : /* istanbul ignore next */ []));
6438
- label = input(...(ngDevMode ? [undefined, { debugName: "label" }] : /* istanbul ignore next */ []));
6439
- placeholder = input(...(ngDevMode ? [undefined, { debugName: "placeholder" }] : /* istanbul ignore next */ []));
6440
- className = input('', ...(ngDevMode ? [{ debugName: "className" }] : /* istanbul ignore next */ []));
6441
- tabIndex = input(...(ngDevMode ? [undefined, { debugName: "tabIndex" }] : /* istanbul ignore next */ []));
6442
- props = input(...(ngDevMode ? [undefined, { debugName: "props" }] : /* istanbul ignore next */ []));
6443
- meta = input(...(ngDevMode ? [undefined, { debugName: "meta" }] : /* istanbul ignore next */ []));
6444
- validationMessages = input(...(ngDevMode ? [undefined, { debugName: "validationMessages" }] : /* istanbul ignore next */ []));
6445
- defaultValidationMessages = input(...(ngDevMode ? [undefined, { debugName: "defaultValidationMessages" }] : /* istanbul ignore next */ []));
6537
+ field = input.required(/* @ts-ignore */
6538
+ ...(ngDevMode ? [{ debugName: "field" }] : /* istanbul ignore next */ []));
6539
+ key = input.required(/* @ts-ignore */
6540
+ ...(ngDevMode ? [{ debugName: "key" }] : /* istanbul ignore next */ []));
6541
+ label = input(/* @ts-ignore */
6542
+ ...(ngDevMode ? [undefined, { debugName: "label" }] : /* istanbul ignore next */ []));
6543
+ placeholder = input(/* @ts-ignore */
6544
+ ...(ngDevMode ? [undefined, { debugName: "placeholder" }] : /* istanbul ignore next */ []));
6545
+ className = input('', /* @ts-ignore */
6546
+ ...(ngDevMode ? [{ debugName: "className" }] : /* istanbul ignore next */ []));
6547
+ tabIndex = input(/* @ts-ignore */
6548
+ ...(ngDevMode ? [undefined, { debugName: "tabIndex" }] : /* istanbul ignore next */ []));
6549
+ props = input(/* @ts-ignore */
6550
+ ...(ngDevMode ? [undefined, { debugName: "props" }] : /* istanbul ignore next */ []));
6551
+ meta = input(/* @ts-ignore */
6552
+ ...(ngDevMode ? [undefined, { debugName: "meta" }] : /* istanbul ignore next */ []));
6553
+ validationMessages = input(/* @ts-ignore */
6554
+ ...(ngDevMode ? [undefined, { debugName: "validationMessages" }] : /* istanbul ignore next */ []));
6555
+ defaultValidationMessages = input(/* @ts-ignore */
6556
+ ...(ngDevMode ? [undefined, { debugName: "defaultValidationMessages" }] : /* istanbul ignore next */ []));
6446
6557
  /**
6447
6558
  * Internal FormControl for the text input.
6448
6559
  */
@@ -6453,14 +6564,19 @@ class DbxForgeTimeDurationFieldComponent {
6453
6564
  */
6454
6565
  _currentDurationData = {};
6455
6566
  // Computed props
6456
- effectiveAppearanceSignal = computed(() => this.props()?.appearance ?? this.materialConfig?.appearance ?? 'outline', ...(ngDevMode ? [{ debugName: "effectiveAppearanceSignal" }] : /* istanbul ignore next */ []));
6457
- outputUnitSignal = computed(() => this.props()?.outputUnit ?? 'ms', ...(ngDevMode ? [{ debugName: "outputUnitSignal" }] : /* istanbul ignore next */ []));
6458
- valueModeSignal = computed(() => this.props()?.valueMode ?? 'number', ...(ngDevMode ? [{ debugName: "valueModeSignal" }] : /* istanbul ignore next */ []));
6459
- allowedUnitsSignal = computed(() => this.props()?.allowedUnits ?? ALL_TIME_UNITS, ...(ngDevMode ? [{ debugName: "allowedUnitsSignal" }] : /* istanbul ignore next */ []));
6567
+ effectiveAppearanceSignal = computed(() => this.props()?.appearance ?? this.materialConfig?.appearance ?? 'outline', /* @ts-ignore */
6568
+ ...(ngDevMode ? [{ debugName: "effectiveAppearanceSignal" }] : /* istanbul ignore next */ []));
6569
+ outputUnitSignal = computed(() => this.props()?.outputUnit ?? 'ms', /* @ts-ignore */
6570
+ ...(ngDevMode ? [{ debugName: "outputUnitSignal" }] : /* istanbul ignore next */ []));
6571
+ valueModeSignal = computed(() => this.props()?.valueMode ?? 'number', /* @ts-ignore */
6572
+ ...(ngDevMode ? [{ debugName: "valueModeSignal" }] : /* istanbul ignore next */ []));
6573
+ allowedUnitsSignal = computed(() => this.props()?.allowedUnits ?? ALL_TIME_UNITS, /* @ts-ignore */
6574
+ ...(ngDevMode ? [{ debugName: "allowedUnitsSignal" }] : /* istanbul ignore next */ []));
6460
6575
  pickerUnitsSignal = computed(() => {
6461
6576
  const allowedUnits = this.allowedUnitsSignal();
6462
6577
  return this.props()?.pickerUnits ?? allowedUnits.filter((u) => u !== 'ms');
6463
- }, ...(ngDevMode ? [{ debugName: "pickerUnitsSignal" }] : /* istanbul ignore next */ []));
6578
+ }, /* @ts-ignore */
6579
+ ...(ngDevMode ? [{ debugName: "pickerUnitsSignal" }] : /* istanbul ignore next */ []));
6464
6580
  /**
6465
6581
  * Units used for decomposing/displaying duration text.
6466
6582
  */
@@ -6470,18 +6586,24 @@ class DbxForgeTimeDurationFieldComponent {
6470
6586
  units.push('ms');
6471
6587
  }
6472
6588
  return units;
6473
- }, ...(ngDevMode ? [{ debugName: "displayUnitsSignal" }] : /* istanbul ignore next */ []));
6589
+ }, /* @ts-ignore */
6590
+ ...(ngDevMode ? [{ debugName: "displayUnitsSignal" }] : /* istanbul ignore next */ []));
6474
6591
  // Disabled state
6475
6592
  isDisabled = dbxForgeFieldDisabled();
6476
6593
  // Error handling
6477
6594
  resolvedErrors = createResolvedErrorsSignal(this.field, this.validationMessages, this.defaultValidationMessages);
6478
6595
  showErrors = shouldShowErrors(this.field);
6479
- errorsToDisplaySignal = computed(() => (this.showErrors() ? this.resolvedErrors() : []), ...(ngDevMode ? [{ debugName: "errorsToDisplaySignal" }] : /* istanbul ignore next */ []));
6596
+ errorsToDisplaySignal = computed(() => (this.showErrors() ? this.resolvedErrors() : []), /* @ts-ignore */
6597
+ ...(ngDevMode ? [{ debugName: "errorsToDisplaySignal" }] : /* istanbul ignore next */ []));
6480
6598
  // ARIA
6481
- hintIdSignal = computed(() => `${this.key()}-hint`, ...(ngDevMode ? [{ debugName: "hintIdSignal" }] : /* istanbul ignore next */ []));
6482
- errorIdSignal = computed(() => `${this.key()}-error`, ...(ngDevMode ? [{ debugName: "errorIdSignal" }] : /* istanbul ignore next */ []));
6483
- ariaInvalidSignal = computed(() => (this.showErrors() ? 'true' : null), ...(ngDevMode ? [{ debugName: "ariaInvalidSignal" }] : /* istanbul ignore next */ []));
6484
- ariaRequiredSignal = computed(() => (this.field()().required() ? 'true' : null), ...(ngDevMode ? [{ debugName: "ariaRequiredSignal" }] : /* istanbul ignore next */ []));
6599
+ hintIdSignal = computed(() => `${this.key()}-hint`, /* @ts-ignore */
6600
+ ...(ngDevMode ? [{ debugName: "hintIdSignal" }] : /* istanbul ignore next */ []));
6601
+ errorIdSignal = computed(() => `${this.key()}-error`, /* @ts-ignore */
6602
+ ...(ngDevMode ? [{ debugName: "errorIdSignal" }] : /* istanbul ignore next */ []));
6603
+ ariaInvalidSignal = computed(() => (this.showErrors() ? 'true' : null), /* @ts-ignore */
6604
+ ...(ngDevMode ? [{ debugName: "ariaInvalidSignal" }] : /* istanbul ignore next */ []));
6605
+ ariaRequiredSignal = computed(() => (this.field()().required() ? 'true' : null), /* @ts-ignore */
6606
+ ...(ngDevMode ? [{ debugName: "ariaRequiredSignal" }] : /* istanbul ignore next */ []));
6485
6607
  ariaDescribedBySignal = computed(() => {
6486
6608
  const errorId = this.errorIdSignal();
6487
6609
  const hintId = this.hintIdSignal();
@@ -6490,7 +6612,8 @@ class DbxForgeTimeDurationFieldComponent {
6490
6612
  if (this.props()?.hint)
6491
6613
  return hintId;
6492
6614
  return null;
6493
- }, ...(ngDevMode ? [{ debugName: "ariaDescribedBySignal" }] : /* istanbul ignore next */ []));
6615
+ }, /* @ts-ignore */
6616
+ ...(ngDevMode ? [{ debugName: "ariaDescribedBySignal" }] : /* istanbul ignore next */ []));
6494
6617
  /**
6495
6618
  * Flag to prevent feedback loops during sync.
6496
6619
  */
@@ -6651,12 +6774,12 @@ class DbxForgeTimeDurationFieldComponent {
6651
6774
  }
6652
6775
  return result;
6653
6776
  }
6654
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: DbxForgeTimeDurationFieldComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
6655
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.11", type: DbxForgeTimeDurationFieldComponent, isStandalone: true, selector: "dbx-forge-timeduration-field", 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 }, meta: { classPropertyName: "meta", publicName: "meta", 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 } }, viewQueries: [{ propertyName: "pickerButtonElement", first: true, predicate: ["pickerButton"], descendants: true, read: ElementRef, isSignal: true }], ngImport: i0, template: "<mat-form-field [appearance]=\"effectiveAppearanceSignal()\" subscriptSizing=\"dynamic\" class=\"dbx-forge-timeduration-field\">\n @if (label()) {\n <mat-label>{{ label() | dynamicText | async }}</mat-label>\n }\n <input matInput type=\"text\" [formControl]=\"textCtrl\" (blur)=\"onTextBlur()\" (keydown.enter)=\"onTextEnter($event)\" placeholder=\"e.g. 2h30m\" [attr.aria-invalid]=\"ariaInvalidSignal()\" [attr.aria-required]=\"ariaRequiredSignal()\" [attr.aria-describedby]=\"ariaDescribedBySignal()\" />\n <button mat-icon-button matSuffix type=\"button\" #pickerButton (click)=\"openPicker()\" [disabled]=\"isDisabled()\" aria-label=\"Open duration picker\">\n <mat-icon>schedule</mat-icon>\n </button>\n @if (errorsToDisplaySignal()[0]; as error) {\n <mat-error [id]=\"errorIdSignal()\">{{ error.message }}</mat-error>\n } @else if (props()?.hint; as hint) {\n <mat-hint [id]=\"hintIdSignal()\">{{ hint | dynamicText | async }}</mat-hint>\n }\n</mat-form-field>\n", dependencies: [{ kind: "ngmodule", type: MatFormFieldModule }, { kind: "component", type: i1$2.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i1$2.MatLabel, selector: "mat-label" }, { kind: "directive", type: i1$2.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "directive", type: i1$2.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "directive", type: i1$2.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i2.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly", "disabledInteractive"], exportAs: ["matInput"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i4.MatIconButton, selector: "button[mat-icon-button], a[mat-icon-button], button[matIconButton], a[matIconButton]", exportAs: ["matButton", "matAnchor"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i1$3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1$4.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "pipe", type: DynamicTextPipe, name: "dynamicText" }, { kind: "pipe", type: AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
6777
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: DbxForgeTimeDurationFieldComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
6778
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.4", type: DbxForgeTimeDurationFieldComponent, isStandalone: true, selector: "dbx-forge-timeduration-field", 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 }, meta: { classPropertyName: "meta", publicName: "meta", 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 } }, viewQueries: [{ propertyName: "pickerButtonElement", first: true, predicate: ["pickerButton"], descendants: true, read: ElementRef, isSignal: true }], ngImport: i0, template: "<mat-form-field [appearance]=\"effectiveAppearanceSignal()\" subscriptSizing=\"dynamic\" class=\"dbx-forge-timeduration-field\">\n @if (label()) {\n <mat-label>{{ label() | dynamicText | async }}</mat-label>\n }\n <input matInput type=\"text\" [formControl]=\"textCtrl\" (blur)=\"onTextBlur()\" (keydown.enter)=\"onTextEnter($event)\" placeholder=\"e.g. 2h30m\" [attr.aria-invalid]=\"ariaInvalidSignal()\" [attr.aria-required]=\"ariaRequiredSignal()\" [attr.aria-describedby]=\"ariaDescribedBySignal()\" />\n <button mat-icon-button matSuffix type=\"button\" #pickerButton (click)=\"openPicker()\" [disabled]=\"isDisabled()\" aria-label=\"Open duration picker\">\n <mat-icon>schedule</mat-icon>\n </button>\n @if (errorsToDisplaySignal()[0]; as error) {\n <mat-error [id]=\"errorIdSignal()\">{{ error.message }}</mat-error>\n } @else if (props()?.hint; as hint) {\n <mat-hint [id]=\"hintIdSignal()\">{{ hint | dynamicText | async }}</mat-hint>\n }\n</mat-form-field>\n", dependencies: [{ kind: "ngmodule", type: MatFormFieldModule }, { kind: "component", type: i1$2.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i1$2.MatLabel, selector: "mat-label" }, { kind: "directive", type: i1$2.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "directive", type: i1$2.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "directive", type: i1$2.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i2.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly", "disabledInteractive"], exportAs: ["matInput"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i4.MatIconButton, selector: "button[mat-icon-button], a[mat-icon-button], button[matIconButton], a[matIconButton]", exportAs: ["matButton", "matAnchor"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i1$3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$4.DefaultValueAccessor, selector: "input:not([type=checkbox]):not([ngNoCva])[formControlName],textarea:not([ngNoCva])[formControlName],input:not([type=checkbox]):not([ngNoCva])[formControl],textarea:not([ngNoCva])[formControl],input:not([type=checkbox]):not([ngNoCva])[ngModel],textarea:not([ngNoCva])[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1$4.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "pipe", type: DynamicTextPipe, name: "dynamicText" }, { kind: "pipe", type: AsyncPipe, name: "async" }] });
6656
6779
  }
6657
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: DbxForgeTimeDurationFieldComponent, decorators: [{
6780
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: DbxForgeTimeDurationFieldComponent, decorators: [{
6658
6781
  type: Component,
6659
- args: [{ selector: 'dbx-forge-timeduration-field', standalone: true, imports: [MatFormFieldModule, MatInputModule, MatButtonModule, MatIconModule, FormsModule, ReactiveFormsModule, DynamicTextPipe, AsyncPipe], changeDetection: ChangeDetectionStrategy.OnPush, template: "<mat-form-field [appearance]=\"effectiveAppearanceSignal()\" subscriptSizing=\"dynamic\" class=\"dbx-forge-timeduration-field\">\n @if (label()) {\n <mat-label>{{ label() | dynamicText | async }}</mat-label>\n }\n <input matInput type=\"text\" [formControl]=\"textCtrl\" (blur)=\"onTextBlur()\" (keydown.enter)=\"onTextEnter($event)\" placeholder=\"e.g. 2h30m\" [attr.aria-invalid]=\"ariaInvalidSignal()\" [attr.aria-required]=\"ariaRequiredSignal()\" [attr.aria-describedby]=\"ariaDescribedBySignal()\" />\n <button mat-icon-button matSuffix type=\"button\" #pickerButton (click)=\"openPicker()\" [disabled]=\"isDisabled()\" aria-label=\"Open duration picker\">\n <mat-icon>schedule</mat-icon>\n </button>\n @if (errorsToDisplaySignal()[0]; as error) {\n <mat-error [id]=\"errorIdSignal()\">{{ error.message }}</mat-error>\n } @else if (props()?.hint; as hint) {\n <mat-hint [id]=\"hintIdSignal()\">{{ hint | dynamicText | async }}</mat-hint>\n }\n</mat-form-field>\n" }]
6782
+ args: [{ selector: 'dbx-forge-timeduration-field', imports: [MatFormFieldModule, MatInputModule, MatButtonModule, MatIconModule, FormsModule, ReactiveFormsModule, DynamicTextPipe, AsyncPipe], template: "<mat-form-field [appearance]=\"effectiveAppearanceSignal()\" subscriptSizing=\"dynamic\" class=\"dbx-forge-timeduration-field\">\n @if (label()) {\n <mat-label>{{ label() | dynamicText | async }}</mat-label>\n }\n <input matInput type=\"text\" [formControl]=\"textCtrl\" (blur)=\"onTextBlur()\" (keydown.enter)=\"onTextEnter($event)\" placeholder=\"e.g. 2h30m\" [attr.aria-invalid]=\"ariaInvalidSignal()\" [attr.aria-required]=\"ariaRequiredSignal()\" [attr.aria-describedby]=\"ariaDescribedBySignal()\" />\n <button mat-icon-button matSuffix type=\"button\" #pickerButton (click)=\"openPicker()\" [disabled]=\"isDisabled()\" aria-label=\"Open duration picker\">\n <mat-icon>schedule</mat-icon>\n </button>\n @if (errorsToDisplaySignal()[0]; as error) {\n <mat-error [id]=\"errorIdSignal()\">{{ error.message }}</mat-error>\n } @else if (props()?.hint; as hint) {\n <mat-hint [id]=\"hintIdSignal()\">{{ hint | dynamicText | async }}</mat-hint>\n }\n</mat-form-field>\n" }]
6660
6783
  }], ctorParameters: () => [], propDecorators: { field: [{ type: i0.Input, args: [{ isSignal: true, alias: "field", required: true }] }], key: [{ type: i0.Input, args: [{ isSignal: true, alias: "key", required: true }] }], label: [{ type: i0.Input, args: [{ isSignal: true, alias: "label", required: false }] }], placeholder: [{ type: i0.Input, args: [{ isSignal: true, alias: "placeholder", required: false }] }], className: [{ type: i0.Input, args: [{ isSignal: true, alias: "className", required: false }] }], tabIndex: [{ type: i0.Input, args: [{ isSignal: true, alias: "tabIndex", required: false }] }], props: [{ type: i0.Input, args: [{ isSignal: true, alias: "props", required: false }] }], meta: [{ type: i0.Input, args: [{ isSignal: true, alias: "meta", required: false }] }], validationMessages: [{ type: i0.Input, args: [{ isSignal: true, alias: "validationMessages", required: false }] }], defaultValidationMessages: [{ type: i0.Input, args: [{ isSignal: true, alias: "defaultValidationMessages", required: false }] }], pickerButtonElement: [{ type: i0.ViewChild, args: ['pickerButton', { ...{ read: ElementRef }, isSignal: true }] }] } });
6661
6784
  // MARK: Mapper
6662
6785
  /**
@@ -6818,16 +6941,26 @@ class DbxForgePhoneFieldComponent {
6818
6941
  destroyRef = inject(DestroyRef);
6819
6942
  elementRef = inject((ElementRef));
6820
6943
  // Standard ng-forge value field inputs
6821
- field = input.required(...(ngDevMode ? [{ debugName: "field" }] : /* istanbul ignore next */ []));
6822
- key = input.required(...(ngDevMode ? [{ debugName: "key" }] : /* istanbul ignore next */ []));
6823
- label = input(...(ngDevMode ? [undefined, { debugName: "label" }] : /* istanbul ignore next */ []));
6824
- placeholder = input(...(ngDevMode ? [undefined, { debugName: "placeholder" }] : /* istanbul ignore next */ []));
6825
- className = input('', ...(ngDevMode ? [{ debugName: "className" }] : /* istanbul ignore next */ []));
6826
- tabIndex = input(...(ngDevMode ? [undefined, { debugName: "tabIndex" }] : /* istanbul ignore next */ []));
6827
- props = input(...(ngDevMode ? [undefined, { debugName: "props" }] : /* istanbul ignore next */ []));
6828
- meta = input(...(ngDevMode ? [undefined, { debugName: "meta" }] : /* istanbul ignore next */ []));
6829
- validationMessages = input(...(ngDevMode ? [undefined, { debugName: "validationMessages" }] : /* istanbul ignore next */ []));
6830
- defaultValidationMessages = input(...(ngDevMode ? [undefined, { debugName: "defaultValidationMessages" }] : /* istanbul ignore next */ []));
6944
+ field = input.required(/* @ts-ignore */
6945
+ ...(ngDevMode ? [{ debugName: "field" }] : /* istanbul ignore next */ []));
6946
+ key = input.required(/* @ts-ignore */
6947
+ ...(ngDevMode ? [{ debugName: "key" }] : /* istanbul ignore next */ []));
6948
+ label = input(/* @ts-ignore */
6949
+ ...(ngDevMode ? [undefined, { debugName: "label" }] : /* istanbul ignore next */ []));
6950
+ placeholder = input(/* @ts-ignore */
6951
+ ...(ngDevMode ? [undefined, { debugName: "placeholder" }] : /* istanbul ignore next */ []));
6952
+ className = input('', /* @ts-ignore */
6953
+ ...(ngDevMode ? [{ debugName: "className" }] : /* istanbul ignore next */ []));
6954
+ tabIndex = input(/* @ts-ignore */
6955
+ ...(ngDevMode ? [undefined, { debugName: "tabIndex" }] : /* istanbul ignore next */ []));
6956
+ props = input(/* @ts-ignore */
6957
+ ...(ngDevMode ? [undefined, { debugName: "props" }] : /* istanbul ignore next */ []));
6958
+ meta = input(/* @ts-ignore */
6959
+ ...(ngDevMode ? [undefined, { debugName: "meta" }] : /* istanbul ignore next */ []));
6960
+ validationMessages = input(/* @ts-ignore */
6961
+ ...(ngDevMode ? [undefined, { debugName: "validationMessages" }] : /* istanbul ignore next */ []));
6962
+ defaultValidationMessages = input(/* @ts-ignore */
6963
+ ...(ngDevMode ? [undefined, { debugName: "defaultValidationMessages" }] : /* istanbul ignore next */ []));
6831
6964
  /**
6832
6965
  * Internal FormControl used to bridge ngx-mat-input-tel (reactive forms)
6833
6966
  * with the ng-forge Signal Forms field tree.
@@ -6835,23 +6968,34 @@ class DbxForgePhoneFieldComponent {
6835
6968
  phoneCtrl = new FormControl('');
6836
6969
  extensionCtrl = new FormControl('', { validators: [isPhoneExtension()] });
6837
6970
  // Computed props
6838
- preferredCountriesSignal = computed(() => this.props()?.preferredCountries ?? DEFAULT_FORGE_PREFERRED_COUNTRIES, ...(ngDevMode ? [{ debugName: "preferredCountriesSignal" }] : /* istanbul ignore next */ []));
6839
- onlyCountriesSignal = computed(() => this.props()?.onlyCountries ?? [], ...(ngDevMode ? [{ debugName: "onlyCountriesSignal" }] : /* istanbul ignore next */ []));
6840
- enableSearchSignal = computed(() => this.props()?.enableSearch ?? true, ...(ngDevMode ? [{ debugName: "enableSearchSignal" }] : /* istanbul ignore next */ []));
6841
- allowExtensionSignal = computed(() => this.props()?.allowExtension ?? false, ...(ngDevMode ? [{ debugName: "allowExtensionSignal" }] : /* istanbul ignore next */ []));
6842
- effectiveAppearanceSignal = computed(() => this.props()?.appearance ?? this.materialConfig?.appearance ?? 'outline', ...(ngDevMode ? [{ debugName: "effectiveAppearanceSignal" }] : /* istanbul ignore next */ []));
6843
- effectiveAutocompleteSignal = computed(() => this.props()?.autocomplete ?? 'off', ...(ngDevMode ? [{ debugName: "effectiveAutocompleteSignal" }] : /* istanbul ignore next */ []));
6971
+ preferredCountriesSignal = computed(() => this.props()?.preferredCountries ?? DEFAULT_FORGE_PREFERRED_COUNTRIES, /* @ts-ignore */
6972
+ ...(ngDevMode ? [{ debugName: "preferredCountriesSignal" }] : /* istanbul ignore next */ []));
6973
+ onlyCountriesSignal = computed(() => this.props()?.onlyCountries ?? [], /* @ts-ignore */
6974
+ ...(ngDevMode ? [{ debugName: "onlyCountriesSignal" }] : /* istanbul ignore next */ []));
6975
+ enableSearchSignal = computed(() => this.props()?.enableSearch ?? true, /* @ts-ignore */
6976
+ ...(ngDevMode ? [{ debugName: "enableSearchSignal" }] : /* istanbul ignore next */ []));
6977
+ allowExtensionSignal = computed(() => this.props()?.allowExtension ?? false, /* @ts-ignore */
6978
+ ...(ngDevMode ? [{ debugName: "allowExtensionSignal" }] : /* istanbul ignore next */ []));
6979
+ effectiveAppearanceSignal = computed(() => this.props()?.appearance ?? this.materialConfig?.appearance ?? 'outline', /* @ts-ignore */
6980
+ ...(ngDevMode ? [{ debugName: "effectiveAppearanceSignal" }] : /* istanbul ignore next */ []));
6981
+ effectiveAutocompleteSignal = computed(() => this.props()?.autocomplete ?? 'off', /* @ts-ignore */
6982
+ ...(ngDevMode ? [{ debugName: "effectiveAutocompleteSignal" }] : /* istanbul ignore next */ []));
6844
6983
  // Disabled state
6845
6984
  isDisabled = dbxForgeFieldDisabled();
6846
6985
  // Error handling
6847
6986
  resolvedErrors = createResolvedErrorsSignal(this.field, this.validationMessages, this.defaultValidationMessages);
6848
6987
  showErrors = shouldShowErrors(this.field);
6849
- errorsToDisplaySignal = computed(() => (this.showErrors() ? this.resolvedErrors() : []), ...(ngDevMode ? [{ debugName: "errorsToDisplaySignal" }] : /* istanbul ignore next */ []));
6988
+ errorsToDisplaySignal = computed(() => (this.showErrors() ? this.resolvedErrors() : []), /* @ts-ignore */
6989
+ ...(ngDevMode ? [{ debugName: "errorsToDisplaySignal" }] : /* istanbul ignore next */ []));
6850
6990
  // ARIA
6851
- hintIdSignal = computed(() => `${this.key()}-hint`, ...(ngDevMode ? [{ debugName: "hintIdSignal" }] : /* istanbul ignore next */ []));
6852
- errorIdSignal = computed(() => `${this.key()}-error`, ...(ngDevMode ? [{ debugName: "errorIdSignal" }] : /* istanbul ignore next */ []));
6853
- ariaInvalidSignal = computed(() => (this.showErrors() ? 'true' : null), ...(ngDevMode ? [{ debugName: "ariaInvalidSignal" }] : /* istanbul ignore next */ []));
6854
- ariaRequiredSignal = computed(() => (this.field()().required() ? 'true' : null), ...(ngDevMode ? [{ debugName: "ariaRequiredSignal" }] : /* istanbul ignore next */ []));
6991
+ hintIdSignal = computed(() => `${this.key()}-hint`, /* @ts-ignore */
6992
+ ...(ngDevMode ? [{ debugName: "hintIdSignal" }] : /* istanbul ignore next */ []));
6993
+ errorIdSignal = computed(() => `${this.key()}-error`, /* @ts-ignore */
6994
+ ...(ngDevMode ? [{ debugName: "errorIdSignal" }] : /* istanbul ignore next */ []));
6995
+ ariaInvalidSignal = computed(() => (this.showErrors() ? 'true' : null), /* @ts-ignore */
6996
+ ...(ngDevMode ? [{ debugName: "ariaInvalidSignal" }] : /* istanbul ignore next */ []));
6997
+ ariaRequiredSignal = computed(() => (this.field()().required() ? 'true' : null), /* @ts-ignore */
6998
+ ...(ngDevMode ? [{ debugName: "ariaRequiredSignal" }] : /* istanbul ignore next */ []));
6855
6999
  ariaDescribedBySignal = computed(() => {
6856
7000
  const errorId = this.errorIdSignal();
6857
7001
  const hintId = this.hintIdSignal();
@@ -6860,7 +7004,8 @@ class DbxForgePhoneFieldComponent {
6860
7004
  if (this.props()?.hint)
6861
7005
  return hintId;
6862
7006
  return null;
6863
- }, ...(ngDevMode ? [{ debugName: "ariaDescribedBySignal" }] : /* istanbul ignore next */ []));
7007
+ }, /* @ts-ignore */
7008
+ ...(ngDevMode ? [{ debugName: "ariaDescribedBySignal" }] : /* istanbul ignore next */ []));
6864
7009
  /**
6865
7010
  * Flag to prevent feedback loops during sync.
6866
7011
  */
@@ -6935,12 +7080,12 @@ class DbxForgePhoneFieldComponent {
6935
7080
  }
6936
7081
  this._syncing = false;
6937
7082
  }
6938
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: DbxForgePhoneFieldComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
6939
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.11", type: DbxForgePhoneFieldComponent, isStandalone: true, selector: "dbx-forge-phone-field", 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 }, meta: { classPropertyName: "meta", publicName: "meta", 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 } }, ngImport: i0, template: "<mat-form-field [appearance]=\"effectiveAppearanceSignal()\" subscriptSizing=\"dynamic\">\n @if (label()) {\n <mat-label>{{ label() | dynamicText | async }}</mat-label>\n }\n <div class=\"dbx-form-phone-field\">\n <ngx-mat-input-tel\n name=\"phone\"\n class=\"dbx-form-phone-field-phone-content\"\n [formControl]=\"phoneCtrl\"\n [autocomplete]=\"effectiveAutocompleteSignal()\"\n [enableSearch]=\"enableSearchSignal()\"\n [preferredCountries]=\"preferredCountriesSignal()\"\n [onlyCountries]=\"onlyCountriesSignal()\"\n [enablePlaceholder]=\"false\"\n [placeholder]=\"(placeholder() | dynamicText | async) ?? ''\"\n [attr.aria-invalid]=\"ariaInvalidSignal()\"\n [attr.aria-required]=\"ariaRequiredSignal()\"\n [attr.aria-describedby]=\"ariaDescribedBySignal()\"></ngx-mat-input-tel>\n @if (allowExtensionSignal()) {\n <div class=\"dbx-form-phone-field-extension-content\">\n <span class=\"dbx-hint dbx-button-spacer\">Ext.</span>\n <input name=\"phone-extension\" class=\"dbx-form-phone-field-extension-input\" placeholder=\"123\" minlength=\"0\" maxlength=\"6\" [formControl]=\"extensionCtrl\" aria-label=\"Phone extension\" />\n </div>\n }\n </div>\n @if (errorsToDisplaySignal()[0]; as error) {\n <mat-error [id]=\"errorIdSignal()\">{{ error.message }}</mat-error>\n } @else if (props()?.hint; as hint) {\n <mat-hint [id]=\"hintIdSignal()\">{{ hint | dynamicText | async }}</mat-hint>\n }\n</mat-form-field>\n", styles: [":host{display:block;width:100%}:host mat-form-field{width:100%}\n"], dependencies: [{ kind: "ngmodule", type: MatFormFieldModule }, { kind: "component", type: i1$2.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i1$2.MatLabel, selector: "mat-label" }, { kind: "directive", type: i1$2.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "directive", type: i1$2.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "ngmodule", type: MatInputModule }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1$4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$4.MinLengthValidator, selector: "[minlength][formControlName],[minlength][formControl],[minlength][ngModel]", inputs: ["minlength"] }, { kind: "directive", type: i1$4.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i1$4.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: NgxMatInputTelComponent, selector: "ngx-mat-input-tel", inputs: ["autocomplete", "ariaLabel", "cssClass", "defaultCountry", "errorStateMatcher", "maxLength", "name", "placeholder", "countriesName", "preferredCountries", "onlyCountries", "searchPlaceholder", "validation", "enablePlaceholder", "enableSearch", "resetOnChange", "separateDialCode", "hideAreaCodes", "format", "required", "disabled"], outputs: ["countryChanged"] }, { kind: "pipe", type: DynamicTextPipe, name: "dynamicText" }, { kind: "pipe", type: AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
7083
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: DbxForgePhoneFieldComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
7084
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.4", type: DbxForgePhoneFieldComponent, isStandalone: true, selector: "dbx-forge-phone-field", 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 }, meta: { classPropertyName: "meta", publicName: "meta", 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 } }, ngImport: i0, template: "<mat-form-field [appearance]=\"effectiveAppearanceSignal()\" subscriptSizing=\"dynamic\">\n @if (label()) {\n <mat-label>{{ label() | dynamicText | async }}</mat-label>\n }\n <div class=\"dbx-form-phone-field\">\n <ngx-mat-input-tel\n name=\"phone\"\n class=\"dbx-form-phone-field-phone-content\"\n [formControl]=\"phoneCtrl\"\n [autocomplete]=\"effectiveAutocompleteSignal()\"\n [enableSearch]=\"enableSearchSignal()\"\n [preferredCountries]=\"preferredCountriesSignal()\"\n [onlyCountries]=\"onlyCountriesSignal()\"\n [enablePlaceholder]=\"false\"\n [placeholder]=\"(placeholder() | dynamicText | async) ?? ''\"\n [attr.aria-invalid]=\"ariaInvalidSignal()\"\n [attr.aria-required]=\"ariaRequiredSignal()\"\n [attr.aria-describedby]=\"ariaDescribedBySignal()\"></ngx-mat-input-tel>\n @if (allowExtensionSignal()) {\n <div class=\"dbx-form-phone-field-extension-content\">\n <span class=\"dbx-hint dbx-button-spacer\">Ext.</span>\n <input name=\"phone-extension\" class=\"dbx-form-phone-field-extension-input\" placeholder=\"123\" minlength=\"0\" maxlength=\"6\" [formControl]=\"extensionCtrl\" aria-label=\"Phone extension\" />\n </div>\n }\n </div>\n @if (errorsToDisplaySignal()[0]; as error) {\n <mat-error [id]=\"errorIdSignal()\">{{ error.message }}</mat-error>\n } @else if (props()?.hint; as hint) {\n <mat-hint [id]=\"hintIdSignal()\">{{ hint | dynamicText | async }}</mat-hint>\n }\n</mat-form-field>\n", styles: [":host{display:block;width:100%}:host mat-form-field{width:100%}\n"], dependencies: [{ kind: "ngmodule", type: MatFormFieldModule }, { kind: "component", type: i1$2.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i1$2.MatLabel, selector: "mat-label" }, { kind: "directive", type: i1$2.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "directive", type: i1$2.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "ngmodule", type: MatInputModule }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1$4.DefaultValueAccessor, selector: "input:not([type=checkbox]):not([ngNoCva])[formControlName],textarea:not([ngNoCva])[formControlName],input:not([type=checkbox]):not([ngNoCva])[formControl],textarea:not([ngNoCva])[formControl],input:not([type=checkbox]):not([ngNoCva])[ngModel],textarea:not([ngNoCva])[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$4.MinLengthValidator, selector: "[minlength][formControlName],[minlength][formControl],[minlength][ngModel]", inputs: ["minlength"] }, { kind: "directive", type: i1$4.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i1$4.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: NgxMatInputTelComponent, selector: "ngx-mat-input-tel", inputs: ["autocomplete", "ariaLabel", "cssClass", "defaultCountry", "errorStateMatcher", "maxLength", "name", "placeholder", "countriesName", "preferredCountries", "onlyCountries", "searchPlaceholder", "validation", "enablePlaceholder", "enableSearch", "resetOnChange", "separateDialCode", "hideAreaCodes", "format", "required", "disabled"], outputs: ["countryChanged"] }, { kind: "pipe", type: DynamicTextPipe, name: "dynamicText" }, { kind: "pipe", type: AsyncPipe, name: "async" }] });
6940
7085
  }
6941
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: DbxForgePhoneFieldComponent, decorators: [{
7086
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: DbxForgePhoneFieldComponent, decorators: [{
6942
7087
  type: Component,
6943
- args: [{ selector: 'dbx-forge-phone-field', standalone: true, imports: [MatFormFieldModule, MatInputModule, ReactiveFormsModule, NgxMatInputTelComponent, DynamicTextPipe, AsyncPipe], changeDetection: ChangeDetectionStrategy.OnPush, template: "<mat-form-field [appearance]=\"effectiveAppearanceSignal()\" subscriptSizing=\"dynamic\">\n @if (label()) {\n <mat-label>{{ label() | dynamicText | async }}</mat-label>\n }\n <div class=\"dbx-form-phone-field\">\n <ngx-mat-input-tel\n name=\"phone\"\n class=\"dbx-form-phone-field-phone-content\"\n [formControl]=\"phoneCtrl\"\n [autocomplete]=\"effectiveAutocompleteSignal()\"\n [enableSearch]=\"enableSearchSignal()\"\n [preferredCountries]=\"preferredCountriesSignal()\"\n [onlyCountries]=\"onlyCountriesSignal()\"\n [enablePlaceholder]=\"false\"\n [placeholder]=\"(placeholder() | dynamicText | async) ?? ''\"\n [attr.aria-invalid]=\"ariaInvalidSignal()\"\n [attr.aria-required]=\"ariaRequiredSignal()\"\n [attr.aria-describedby]=\"ariaDescribedBySignal()\"></ngx-mat-input-tel>\n @if (allowExtensionSignal()) {\n <div class=\"dbx-form-phone-field-extension-content\">\n <span class=\"dbx-hint dbx-button-spacer\">Ext.</span>\n <input name=\"phone-extension\" class=\"dbx-form-phone-field-extension-input\" placeholder=\"123\" minlength=\"0\" maxlength=\"6\" [formControl]=\"extensionCtrl\" aria-label=\"Phone extension\" />\n </div>\n }\n </div>\n @if (errorsToDisplaySignal()[0]; as error) {\n <mat-error [id]=\"errorIdSignal()\">{{ error.message }}</mat-error>\n } @else if (props()?.hint; as hint) {\n <mat-hint [id]=\"hintIdSignal()\">{{ hint | dynamicText | async }}</mat-hint>\n }\n</mat-form-field>\n", styles: [":host{display:block;width:100%}:host mat-form-field{width:100%}\n"] }]
7088
+ args: [{ selector: 'dbx-forge-phone-field', imports: [MatFormFieldModule, MatInputModule, ReactiveFormsModule, NgxMatInputTelComponent, DynamicTextPipe, AsyncPipe], template: "<mat-form-field [appearance]=\"effectiveAppearanceSignal()\" subscriptSizing=\"dynamic\">\n @if (label()) {\n <mat-label>{{ label() | dynamicText | async }}</mat-label>\n }\n <div class=\"dbx-form-phone-field\">\n <ngx-mat-input-tel\n name=\"phone\"\n class=\"dbx-form-phone-field-phone-content\"\n [formControl]=\"phoneCtrl\"\n [autocomplete]=\"effectiveAutocompleteSignal()\"\n [enableSearch]=\"enableSearchSignal()\"\n [preferredCountries]=\"preferredCountriesSignal()\"\n [onlyCountries]=\"onlyCountriesSignal()\"\n [enablePlaceholder]=\"false\"\n [placeholder]=\"(placeholder() | dynamicText | async) ?? ''\"\n [attr.aria-invalid]=\"ariaInvalidSignal()\"\n [attr.aria-required]=\"ariaRequiredSignal()\"\n [attr.aria-describedby]=\"ariaDescribedBySignal()\"></ngx-mat-input-tel>\n @if (allowExtensionSignal()) {\n <div class=\"dbx-form-phone-field-extension-content\">\n <span class=\"dbx-hint dbx-button-spacer\">Ext.</span>\n <input name=\"phone-extension\" class=\"dbx-form-phone-field-extension-input\" placeholder=\"123\" minlength=\"0\" maxlength=\"6\" [formControl]=\"extensionCtrl\" aria-label=\"Phone extension\" />\n </div>\n }\n </div>\n @if (errorsToDisplaySignal()[0]; as error) {\n <mat-error [id]=\"errorIdSignal()\">{{ error.message }}</mat-error>\n } @else if (props()?.hint; as hint) {\n <mat-hint [id]=\"hintIdSignal()\">{{ hint | dynamicText | async }}</mat-hint>\n }\n</mat-form-field>\n", styles: [":host{display:block;width:100%}:host mat-form-field{width:100%}\n"] }]
6944
7089
  }], ctorParameters: () => [], propDecorators: { field: [{ type: i0.Input, args: [{ isSignal: true, alias: "field", required: true }] }], key: [{ type: i0.Input, args: [{ isSignal: true, alias: "key", required: true }] }], label: [{ type: i0.Input, args: [{ isSignal: true, alias: "label", required: false }] }], placeholder: [{ type: i0.Input, args: [{ isSignal: true, alias: "placeholder", required: false }] }], className: [{ type: i0.Input, args: [{ isSignal: true, alias: "className", required: false }] }], tabIndex: [{ type: i0.Input, args: [{ isSignal: true, alias: "tabIndex", required: false }] }], props: [{ type: i0.Input, args: [{ isSignal: true, alias: "props", required: false }] }], meta: [{ type: i0.Input, args: [{ isSignal: true, alias: "meta", required: false }] }], validationMessages: [{ type: i0.Input, args: [{ isSignal: true, alias: "validationMessages", required: false }] }], defaultValidationMessages: [{ type: i0.Input, args: [{ isSignal: true, alias: "defaultValidationMessages", required: false }] }] } });
6945
7090
  // MARK: Mapper
6946
7091
  /**
@@ -7022,42 +7167,63 @@ class DbxForgeValueSelectionFieldComponent {
7022
7167
  materialConfig = inject(MATERIAL_CONFIG, { optional: true });
7023
7168
  elementRef = inject((ElementRef));
7024
7169
  // ng-forge ValueFieldComponent inputs
7025
- field = input.required(...(ngDevMode ? [{ debugName: "field" }] : /* istanbul ignore next */ []));
7026
- key = input.required(...(ngDevMode ? [{ debugName: "key" }] : /* istanbul ignore next */ []));
7027
- label = input(...(ngDevMode ? [undefined, { debugName: "label" }] : /* istanbul ignore next */ []));
7028
- placeholder = input(...(ngDevMode ? [undefined, { debugName: "placeholder" }] : /* istanbul ignore next */ []));
7029
- className = input('', ...(ngDevMode ? [{ debugName: "className" }] : /* istanbul ignore next */ []));
7030
- tabIndex = input(...(ngDevMode ? [undefined, { debugName: "tabIndex" }] : /* istanbul ignore next */ []));
7031
- props = input(...(ngDevMode ? [undefined, { debugName: "props" }] : /* istanbul ignore next */ []));
7032
- meta = input(...(ngDevMode ? [undefined, { debugName: "meta" }] : /* istanbul ignore next */ []));
7033
- validationMessages = input(...(ngDevMode ? [undefined, { debugName: "validationMessages" }] : /* istanbul ignore next */ []));
7034
- defaultValidationMessages = input(...(ngDevMode ? [undefined, { debugName: "defaultValidationMessages" }] : /* istanbul ignore next */ []));
7170
+ field = input.required(/* @ts-ignore */
7171
+ ...(ngDevMode ? [{ debugName: "field" }] : /* istanbul ignore next */ []));
7172
+ key = input.required(/* @ts-ignore */
7173
+ ...(ngDevMode ? [{ debugName: "key" }] : /* istanbul ignore next */ []));
7174
+ label = input(/* @ts-ignore */
7175
+ ...(ngDevMode ? [undefined, { debugName: "label" }] : /* istanbul ignore next */ []));
7176
+ placeholder = input(/* @ts-ignore */
7177
+ ...(ngDevMode ? [undefined, { debugName: "placeholder" }] : /* istanbul ignore next */ []));
7178
+ className = input('', /* @ts-ignore */
7179
+ ...(ngDevMode ? [{ debugName: "className" }] : /* istanbul ignore next */ []));
7180
+ tabIndex = input(/* @ts-ignore */
7181
+ ...(ngDevMode ? [undefined, { debugName: "tabIndex" }] : /* istanbul ignore next */ []));
7182
+ props = input(/* @ts-ignore */
7183
+ ...(ngDevMode ? [undefined, { debugName: "props" }] : /* istanbul ignore next */ []));
7184
+ meta = input(/* @ts-ignore */
7185
+ ...(ngDevMode ? [undefined, { debugName: "meta" }] : /* istanbul ignore next */ []));
7186
+ validationMessages = input(/* @ts-ignore */
7187
+ ...(ngDevMode ? [undefined, { debugName: "validationMessages" }] : /* istanbul ignore next */ []));
7188
+ defaultValidationMessages = input(/* @ts-ignore */
7189
+ ...(ngDevMode ? [undefined, { debugName: "defaultValidationMessages" }] : /* istanbul ignore next */ []));
7035
7190
  // Derived signals
7036
- addClearOptionSignal = computed(() => this.props()?.addClearOption, ...(ngDevMode ? [{ debugName: "addClearOptionSignal" }] : /* istanbul ignore next */ []));
7191
+ addClearOptionSignal = computed(() => this.props()?.addClearOption, /* @ts-ignore */
7192
+ ...(ngDevMode ? [{ debugName: "addClearOptionSignal" }] : /* istanbul ignore next */ []));
7037
7193
  addClearOption$ = toObservable(this.addClearOptionSignal).pipe(distinctUntilChanged());
7038
- inputOptionsSignal = computed(() => this.props()?.options, ...(ngDevMode ? [{ debugName: "inputOptionsSignal" }] : /* istanbul ignore next */ []));
7194
+ inputOptionsSignal = computed(() => this.props()?.options, /* @ts-ignore */
7195
+ ...(ngDevMode ? [{ debugName: "inputOptionsSignal" }] : /* istanbul ignore next */ []));
7039
7196
  inputOptions$ = toObservable(this.inputOptionsSignal).pipe(maybeValueFromObservableOrValue());
7040
7197
  resolvedOptions$ = combineLatest([this.inputOptions$, this.addClearOption$]).pipe(map(([options, addClearOption]) => resolveForgeSelectionOptions(options ?? [], addClearOption ?? false)));
7041
7198
  resolvedOptionsSignal = toSignal(this.resolvedOptions$);
7042
- multipleSignal = computed(() => this.props()?.multiple ?? false, ...(ngDevMode ? [{ debugName: "multipleSignal" }] : /* istanbul ignore next */ []));
7043
- effectiveAppearanceSignal = computed(() => this.props()?.appearance ?? this.materialConfig?.appearance ?? 'outline', ...(ngDevMode ? [{ debugName: "effectiveAppearanceSignal" }] : /* istanbul ignore next */ []));
7044
- effectiveSubscriptSizingSignal = computed(() => this.props()?.subscriptSizing ?? this.materialConfig?.subscriptSizing ?? 'dynamic', ...(ngDevMode ? [{ debugName: "effectiveSubscriptSizingSignal" }] : /* istanbul ignore next */ []));
7045
- compareWithSignal = computed(() => this.props()?.compareWith ?? Object.is, ...(ngDevMode ? [{ debugName: "compareWithSignal" }] : /* istanbul ignore next */ []));
7199
+ multipleSignal = computed(() => this.props()?.multiple ?? false, /* @ts-ignore */
7200
+ ...(ngDevMode ? [{ debugName: "multipleSignal" }] : /* istanbul ignore next */ []));
7201
+ effectiveAppearanceSignal = computed(() => this.props()?.appearance ?? this.materialConfig?.appearance ?? 'outline', /* @ts-ignore */
7202
+ ...(ngDevMode ? [{ debugName: "effectiveAppearanceSignal" }] : /* istanbul ignore next */ []));
7203
+ effectiveSubscriptSizingSignal = computed(() => this.props()?.subscriptSizing ?? this.materialConfig?.subscriptSizing ?? 'dynamic', /* @ts-ignore */
7204
+ ...(ngDevMode ? [{ debugName: "effectiveSubscriptSizingSignal" }] : /* istanbul ignore next */ []));
7205
+ compareWithSignal = computed(() => this.props()?.compareWith ?? Object.is, /* @ts-ignore */
7206
+ ...(ngDevMode ? [{ debugName: "compareWithSignal" }] : /* istanbul ignore next */ []));
7046
7207
  // Error display
7047
7208
  resolvedErrors = createResolvedErrorsSignal(this.field, this.validationMessages, this.defaultValidationMessages);
7048
7209
  showErrors = shouldShowErrors(this.field);
7049
- errorsToDisplaySignal = computed(() => (this.showErrors() ? this.resolvedErrors() : []), ...(ngDevMode ? [{ debugName: "errorsToDisplaySignal" }] : /* istanbul ignore next */ []));
7210
+ errorsToDisplaySignal = computed(() => (this.showErrors() ? this.resolvedErrors() : []), /* @ts-ignore */
7211
+ ...(ngDevMode ? [{ debugName: "errorsToDisplaySignal" }] : /* istanbul ignore next */ []));
7050
7212
  /**
7051
7213
  * Unique ID for the hint element
7052
7214
  */
7053
- hintIdSignal = computed(() => `${this.key()}-hint`, ...(ngDevMode ? [{ debugName: "hintIdSignal" }] : /* istanbul ignore next */ []));
7215
+ hintIdSignal = computed(() => `${this.key()}-hint`, /* @ts-ignore */
7216
+ ...(ngDevMode ? [{ debugName: "hintIdSignal" }] : /* istanbul ignore next */ []));
7054
7217
  /**
7055
7218
  * Base ID for error elements
7056
7219
  */
7057
- errorIdSignal = computed(() => `${this.key()}-error`, ...(ngDevMode ? [{ debugName: "errorIdSignal" }] : /* istanbul ignore next */ []));
7220
+ errorIdSignal = computed(() => `${this.key()}-error`, /* @ts-ignore */
7221
+ ...(ngDevMode ? [{ debugName: "errorIdSignal" }] : /* istanbul ignore next */ []));
7058
7222
  // Accessibility
7059
- ariaInvalidSignal = computed(() => (this.showErrors() ? 'true' : null), ...(ngDevMode ? [{ debugName: "ariaInvalidSignal" }] : /* istanbul ignore next */ []));
7060
- ariaRequiredSignal = computed(() => (this.field()().required() ? 'true' : null), ...(ngDevMode ? [{ debugName: "ariaRequiredSignal" }] : /* istanbul ignore next */ []));
7223
+ ariaInvalidSignal = computed(() => (this.showErrors() ? 'true' : null), /* @ts-ignore */
7224
+ ...(ngDevMode ? [{ debugName: "ariaInvalidSignal" }] : /* istanbul ignore next */ []));
7225
+ ariaRequiredSignal = computed(() => (this.field()().required() ? 'true' : null), /* @ts-ignore */
7226
+ ...(ngDevMode ? [{ debugName: "ariaRequiredSignal" }] : /* istanbul ignore next */ []));
7061
7227
  ariaDescribedBySignal = computed(() => {
7062
7228
  const errorId = this.errorIdSignal();
7063
7229
  const hintId = this.hintIdSignal();
@@ -7066,16 +7232,17 @@ class DbxForgeValueSelectionFieldComponent {
7066
7232
  if (this.props()?.hint)
7067
7233
  return hintId;
7068
7234
  return null;
7069
- }, ...(ngDevMode ? [{ debugName: "ariaDescribedBySignal" }] : /* istanbul ignore next */ []));
7235
+ }, /* @ts-ignore */
7236
+ ...(ngDevMode ? [{ debugName: "ariaDescribedBySignal" }] : /* istanbul ignore next */ []));
7070
7237
  constructor() {
7071
7238
  setupMetaTracking(this.elementRef, this.meta, { selector: 'mat-select' });
7072
7239
  }
7073
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: DbxForgeValueSelectionFieldComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
7074
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.11", type: DbxForgeValueSelectionFieldComponent, isStandalone: true, selector: "dbx-forge-value-selection-field", 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 }, meta: { classPropertyName: "meta", publicName: "meta", 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: "@let f = field();\n@let selectId = key() + '-select';\n\n<mat-form-field class=\"dbx-w100\" [appearance]=\"effectiveAppearanceSignal()\" [subscriptSizing]=\"effectiveSubscriptSizingSignal()\">\n @if (label(); as label) {\n <mat-label>{{ label | dynamicText | async }}</mat-label>\n }\n\n <mat-select [id]=\"selectId\" [formField]=\"f\" [placeholder]=\"(placeholder() | dynamicText | async) ?? ''\" [multiple]=\"multipleSignal()\" [compareWith]=\"compareWithSignal()\" [attr.aria-invalid]=\"ariaInvalidSignal()\" [attr.aria-required]=\"ariaRequiredSignal()\" [attr.aria-describedby]=\"ariaDescribedBySignal()\">\n @for (option of resolvedOptionsSignal(); track $index) {\n <mat-option [value]=\"option.value\" [disabled]=\"option.disabled ?? false\">{{ option.label }}</mat-option>\n }\n </mat-select>\n\n @if (errorsToDisplaySignal()[0]; as error) {\n <mat-error [id]=\"errorIdSignal()\">{{ error.message }}</mat-error>\n } @else if (props()?.hint; as hint) {\n <mat-hint [id]=\"hintIdSignal()\">{{ hint | dynamicText | async }}</mat-hint>\n }\n</mat-form-field>\n", dependencies: [{ kind: "component", type: MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: MatLabel, selector: "mat-label" }, { kind: "component", type: MatSelect, selector: "mat-select", inputs: ["aria-describedby", "panelClass", "disabled", "disableRipple", "tabIndex", "hideSingleSelectionIndicator", "placeholder", "required", "multiple", "disableOptionCentering", "compareWith", "value", "aria-label", "aria-labelledby", "errorStateMatcher", "typeaheadDebounceInterval", "sortComparator", "id", "panelWidth", "canSelectNullableOptions"], outputs: ["openedChange", "opened", "closed", "selectionChange", "valueChange"], exportAs: ["matSelect"] }, { kind: "component", type: MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "directive", type: MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "directive", type: FormField, selector: "[formField]", inputs: ["formField"], exportAs: ["formField"] }, { kind: "directive", type: MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "pipe", type: DynamicTextPipe, name: "dynamicText" }, { kind: "pipe", type: AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
7240
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: DbxForgeValueSelectionFieldComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
7241
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.4", type: DbxForgeValueSelectionFieldComponent, isStandalone: true, selector: "dbx-forge-value-selection-field", 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 }, meta: { classPropertyName: "meta", publicName: "meta", 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: "@let f = field();\n@let selectId = key() + '-select';\n\n<mat-form-field class=\"dbx-w100\" [appearance]=\"effectiveAppearanceSignal()\" [subscriptSizing]=\"effectiveSubscriptSizingSignal()\">\n @if (label(); as label) {\n <mat-label>{{ label | dynamicText | async }}</mat-label>\n }\n\n <mat-select [id]=\"selectId\" [formField]=\"f\" [placeholder]=\"(placeholder() | dynamicText | async) ?? ''\" [multiple]=\"multipleSignal()\" [compareWith]=\"compareWithSignal()\" [attr.aria-invalid]=\"ariaInvalidSignal()\" [attr.aria-required]=\"ariaRequiredSignal()\" [attr.aria-describedby]=\"ariaDescribedBySignal()\">\n @for (option of resolvedOptionsSignal(); track $index) {\n <mat-option [value]=\"option.value\" [disabled]=\"option.disabled ?? false\">{{ option.label }}</mat-option>\n }\n </mat-select>\n\n @if (errorsToDisplaySignal()[0]; as error) {\n <mat-error [id]=\"errorIdSignal()\">{{ error.message }}</mat-error>\n } @else if (props()?.hint; as hint) {\n <mat-hint [id]=\"hintIdSignal()\">{{ hint | dynamicText | async }}</mat-hint>\n }\n</mat-form-field>\n", dependencies: [{ kind: "component", type: MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: MatLabel, selector: "mat-label" }, { kind: "component", type: MatSelect, selector: "mat-select", inputs: ["aria-describedby", "panelClass", "disabled", "disableRipple", "tabIndex", "hideSingleSelectionIndicator", "placeholder", "required", "multiple", "disableOptionCentering", "compareWith", "value", "aria-label", "aria-labelledby", "errorStateMatcher", "typeaheadDebounceInterval", "sortComparator", "id", "panelWidth", "canSelectNullableOptions"], outputs: ["openedChange", "opened", "closed", "selectionChange", "valueChange"], exportAs: ["matSelect"] }, { kind: "component", type: MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "directive", type: MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "directive", type: FormField, selector: "[formField]", inputs: ["formField"], exportAs: ["formField"] }, { kind: "directive", type: MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "pipe", type: DynamicTextPipe, name: "dynamicText" }, { kind: "pipe", type: AsyncPipe, name: "async" }] });
7075
7242
  }
7076
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: DbxForgeValueSelectionFieldComponent, decorators: [{
7243
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: DbxForgeValueSelectionFieldComponent, decorators: [{
7077
7244
  type: Component,
7078
- args: [{ selector: 'dbx-forge-value-selection-field', imports: [MatFormField, MatLabel, MatSelect, MatOption, MatHint, FormField, MatError, DynamicTextPipe, AsyncPipe], changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, host: {
7245
+ args: [{ selector: 'dbx-forge-value-selection-field', imports: [MatFormField, MatLabel, MatSelect, MatOption, MatHint, FormField, MatError, DynamicTextPipe, AsyncPipe], host: {
7079
7246
  '[id]': '`${key()}`',
7080
7247
  '[attr.data-testid]': 'key()',
7081
7248
  '[class]': 'className()',
@@ -7133,7 +7300,8 @@ const DBX_SEARCHABLE_FIELD_COMPONENT_DATA_TOKEN = new InjectionToken('DbxSearcha
7133
7300
  * value data via {@link DBX_SEARCHABLE_FIELD_COMPONENT_DATA_TOKEN}.
7134
7301
  */
7135
7302
  class DbxSearchableFieldAutocompleteItemComponent {
7136
- displayValue = input.required(...(ngDevMode ? [{ debugName: "displayValue" }] : /* istanbul ignore next */ []));
7303
+ displayValue = input.required(/* @ts-ignore */
7304
+ ...(ngDevMode ? [{ debugName: "displayValue" }] : /* istanbul ignore next */ []));
7137
7305
  configSignal = computed(() => {
7138
7306
  const displayValue = this.displayValue();
7139
7307
  const config = {
@@ -7149,16 +7317,18 @@ class DbxSearchableFieldAutocompleteItemComponent {
7149
7317
  ], displayValue.display.providers)
7150
7318
  };
7151
7319
  return config;
7152
- }, ...(ngDevMode ? [{ debugName: "configSignal" }] : /* istanbul ignore next */ []));
7153
- anchorSignal = computed(() => this.displayValue().anchor, ...(ngDevMode ? [{ debugName: "anchorSignal" }] : /* istanbul ignore next */ []));
7154
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: DbxSearchableFieldAutocompleteItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
7155
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.2.11", type: DbxSearchableFieldAutocompleteItemComponent, isStandalone: true, selector: "dbx-searchable-field-autocomplete-item", inputs: { displayValue: { classPropertyName: "displayValue", publicName: "displayValue", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0, template: `
7320
+ }, /* @ts-ignore */
7321
+ ...(ngDevMode ? [{ debugName: "configSignal" }] : /* istanbul ignore next */ []));
7322
+ anchorSignal = computed(() => this.displayValue().anchor, /* @ts-ignore */
7323
+ ...(ngDevMode ? [{ debugName: "anchorSignal" }] : /* istanbul ignore next */ []));
7324
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: DbxSearchableFieldAutocompleteItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
7325
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.1.4", type: DbxSearchableFieldAutocompleteItemComponent, isStandalone: true, selector: "dbx-searchable-field-autocomplete-item", inputs: { displayValue: { classPropertyName: "displayValue", publicName: "displayValue", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0, template: `
7156
7326
  <dbx-anchor [block]="true" [anchor]="anchorSignal()">
7157
7327
  <dbx-injection [config]="configSignal()"></dbx-injection>
7158
7328
  </dbx-anchor>
7159
- `, isInline: true, dependencies: [{ kind: "component", type: DbxAnchorComponent, selector: "dbx-anchor, [dbx-anchor]", inputs: ["block"] }, { kind: "component", type: DbxInjectionComponent, selector: "dbx-injection, [dbxInjection], [dbx-injection]", inputs: ["config", "template"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
7329
+ `, isInline: true, dependencies: [{ kind: "component", type: DbxAnchorComponent, selector: "dbx-anchor, [dbx-anchor]", inputs: ["block"] }, { kind: "component", type: DbxInjectionComponent, selector: "dbx-injection, [dbxInjection], [dbx-injection]", inputs: ["config", "template"] }] });
7160
7330
  }
7161
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: DbxSearchableFieldAutocompleteItemComponent, decorators: [{
7331
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: DbxSearchableFieldAutocompleteItemComponent, decorators: [{
7162
7332
  type: Component,
7163
7333
  args: [{
7164
7334
  selector: 'dbx-searchable-field-autocomplete-item',
@@ -7167,9 +7337,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.11", ngImpo
7167
7337
  <dbx-injection [config]="configSignal()"></dbx-injection>
7168
7338
  </dbx-anchor>
7169
7339
  `,
7170
- imports: [DbxAnchorComponent, DbxInjectionComponent],
7171
- changeDetection: ChangeDetectionStrategy.OnPush,
7172
- standalone: true
7340
+ imports: [DbxAnchorComponent, DbxInjectionComponent]
7173
7341
  }]
7174
7342
  }], propDecorators: { displayValue: [{ type: i0.Input, args: [{ isSignal: true, alias: "displayValue", required: true }] }] } });
7175
7343
  // MARK: Default
@@ -7181,10 +7349,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.11", ngImpo
7181
7349
  */
7182
7350
  class AbstractDbxSearchableFieldDisplayDirective {
7183
7351
  displayValue = inject(DBX_SEARCHABLE_FIELD_COMPONENT_DATA_TOKEN);
7184
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: AbstractDbxSearchableFieldDisplayDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
7185
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.11", type: AbstractDbxSearchableFieldDisplayDirective, isStandalone: true, ngImport: i0 });
7352
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: AbstractDbxSearchableFieldDisplayDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
7353
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.1.4", type: AbstractDbxSearchableFieldDisplayDirective, isStandalone: true, ngImport: i0 });
7186
7354
  }
7187
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: AbstractDbxSearchableFieldDisplayDirective, decorators: [{
7355
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: AbstractDbxSearchableFieldDisplayDirective, decorators: [{
7188
7356
  type: Directive
7189
7357
  }] });
7190
7358
  /**
@@ -7194,8 +7362,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.11", ngImpo
7194
7362
  */
7195
7363
  class DbxDefaultSearchableFieldDisplayComponent extends AbstractDbxSearchableFieldDisplayDirective {
7196
7364
  icon = this.displayValue.icon;
7197
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: DbxDefaultSearchableFieldDisplayComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
7198
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.11", type: DbxDefaultSearchableFieldDisplayComponent, isStandalone: true, selector: "dbx-default-searchable-field-display", usesInheritance: true, ngImport: i0, template: `
7365
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: DbxDefaultSearchableFieldDisplayComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
7366
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.4", type: DbxDefaultSearchableFieldDisplayComponent, isStandalone: true, selector: "dbx-default-searchable-field-display", usesInheritance: true, ngImport: i0, template: `
7199
7367
  <div class="dbx-default-searchable-field-display dbx-flex-bar">
7200
7368
  @if (icon) {
7201
7369
  <mat-icon class="dbx-icon-spacer">{{ icon }}</mat-icon>
@@ -7205,9 +7373,9 @@ class DbxDefaultSearchableFieldDisplayComponent extends AbstractDbxSearchableFie
7205
7373
  <span class="dbx-chip-sublabel">({{ displayValue.sublabel }})</span>
7206
7374
  }
7207
7375
  </div>
7208
- `, isInline: true, dependencies: [{ kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i1$3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
7376
+ `, isInline: true, dependencies: [{ kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i1$3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }] });
7209
7377
  }
7210
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: DbxDefaultSearchableFieldDisplayComponent, decorators: [{
7378
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: DbxDefaultSearchableFieldDisplayComponent, decorators: [{
7211
7379
  type: Component,
7212
7380
  args: [{
7213
7381
  selector: 'dbx-default-searchable-field-display',
@@ -7222,9 +7390,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.11", ngImpo
7222
7390
  }
7223
7391
  </div>
7224
7392
  `,
7225
- imports: [MatIconModule],
7226
- changeDetection: ChangeDetectionStrategy.OnPush,
7227
- standalone: true
7393
+ imports: [MatIconModule]
7228
7394
  }]
7229
7395
  }] });
7230
7396
 
@@ -7241,15 +7407,24 @@ const DEFAULT_SEARCHABLE_FIELD_DISPLAY = {
7241
7407
  */
7242
7408
  class AbstractForgeSearchableFieldDirective {
7243
7409
  // MARK: ng-forge ValueFieldComponent Inputs
7244
- key = input.required(...(ngDevMode ? [{ debugName: "key" }] : /* istanbul ignore next */ []));
7245
- label = input(...(ngDevMode ? [undefined, { debugName: "label" }] : /* istanbul ignore next */ []));
7246
- placeholder = input(...(ngDevMode ? [undefined, { debugName: "placeholder" }] : /* istanbul ignore next */ []));
7247
- className = input('', ...(ngDevMode ? [{ debugName: "className" }] : /* istanbul ignore next */ []));
7248
- tabIndex = input(...(ngDevMode ? [undefined, { debugName: "tabIndex" }] : /* istanbul ignore next */ []));
7249
- props = input(...(ngDevMode ? [undefined, { debugName: "props" }] : /* istanbul ignore next */ []));
7250
- meta = input(...(ngDevMode ? [undefined, { debugName: "meta" }] : /* istanbul ignore next */ []));
7251
- validationMessages = input(...(ngDevMode ? [undefined, { debugName: "validationMessages" }] : /* istanbul ignore next */ []));
7252
- defaultValidationMessages = input(...(ngDevMode ? [undefined, { debugName: "defaultValidationMessages" }] : /* istanbul ignore next */ []));
7410
+ key = input.required(/* @ts-ignore */
7411
+ ...(ngDevMode ? [{ debugName: "key" }] : /* istanbul ignore next */ []));
7412
+ label = input(/* @ts-ignore */
7413
+ ...(ngDevMode ? [undefined, { debugName: "label" }] : /* istanbul ignore next */ []));
7414
+ placeholder = input(/* @ts-ignore */
7415
+ ...(ngDevMode ? [undefined, { debugName: "placeholder" }] : /* istanbul ignore next */ []));
7416
+ className = input('', /* @ts-ignore */
7417
+ ...(ngDevMode ? [{ debugName: "className" }] : /* istanbul ignore next */ []));
7418
+ tabIndex = input(/* @ts-ignore */
7419
+ ...(ngDevMode ? [undefined, { debugName: "tabIndex" }] : /* istanbul ignore next */ []));
7420
+ props = input(/* @ts-ignore */
7421
+ ...(ngDevMode ? [undefined, { debugName: "props" }] : /* istanbul ignore next */ []));
7422
+ meta = input(/* @ts-ignore */
7423
+ ...(ngDevMode ? [undefined, { debugName: "meta" }] : /* istanbul ignore next */ []));
7424
+ validationMessages = input(/* @ts-ignore */
7425
+ ...(ngDevMode ? [undefined, { debugName: "validationMessages" }] : /* istanbul ignore next */ []));
7426
+ defaultValidationMessages = input(/* @ts-ignore */
7427
+ ...(ngDevMode ? [undefined, { debugName: "defaultValidationMessages" }] : /* istanbul ignore next */ []));
7253
7428
  inputCtrl = new FormControl('');
7254
7429
  _clearDisplayHashMapSub = cleanSubscription();
7255
7430
  _displayHashMap = completeOnDestroy(new BehaviorSubject(new Map()));
@@ -7260,18 +7435,23 @@ class AbstractForgeSearchableFieldDirective {
7260
7435
  labelSignal = computed(() => {
7261
7436
  const l = this.label();
7262
7437
  return typeof l === 'string' ? l : undefined;
7263
- }, ...(ngDevMode ? [{ debugName: "labelSignal" }] : /* istanbul ignore next */ []));
7264
- hintSignal = computed(() => this.props()?.hint, ...(ngDevMode ? [{ debugName: "hintSignal" }] : /* istanbul ignore next */ []));
7438
+ }, /* @ts-ignore */
7439
+ ...(ngDevMode ? [{ debugName: "labelSignal" }] : /* istanbul ignore next */ []));
7440
+ hintSignal = computed(() => this.props()?.hint, /* @ts-ignore */
7441
+ ...(ngDevMode ? [{ debugName: "hintSignal" }] : /* istanbul ignore next */ []));
7265
7442
  // ARIA IDs
7266
- hintIdSignal = computed(() => `${this.key()}-hint`, ...(ngDevMode ? [{ debugName: "hintIdSignal" }] : /* istanbul ignore next */ []));
7267
- errorIdSignal = computed(() => `${this.key()}-error`, ...(ngDevMode ? [{ debugName: "errorIdSignal" }] : /* istanbul ignore next */ []));
7443
+ hintIdSignal = computed(() => `${this.key()}-hint`, /* @ts-ignore */
7444
+ ...(ngDevMode ? [{ debugName: "hintIdSignal" }] : /* istanbul ignore next */ []));
7445
+ errorIdSignal = computed(() => `${this.key()}-error`, /* @ts-ignore */
7446
+ ...(ngDevMode ? [{ debugName: "errorIdSignal" }] : /* istanbul ignore next */ []));
7268
7447
  searchInputPlaceholderSignal = computed(() => {
7269
7448
  const p = this.props();
7270
7449
  const placeholderValue = this.placeholder();
7271
7450
  const searchOnEmpty = p?.searchOnEmptyText ?? false;
7272
7451
  const placeholder = typeof placeholderValue === 'string' ? placeholderValue : undefined;
7273
7452
  return placeholder || (searchOnEmpty ? '' : DEFAULT_SEARCH_INPUT_PLACEHOLDER);
7274
- }, ...(ngDevMode ? [{ debugName: "searchInputPlaceholderSignal" }] : /* istanbul ignore next */ []));
7453
+ }, /* @ts-ignore */
7454
+ ...(ngDevMode ? [{ debugName: "searchInputPlaceholderSignal" }] : /* istanbul ignore next */ []));
7275
7455
  // MARK: Search Results
7276
7456
  searchResultsState$ = this.inputValueString$.pipe(switchMap((text) => {
7277
7457
  const p = this.props();
@@ -7351,10 +7531,10 @@ class AbstractForgeSearchableFieldDirective {
7351
7531
  return obs;
7352
7532
  }));
7353
7533
  }
7354
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: AbstractForgeSearchableFieldDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
7355
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.2.11", type: AbstractForgeSearchableFieldDirective, isStandalone: true, inputs: { 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 }, meta: { classPropertyName: "meta", publicName: "meta", 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 } }, ngImport: i0 });
7534
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: AbstractForgeSearchableFieldDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
7535
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "22.1.4", type: AbstractForgeSearchableFieldDirective, isStandalone: true, inputs: { 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 }, meta: { classPropertyName: "meta", publicName: "meta", 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 } }, ngImport: i0 });
7356
7536
  }
7357
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: AbstractForgeSearchableFieldDirective, decorators: [{
7537
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: AbstractForgeSearchableFieldDirective, decorators: [{
7358
7538
  type: Directive
7359
7539
  }], propDecorators: { key: [{ type: i0.Input, args: [{ isSignal: true, alias: "key", required: true }] }], label: [{ type: i0.Input, args: [{ isSignal: true, alias: "label", required: false }] }], placeholder: [{ type: i0.Input, args: [{ isSignal: true, alias: "placeholder", required: false }] }], className: [{ type: i0.Input, args: [{ isSignal: true, alias: "className", required: false }] }], tabIndex: [{ type: i0.Input, args: [{ isSignal: true, alias: "tabIndex", required: false }] }], props: [{ type: i0.Input, args: [{ isSignal: true, alias: "props", required: false }] }], meta: [{ type: i0.Input, args: [{ isSignal: true, alias: "meta", required: false }] }], validationMessages: [{ type: i0.Input, args: [{ isSignal: true, alias: "validationMessages", required: false }] }], defaultValidationMessages: [{ type: i0.Input, args: [{ isSignal: true, alias: "defaultValidationMessages", required: false }] }] } });
7360
7540
 
@@ -7468,8 +7648,10 @@ function dbxForgeSearchableStringChipField(config) {
7468
7648
  */
7469
7649
  class DbxForgeSearchableTextFieldComponent extends AbstractForgeSearchableFieldDirective {
7470
7650
  elementRef = inject((ElementRef));
7471
- field = input.required(...(ngDevMode ? [{ debugName: "field" }] : /* istanbul ignore next */ []));
7472
- textInputRef = viewChild('textInput', ...(ngDevMode ? [{ debugName: "textInputRef" }] : /* istanbul ignore next */ []));
7651
+ field = input.required(/* @ts-ignore */
7652
+ ...(ngDevMode ? [{ debugName: "field" }] : /* istanbul ignore next */ []));
7653
+ textInputRef = viewChild('textInput', /* @ts-ignore */
7654
+ ...(ngDevMode ? [{ debugName: "textInputRef" }] : /* istanbul ignore next */ []));
7473
7655
  _singleValueSyncSub = cleanSubscription();
7474
7656
  _valuesSubject = completeOnDestroy(new BehaviorSubject([]));
7475
7657
  // Disabled state
@@ -7477,42 +7659,52 @@ class DbxForgeSearchableTextFieldComponent extends AbstractForgeSearchableFieldD
7477
7659
  // Error handling
7478
7660
  resolvedErrors = createResolvedErrorsSignal(this.field, this.validationMessages, this.defaultValidationMessages);
7479
7661
  showErrors = shouldShowErrors(this.field);
7480
- errorsToDisplaySignal = computed(() => (this.showErrors() ? this.resolvedErrors() : []), ...(ngDevMode ? [{ debugName: "errorsToDisplaySignal" }] : /* istanbul ignore next */ []));
7662
+ errorsToDisplaySignal = computed(() => (this.showErrors() ? this.resolvedErrors() : []), /* @ts-ignore */
7663
+ ...(ngDevMode ? [{ debugName: "errorsToDisplaySignal" }] : /* istanbul ignore next */ []));
7481
7664
  // ARIA
7482
- ariaInvalidSignal = computed(() => (this.showErrors() ? 'true' : null), ...(ngDevMode ? [{ debugName: "ariaInvalidSignal" }] : /* istanbul ignore next */ []));
7665
+ ariaInvalidSignal = computed(() => (this.showErrors() ? 'true' : null), /* @ts-ignore */
7666
+ ...(ngDevMode ? [{ debugName: "ariaInvalidSignal" }] : /* istanbul ignore next */ []));
7483
7667
  ariaDescribedBySignal = computed(() => {
7484
7668
  if (this.errorsToDisplaySignal().length > 0)
7485
7669
  return this.errorIdSignal();
7486
7670
  if (this.props()?.hint)
7487
7671
  return this.hintIdSignal();
7488
7672
  return null;
7489
- }, ...(ngDevMode ? [{ debugName: "ariaDescribedBySignal" }] : /* istanbul ignore next */ []));
7490
- showClearValueSignal = computed(() => this.props()?.showClearValue ?? true, ...(ngDevMode ? [{ debugName: "showClearValueSignal" }] : /* istanbul ignore next */ []));
7491
- searchLabelSignal = computed(() => this.props()?.searchLabel ?? 'Search', ...(ngDevMode ? [{ debugName: "searchLabelSignal" }] : /* istanbul ignore next */ []));
7673
+ }, /* @ts-ignore */
7674
+ ...(ngDevMode ? [{ debugName: "ariaDescribedBySignal" }] : /* istanbul ignore next */ []));
7675
+ showClearValueSignal = computed(() => this.props()?.showClearValue ?? true, /* @ts-ignore */
7676
+ ...(ngDevMode ? [{ debugName: "showClearValueSignal" }] : /* istanbul ignore next */ []));
7677
+ searchLabelSignal = computed(() => this.props()?.searchLabel ?? 'Search', /* @ts-ignore */
7678
+ ...(ngDevMode ? [{ debugName: "searchLabelSignal" }] : /* istanbul ignore next */ []));
7492
7679
  fieldValueSignal = computed(() => {
7493
7680
  const fieldGetter = this.field();
7494
7681
  const fieldState = typeof fieldGetter === 'function' ? fieldGetter() : undefined;
7495
7682
  return fieldState?.value?.();
7496
- }, ...(ngDevMode ? [{ debugName: "fieldValueSignal" }] : /* istanbul ignore next */ []));
7683
+ }, /* @ts-ignore */
7684
+ ...(ngDevMode ? [{ debugName: "fieldValueSignal" }] : /* istanbul ignore next */ []));
7497
7685
  displayValues$ = this._valuesSubject.pipe(switchMap((values) => this._loadDisplayValuesForValues(values)), map((x) => x?.value ?? []), shareReplay(1));
7498
7686
  selectedDisplayValue$ = this.displayValues$.pipe(map((x) => x[0]), shareReplay(1));
7499
7687
  selectedDisplayValueSignal = toSignal(this.selectedDisplayValue$);
7500
- hasValueSignal = computed(() => Boolean(this.selectedDisplayValueSignal()), ...(ngDevMode ? [{ debugName: "hasValueSignal" }] : /* istanbul ignore next */ []));
7688
+ hasValueSignal = computed(() => Boolean(this.selectedDisplayValueSignal()), /* @ts-ignore */
7689
+ ...(ngDevMode ? [{ debugName: "hasValueSignal" }] : /* istanbul ignore next */ []));
7501
7690
  showSelectedDisplayValueSignal = computed(() => {
7502
7691
  const hasValue = this.hasValueSignal();
7503
7692
  const p = this.props();
7504
7693
  const showSelected = p?.showSelectedValue ?? !(p?.allowStringValues ?? false);
7505
7694
  return showSelected && hasValue;
7506
- }, ...(ngDevMode ? [{ debugName: "showSelectedDisplayValueSignal" }] : /* istanbul ignore next */ []));
7695
+ }, /* @ts-ignore */
7696
+ ...(ngDevMode ? [{ debugName: "showSelectedDisplayValueSignal" }] : /* istanbul ignore next */ []));
7507
7697
  // Disabled state propagation
7508
7698
  _disabledEffect = effect(() => {
7509
7699
  toggleDisableFormControl(this.inputCtrl, this.isDisabled());
7510
- }, ...(ngDevMode ? [{ debugName: "_disabledEffect" }] : /* istanbul ignore next */ []));
7700
+ }, /* @ts-ignore */
7701
+ ...(ngDevMode ? [{ debugName: "_disabledEffect" }] : /* istanbul ignore next */ []));
7511
7702
  _syncFieldValueEffect = effect(() => {
7512
7703
  const fieldValue = this.fieldValueSignal();
7513
7704
  const values = fieldValue != null && fieldValue !== '' ? [fieldValue] : [];
7514
7705
  this._valuesSubject.next(values);
7515
- }, ...(ngDevMode ? [{ debugName: "_syncFieldValueEffect" }] : /* istanbul ignore next */ []));
7706
+ }, /* @ts-ignore */
7707
+ ...(ngDevMode ? [{ debugName: "_syncFieldValueEffect" }] : /* istanbul ignore next */ []));
7516
7708
  constructor() {
7517
7709
  super();
7518
7710
  setupMetaTracking(this.elementRef, this.meta, { selector: 'input' });
@@ -7557,12 +7749,12 @@ class DbxForgeSearchableTextFieldComponent extends AbstractForgeSearchableFieldD
7557
7749
  fieldState.value.set(value ?? null);
7558
7750
  }
7559
7751
  }
7560
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: DbxForgeSearchableTextFieldComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
7561
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.11", type: DbxForgeSearchableTextFieldComponent, isStandalone: true, selector: "dbx-forge-searchable-text-field", inputs: { field: { classPropertyName: "field", publicName: "field", isSignal: true, isRequired: true, transformFunction: null } }, viewQueries: [{ propertyName: "textInputRef", first: true, predicate: ["textInput"], descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"dbx-searchable-text-field\" tabindex=\"0\" (click)=\"focusInput()\" (keydown.enter)=\"focusInput()\" [class.dbx-searchable-text-field-has-value]=\"hasValueSignal()\" [class.dbx-searchable-text-field-show-value]=\"showSelectedDisplayValueSignal()\">\n @if (showSelectedDisplayValueSignal()) {\n @let sv = selectedDisplayValueSignal();\n @if (sv) {\n <div class=\"dbx-searchable-text-field-value\">\n <dbx-searchable-field-autocomplete-item [displayValue]=\"sv\"></dbx-searchable-field-autocomplete-item>\n </div>\n }\n }\n <div class=\"dbx-searchable-text-field-input\">\n @if (searchLabelSignal()) {\n <div class=\"dbx-label\">{{ searchLabelSignal() }}</div>\n }\n <input #textInput class=\"dbx-forge-bare-input\" [formControl]=\"inputCtrl\" [matAutocomplete]=\"auto\" [placeholder]=\"searchInputPlaceholderSignal()\" [attr.aria-invalid]=\"ariaInvalidSignal()\" [attr.aria-describedby]=\"ariaDescribedBySignal()\" />\n </div>\n</div>\n<mat-autocomplete class=\"dbx-searchable-text-field-autocomplete\" #auto=\"matAutocomplete\" (optionSelected)=\"selected($event)\">\n @if (showClearValueSignal() && hasValueSignal()) {\n <mat-option [value]=\"{ _clear: true }\">Clear</mat-option>\n }\n @for (result of searchResultsSignal(); track $index) {\n <mat-option [value]=\"result\" [class.dbx-searchable-field-anchor-option]=\"!!result.anchor\">\n <dbx-searchable-field-autocomplete-item [displayValue]=\"result\"></dbx-searchable-field-autocomplete-item>\n </mat-option>\n }\n</mat-autocomplete>\n", dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1$4.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: MatAutocompleteModule }, { kind: "component", type: i2$1.MatAutocomplete, selector: "mat-autocomplete", inputs: ["aria-label", "aria-labelledby", "displayWith", "autoActiveFirstOption", "autoSelectActiveOption", "requireSelection", "panelWidth", "disableRipple", "class", "hideSingleSelectionIndicator"], outputs: ["optionSelected", "opened", "closed", "optionActivated"], exportAs: ["matAutocomplete"] }, { kind: "component", type: i2$1.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "directive", type: i2$1.MatAutocompleteTrigger, selector: "input[matAutocomplete], textarea[matAutocomplete]", inputs: ["matAutocomplete", "matAutocompletePosition", "matAutocompleteConnectedTo", "autocomplete", "matAutocompleteDisabled"], exportAs: ["matAutocompleteTrigger"] }, { kind: "ngmodule", type: MatOptionModule }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: DbxSearchableFieldAutocompleteItemComponent, selector: "dbx-searchable-field-autocomplete-item", inputs: ["displayValue"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
7752
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: DbxForgeSearchableTextFieldComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
7753
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.4", type: DbxForgeSearchableTextFieldComponent, isStandalone: true, selector: "dbx-forge-searchable-text-field", inputs: { field: { classPropertyName: "field", publicName: "field", isSignal: true, isRequired: true, transformFunction: null } }, viewQueries: [{ propertyName: "textInputRef", first: true, predicate: ["textInput"], descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"dbx-searchable-text-field\" tabindex=\"0\" (click)=\"focusInput()\" (keydown.enter)=\"focusInput()\" [class.dbx-searchable-text-field-has-value]=\"hasValueSignal()\" [class.dbx-searchable-text-field-show-value]=\"showSelectedDisplayValueSignal()\">\n @if (showSelectedDisplayValueSignal()) {\n @let sv = selectedDisplayValueSignal();\n @if (sv) {\n <div class=\"dbx-searchable-text-field-value\">\n <dbx-searchable-field-autocomplete-item [displayValue]=\"sv\"></dbx-searchable-field-autocomplete-item>\n </div>\n }\n }\n <div class=\"dbx-searchable-text-field-input\">\n @if (searchLabelSignal()) {\n <div class=\"dbx-label\">{{ searchLabelSignal() }}</div>\n }\n <input #textInput class=\"dbx-forge-bare-input\" [formControl]=\"inputCtrl\" [matAutocomplete]=\"auto\" [placeholder]=\"searchInputPlaceholderSignal()\" [attr.aria-invalid]=\"ariaInvalidSignal()\" [attr.aria-describedby]=\"ariaDescribedBySignal()\" />\n </div>\n</div>\n<mat-autocomplete class=\"dbx-searchable-text-field-autocomplete\" #auto=\"matAutocomplete\" (optionSelected)=\"selected($event)\">\n @if (showClearValueSignal() && hasValueSignal()) {\n <mat-option [value]=\"{ _clear: true }\">Clear</mat-option>\n }\n @for (result of searchResultsSignal(); track $index) {\n <mat-option [value]=\"result\" [class.dbx-searchable-field-anchor-option]=\"!!result.anchor\">\n <dbx-searchable-field-autocomplete-item [displayValue]=\"result\"></dbx-searchable-field-autocomplete-item>\n </mat-option>\n }\n</mat-autocomplete>\n", dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$4.DefaultValueAccessor, selector: "input:not([type=checkbox]):not([ngNoCva])[formControlName],textarea:not([ngNoCva])[formControlName],input:not([type=checkbox]):not([ngNoCva])[formControl],textarea:not([ngNoCva])[formControl],input:not([type=checkbox]):not([ngNoCva])[ngModel],textarea:not([ngNoCva])[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1$4.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: MatAutocompleteModule }, { kind: "component", type: i2$1.MatAutocomplete, selector: "mat-autocomplete", inputs: ["aria-label", "aria-labelledby", "displayWith", "autoActiveFirstOption", "autoSelectActiveOption", "requireSelection", "panelWidth", "disableRipple", "class", "hideSingleSelectionIndicator"], outputs: ["optionSelected", "opened", "closed", "optionActivated"], exportAs: ["matAutocomplete"] }, { kind: "component", type: i2$1.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "directive", type: i2$1.MatAutocompleteTrigger, selector: "input[matAutocomplete], textarea[matAutocomplete]", inputs: ["matAutocomplete", "matAutocompletePosition", "matAutocompleteConnectedTo", "autocomplete", "matAutocompleteDisabled"], exportAs: ["matAutocompleteTrigger"] }, { kind: "ngmodule", type: MatOptionModule }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: DbxSearchableFieldAutocompleteItemComponent, selector: "dbx-searchable-field-autocomplete-item", inputs: ["displayValue"] }] });
7562
7754
  }
7563
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: DbxForgeSearchableTextFieldComponent, decorators: [{
7755
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: DbxForgeSearchableTextFieldComponent, decorators: [{
7564
7756
  type: Component,
7565
- args: [{ selector: 'dbx-forge-searchable-text-field', imports: [FormsModule, ReactiveFormsModule, MatAutocompleteModule, MatOptionModule, MatIconModule, DbxSearchableFieldAutocompleteItemComponent], changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, template: "<div class=\"dbx-searchable-text-field\" tabindex=\"0\" (click)=\"focusInput()\" (keydown.enter)=\"focusInput()\" [class.dbx-searchable-text-field-has-value]=\"hasValueSignal()\" [class.dbx-searchable-text-field-show-value]=\"showSelectedDisplayValueSignal()\">\n @if (showSelectedDisplayValueSignal()) {\n @let sv = selectedDisplayValueSignal();\n @if (sv) {\n <div class=\"dbx-searchable-text-field-value\">\n <dbx-searchable-field-autocomplete-item [displayValue]=\"sv\"></dbx-searchable-field-autocomplete-item>\n </div>\n }\n }\n <div class=\"dbx-searchable-text-field-input\">\n @if (searchLabelSignal()) {\n <div class=\"dbx-label\">{{ searchLabelSignal() }}</div>\n }\n <input #textInput class=\"dbx-forge-bare-input\" [formControl]=\"inputCtrl\" [matAutocomplete]=\"auto\" [placeholder]=\"searchInputPlaceholderSignal()\" [attr.aria-invalid]=\"ariaInvalidSignal()\" [attr.aria-describedby]=\"ariaDescribedBySignal()\" />\n </div>\n</div>\n<mat-autocomplete class=\"dbx-searchable-text-field-autocomplete\" #auto=\"matAutocomplete\" (optionSelected)=\"selected($event)\">\n @if (showClearValueSignal() && hasValueSignal()) {\n <mat-option [value]=\"{ _clear: true }\">Clear</mat-option>\n }\n @for (result of searchResultsSignal(); track $index) {\n <mat-option [value]=\"result\" [class.dbx-searchable-field-anchor-option]=\"!!result.anchor\">\n <dbx-searchable-field-autocomplete-item [displayValue]=\"result\"></dbx-searchable-field-autocomplete-item>\n </mat-option>\n }\n</mat-autocomplete>\n" }]
7757
+ args: [{ selector: 'dbx-forge-searchable-text-field', imports: [FormsModule, ReactiveFormsModule, MatAutocompleteModule, MatOptionModule, MatIconModule, DbxSearchableFieldAutocompleteItemComponent], template: "<div class=\"dbx-searchable-text-field\" tabindex=\"0\" (click)=\"focusInput()\" (keydown.enter)=\"focusInput()\" [class.dbx-searchable-text-field-has-value]=\"hasValueSignal()\" [class.dbx-searchable-text-field-show-value]=\"showSelectedDisplayValueSignal()\">\n @if (showSelectedDisplayValueSignal()) {\n @let sv = selectedDisplayValueSignal();\n @if (sv) {\n <div class=\"dbx-searchable-text-field-value\">\n <dbx-searchable-field-autocomplete-item [displayValue]=\"sv\"></dbx-searchable-field-autocomplete-item>\n </div>\n }\n }\n <div class=\"dbx-searchable-text-field-input\">\n @if (searchLabelSignal()) {\n <div class=\"dbx-label\">{{ searchLabelSignal() }}</div>\n }\n <input #textInput class=\"dbx-forge-bare-input\" [formControl]=\"inputCtrl\" [matAutocomplete]=\"auto\" [placeholder]=\"searchInputPlaceholderSignal()\" [attr.aria-invalid]=\"ariaInvalidSignal()\" [attr.aria-describedby]=\"ariaDescribedBySignal()\" />\n </div>\n</div>\n<mat-autocomplete class=\"dbx-searchable-text-field-autocomplete\" #auto=\"matAutocomplete\" (optionSelected)=\"selected($event)\">\n @if (showClearValueSignal() && hasValueSignal()) {\n <mat-option [value]=\"{ _clear: true }\">Clear</mat-option>\n }\n @for (result of searchResultsSignal(); track $index) {\n <mat-option [value]=\"result\" [class.dbx-searchable-field-anchor-option]=\"!!result.anchor\">\n <dbx-searchable-field-autocomplete-item [displayValue]=\"result\"></dbx-searchable-field-autocomplete-item>\n </mat-option>\n }\n</mat-autocomplete>\n" }]
7566
7758
  }], ctorParameters: () => [], propDecorators: { field: [{ type: i0.Input, args: [{ isSignal: true, alias: "field", required: true }] }], textInputRef: [{ type: i0.ViewChild, args: ['textInput', { isSignal: true }] }] } });
7567
7759
 
7568
7760
  var searchableText_field_component = /*#__PURE__*/Object.freeze({
@@ -7578,23 +7770,27 @@ var searchableText_field_component = /*#__PURE__*/Object.freeze({
7578
7770
  */
7579
7771
  class DbxForgeSearchableChipFieldComponent extends AbstractForgeSearchableFieldDirective {
7580
7772
  elementRef = inject((ElementRef));
7581
- field = input.required(...(ngDevMode ? [{ debugName: "field" }] : /* istanbul ignore next */ []));
7773
+ field = input.required(/* @ts-ignore */
7774
+ ...(ngDevMode ? [{ debugName: "field" }] : /* istanbul ignore next */ []));
7582
7775
  separatorKeysCodes = [ENTER, COMMA];
7583
7776
  // Disabled state
7584
7777
  isDisabled = dbxForgeFieldDisabled();
7585
7778
  // Error handling
7586
7779
  resolvedErrors = createResolvedErrorsSignal(this.field, this.validationMessages, this.defaultValidationMessages);
7587
7780
  showErrors = shouldShowErrors(this.field);
7588
- errorsToDisplaySignal = computed(() => (this.showErrors() ? this.resolvedErrors() : []), ...(ngDevMode ? [{ debugName: "errorsToDisplaySignal" }] : /* istanbul ignore next */ []));
7781
+ errorsToDisplaySignal = computed(() => (this.showErrors() ? this.resolvedErrors() : []), /* @ts-ignore */
7782
+ ...(ngDevMode ? [{ debugName: "errorsToDisplaySignal" }] : /* istanbul ignore next */ []));
7589
7783
  // ARIA
7590
- ariaInvalidSignal = computed(() => (this.showErrors() ? 'true' : null), ...(ngDevMode ? [{ debugName: "ariaInvalidSignal" }] : /* istanbul ignore next */ []));
7784
+ ariaInvalidSignal = computed(() => (this.showErrors() ? 'true' : null), /* @ts-ignore */
7785
+ ...(ngDevMode ? [{ debugName: "ariaInvalidSignal" }] : /* istanbul ignore next */ []));
7591
7786
  ariaDescribedBySignal = computed(() => {
7592
7787
  if (this.errorsToDisplaySignal().length > 0)
7593
7788
  return this.errorIdSignal();
7594
7789
  if (this.props()?.hint)
7595
7790
  return this.hintIdSignal();
7596
7791
  return null;
7597
- }, ...(ngDevMode ? [{ debugName: "ariaDescribedBySignal" }] : /* istanbul ignore next */ []));
7792
+ }, /* @ts-ignore */
7793
+ ...(ngDevMode ? [{ debugName: "ariaDescribedBySignal" }] : /* istanbul ignore next */ []));
7598
7794
  _blur = completeOnDestroy(new Subject());
7599
7795
  _blurSub = cleanSubscription();
7600
7796
  _valuesSubject = completeOnDestroy(new BehaviorSubject([]));
@@ -7604,14 +7800,16 @@ class DbxForgeSearchableChipFieldComponent extends AbstractForgeSearchableFieldD
7604
7800
  // Disabled state propagation
7605
7801
  _disabledEffect = effect(() => {
7606
7802
  toggleDisableFormControl(this.inputCtrl, this.isDisabled());
7607
- }, ...(ngDevMode ? [{ debugName: "_disabledEffect" }] : /* istanbul ignore next */ []));
7803
+ }, /* @ts-ignore */
7804
+ ...(ngDevMode ? [{ debugName: "_disabledEffect" }] : /* istanbul ignore next */ []));
7608
7805
  _syncFieldValueEffect = effect(() => {
7609
7806
  const fieldGetter = this.field();
7610
7807
  const fieldState = typeof fieldGetter === 'function' ? fieldGetter() : undefined;
7611
7808
  const fieldValue = fieldState?.value?.();
7612
7809
  const values = fieldValue == null ? [] : convertMaybeToArray(fieldValue).filter((v) => v != null && v !== '');
7613
7810
  this._valuesSubject.next(values);
7614
- }, ...(ngDevMode ? [{ debugName: "_syncFieldValueEffect" }] : /* istanbul ignore next */ []));
7811
+ }, /* @ts-ignore */
7812
+ ...(ngDevMode ? [{ debugName: "_syncFieldValueEffect" }] : /* istanbul ignore next */ []));
7615
7813
  constructor() {
7616
7814
  super();
7617
7815
  setupMetaTracking(this.elementRef, this.meta, { selector: 'input' });
@@ -7746,12 +7944,12 @@ class DbxForgeSearchableChipFieldComponent extends AbstractForgeSearchableFieldD
7746
7944
  fieldState.value.set(newValue ?? null);
7747
7945
  }
7748
7946
  }
7749
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: DbxForgeSearchableChipFieldComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
7750
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.11", type: DbxForgeSearchableChipFieldComponent, isStandalone: true, selector: "dbx-forge-searchable-chip-field", inputs: { field: { classPropertyName: "field", publicName: "field", isSignal: true, isRequired: true, transformFunction: null } }, usesInheritance: true, ngImport: i0, template: "<div class=\"dbx-searchable-field dbx-searchable-chip-field\">\n <mat-chip-grid #chipGrid>\n @for (dv of displayValuesSignal(); track $index) {\n <mat-chip-row (removed)=\"removeWithDisplayValue(dv)\">\n <dbx-searchable-field-autocomplete-item [displayValue]=\"dv\"></dbx-searchable-field-autocomplete-item>\n <button matChipRemove>\n <mat-icon>cancel</mat-icon>\n </button>\n </mat-chip-row>\n }\n <input #textInput class=\"dbx-forge-bare-input\" [class.dbx-warn]=\"inputErrorMessage\" [formControl]=\"inputCtrl\" [matAutocomplete]=\"auto\" [matChipInputFor]=\"chipGrid\" [matChipInputSeparatorKeyCodes]=\"separatorKeysCodes\" (matChipInputTokenEnd)=\"addChip($event)\" [placeholder]=\"searchInputPlaceholderSignal()\" (blur)=\"onBlur()\" (keydown)=\"tabPressedOnInput($event)\" [attr.aria-invalid]=\"ariaInvalidSignal()\" [attr.aria-describedby]=\"ariaDescribedBySignal()\" />\n </mat-chip-grid>\n @if (inputCtrl.value && inputCtrl.touched && inputErrorMessage) {\n <div class=\"dbx-small mat-mdc-form-field-error mat-mdc-form-field-bottom-align\">{{ inputErrorMessage }}</div>\n }\n</div>\n<mat-autocomplete class=\"dbx-searchable-text-field-autocomplete\" #auto=\"matAutocomplete\" (optionSelected)=\"selectedChip($event)\">\n @for (result of searchResultsSignal(); track $index) {\n <mat-option [value]=\"result\">\n <dbx-searchable-field-autocomplete-item [displayValue]=\"result\"></dbx-searchable-field-autocomplete-item>\n </mat-option>\n }\n</mat-autocomplete>\n", dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1$4.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: MatAutocompleteModule }, { kind: "component", type: i2$1.MatAutocomplete, selector: "mat-autocomplete", inputs: ["aria-label", "aria-labelledby", "displayWith", "autoActiveFirstOption", "autoSelectActiveOption", "requireSelection", "panelWidth", "disableRipple", "class", "hideSingleSelectionIndicator"], outputs: ["optionSelected", "opened", "closed", "optionActivated"], exportAs: ["matAutocomplete"] }, { kind: "component", type: i2$1.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "directive", type: i2$1.MatAutocompleteTrigger, selector: "input[matAutocomplete], textarea[matAutocomplete]", inputs: ["matAutocomplete", "matAutocompletePosition", "matAutocompleteConnectedTo", "autocomplete", "matAutocompleteDisabled"], exportAs: ["matAutocompleteTrigger"] }, { kind: "ngmodule", type: MatChipsModule }, { kind: "component", type: i3$1.MatChipGrid, selector: "mat-chip-grid", inputs: ["disabled", "placeholder", "required", "value", "errorStateMatcher"], outputs: ["change", "valueChange"] }, { kind: "directive", type: i3$1.MatChipInput, selector: "input[matChipInputFor]", inputs: ["matChipInputFor", "matChipInputAddOnBlur", "matChipInputSeparatorKeyCodes", "placeholder", "id", "disabled", "readonly", "matChipInputDisabledInteractive"], outputs: ["matChipInputTokenEnd"], exportAs: ["matChipInput", "matChipInputFor"] }, { kind: "directive", type: i3$1.MatChipRemove, selector: "[matChipRemove]" }, { kind: "component", type: i3$1.MatChipRow, selector: "mat-chip-row, [mat-chip-row], mat-basic-chip-row, [mat-basic-chip-row]", inputs: ["editable"], outputs: ["edited"] }, { kind: "ngmodule", type: MatOptionModule }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i1$3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: DbxLoadingModule }, { kind: "component", type: DbxSearchableFieldAutocompleteItemComponent, selector: "dbx-searchable-field-autocomplete-item", inputs: ["displayValue"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
7947
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: DbxForgeSearchableChipFieldComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
7948
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.4", type: DbxForgeSearchableChipFieldComponent, isStandalone: true, selector: "dbx-forge-searchable-chip-field", inputs: { field: { classPropertyName: "field", publicName: "field", isSignal: true, isRequired: true, transformFunction: null } }, usesInheritance: true, ngImport: i0, template: "<div class=\"dbx-searchable-field dbx-searchable-chip-field\">\n <mat-chip-grid #chipGrid>\n @for (dv of displayValuesSignal(); track $index) {\n <mat-chip-row (removed)=\"removeWithDisplayValue(dv)\">\n <dbx-searchable-field-autocomplete-item [displayValue]=\"dv\"></dbx-searchable-field-autocomplete-item>\n <button matChipRemove>\n <mat-icon>cancel</mat-icon>\n </button>\n </mat-chip-row>\n }\n <input #textInput class=\"dbx-forge-bare-input\" [class.dbx-warn]=\"inputErrorMessage\" [formControl]=\"inputCtrl\" [matAutocomplete]=\"auto\" [matChipInputFor]=\"chipGrid\" [matChipInputSeparatorKeyCodes]=\"separatorKeysCodes\" (matChipInputTokenEnd)=\"addChip($event)\" [placeholder]=\"searchInputPlaceholderSignal()\" (blur)=\"onBlur()\" (keydown)=\"tabPressedOnInput($event)\" [attr.aria-invalid]=\"ariaInvalidSignal()\" [attr.aria-describedby]=\"ariaDescribedBySignal()\" />\n </mat-chip-grid>\n @if (inputCtrl.value && inputCtrl.touched && inputErrorMessage) {\n <div class=\"dbx-small mat-mdc-form-field-error mat-mdc-form-field-bottom-align\">{{ inputErrorMessage }}</div>\n }\n</div>\n<mat-autocomplete class=\"dbx-searchable-text-field-autocomplete\" #auto=\"matAutocomplete\" (optionSelected)=\"selectedChip($event)\">\n @for (result of searchResultsSignal(); track $index) {\n <mat-option [value]=\"result\">\n <dbx-searchable-field-autocomplete-item [displayValue]=\"result\"></dbx-searchable-field-autocomplete-item>\n </mat-option>\n }\n</mat-autocomplete>\n", dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$4.DefaultValueAccessor, selector: "input:not([type=checkbox]):not([ngNoCva])[formControlName],textarea:not([ngNoCva])[formControlName],input:not([type=checkbox]):not([ngNoCva])[formControl],textarea:not([ngNoCva])[formControl],input:not([type=checkbox]):not([ngNoCva])[ngModel],textarea:not([ngNoCva])[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1$4.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: MatAutocompleteModule }, { kind: "component", type: i2$1.MatAutocomplete, selector: "mat-autocomplete", inputs: ["aria-label", "aria-labelledby", "displayWith", "autoActiveFirstOption", "autoSelectActiveOption", "requireSelection", "panelWidth", "disableRipple", "class", "hideSingleSelectionIndicator"], outputs: ["optionSelected", "opened", "closed", "optionActivated"], exportAs: ["matAutocomplete"] }, { kind: "component", type: i2$1.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "directive", type: i2$1.MatAutocompleteTrigger, selector: "input[matAutocomplete], textarea[matAutocomplete]", inputs: ["matAutocomplete", "matAutocompletePosition", "matAutocompleteConnectedTo", "autocomplete", "matAutocompleteDisabled"], exportAs: ["matAutocompleteTrigger"] }, { kind: "ngmodule", type: MatChipsModule }, { kind: "component", type: i3$1.MatChipGrid, selector: "mat-chip-grid", inputs: ["disabled", "placeholder", "required", "value", "errorStateMatcher"], outputs: ["change", "valueChange"] }, { kind: "directive", type: i3$1.MatChipInput, selector: "input[matChipInputFor]", inputs: ["matChipInputFor", "matChipInputAddOnBlur", "matChipInputSeparatorKeyCodes", "placeholder", "id", "disabled", "readonly", "matChipInputDisabledInteractive"], outputs: ["matChipInputTokenEnd"], exportAs: ["matChipInput", "matChipInputFor"] }, { kind: "directive", type: i3$1.MatChipRemove, selector: "[matChipRemove]" }, { kind: "component", type: i3$1.MatChipRow, selector: "mat-chip-row, [mat-chip-row], mat-basic-chip-row, [mat-basic-chip-row]", inputs: ["editable"], outputs: ["edited"] }, { kind: "ngmodule", type: MatOptionModule }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i1$3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: DbxLoadingModule }, { kind: "component", type: DbxSearchableFieldAutocompleteItemComponent, selector: "dbx-searchable-field-autocomplete-item", inputs: ["displayValue"] }] });
7751
7949
  }
7752
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: DbxForgeSearchableChipFieldComponent, decorators: [{
7950
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: DbxForgeSearchableChipFieldComponent, decorators: [{
7753
7951
  type: Component,
7754
- args: [{ selector: 'dbx-forge-searchable-chip-field', imports: [FormsModule, ReactiveFormsModule, MatAutocompleteModule, MatChipsModule, MatOptionModule, MatIconModule, DbxLoadingModule, DbxSearchableFieldAutocompleteItemComponent], changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, template: "<div class=\"dbx-searchable-field dbx-searchable-chip-field\">\n <mat-chip-grid #chipGrid>\n @for (dv of displayValuesSignal(); track $index) {\n <mat-chip-row (removed)=\"removeWithDisplayValue(dv)\">\n <dbx-searchable-field-autocomplete-item [displayValue]=\"dv\"></dbx-searchable-field-autocomplete-item>\n <button matChipRemove>\n <mat-icon>cancel</mat-icon>\n </button>\n </mat-chip-row>\n }\n <input #textInput class=\"dbx-forge-bare-input\" [class.dbx-warn]=\"inputErrorMessage\" [formControl]=\"inputCtrl\" [matAutocomplete]=\"auto\" [matChipInputFor]=\"chipGrid\" [matChipInputSeparatorKeyCodes]=\"separatorKeysCodes\" (matChipInputTokenEnd)=\"addChip($event)\" [placeholder]=\"searchInputPlaceholderSignal()\" (blur)=\"onBlur()\" (keydown)=\"tabPressedOnInput($event)\" [attr.aria-invalid]=\"ariaInvalidSignal()\" [attr.aria-describedby]=\"ariaDescribedBySignal()\" />\n </mat-chip-grid>\n @if (inputCtrl.value && inputCtrl.touched && inputErrorMessage) {\n <div class=\"dbx-small mat-mdc-form-field-error mat-mdc-form-field-bottom-align\">{{ inputErrorMessage }}</div>\n }\n</div>\n<mat-autocomplete class=\"dbx-searchable-text-field-autocomplete\" #auto=\"matAutocomplete\" (optionSelected)=\"selectedChip($event)\">\n @for (result of searchResultsSignal(); track $index) {\n <mat-option [value]=\"result\">\n <dbx-searchable-field-autocomplete-item [displayValue]=\"result\"></dbx-searchable-field-autocomplete-item>\n </mat-option>\n }\n</mat-autocomplete>\n" }]
7952
+ args: [{ selector: 'dbx-forge-searchable-chip-field', imports: [FormsModule, ReactiveFormsModule, MatAutocompleteModule, MatChipsModule, MatOptionModule, MatIconModule, DbxLoadingModule, DbxSearchableFieldAutocompleteItemComponent], template: "<div class=\"dbx-searchable-field dbx-searchable-chip-field\">\n <mat-chip-grid #chipGrid>\n @for (dv of displayValuesSignal(); track $index) {\n <mat-chip-row (removed)=\"removeWithDisplayValue(dv)\">\n <dbx-searchable-field-autocomplete-item [displayValue]=\"dv\"></dbx-searchable-field-autocomplete-item>\n <button matChipRemove>\n <mat-icon>cancel</mat-icon>\n </button>\n </mat-chip-row>\n }\n <input #textInput class=\"dbx-forge-bare-input\" [class.dbx-warn]=\"inputErrorMessage\" [formControl]=\"inputCtrl\" [matAutocomplete]=\"auto\" [matChipInputFor]=\"chipGrid\" [matChipInputSeparatorKeyCodes]=\"separatorKeysCodes\" (matChipInputTokenEnd)=\"addChip($event)\" [placeholder]=\"searchInputPlaceholderSignal()\" (blur)=\"onBlur()\" (keydown)=\"tabPressedOnInput($event)\" [attr.aria-invalid]=\"ariaInvalidSignal()\" [attr.aria-describedby]=\"ariaDescribedBySignal()\" />\n </mat-chip-grid>\n @if (inputCtrl.value && inputCtrl.touched && inputErrorMessage) {\n <div class=\"dbx-small mat-mdc-form-field-error mat-mdc-form-field-bottom-align\">{{ inputErrorMessage }}</div>\n }\n</div>\n<mat-autocomplete class=\"dbx-searchable-text-field-autocomplete\" #auto=\"matAutocomplete\" (optionSelected)=\"selectedChip($event)\">\n @for (result of searchResultsSignal(); track $index) {\n <mat-option [value]=\"result\">\n <dbx-searchable-field-autocomplete-item [displayValue]=\"result\"></dbx-searchable-field-autocomplete-item>\n </mat-option>\n }\n</mat-autocomplete>\n" }]
7755
7953
  }], ctorParameters: () => [], propDecorators: { field: [{ type: i0.Input, args: [{ isSignal: true, alias: "field", required: true }] }] } });
7756
7954
 
7757
7955
  var searchableChip_field_component = /*#__PURE__*/Object.freeze({
@@ -7779,16 +7977,26 @@ const FORGE_PICKABLE_LIST_FIELD_TYPE = 'dbx-pickable-list';
7779
7977
  */
7780
7978
  class AbstractForgePickableItemFieldDirective {
7781
7979
  // MARK: ng-forge ValueFieldComponent Inputs
7782
- field = input.required(...(ngDevMode ? [{ debugName: "field" }] : /* istanbul ignore next */ []));
7783
- key = input.required(...(ngDevMode ? [{ debugName: "key" }] : /* istanbul ignore next */ []));
7784
- label = input(...(ngDevMode ? [undefined, { debugName: "label" }] : /* istanbul ignore next */ []));
7785
- placeholder = input(...(ngDevMode ? [undefined, { debugName: "placeholder" }] : /* istanbul ignore next */ []));
7786
- className = input('', ...(ngDevMode ? [{ debugName: "className" }] : /* istanbul ignore next */ []));
7787
- tabIndex = input(...(ngDevMode ? [undefined, { debugName: "tabIndex" }] : /* istanbul ignore next */ []));
7788
- props = input(...(ngDevMode ? [undefined, { debugName: "props" }] : /* istanbul ignore next */ []));
7789
- meta = input(...(ngDevMode ? [undefined, { debugName: "meta" }] : /* istanbul ignore next */ []));
7790
- validationMessages = input(...(ngDevMode ? [undefined, { debugName: "validationMessages" }] : /* istanbul ignore next */ []));
7791
- defaultValidationMessages = input(...(ngDevMode ? [undefined, { debugName: "defaultValidationMessages" }] : /* istanbul ignore next */ []));
7980
+ field = input.required(/* @ts-ignore */
7981
+ ...(ngDevMode ? [{ debugName: "field" }] : /* istanbul ignore next */ []));
7982
+ key = input.required(/* @ts-ignore */
7983
+ ...(ngDevMode ? [{ debugName: "key" }] : /* istanbul ignore next */ []));
7984
+ label = input(/* @ts-ignore */
7985
+ ...(ngDevMode ? [undefined, { debugName: "label" }] : /* istanbul ignore next */ []));
7986
+ placeholder = input(/* @ts-ignore */
7987
+ ...(ngDevMode ? [undefined, { debugName: "placeholder" }] : /* istanbul ignore next */ []));
7988
+ className = input('', /* @ts-ignore */
7989
+ ...(ngDevMode ? [{ debugName: "className" }] : /* istanbul ignore next */ []));
7990
+ tabIndex = input(/* @ts-ignore */
7991
+ ...(ngDevMode ? [undefined, { debugName: "tabIndex" }] : /* istanbul ignore next */ []));
7992
+ props = input(/* @ts-ignore */
7993
+ ...(ngDevMode ? [undefined, { debugName: "props" }] : /* istanbul ignore next */ []));
7994
+ meta = input(/* @ts-ignore */
7995
+ ...(ngDevMode ? [undefined, { debugName: "meta" }] : /* istanbul ignore next */ []));
7996
+ validationMessages = input(/* @ts-ignore */
7997
+ ...(ngDevMode ? [undefined, { debugName: "validationMessages" }] : /* istanbul ignore next */ []));
7998
+ defaultValidationMessages = input(/* @ts-ignore */
7999
+ ...(ngDevMode ? [undefined, { debugName: "defaultValidationMessages" }] : /* istanbul ignore next */ []));
7792
8000
  inputCtrl = new FormControl('');
7793
8001
  _clearDisplayHashMapSub = cleanSubscription();
7794
8002
  _displayHashMap = completeOnDestroy(new BehaviorSubject(new Map()));
@@ -7797,35 +8005,49 @@ class AbstractForgePickableItemFieldDirective {
7797
8005
  labelSignal = computed(() => {
7798
8006
  const l = this.label();
7799
8007
  return typeof l === 'string' ? l : undefined;
7800
- }, ...(ngDevMode ? [{ debugName: "labelSignal" }] : /* istanbul ignore next */ []));
7801
- hintSignal = computed(() => this.props()?.hint, ...(ngDevMode ? [{ debugName: "hintSignal" }] : /* istanbul ignore next */ []));
7802
- multiSelectSignal = computed(() => this.props()?.multiSelect ?? true, ...(ngDevMode ? [{ debugName: "multiSelectSignal" }] : /* istanbul ignore next */ []));
8008
+ }, /* @ts-ignore */
8009
+ ...(ngDevMode ? [{ debugName: "labelSignal" }] : /* istanbul ignore next */ []));
8010
+ hintSignal = computed(() => this.props()?.hint, /* @ts-ignore */
8011
+ ...(ngDevMode ? [{ debugName: "hintSignal" }] : /* istanbul ignore next */ []));
8012
+ multiSelectSignal = computed(() => this.props()?.multiSelect ?? true, /* @ts-ignore */
8013
+ ...(ngDevMode ? [{ debugName: "multiSelectSignal" }] : /* istanbul ignore next */ []));
7803
8014
  isDisabled = dbxForgeFieldDisabled();
7804
8015
  readonlySignal = computed(() => {
7805
8016
  const fieldGetter = this.field();
7806
8017
  const fieldState = typeof fieldGetter === 'function' ? fieldGetter() : undefined;
7807
8018
  return fieldState?.readonly?.() ?? false;
7808
- }, ...(ngDevMode ? [{ debugName: "readonlySignal" }] : /* istanbul ignore next */ []));
8019
+ }, /* @ts-ignore */
8020
+ ...(ngDevMode ? [{ debugName: "readonlySignal" }] : /* istanbul ignore next */ []));
7809
8021
  isDisabledOrReadonlySignal = computed(() => {
7810
8022
  const readonly = this.readonlySignal();
7811
8023
  return this.isDisabled() || readonly;
7812
- }, ...(ngDevMode ? [{ debugName: "isDisabledOrReadonlySignal" }] : /* istanbul ignore next */ []));
7813
- showSelectAllButtonSignal = computed(() => this.props()?.showSelectAllButton ?? false, ...(ngDevMode ? [{ debugName: "showSelectAllButtonSignal" }] : /* istanbul ignore next */ []));
8024
+ }, /* @ts-ignore */
8025
+ ...(ngDevMode ? [{ debugName: "isDisabledOrReadonlySignal" }] : /* istanbul ignore next */ []));
8026
+ showSelectAllButtonSignal = computed(() => this.props()?.showSelectAllButton ?? false, /* @ts-ignore */
8027
+ ...(ngDevMode ? [{ debugName: "showSelectAllButtonSignal" }] : /* istanbul ignore next */ []));
7814
8028
  showTextFilterSignal = computed(() => {
7815
8029
  const props = this.props();
7816
8030
  return this.props()?.showTextFilter ?? Boolean(props?.filterValues);
7817
- }, ...(ngDevMode ? [{ debugName: "showTextFilterSignal" }] : /* istanbul ignore next */ []));
7818
- filterLabelSignal = computed(() => this.props()?.filterLabel, ...(ngDevMode ? [{ debugName: "filterLabelSignal" }] : /* istanbul ignore next */ []));
7819
- footerConfigSignal = computed(() => this.props()?.footerConfig, ...(ngDevMode ? [{ debugName: "footerConfigSignal" }] : /* istanbul ignore next */ []));
8031
+ }, /* @ts-ignore */
8032
+ ...(ngDevMode ? [{ debugName: "showTextFilterSignal" }] : /* istanbul ignore next */ []));
8033
+ filterLabelSignal = computed(() => this.props()?.filterLabel, /* @ts-ignore */
8034
+ ...(ngDevMode ? [{ debugName: "filterLabelSignal" }] : /* istanbul ignore next */ []));
8035
+ footerConfigSignal = computed(() => this.props()?.footerConfig, /* @ts-ignore */
8036
+ ...(ngDevMode ? [{ debugName: "footerConfigSignal" }] : /* istanbul ignore next */ []));
7820
8037
  // Error handling
7821
8038
  resolvedErrors = createResolvedErrorsSignal(this.field, this.validationMessages, this.defaultValidationMessages);
7822
8039
  showErrors = shouldShowErrors(this.field);
7823
- errorsToDisplaySignal = computed(() => (this.showErrors() ? this.resolvedErrors() : []), ...(ngDevMode ? [{ debugName: "errorsToDisplaySignal" }] : /* istanbul ignore next */ []));
8040
+ errorsToDisplaySignal = computed(() => (this.showErrors() ? this.resolvedErrors() : []), /* @ts-ignore */
8041
+ ...(ngDevMode ? [{ debugName: "errorsToDisplaySignal" }] : /* istanbul ignore next */ []));
7824
8042
  // ARIA
7825
- hintIdSignal = computed(() => `${this.key()}-hint`, ...(ngDevMode ? [{ debugName: "hintIdSignal" }] : /* istanbul ignore next */ []));
7826
- errorIdSignal = computed(() => `${this.key()}-error`, ...(ngDevMode ? [{ debugName: "errorIdSignal" }] : /* istanbul ignore next */ []));
7827
- ariaInvalidSignal = computed(() => (this.showErrors() ? 'true' : null), ...(ngDevMode ? [{ debugName: "ariaInvalidSignal" }] : /* istanbul ignore next */ []));
7828
- ariaRequiredSignal = computed(() => (this.field()().required() ? 'true' : null), ...(ngDevMode ? [{ debugName: "ariaRequiredSignal" }] : /* istanbul ignore next */ []));
8043
+ hintIdSignal = computed(() => `${this.key()}-hint`, /* @ts-ignore */
8044
+ ...(ngDevMode ? [{ debugName: "hintIdSignal" }] : /* istanbul ignore next */ []));
8045
+ errorIdSignal = computed(() => `${this.key()}-error`, /* @ts-ignore */
8046
+ ...(ngDevMode ? [{ debugName: "errorIdSignal" }] : /* istanbul ignore next */ []));
8047
+ ariaInvalidSignal = computed(() => (this.showErrors() ? 'true' : null), /* @ts-ignore */
8048
+ ...(ngDevMode ? [{ debugName: "ariaInvalidSignal" }] : /* istanbul ignore next */ []));
8049
+ ariaRequiredSignal = computed(() => (this.field()().required() ? 'true' : null), /* @ts-ignore */
8050
+ ...(ngDevMode ? [{ debugName: "ariaRequiredSignal" }] : /* istanbul ignore next */ []));
7829
8051
  ariaDescribedBySignal = computed(() => {
7830
8052
  const errorId = this.errorIdSignal();
7831
8053
  const props = this.props();
@@ -7838,7 +8060,8 @@ class AbstractForgePickableItemFieldDirective {
7838
8060
  result = hintId;
7839
8061
  }
7840
8062
  return result;
7841
- }, ...(ngDevMode ? [{ debugName: "ariaDescribedBySignal" }] : /* istanbul ignore next */ []));
8063
+ }, /* @ts-ignore */
8064
+ ...(ngDevMode ? [{ debugName: "ariaDescribedBySignal" }] : /* istanbul ignore next */ []));
7842
8065
  get _pickOnlyOne() {
7843
8066
  const p = this.props();
7844
8067
  const asArrayValue = p?.asArrayValue ?? true;
@@ -7899,7 +8122,8 @@ class AbstractForgePickableItemFieldDirective {
7899
8122
  allSelectedSignal = computed(() => {
7900
8123
  const items = this.itemsSignal();
7901
8124
  return items.length > 0 && items.every((x) => x.selected);
7902
- }, ...(ngDevMode ? [{ debugName: "allSelectedSignal" }] : /* istanbul ignore next */ []));
8125
+ }, /* @ts-ignore */
8126
+ ...(ngDevMode ? [{ debugName: "allSelectedSignal" }] : /* istanbul ignore next */ []));
7903
8127
  // Sync field value to _valuesSubject
7904
8128
  _syncFieldValueEffect = effect(() => {
7905
8129
  const fieldGetter = this.field();
@@ -7910,7 +8134,8 @@ class AbstractForgePickableItemFieldDirective {
7910
8134
  // otherwise show up as a phantom selection when the user picks an item.
7911
8135
  const values = filterEmptyArrayValues(convertMaybeToArray(fieldValue));
7912
8136
  this._valuesSubject.next(values);
7913
- }, ...(ngDevMode ? [{ debugName: "_syncFieldValueEffect" }] : /* istanbul ignore next */ []));
8137
+ }, /* @ts-ignore */
8138
+ ...(ngDevMode ? [{ debugName: "_syncFieldValueEffect" }] : /* istanbul ignore next */ []));
7914
8139
  // MARK: Lifecycle
7915
8140
  ngOnInit() {
7916
8141
  const p = this.props();
@@ -8010,10 +8235,10 @@ class AbstractForgePickableItemFieldDirective {
8010
8235
  return of(hasDisplay.map((x) => x[3]));
8011
8236
  }));
8012
8237
  }
8013
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: AbstractForgePickableItemFieldDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
8014
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.2.11", type: AbstractForgePickableItemFieldDirective, isStandalone: true, 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 }, meta: { classPropertyName: "meta", publicName: "meta", 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 } }, ngImport: i0 });
8238
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: AbstractForgePickableItemFieldDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
8239
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "22.1.4", type: AbstractForgePickableItemFieldDirective, isStandalone: true, 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 }, meta: { classPropertyName: "meta", publicName: "meta", 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 } }, ngImport: i0 });
8015
8240
  }
8016
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: AbstractForgePickableItemFieldDirective, decorators: [{
8241
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: AbstractForgePickableItemFieldDirective, decorators: [{
8017
8242
  type: Directive
8018
8243
  }], propDecorators: { field: [{ type: i0.Input, args: [{ isSignal: true, alias: "field", required: true }] }], key: [{ type: i0.Input, args: [{ isSignal: true, alias: "key", required: true }] }], label: [{ type: i0.Input, args: [{ isSignal: true, alias: "label", required: false }] }], placeholder: [{ type: i0.Input, args: [{ isSignal: true, alias: "placeholder", required: false }] }], className: [{ type: i0.Input, args: [{ isSignal: true, alias: "className", required: false }] }], tabIndex: [{ type: i0.Input, args: [{ isSignal: true, alias: "tabIndex", required: false }] }], props: [{ type: i0.Input, args: [{ isSignal: true, alias: "props", required: false }] }], meta: [{ type: i0.Input, args: [{ isSignal: true, alias: "meta", required: false }] }], validationMessages: [{ type: i0.Input, args: [{ isSignal: true, alias: "validationMessages", required: false }] }], defaultValidationMessages: [{ type: i0.Input, args: [{ isSignal: true, alias: "defaultValidationMessages", required: false }] }] } });
8019
8244
 
@@ -8102,12 +8327,12 @@ class DbxForgePickableChipFieldComponent extends AbstractForgePickableItemFieldD
8102
8327
  this._setValues(allValues);
8103
8328
  }
8104
8329
  }
8105
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: DbxForgePickableChipFieldComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
8106
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.11", type: DbxForgePickableChipFieldComponent, isStandalone: true, selector: "dbx-forge-pickable-chip-field", usesInheritance: true, ngImport: i0, template: "<div class=\"dbx-pickable-item-field\">\n @if (showTextFilterSignal()) {\n <div class=\"dbx-pickable-item-field-filter\">\n @if (filterLabelSignal()) {\n <div class=\"dbx-label\">{{ filterLabelSignal() }}</div>\n }\n <input class=\"dbx-forge-bare-input\" [placeholder]=\"'Filter'\" [formControl]=\"inputCtrl\" />\n <mat-divider></mat-divider>\n </div>\n }\n <div class=\"dbx-pickable-item-field-chips\">\n <mat-chip-listbox [multiple]=\"multiSelectSignal()\" [selectable]=\"!isDisabledOrReadonlySignal()\" [disabled]=\"isDisabledOrReadonlySignal()\" [attr.aria-invalid]=\"ariaInvalidSignal()\" [attr.aria-describedby]=\"ariaDescribedBySignal()\">\n @if (showSelectAllButtonSignal() && multiSelectSignal() && !isDisabledOrReadonlySignal()) {\n <mat-chip-option (click)=\"toggleAll()\" [selected]=\"allSelectedSignal()\">\n <span class=\"dbx-chip-label\">All</span>\n </mat-chip-option>\n }\n @for (item of itemsSignal(); track item.key) {\n <mat-chip-option (click)=\"itemClicked(item)\" [selected]=\"item.selected\" [disabled]=\"readonlySignal() || item.disabled\">\n @if (item.itemValue.icon) {\n <mat-icon matChipAvatar>{{ item.itemValue.icon }}</mat-icon>\n }\n <span class=\"dbx-chip-label\">{{ item.itemValue.label }}</span>\n @if (item.itemValue.sublabel) {\n <span class=\"dbx-chip-sublabel\">{{ item.itemValue.sublabel }}</span>\n }\n </mat-chip-option>\n }\n </mat-chip-listbox>\n <dbx-injection [config]=\"footerConfigSignal()\"></dbx-injection>\n </div>\n @if (noItemsAvailableSignal()) {\n <output class=\"dbx-label\">No items match this filter.</output>\n }\n</div>\n", dependencies: [{ kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1$4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$4.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: MatChipsModule }, { kind: "directive", type: i3$1.MatChipAvatar, selector: "mat-chip-avatar, [matChipAvatar]" }, { kind: "component", type: i3$1.MatChipListbox, selector: "mat-chip-listbox", inputs: ["multiple", "aria-orientation", "selectable", "compareWith", "required", "hideSingleSelectionIndicator", "value"], outputs: ["change"] }, { kind: "component", type: i3$1.MatChipOption, selector: "mat-basic-chip-option, [mat-basic-chip-option], mat-chip-option, [mat-chip-option]", inputs: ["selectable", "selected"], outputs: ["selectionChange"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i1$3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }, { kind: "component", type: DbxInjectionComponent, selector: "dbx-injection, [dbxInjection], [dbx-injection]", inputs: ["config", "template"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
8330
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: DbxForgePickableChipFieldComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
8331
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.4", type: DbxForgePickableChipFieldComponent, isStandalone: true, selector: "dbx-forge-pickable-chip-field", usesInheritance: true, ngImport: i0, template: "<div class=\"dbx-pickable-item-field\">\n @if (showTextFilterSignal()) {\n <div class=\"dbx-pickable-item-field-filter\">\n @if (filterLabelSignal()) {\n <div class=\"dbx-label\">{{ filterLabelSignal() }}</div>\n }\n <input class=\"dbx-forge-bare-input\" [placeholder]=\"'Filter'\" [formControl]=\"inputCtrl\" />\n <mat-divider></mat-divider>\n </div>\n }\n <div class=\"dbx-pickable-item-field-chips\">\n <mat-chip-listbox [multiple]=\"multiSelectSignal()\" [selectable]=\"!isDisabledOrReadonlySignal()\" [disabled]=\"isDisabledOrReadonlySignal()\" [attr.aria-invalid]=\"ariaInvalidSignal()\" [attr.aria-describedby]=\"ariaDescribedBySignal()\">\n @if (showSelectAllButtonSignal() && multiSelectSignal() && !isDisabledOrReadonlySignal()) {\n <mat-chip-option (click)=\"toggleAll()\" [selected]=\"allSelectedSignal()\">\n <span class=\"dbx-chip-label\">All</span>\n </mat-chip-option>\n }\n @for (item of itemsSignal(); track item.key) {\n <mat-chip-option (click)=\"itemClicked(item)\" [selected]=\"item.selected\" [disabled]=\"readonlySignal() || item.disabled\">\n @if (item.itemValue.icon) {\n <mat-icon matChipAvatar>{{ item.itemValue.icon }}</mat-icon>\n }\n <span class=\"dbx-chip-label\">{{ item.itemValue.label }}</span>\n @if (item.itemValue.sublabel) {\n <span class=\"dbx-chip-sublabel\">{{ item.itemValue.sublabel }}</span>\n }\n </mat-chip-option>\n }\n </mat-chip-listbox>\n <dbx-injection [config]=\"footerConfigSignal()\"></dbx-injection>\n </div>\n @if (noItemsAvailableSignal()) {\n <output class=\"dbx-label\">No items match this filter.</output>\n }\n</div>\n", dependencies: [{ kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1$4.DefaultValueAccessor, selector: "input:not([type=checkbox]):not([ngNoCva])[formControlName],textarea:not([ngNoCva])[formControlName],input:not([type=checkbox]):not([ngNoCva])[formControl],textarea:not([ngNoCva])[formControl],input:not([type=checkbox]):not([ngNoCva])[ngModel],textarea:not([ngNoCva])[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$4.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: MatChipsModule }, { kind: "directive", type: i3$1.MatChipAvatar, selector: "mat-chip-avatar, [matChipAvatar]" }, { kind: "component", type: i3$1.MatChipListbox, selector: "mat-chip-listbox", inputs: ["multiple", "aria-orientation", "selectable", "compareWith", "required", "hideSingleSelectionIndicator", "value"], outputs: ["change"] }, { kind: "component", type: i3$1.MatChipOption, selector: "mat-basic-chip-option, [mat-basic-chip-option], mat-chip-option, [mat-chip-option]", inputs: ["selectable", "selected"], outputs: ["selectionChange"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i1$3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }, { kind: "component", type: DbxInjectionComponent, selector: "dbx-injection, [dbxInjection], [dbx-injection]", inputs: ["config", "template"] }] });
8107
8332
  }
8108
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: DbxForgePickableChipFieldComponent, decorators: [{
8333
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: DbxForgePickableChipFieldComponent, decorators: [{
8109
8334
  type: Component,
8110
- args: [{ selector: 'dbx-forge-pickable-chip-field', imports: [ReactiveFormsModule, MatChipsModule, MatIconModule, MatDivider, DbxInjectionComponent], changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, template: "<div class=\"dbx-pickable-item-field\">\n @if (showTextFilterSignal()) {\n <div class=\"dbx-pickable-item-field-filter\">\n @if (filterLabelSignal()) {\n <div class=\"dbx-label\">{{ filterLabelSignal() }}</div>\n }\n <input class=\"dbx-forge-bare-input\" [placeholder]=\"'Filter'\" [formControl]=\"inputCtrl\" />\n <mat-divider></mat-divider>\n </div>\n }\n <div class=\"dbx-pickable-item-field-chips\">\n <mat-chip-listbox [multiple]=\"multiSelectSignal()\" [selectable]=\"!isDisabledOrReadonlySignal()\" [disabled]=\"isDisabledOrReadonlySignal()\" [attr.aria-invalid]=\"ariaInvalidSignal()\" [attr.aria-describedby]=\"ariaDescribedBySignal()\">\n @if (showSelectAllButtonSignal() && multiSelectSignal() && !isDisabledOrReadonlySignal()) {\n <mat-chip-option (click)=\"toggleAll()\" [selected]=\"allSelectedSignal()\">\n <span class=\"dbx-chip-label\">All</span>\n </mat-chip-option>\n }\n @for (item of itemsSignal(); track item.key) {\n <mat-chip-option (click)=\"itemClicked(item)\" [selected]=\"item.selected\" [disabled]=\"readonlySignal() || item.disabled\">\n @if (item.itemValue.icon) {\n <mat-icon matChipAvatar>{{ item.itemValue.icon }}</mat-icon>\n }\n <span class=\"dbx-chip-label\">{{ item.itemValue.label }}</span>\n @if (item.itemValue.sublabel) {\n <span class=\"dbx-chip-sublabel\">{{ item.itemValue.sublabel }}</span>\n }\n </mat-chip-option>\n }\n </mat-chip-listbox>\n <dbx-injection [config]=\"footerConfigSignal()\"></dbx-injection>\n </div>\n @if (noItemsAvailableSignal()) {\n <output class=\"dbx-label\">No items match this filter.</output>\n }\n</div>\n" }]
8335
+ args: [{ selector: 'dbx-forge-pickable-chip-field', imports: [ReactiveFormsModule, MatChipsModule, MatIconModule, MatDivider, DbxInjectionComponent], template: "<div class=\"dbx-pickable-item-field\">\n @if (showTextFilterSignal()) {\n <div class=\"dbx-pickable-item-field-filter\">\n @if (filterLabelSignal()) {\n <div class=\"dbx-label\">{{ filterLabelSignal() }}</div>\n }\n <input class=\"dbx-forge-bare-input\" [placeholder]=\"'Filter'\" [formControl]=\"inputCtrl\" />\n <mat-divider></mat-divider>\n </div>\n }\n <div class=\"dbx-pickable-item-field-chips\">\n <mat-chip-listbox [multiple]=\"multiSelectSignal()\" [selectable]=\"!isDisabledOrReadonlySignal()\" [disabled]=\"isDisabledOrReadonlySignal()\" [attr.aria-invalid]=\"ariaInvalidSignal()\" [attr.aria-describedby]=\"ariaDescribedBySignal()\">\n @if (showSelectAllButtonSignal() && multiSelectSignal() && !isDisabledOrReadonlySignal()) {\n <mat-chip-option (click)=\"toggleAll()\" [selected]=\"allSelectedSignal()\">\n <span class=\"dbx-chip-label\">All</span>\n </mat-chip-option>\n }\n @for (item of itemsSignal(); track item.key) {\n <mat-chip-option (click)=\"itemClicked(item)\" [selected]=\"item.selected\" [disabled]=\"readonlySignal() || item.disabled\">\n @if (item.itemValue.icon) {\n <mat-icon matChipAvatar>{{ item.itemValue.icon }}</mat-icon>\n }\n <span class=\"dbx-chip-label\">{{ item.itemValue.label }}</span>\n @if (item.itemValue.sublabel) {\n <span class=\"dbx-chip-sublabel\">{{ item.itemValue.sublabel }}</span>\n }\n </mat-chip-option>\n }\n </mat-chip-listbox>\n <dbx-injection [config]=\"footerConfigSignal()\"></dbx-injection>\n </div>\n @if (noItemsAvailableSignal()) {\n <output class=\"dbx-label\">No items match this filter.</output>\n }\n</div>\n" }]
8111
8336
  }], ctorParameters: () => [] });
8112
8337
 
8113
8338
  var pickableChip_field_component = /*#__PURE__*/Object.freeze({
@@ -8142,12 +8367,12 @@ class DbxForgePickableListFieldComponent extends AbstractForgePickableItemFieldD
8142
8367
  this._setValues(allValues);
8143
8368
  }
8144
8369
  }
8145
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: DbxForgePickableListFieldComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
8146
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.11", type: DbxForgePickableListFieldComponent, isStandalone: true, selector: "dbx-forge-pickable-list-field", usesInheritance: true, ngImport: i0, template: "<div class=\"dbx-pickable-item-field dbx-pickable-item-field-list\">\n @if (showTextFilterSignal()) {\n <div class=\"dbx-pickable-item-field-filter\">\n @if (filterLabelSignal()) {\n <div class=\"dbx-label\">{{ filterLabelSignal() }}</div>\n }\n <input class=\"dbx-forge-bare-input\" [placeholder]=\"'Filter'\" [formControl]=\"inputCtrl\" />\n <mat-divider></mat-divider>\n </div>\n }\n @if (showSelectAllButtonSignal() && multiSelectSignal() && !isDisabledOrReadonlySignal()) {\n <div class=\"dbx-pickable-item-field-select-all\">\n <button class=\"dbx-pickable-select-all-button\" type=\"button\" (click)=\"toggleAll()\">{{ allSelectedSignal() ? 'Deselect All' : 'Select All' }}</button>\n <mat-divider></mat-divider>\n </div>\n }\n <div class=\"dbx-pickable-item-field-list-content\">\n <mat-selection-list [multiple]=\"multiSelectSignal()\" [disabled]=\"isDisabledOrReadonlySignal()\" (selectionChange)=\"onSelectionChange($event)\" [attr.aria-invalid]=\"ariaInvalidSignal()\" [attr.aria-describedby]=\"ariaDescribedBySignal()\">\n @for (item of itemsSignal(); track item.key) {\n <mat-list-option class=\"dbx-list-view-item\" [value]=\"item.itemValue.value\" [selected]=\"item.selected\" [disabled]=\"readonlySignal() || item.disabled\">\n @if (item.itemValue.icon) {\n <mat-icon matListItemIcon>{{ item.itemValue.icon }}</mat-icon>\n }\n <div class=\"dbx-default-pickable-item-field-list-item dbx-flex-bar\">\n <span class=\"dbx-chip-label\">{{ item.itemValue.label }}</span>\n @if (item.itemValue.sublabel) {\n <span class=\"dbx-chip-sublabel\">({{ item.itemValue.sublabel }})</span>\n }\n </div>\n </mat-list-option>\n }\n </mat-selection-list>\n </div>\n <dbx-injection [config]=\"footerConfigSignal()\"></dbx-injection>\n @if (noItemsAvailableSignal()) {\n <output class=\"dbx-label\">No items match this filter.</output>\n }\n</div>\n", dependencies: [{ kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1$4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$4.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: MatListModule }, { kind: "component", type: i2$2.MatSelectionList, selector: "mat-selection-list", inputs: ["color", "compareWith", "multiple", "hideSingleSelectionIndicator", "disabled"], outputs: ["selectionChange"], exportAs: ["matSelectionList"] }, { kind: "component", type: i2$2.MatListOption, selector: "mat-list-option", inputs: ["togglePosition", "checkboxPosition", "color", "value", "selected"], outputs: ["selectedChange"], exportAs: ["matListOption"] }, { kind: "directive", type: i2$2.MatListItemIcon, selector: "[matListItemIcon]" }, { kind: "component", type: i7.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i1$3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: DbxInjectionComponent, selector: "dbx-injection, [dbxInjection], [dbx-injection]", inputs: ["config", "template"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
8370
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: DbxForgePickableListFieldComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
8371
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.4", type: DbxForgePickableListFieldComponent, isStandalone: true, selector: "dbx-forge-pickable-list-field", usesInheritance: true, ngImport: i0, template: "<div class=\"dbx-pickable-item-field dbx-pickable-item-field-list\">\n @if (showTextFilterSignal()) {\n <div class=\"dbx-pickable-item-field-filter\">\n @if (filterLabelSignal()) {\n <div class=\"dbx-label\">{{ filterLabelSignal() }}</div>\n }\n <input class=\"dbx-forge-bare-input\" [placeholder]=\"'Filter'\" [formControl]=\"inputCtrl\" />\n <mat-divider></mat-divider>\n </div>\n }\n @if (showSelectAllButtonSignal() && multiSelectSignal() && !isDisabledOrReadonlySignal()) {\n <div class=\"dbx-pickable-item-field-select-all\">\n <button class=\"dbx-pickable-select-all-button\" type=\"button\" (click)=\"toggleAll()\">{{ allSelectedSignal() ? 'Deselect All' : 'Select All' }}</button>\n <mat-divider></mat-divider>\n </div>\n }\n <div class=\"dbx-pickable-item-field-list-content\">\n <mat-selection-list [multiple]=\"multiSelectSignal()\" [disabled]=\"isDisabledOrReadonlySignal()\" (selectionChange)=\"onSelectionChange($event)\" [attr.aria-invalid]=\"ariaInvalidSignal()\" [attr.aria-describedby]=\"ariaDescribedBySignal()\">\n @for (item of itemsSignal(); track item.key) {\n <mat-list-option class=\"dbx-list-view-item\" [value]=\"item.itemValue.value\" [selected]=\"item.selected\" [disabled]=\"readonlySignal() || item.disabled\">\n @if (item.itemValue.icon) {\n <mat-icon matListItemIcon>{{ item.itemValue.icon }}</mat-icon>\n }\n <div class=\"dbx-default-pickable-item-field-list-item dbx-flex-bar\">\n <span class=\"dbx-chip-label\">{{ item.itemValue.label }}</span>\n @if (item.itemValue.sublabel) {\n <span class=\"dbx-chip-sublabel\">({{ item.itemValue.sublabel }})</span>\n }\n </div>\n </mat-list-option>\n }\n </mat-selection-list>\n </div>\n <dbx-injection [config]=\"footerConfigSignal()\"></dbx-injection>\n @if (noItemsAvailableSignal()) {\n <output class=\"dbx-label\">No items match this filter.</output>\n }\n</div>\n", dependencies: [{ kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1$4.DefaultValueAccessor, selector: "input:not([type=checkbox]):not([ngNoCva])[formControlName],textarea:not([ngNoCva])[formControlName],input:not([type=checkbox]):not([ngNoCva])[formControl],textarea:not([ngNoCva])[formControl],input:not([type=checkbox]):not([ngNoCva])[ngModel],textarea:not([ngNoCva])[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$4.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: MatListModule }, { kind: "component", type: i2$2.MatSelectionList, selector: "mat-selection-list", inputs: ["color", "compareWith", "multiple", "hideSingleSelectionIndicator", "disabled"], outputs: ["selectionChange"], exportAs: ["matSelectionList"] }, { kind: "component", type: i2$2.MatListOption, selector: "mat-list-option", inputs: ["togglePosition", "color", "value", "selected"], outputs: ["selectedChange"], exportAs: ["matListOption"] }, { kind: "directive", type: i2$2.MatListItemIcon, selector: "[matListItemIcon]" }, { kind: "component", type: i7.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i1$3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: DbxInjectionComponent, selector: "dbx-injection, [dbxInjection], [dbx-injection]", inputs: ["config", "template"] }] });
8147
8372
  }
8148
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: DbxForgePickableListFieldComponent, decorators: [{
8373
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: DbxForgePickableListFieldComponent, decorators: [{
8149
8374
  type: Component,
8150
- args: [{ selector: 'dbx-forge-pickable-list-field', imports: [ReactiveFormsModule, MatListModule, MatIconModule, MatDivider, DbxInjectionComponent], changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, template: "<div class=\"dbx-pickable-item-field dbx-pickable-item-field-list\">\n @if (showTextFilterSignal()) {\n <div class=\"dbx-pickable-item-field-filter\">\n @if (filterLabelSignal()) {\n <div class=\"dbx-label\">{{ filterLabelSignal() }}</div>\n }\n <input class=\"dbx-forge-bare-input\" [placeholder]=\"'Filter'\" [formControl]=\"inputCtrl\" />\n <mat-divider></mat-divider>\n </div>\n }\n @if (showSelectAllButtonSignal() && multiSelectSignal() && !isDisabledOrReadonlySignal()) {\n <div class=\"dbx-pickable-item-field-select-all\">\n <button class=\"dbx-pickable-select-all-button\" type=\"button\" (click)=\"toggleAll()\">{{ allSelectedSignal() ? 'Deselect All' : 'Select All' }}</button>\n <mat-divider></mat-divider>\n </div>\n }\n <div class=\"dbx-pickable-item-field-list-content\">\n <mat-selection-list [multiple]=\"multiSelectSignal()\" [disabled]=\"isDisabledOrReadonlySignal()\" (selectionChange)=\"onSelectionChange($event)\" [attr.aria-invalid]=\"ariaInvalidSignal()\" [attr.aria-describedby]=\"ariaDescribedBySignal()\">\n @for (item of itemsSignal(); track item.key) {\n <mat-list-option class=\"dbx-list-view-item\" [value]=\"item.itemValue.value\" [selected]=\"item.selected\" [disabled]=\"readonlySignal() || item.disabled\">\n @if (item.itemValue.icon) {\n <mat-icon matListItemIcon>{{ item.itemValue.icon }}</mat-icon>\n }\n <div class=\"dbx-default-pickable-item-field-list-item dbx-flex-bar\">\n <span class=\"dbx-chip-label\">{{ item.itemValue.label }}</span>\n @if (item.itemValue.sublabel) {\n <span class=\"dbx-chip-sublabel\">({{ item.itemValue.sublabel }})</span>\n }\n </div>\n </mat-list-option>\n }\n </mat-selection-list>\n </div>\n <dbx-injection [config]=\"footerConfigSignal()\"></dbx-injection>\n @if (noItemsAvailableSignal()) {\n <output class=\"dbx-label\">No items match this filter.</output>\n }\n</div>\n" }]
8375
+ args: [{ selector: 'dbx-forge-pickable-list-field', imports: [ReactiveFormsModule, MatListModule, MatIconModule, MatDivider, DbxInjectionComponent], template: "<div class=\"dbx-pickable-item-field dbx-pickable-item-field-list\">\n @if (showTextFilterSignal()) {\n <div class=\"dbx-pickable-item-field-filter\">\n @if (filterLabelSignal()) {\n <div class=\"dbx-label\">{{ filterLabelSignal() }}</div>\n }\n <input class=\"dbx-forge-bare-input\" [placeholder]=\"'Filter'\" [formControl]=\"inputCtrl\" />\n <mat-divider></mat-divider>\n </div>\n }\n @if (showSelectAllButtonSignal() && multiSelectSignal() && !isDisabledOrReadonlySignal()) {\n <div class=\"dbx-pickable-item-field-select-all\">\n <button class=\"dbx-pickable-select-all-button\" type=\"button\" (click)=\"toggleAll()\">{{ allSelectedSignal() ? 'Deselect All' : 'Select All' }}</button>\n <mat-divider></mat-divider>\n </div>\n }\n <div class=\"dbx-pickable-item-field-list-content\">\n <mat-selection-list [multiple]=\"multiSelectSignal()\" [disabled]=\"isDisabledOrReadonlySignal()\" (selectionChange)=\"onSelectionChange($event)\" [attr.aria-invalid]=\"ariaInvalidSignal()\" [attr.aria-describedby]=\"ariaDescribedBySignal()\">\n @for (item of itemsSignal(); track item.key) {\n <mat-list-option class=\"dbx-list-view-item\" [value]=\"item.itemValue.value\" [selected]=\"item.selected\" [disabled]=\"readonlySignal() || item.disabled\">\n @if (item.itemValue.icon) {\n <mat-icon matListItemIcon>{{ item.itemValue.icon }}</mat-icon>\n }\n <div class=\"dbx-default-pickable-item-field-list-item dbx-flex-bar\">\n <span class=\"dbx-chip-label\">{{ item.itemValue.label }}</span>\n @if (item.itemValue.sublabel) {\n <span class=\"dbx-chip-sublabel\">({{ item.itemValue.sublabel }})</span>\n }\n </div>\n </mat-list-option>\n }\n </mat-selection-list>\n </div>\n <dbx-injection [config]=\"footerConfigSignal()\"></dbx-injection>\n @if (noItemsAvailableSignal()) {\n <output class=\"dbx-label\">No items match this filter.</output>\n }\n</div>\n" }]
8151
8376
  }], ctorParameters: () => [] });
8152
8377
 
8153
8378
  var pickableList_field_component = /*#__PURE__*/Object.freeze({
@@ -8208,16 +8433,26 @@ class DbxForgeSourceSelectFieldComponent {
8208
8433
  materialConfig = inject(MATERIAL_CONFIG, { optional: true });
8209
8434
  elementRef = inject((ElementRef));
8210
8435
  // ng-forge ValueFieldComponent inputs
8211
- field = input.required(...(ngDevMode ? [{ debugName: "field" }] : /* istanbul ignore next */ []));
8212
- key = input.required(...(ngDevMode ? [{ debugName: "key" }] : /* istanbul ignore next */ []));
8213
- label = input(...(ngDevMode ? [undefined, { debugName: "label" }] : /* istanbul ignore next */ []));
8214
- placeholder = input(...(ngDevMode ? [undefined, { debugName: "placeholder" }] : /* istanbul ignore next */ []));
8215
- className = input('', ...(ngDevMode ? [{ debugName: "className" }] : /* istanbul ignore next */ []));
8216
- tabIndex = input(...(ngDevMode ? [undefined, { debugName: "tabIndex" }] : /* istanbul ignore next */ []));
8217
- props = input(...(ngDevMode ? [undefined, { debugName: "props" }] : /* istanbul ignore next */ []));
8218
- meta = input(...(ngDevMode ? [undefined, { debugName: "meta" }] : /* istanbul ignore next */ []));
8219
- validationMessages = input(...(ngDevMode ? [undefined, { debugName: "validationMessages" }] : /* istanbul ignore next */ []));
8220
- defaultValidationMessages = input(...(ngDevMode ? [undefined, { debugName: "defaultValidationMessages" }] : /* istanbul ignore next */ []));
8436
+ field = input.required(/* @ts-ignore */
8437
+ ...(ngDevMode ? [{ debugName: "field" }] : /* istanbul ignore next */ []));
8438
+ key = input.required(/* @ts-ignore */
8439
+ ...(ngDevMode ? [{ debugName: "key" }] : /* istanbul ignore next */ []));
8440
+ label = input(/* @ts-ignore */
8441
+ ...(ngDevMode ? [undefined, { debugName: "label" }] : /* istanbul ignore next */ []));
8442
+ placeholder = input(/* @ts-ignore */
8443
+ ...(ngDevMode ? [undefined, { debugName: "placeholder" }] : /* istanbul ignore next */ []));
8444
+ className = input('', /* @ts-ignore */
8445
+ ...(ngDevMode ? [{ debugName: "className" }] : /* istanbul ignore next */ []));
8446
+ tabIndex = input(/* @ts-ignore */
8447
+ ...(ngDevMode ? [undefined, { debugName: "tabIndex" }] : /* istanbul ignore next */ []));
8448
+ props = input(/* @ts-ignore */
8449
+ ...(ngDevMode ? [undefined, { debugName: "props" }] : /* istanbul ignore next */ []));
8450
+ meta = input(/* @ts-ignore */
8451
+ ...(ngDevMode ? [undefined, { debugName: "meta" }] : /* istanbul ignore next */ []));
8452
+ validationMessages = input(/* @ts-ignore */
8453
+ ...(ngDevMode ? [undefined, { debugName: "validationMessages" }] : /* istanbul ignore next */ []));
8454
+ defaultValidationMessages = input(/* @ts-ignore */
8455
+ ...(ngDevMode ? [undefined, { debugName: "defaultValidationMessages" }] : /* istanbul ignore next */ []));
8221
8456
  // Disabled state
8222
8457
  isDisabled = dbxForgeFieldDisabled();
8223
8458
  _cacheMetaSub = cleanSubscription();
@@ -8231,19 +8466,27 @@ class DbxForgeSourceSelectFieldComponent {
8231
8466
  buttonElement = viewChild('button', { ...(ngDevMode ? { debugName: "buttonElement" } : /* istanbul ignore next */ {}), read: (ElementRef) });
8232
8467
  filterInputElement = viewChild('filterInput', { ...(ngDevMode ? { debugName: "filterInputElement" } : /* istanbul ignore next */ {}), read: (ElementRef) });
8233
8468
  // Computed signals from props
8234
- hintSignal = computed(() => this.props()?.hint, ...(ngDevMode ? [{ debugName: "hintSignal" }] : /* istanbul ignore next */ []));
8469
+ hintSignal = computed(() => this.props()?.hint, /* @ts-ignore */
8470
+ ...(ngDevMode ? [{ debugName: "hintSignal" }] : /* istanbul ignore next */ []));
8235
8471
  // Material config
8236
- effectiveAppearanceSignal = computed(() => this.materialConfig?.appearance ?? 'outline', ...(ngDevMode ? [{ debugName: "effectiveAppearanceSignal" }] : /* istanbul ignore next */ []));
8237
- effectiveSubscriptSizingSignal = computed(() => this.materialConfig?.subscriptSizing ?? 'dynamic', ...(ngDevMode ? [{ debugName: "effectiveSubscriptSizingSignal" }] : /* istanbul ignore next */ []));
8472
+ effectiveAppearanceSignal = computed(() => this.materialConfig?.appearance ?? 'outline', /* @ts-ignore */
8473
+ ...(ngDevMode ? [{ debugName: "effectiveAppearanceSignal" }] : /* istanbul ignore next */ []));
8474
+ effectiveSubscriptSizingSignal = computed(() => this.materialConfig?.subscriptSizing ?? 'dynamic', /* @ts-ignore */
8475
+ ...(ngDevMode ? [{ debugName: "effectiveSubscriptSizingSignal" }] : /* istanbul ignore next */ []));
8238
8476
  // Error handling
8239
8477
  resolvedErrors = createResolvedErrorsSignal(this.field, this.validationMessages, this.defaultValidationMessages);
8240
8478
  showErrors = shouldShowErrors(this.field);
8241
- errorsToDisplaySignal = computed(() => (this.showErrors() ? this.resolvedErrors() : []), ...(ngDevMode ? [{ debugName: "errorsToDisplaySignal" }] : /* istanbul ignore next */ []));
8479
+ errorsToDisplaySignal = computed(() => (this.showErrors() ? this.resolvedErrors() : []), /* @ts-ignore */
8480
+ ...(ngDevMode ? [{ debugName: "errorsToDisplaySignal" }] : /* istanbul ignore next */ []));
8242
8481
  // ARIA
8243
- hintIdSignal = computed(() => `${this.key()}-hint`, ...(ngDevMode ? [{ debugName: "hintIdSignal" }] : /* istanbul ignore next */ []));
8244
- errorIdSignal = computed(() => `${this.key()}-error`, ...(ngDevMode ? [{ debugName: "errorIdSignal" }] : /* istanbul ignore next */ []));
8245
- ariaInvalidSignal = computed(() => (this.showErrors() ? 'true' : null), ...(ngDevMode ? [{ debugName: "ariaInvalidSignal" }] : /* istanbul ignore next */ []));
8246
- ariaRequiredSignal = computed(() => (this.field()().required() ? 'true' : null), ...(ngDevMode ? [{ debugName: "ariaRequiredSignal" }] : /* istanbul ignore next */ []));
8482
+ hintIdSignal = computed(() => `${this.key()}-hint`, /* @ts-ignore */
8483
+ ...(ngDevMode ? [{ debugName: "hintIdSignal" }] : /* istanbul ignore next */ []));
8484
+ errorIdSignal = computed(() => `${this.key()}-error`, /* @ts-ignore */
8485
+ ...(ngDevMode ? [{ debugName: "errorIdSignal" }] : /* istanbul ignore next */ []));
8486
+ ariaInvalidSignal = computed(() => (this.showErrors() ? 'true' : null), /* @ts-ignore */
8487
+ ...(ngDevMode ? [{ debugName: "ariaInvalidSignal" }] : /* istanbul ignore next */ []));
8488
+ ariaRequiredSignal = computed(() => (this.field()().required() ? 'true' : null), /* @ts-ignore */
8489
+ ...(ngDevMode ? [{ debugName: "ariaRequiredSignal" }] : /* istanbul ignore next */ []));
8247
8490
  ariaDescribedBySignal = computed(() => {
8248
8491
  const errorId = this.errorIdSignal();
8249
8492
  const hintId = this.hintIdSignal();
@@ -8252,13 +8495,20 @@ class DbxForgeSourceSelectFieldComponent {
8252
8495
  if (this.props()?.hint)
8253
8496
  return hintId;
8254
8497
  return null;
8255
- }, ...(ngDevMode ? [{ debugName: "ariaDescribedBySignal" }] : /* istanbul ignore next */ []));
8256
- multipleSignal = computed(() => this.props()?.multiple ?? false, ...(ngDevMode ? [{ debugName: "multipleSignal" }] : /* istanbul ignore next */ []));
8257
- showOpenSourceButtonSignal = computed(() => Boolean(this.props()?.openSource), ...(ngDevMode ? [{ debugName: "showOpenSourceButtonSignal" }] : /* istanbul ignore next */ []));
8258
- selectButtonIconSignal = computed(() => this.props()?.selectButtonIcon ?? 'add', ...(ngDevMode ? [{ debugName: "selectButtonIconSignal" }] : /* istanbul ignore next */ []));
8259
- filterableSignal = computed(() => this.props()?.filterable !== false, ...(ngDevMode ? [{ debugName: "filterableSignal" }] : /* istanbul ignore next */ []));
8260
- filterableGroupsSignal = computed(() => this.props()?.filterableGroups !== false, ...(ngDevMode ? [{ debugName: "filterableGroupsSignal" }] : /* istanbul ignore next */ []));
8261
- selectPanelClassSignal = computed(() => (this.filterableSignal() ? 'dbx-source-select-filterable-panel' : ''), ...(ngDevMode ? [{ debugName: "selectPanelClassSignal" }] : /* istanbul ignore next */ []));
8498
+ }, /* @ts-ignore */
8499
+ ...(ngDevMode ? [{ debugName: "ariaDescribedBySignal" }] : /* istanbul ignore next */ []));
8500
+ multipleSignal = computed(() => this.props()?.multiple ?? false, /* @ts-ignore */
8501
+ ...(ngDevMode ? [{ debugName: "multipleSignal" }] : /* istanbul ignore next */ []));
8502
+ showOpenSourceButtonSignal = computed(() => Boolean(this.props()?.openSource), /* @ts-ignore */
8503
+ ...(ngDevMode ? [{ debugName: "showOpenSourceButtonSignal" }] : /* istanbul ignore next */ []));
8504
+ selectButtonIconSignal = computed(() => this.props()?.selectButtonIcon ?? 'add', /* @ts-ignore */
8505
+ ...(ngDevMode ? [{ debugName: "selectButtonIconSignal" }] : /* istanbul ignore next */ []));
8506
+ filterableSignal = computed(() => this.props()?.filterable !== false, /* @ts-ignore */
8507
+ ...(ngDevMode ? [{ debugName: "filterableSignal" }] : /* istanbul ignore next */ []));
8508
+ filterableGroupsSignal = computed(() => this.props()?.filterableGroups !== false, /* @ts-ignore */
8509
+ ...(ngDevMode ? [{ debugName: "filterableGroupsSignal" }] : /* istanbul ignore next */ []));
8510
+ selectPanelClassSignal = computed(() => (this.filterableSignal() ? 'dbx-source-select-filterable-panel' : ''), /* @ts-ignore */
8511
+ ...(ngDevMode ? [{ debugName: "selectPanelClassSignal" }] : /* istanbul ignore next */ []));
8262
8512
  values$ = this._valuesSubject.asObservable().pipe(shareReplay(1));
8263
8513
  allValuesEverSelected$ = this.values$.pipe(scan((acc, values) => {
8264
8514
  let result = acc;
@@ -8374,7 +8624,8 @@ class DbxForgeSourceSelectFieldComponent {
8374
8624
  // ng-forge can seed the field with the empty-string primitive default; treat nullish/empty as unset.
8375
8625
  const values = filterEmptyArrayValues(fieldValue == null ? [] : convertMaybeToArray(fieldValue));
8376
8626
  this._valuesSubject.next(values);
8377
- }, ...(ngDevMode ? [{ debugName: "_syncFieldValueEffect" }] : /* istanbul ignore next */ []));
8627
+ }, /* @ts-ignore */
8628
+ ...(ngDevMode ? [{ debugName: "_syncFieldValueEffect" }] : /* istanbul ignore next */ []));
8378
8629
  constructor() {
8379
8630
  setupMetaTracking(this.elementRef, this.meta, { selector: 'mat-select' });
8380
8631
  }
@@ -8529,12 +8780,12 @@ class DbxForgeSourceSelectFieldComponent {
8529
8780
  return of(hasDisplay.map((x) => x[3]));
8530
8781
  }));
8531
8782
  }
8532
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: DbxForgeSourceSelectFieldComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
8533
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.11", type: DbxForgeSourceSelectFieldComponent, isStandalone: true, selector: "dbx-forge-source-select-field", 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 }, meta: { classPropertyName: "meta", publicName: "meta", 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" } }, viewQueries: [{ propertyName: "buttonElement", first: true, predicate: ["button"], descendants: true, read: ElementRef, isSignal: true }, { propertyName: "filterInputElement", first: true, predicate: ["filterInput"], descendants: true, read: ElementRef, isSignal: true }], ngImport: i0, template: "@let f = field();\n@let selectId = key() + '-select';\n\n<mat-form-field class=\"dbx-w100\" [appearance]=\"effectiveAppearanceSignal()\" [subscriptSizing]=\"effectiveSubscriptSizingSignal()\">\n @if (label(); as label) {\n <mat-label>{{ label | dynamicText | async }}</mat-label>\n }\n\n <mat-select [id]=\"selectId\" [formField]=\"f\" [multiple]=\"multipleSignal()\" [panelClass]=\"selectPanelClassSignal()\" (openedChange)=\"onSelectOpenedChange($event)\" [attr.aria-invalid]=\"ariaInvalidSignal()\" [attr.aria-required]=\"ariaRequiredSignal()\" [attr.aria-describedby]=\"ariaDescribedBySignal()\">\n @if (filterableSignal()) {\n <div class=\"dbx-source-select-filter-container\">\n <input #filterInput class=\"dbx-forge-bare-input dbx-source-select-filter-input\" type=\"text\" placeholder=\"Type to filter...\" (input)=\"onFilterInput($event)\" (keydown)=\"onFilterKeydown($event)\" />\n </div>\n }\n @for (value of filteredNonGroupedValuesSignal(); track value.value) {\n <mat-option [value]=\"value.value\">{{ value.label }}</mat-option>\n }\n @for (optionGroup of filteredGroupedOptionsSignal(); track optionGroup.label) {\n <mat-optgroup [label]=\"optionGroup.label\">\n @for (value of optionGroup.values; track value.value) {\n <mat-option [value]=\"value.value\">{{ value.label }}</mat-option>\n }\n </mat-optgroup>\n }\n </mat-select>\n\n @if (showOpenSourceButtonSignal() && !isDisabled()) {\n <div matSuffix class=\"dbx-source-select-field-suffix\">\n <dbx-action dbxActionValue [dbxActionHandler]=\"handleSelectOptions\">\n <dbx-button #button dbxActionButton [fab]=\"true\" [iconOnly]=\"true\" [icon]=\"selectButtonIconSignal()\"></dbx-button>\n </dbx-action>\n </div>\n }\n\n <dbx-loading class=\"dbx-source-select-field-loading\" [linear]=\"true\" [context]=\"context\"></dbx-loading>\n\n @if (errorsToDisplaySignal()[0]; as error) {\n <mat-error [id]=\"errorIdSignal()\">{{ error.message }}</mat-error>\n } @else if (hintSignal()) {\n <mat-hint [id]=\"hintIdSignal()\">{{ hintSignal() }}</mat-hint>\n }\n</mat-form-field>\n", dependencies: [{ kind: "component", type: MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: MatLabel, selector: "mat-label" }, { kind: "component", type: MatSelect, selector: "mat-select", inputs: ["aria-describedby", "panelClass", "disabled", "disableRipple", "tabIndex", "hideSingleSelectionIndicator", "placeholder", "required", "multiple", "disableOptionCentering", "compareWith", "value", "aria-label", "aria-labelledby", "errorStateMatcher", "typeaheadDebounceInterval", "sortComparator", "id", "panelWidth", "canSelectNullableOptions"], outputs: ["openedChange", "opened", "closed", "selectionChange", "valueChange"], exportAs: ["matSelect"] }, { kind: "component", type: MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "component", type: MatOptgroup, selector: "mat-optgroup", inputs: ["label", "disabled"], exportAs: ["matOptgroup"] }, { kind: "directive", type: MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "directive", type: MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "directive", type: MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "directive", type: FormField, selector: "[formField]", inputs: ["formField"], exportAs: ["formField"] }, { kind: "component", type: DbxButtonComponent, selector: "dbx-button", inputs: ["bar", "type", "buttonStyle", "color", "spinnerColor", "customButtonColor", "customTextColor", "customSpinnerColor", "basic", "tonal", "raised", "stroked", "flat", "iconOnly", "fab", "customContent", "allowClickPropagation", "mode"] }, { kind: "ngmodule", type: DbxActionModule }, { kind: "directive", type: i1.DbxActionDirective, selector: "dbx-action,[dbxAction]", exportAs: ["action", "dbxAction"] }, { kind: "directive", type: i1.DbxActionHandlerDirective, selector: "[dbxActionHandler]", inputs: ["dbxActionHandler"] }, { kind: "directive", type: i1.DbxActionValueDirective, selector: "dbxActionValue,[dbxActionValue]", inputs: ["dbxActionValue"] }, { kind: "directive", type: i1.DbxActionButtonDirective, selector: "[dbxActionButton]", inputs: ["dbxActionButtonEcho"] }, { kind: "component", type: DbxLoadingComponent, selector: "dbx-loading", inputs: ["padding", "show", "text", "mode", "diameter", "linear", "loading", "error", "context"] }, { kind: "pipe", type: DynamicTextPipe, name: "dynamicText" }, { kind: "pipe", type: AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
8783
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: DbxForgeSourceSelectFieldComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
8784
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.4", type: DbxForgeSourceSelectFieldComponent, isStandalone: true, selector: "dbx-forge-source-select-field", 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 }, meta: { classPropertyName: "meta", publicName: "meta", 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" } }, viewQueries: [{ propertyName: "buttonElement", first: true, predicate: ["button"], descendants: true, read: ElementRef, isSignal: true }, { propertyName: "filterInputElement", first: true, predicate: ["filterInput"], descendants: true, read: ElementRef, isSignal: true }], ngImport: i0, template: "@let f = field();\n@let selectId = key() + '-select';\n\n<mat-form-field class=\"dbx-w100\" [appearance]=\"effectiveAppearanceSignal()\" [subscriptSizing]=\"effectiveSubscriptSizingSignal()\">\n @if (label(); as label) {\n <mat-label>{{ label | dynamicText | async }}</mat-label>\n }\n\n <mat-select [id]=\"selectId\" [formField]=\"f\" [multiple]=\"multipleSignal()\" [panelClass]=\"selectPanelClassSignal()\" (openedChange)=\"onSelectOpenedChange($event)\" [attr.aria-invalid]=\"ariaInvalidSignal()\" [attr.aria-required]=\"ariaRequiredSignal()\" [attr.aria-describedby]=\"ariaDescribedBySignal()\">\n @if (filterableSignal()) {\n <div class=\"dbx-source-select-filter-container\">\n <input #filterInput class=\"dbx-forge-bare-input dbx-source-select-filter-input\" type=\"text\" placeholder=\"Type to filter...\" (input)=\"onFilterInput($event)\" (keydown)=\"onFilterKeydown($event)\" />\n </div>\n }\n @for (value of filteredNonGroupedValuesSignal(); track value.value) {\n <mat-option [value]=\"value.value\">{{ value.label }}</mat-option>\n }\n @for (optionGroup of filteredGroupedOptionsSignal(); track optionGroup.label) {\n <mat-optgroup [label]=\"optionGroup.label\">\n @for (value of optionGroup.values; track value.value) {\n <mat-option [value]=\"value.value\">{{ value.label }}</mat-option>\n }\n </mat-optgroup>\n }\n </mat-select>\n\n @if (showOpenSourceButtonSignal() && !isDisabled()) {\n <div matSuffix class=\"dbx-source-select-field-suffix\">\n <dbx-action dbxActionValue [dbxActionHandler]=\"handleSelectOptions\">\n <dbx-button #button dbxActionButton [fab]=\"true\" [iconOnly]=\"true\" [icon]=\"selectButtonIconSignal()\"></dbx-button>\n </dbx-action>\n </div>\n }\n\n <dbx-loading class=\"dbx-source-select-field-loading\" [linear]=\"true\" [context]=\"context\"></dbx-loading>\n\n @if (errorsToDisplaySignal()[0]; as error) {\n <mat-error [id]=\"errorIdSignal()\">{{ error.message }}</mat-error>\n } @else if (hintSignal()) {\n <mat-hint [id]=\"hintIdSignal()\">{{ hintSignal() }}</mat-hint>\n }\n</mat-form-field>\n", dependencies: [{ kind: "component", type: MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: MatLabel, selector: "mat-label" }, { kind: "component", type: MatSelect, selector: "mat-select", inputs: ["aria-describedby", "panelClass", "disabled", "disableRipple", "tabIndex", "hideSingleSelectionIndicator", "placeholder", "required", "multiple", "disableOptionCentering", "compareWith", "value", "aria-label", "aria-labelledby", "errorStateMatcher", "typeaheadDebounceInterval", "sortComparator", "id", "panelWidth", "canSelectNullableOptions"], outputs: ["openedChange", "opened", "closed", "selectionChange", "valueChange"], exportAs: ["matSelect"] }, { kind: "component", type: MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "component", type: MatOptgroup, selector: "mat-optgroup", inputs: ["label", "disabled"], exportAs: ["matOptgroup"] }, { kind: "directive", type: MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "directive", type: MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "directive", type: MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "directive", type: FormField, selector: "[formField]", inputs: ["formField"], exportAs: ["formField"] }, { kind: "component", type: DbxButtonComponent, selector: "dbx-button", inputs: ["bar", "type", "buttonStyle", "color", "spinnerColor", "customTextColor", "customSpinnerColor", "basic", "tonal", "raised", "stroked", "flat", "iconOnly", "fab", "customContent", "allowClickPropagation", "mode"] }, { kind: "ngmodule", type: DbxActionModule }, { kind: "directive", type: i1.DbxActionDirective, selector: "dbx-action,[dbxAction]", exportAs: ["action", "dbxAction"] }, { kind: "directive", type: i1.DbxActionHandlerDirective, selector: "[dbxActionHandler]", inputs: ["dbxActionHandler"] }, { kind: "directive", type: i1.DbxActionValueDirective, selector: "dbxActionValue,[dbxActionValue]", inputs: ["dbxActionValue"] }, { kind: "directive", type: i1.DbxActionButtonDirective, selector: "[dbxActionButton]", inputs: ["dbxActionButtonEcho"] }, { kind: "component", type: DbxLoadingComponent, selector: "dbx-loading", inputs: ["padding", "show", "text", "mode", "diameter", "linear", "loading", "error", "context"] }, { kind: "pipe", type: DynamicTextPipe, name: "dynamicText" }, { kind: "pipe", type: AsyncPipe, name: "async" }] });
8534
8785
  }
8535
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: DbxForgeSourceSelectFieldComponent, decorators: [{
8786
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: DbxForgeSourceSelectFieldComponent, decorators: [{
8536
8787
  type: Component,
8537
- args: [{ selector: 'dbx-forge-source-select-field', imports: [MatFormField, MatLabel, MatSelect, MatOption, MatOptgroup, MatHint, MatError, MatSuffix, FormField, DynamicTextPipe, AsyncPipe, DbxButtonComponent, DbxActionModule, DbxLoadingComponent], changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, host: {
8788
+ args: [{ selector: 'dbx-forge-source-select-field', imports: [MatFormField, MatLabel, MatSelect, MatOption, MatOptgroup, MatHint, MatError, MatSuffix, FormField, DynamicTextPipe, AsyncPipe, DbxButtonComponent, DbxActionModule, DbxLoadingComponent], host: {
8538
8789
  '[id]': '`${key()}`',
8539
8790
  '[attr.data-testid]': 'key()',
8540
8791
  '[class]': 'className()',
@@ -8595,16 +8846,26 @@ const dbxForgeListSelectionField = dbxForgeFieldFunction({
8595
8846
  class DbxForgeListSelectionFieldComponent {
8596
8847
  elementRef = inject((ElementRef));
8597
8848
  // ng-forge ValueFieldComponent inputs
8598
- field = input.required(...(ngDevMode ? [{ debugName: "field" }] : /* istanbul ignore next */ []));
8599
- key = input.required(...(ngDevMode ? [{ debugName: "key" }] : /* istanbul ignore next */ []));
8600
- label = input(...(ngDevMode ? [undefined, { debugName: "label" }] : /* istanbul ignore next */ []));
8601
- placeholder = input(...(ngDevMode ? [undefined, { debugName: "placeholder" }] : /* istanbul ignore next */ []));
8602
- className = input('', ...(ngDevMode ? [{ debugName: "className" }] : /* istanbul ignore next */ []));
8603
- tabIndex = input(...(ngDevMode ? [undefined, { debugName: "tabIndex" }] : /* istanbul ignore next */ []));
8604
- props = input(...(ngDevMode ? [undefined, { debugName: "props" }] : /* istanbul ignore next */ []));
8605
- meta = input(...(ngDevMode ? [undefined, { debugName: "meta" }] : /* istanbul ignore next */ []));
8606
- validationMessages = input(...(ngDevMode ? [undefined, { debugName: "validationMessages" }] : /* istanbul ignore next */ []));
8607
- defaultValidationMessages = input(...(ngDevMode ? [undefined, { debugName: "defaultValidationMessages" }] : /* istanbul ignore next */ []));
8849
+ field = input.required(/* @ts-ignore */
8850
+ ...(ngDevMode ? [{ debugName: "field" }] : /* istanbul ignore next */ []));
8851
+ key = input.required(/* @ts-ignore */
8852
+ ...(ngDevMode ? [{ debugName: "key" }] : /* istanbul ignore next */ []));
8853
+ label = input(/* @ts-ignore */
8854
+ ...(ngDevMode ? [undefined, { debugName: "label" }] : /* istanbul ignore next */ []));
8855
+ placeholder = input(/* @ts-ignore */
8856
+ ...(ngDevMode ? [undefined, { debugName: "placeholder" }] : /* istanbul ignore next */ []));
8857
+ className = input('', /* @ts-ignore */
8858
+ ...(ngDevMode ? [{ debugName: "className" }] : /* istanbul ignore next */ []));
8859
+ tabIndex = input(/* @ts-ignore */
8860
+ ...(ngDevMode ? [undefined, { debugName: "tabIndex" }] : /* istanbul ignore next */ []));
8861
+ props = input(/* @ts-ignore */
8862
+ ...(ngDevMode ? [undefined, { debugName: "props" }] : /* istanbul ignore next */ []));
8863
+ meta = input(/* @ts-ignore */
8864
+ ...(ngDevMode ? [undefined, { debugName: "meta" }] : /* istanbul ignore next */ []));
8865
+ validationMessages = input(/* @ts-ignore */
8866
+ ...(ngDevMode ? [undefined, { debugName: "validationMessages" }] : /* istanbul ignore next */ []));
8867
+ defaultValidationMessages = input(/* @ts-ignore */
8868
+ ...(ngDevMode ? [undefined, { debugName: "defaultValidationMessages" }] : /* istanbul ignore next */ []));
8608
8869
  // Disabled state
8609
8870
  isDisabled = dbxForgeFieldDisabled();
8610
8871
  isDisabled$ = toObservable(this.isDisabled);
@@ -8615,8 +8876,10 @@ class DbxForgeListSelectionFieldComponent {
8615
8876
  labelSignal = computed(() => {
8616
8877
  const l = this.label();
8617
8878
  return typeof l === 'string' ? l : undefined;
8618
- }, ...(ngDevMode ? [{ debugName: "labelSignal" }] : /* istanbul ignore next */ []));
8619
- hintSignal = computed(() => this.props()?.hint, ...(ngDevMode ? [{ debugName: "hintSignal" }] : /* istanbul ignore next */ []));
8879
+ }, /* @ts-ignore */
8880
+ ...(ngDevMode ? [{ debugName: "labelSignal" }] : /* istanbul ignore next */ []));
8881
+ hintSignal = computed(() => this.props()?.hint, /* @ts-ignore */
8882
+ ...(ngDevMode ? [{ debugName: "hintSignal" }] : /* istanbul ignore next */ []));
8620
8883
  /**
8621
8884
  * Resolves the configured `maxHeight` prop into a CSS length string for the
8622
8885
  * `--dbx-forge-list-item-field-height` custom property. Returns `null` when
@@ -8634,15 +8897,20 @@ class DbxForgeListSelectionFieldComponent {
8634
8897
  return `${raw}px`;
8635
8898
  }
8636
8899
  return raw;
8637
- }, ...(ngDevMode ? [{ debugName: "maxHeightCssVarSignal" }] : /* istanbul ignore next */ []));
8900
+ }, /* @ts-ignore */
8901
+ ...(ngDevMode ? [{ debugName: "maxHeightCssVarSignal" }] : /* istanbul ignore next */ []));
8638
8902
  // Error handling
8639
8903
  resolvedErrors = createResolvedErrorsSignal(this.field, this.validationMessages, this.defaultValidationMessages);
8640
8904
  showErrors = shouldShowErrors(this.field);
8641
- errorsToDisplaySignal = computed(() => (this.showErrors() ? this.resolvedErrors() : []), ...(ngDevMode ? [{ debugName: "errorsToDisplaySignal" }] : /* istanbul ignore next */ []));
8905
+ errorsToDisplaySignal = computed(() => (this.showErrors() ? this.resolvedErrors() : []), /* @ts-ignore */
8906
+ ...(ngDevMode ? [{ debugName: "errorsToDisplaySignal" }] : /* istanbul ignore next */ []));
8642
8907
  // ARIA
8643
- hintIdSignal = computed(() => `${this.key()}-hint`, ...(ngDevMode ? [{ debugName: "hintIdSignal" }] : /* istanbul ignore next */ []));
8644
- errorIdSignal = computed(() => `${this.key()}-error`, ...(ngDevMode ? [{ debugName: "errorIdSignal" }] : /* istanbul ignore next */ []));
8645
- ariaInvalidSignal = computed(() => (this.showErrors() ? 'true' : null), ...(ngDevMode ? [{ debugName: "ariaInvalidSignal" }] : /* istanbul ignore next */ []));
8908
+ hintIdSignal = computed(() => `${this.key()}-hint`, /* @ts-ignore */
8909
+ ...(ngDevMode ? [{ debugName: "hintIdSignal" }] : /* istanbul ignore next */ []));
8910
+ errorIdSignal = computed(() => `${this.key()}-error`, /* @ts-ignore */
8911
+ ...(ngDevMode ? [{ debugName: "errorIdSignal" }] : /* istanbul ignore next */ []));
8912
+ ariaInvalidSignal = computed(() => (this.showErrors() ? 'true' : null), /* @ts-ignore */
8913
+ ...(ngDevMode ? [{ debugName: "ariaInvalidSignal" }] : /* istanbul ignore next */ []));
8646
8914
  ariaDescribedBySignal = computed(() => {
8647
8915
  const errorId = this.errorIdSignal();
8648
8916
  const hintId = this.hintIdSignal();
@@ -8651,7 +8919,8 @@ class DbxForgeListSelectionFieldComponent {
8651
8919
  if (this.props()?.hint)
8652
8920
  return hintId;
8653
8921
  return null;
8654
- }, ...(ngDevMode ? [{ debugName: "ariaDescribedBySignal" }] : /* istanbul ignore next */ []));
8922
+ }, /* @ts-ignore */
8923
+ ...(ngDevMode ? [{ debugName: "ariaDescribedBySignal" }] : /* istanbul ignore next */ []));
8655
8924
  listComponentClass$ = this._listComponentClassObs.pipe(switchMapFilterMaybe());
8656
8925
  config$ = this.listComponentClass$.pipe(map((componentClass) => {
8657
8926
  const p = this.props();
@@ -8731,12 +9000,12 @@ class DbxForgeListSelectionFieldComponent {
8731
9000
  fieldState.value.set(values);
8732
9001
  }
8733
9002
  }
8734
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: DbxForgeListSelectionFieldComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
8735
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.2.11", type: DbxForgeListSelectionFieldComponent, isStandalone: true, selector: "dbx-forge-list-selection-field", 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 }, meta: { classPropertyName: "meta", publicName: "meta", 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 } }, ngImport: i0, template: "<div class=\"dbx-forge-list-item-field\" [class.dbx-forge-list-field-disabled]=\"isDisabled()\" [style.--dbx-forge-list-item-field-height]=\"maxHeightCssVarSignal()\" dbxListItemModifier [dbxListItemIsSelectedModifier]=\"isSelectedModifierFunctionSignal()\" [attr.aria-invalid]=\"ariaInvalidSignal()\">\n <div class=\"dbx-forge-list-item-field-content\">\n <dbx-injection [config]=\"configSignal()\"></dbx-injection>\n </div>\n</div>\n", dependencies: [{ kind: "ngmodule", type: DbxListModifierModule }, { kind: "directive", type: i1$1.DbxValueListItemModifierDirective, selector: "dbxListItemModifier,[dbxListItemModifier]", inputs: ["dbxListItemModifier"] }, { kind: "directive", type: i1$1.DbxListItemIsSelectedModifierDirective, selector: "dbxListItemIsSelectedModifier,[dbxListItemIsSelectedModifier]", inputs: ["dbxListItemIsSelectedModifier"] }, { kind: "component", type: DbxInjectionComponent, selector: "dbx-injection, [dbxInjection], [dbx-injection]", inputs: ["config", "template"] }, { kind: "ngmodule", type: MatDividerModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
9003
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: DbxForgeListSelectionFieldComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
9004
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.1.4", type: DbxForgeListSelectionFieldComponent, isStandalone: true, selector: "dbx-forge-list-selection-field", 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 }, meta: { classPropertyName: "meta", publicName: "meta", 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 } }, ngImport: i0, template: "<div class=\"dbx-forge-list-item-field\" [class.dbx-forge-list-field-disabled]=\"isDisabled()\" [style.--dbx-forge-list-item-field-height]=\"maxHeightCssVarSignal()\" dbxListItemModifier [dbxListItemIsSelectedModifier]=\"isSelectedModifierFunctionSignal()\" [attr.aria-invalid]=\"ariaInvalidSignal()\">\n <div class=\"dbx-forge-list-item-field-content\">\n <dbx-injection [config]=\"configSignal()\"></dbx-injection>\n </div>\n</div>\n", dependencies: [{ kind: "ngmodule", type: DbxListModifierModule }, { kind: "directive", type: i1$1.DbxValueListItemModifierDirective, selector: "dbxListItemModifier,[dbxListItemModifier]", inputs: ["dbxListItemModifier"] }, { kind: "directive", type: i1$1.DbxListItemIsSelectedModifierDirective, selector: "dbxListItemIsSelectedModifier,[dbxListItemIsSelectedModifier]", inputs: ["dbxListItemIsSelectedModifier"] }, { kind: "component", type: DbxInjectionComponent, selector: "dbx-injection, [dbxInjection], [dbx-injection]", inputs: ["config", "template"] }, { kind: "ngmodule", type: MatDividerModule }] });
8736
9005
  }
8737
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: DbxForgeListSelectionFieldComponent, decorators: [{
9006
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: DbxForgeListSelectionFieldComponent, decorators: [{
8738
9007
  type: Component,
8739
- args: [{ selector: 'dbx-forge-list-selection-field', imports: [DbxListModifierModule, DbxInjectionComponent, MatDividerModule], changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, template: "<div class=\"dbx-forge-list-item-field\" [class.dbx-forge-list-field-disabled]=\"isDisabled()\" [style.--dbx-forge-list-item-field-height]=\"maxHeightCssVarSignal()\" dbxListItemModifier [dbxListItemIsSelectedModifier]=\"isSelectedModifierFunctionSignal()\" [attr.aria-invalid]=\"ariaInvalidSignal()\">\n <div class=\"dbx-forge-list-item-field-content\">\n <dbx-injection [config]=\"configSignal()\"></dbx-injection>\n </div>\n</div>\n" }]
9008
+ args: [{ selector: 'dbx-forge-list-selection-field', imports: [DbxListModifierModule, DbxInjectionComponent, MatDividerModule], template: "<div class=\"dbx-forge-list-item-field\" [class.dbx-forge-list-field-disabled]=\"isDisabled()\" [style.--dbx-forge-list-item-field-height]=\"maxHeightCssVarSignal()\" dbxListItemModifier [dbxListItemIsSelectedModifier]=\"isSelectedModifierFunctionSignal()\" [attr.aria-invalid]=\"ariaInvalidSignal()\">\n <div class=\"dbx-forge-list-item-field-content\">\n <dbx-injection [config]=\"configSignal()\"></dbx-injection>\n </div>\n</div>\n" }]
8740
9009
  }], ctorParameters: () => [], propDecorators: { field: [{ type: i0.Input, args: [{ isSignal: true, alias: "field", required: true }] }], key: [{ type: i0.Input, args: [{ isSignal: true, alias: "key", required: true }] }], label: [{ type: i0.Input, args: [{ isSignal: true, alias: "label", required: false }] }], placeholder: [{ type: i0.Input, args: [{ isSignal: true, alias: "placeholder", required: false }] }], className: [{ type: i0.Input, args: [{ isSignal: true, alias: "className", required: false }] }], tabIndex: [{ type: i0.Input, args: [{ isSignal: true, alias: "tabIndex", required: false }] }], props: [{ type: i0.Input, args: [{ isSignal: true, alias: "props", required: false }] }], meta: [{ type: i0.Input, args: [{ isSignal: true, alias: "meta", required: false }] }], validationMessages: [{ type: i0.Input, args: [{ isSignal: true, alias: "validationMessages", required: false }] }], defaultValidationMessages: [{ type: i0.Input, args: [{ isSignal: true, alias: "defaultValidationMessages", required: false }] }] } });
8741
9010
 
8742
9011
  var list_field_component = /*#__PURE__*/Object.freeze({
@@ -8785,34 +9054,46 @@ const FORGE_COMPONENT_FIELD_TYPE = 'dbx-component';
8785
9054
  class DbxForgeComponentFieldComponent {
8786
9055
  elementRef = inject((ElementRef));
8787
9056
  // ng-forge ValueFieldComponent inputs
8788
- field = input.required(...(ngDevMode ? [{ debugName: "field" }] : /* istanbul ignore next */ []));
8789
- key = input.required(...(ngDevMode ? [{ debugName: "key" }] : /* istanbul ignore next */ []));
8790
- label = input(...(ngDevMode ? [undefined, { debugName: "label" }] : /* istanbul ignore next */ []));
8791
- placeholder = input(...(ngDevMode ? [undefined, { debugName: "placeholder" }] : /* istanbul ignore next */ []));
8792
- className = input('', ...(ngDevMode ? [{ debugName: "className" }] : /* istanbul ignore next */ []));
8793
- tabIndex = input(...(ngDevMode ? [undefined, { debugName: "tabIndex" }] : /* istanbul ignore next */ []));
8794
- props = input(...(ngDevMode ? [undefined, { debugName: "props" }] : /* istanbul ignore next */ []));
8795
- meta = input(...(ngDevMode ? [undefined, { debugName: "meta" }] : /* istanbul ignore next */ []));
8796
- validationMessages = input(...(ngDevMode ? [undefined, { debugName: "validationMessages" }] : /* istanbul ignore next */ []));
8797
- defaultValidationMessages = input(...(ngDevMode ? [undefined, { debugName: "defaultValidationMessages" }] : /* istanbul ignore next */ []));
9057
+ field = input.required(/* @ts-ignore */
9058
+ ...(ngDevMode ? [{ debugName: "field" }] : /* istanbul ignore next */ []));
9059
+ key = input.required(/* @ts-ignore */
9060
+ ...(ngDevMode ? [{ debugName: "key" }] : /* istanbul ignore next */ []));
9061
+ label = input(/* @ts-ignore */
9062
+ ...(ngDevMode ? [undefined, { debugName: "label" }] : /* istanbul ignore next */ []));
9063
+ placeholder = input(/* @ts-ignore */
9064
+ ...(ngDevMode ? [undefined, { debugName: "placeholder" }] : /* istanbul ignore next */ []));
9065
+ className = input('', /* @ts-ignore */
9066
+ ...(ngDevMode ? [{ debugName: "className" }] : /* istanbul ignore next */ []));
9067
+ tabIndex = input(/* @ts-ignore */
9068
+ ...(ngDevMode ? [undefined, { debugName: "tabIndex" }] : /* istanbul ignore next */ []));
9069
+ props = input(/* @ts-ignore */
9070
+ ...(ngDevMode ? [undefined, { debugName: "props" }] : /* istanbul ignore next */ []));
9071
+ meta = input(/* @ts-ignore */
9072
+ ...(ngDevMode ? [undefined, { debugName: "meta" }] : /* istanbul ignore next */ []));
9073
+ validationMessages = input(/* @ts-ignore */
9074
+ ...(ngDevMode ? [undefined, { debugName: "validationMessages" }] : /* istanbul ignore next */ []));
9075
+ defaultValidationMessages = input(/* @ts-ignore */
9076
+ ...(ngDevMode ? [undefined, { debugName: "defaultValidationMessages" }] : /* istanbul ignore next */ []));
8798
9077
  // Disabled state
8799
9078
  isDisabled = dbxForgeFieldDisabled();
8800
9079
  showDisabledStateSignal = computed(() => {
8801
9080
  const props = this.props();
8802
9081
  return this.isDisabled() && (props?.allowDisabledEffects ?? true);
8803
- }, ...(ngDevMode ? [{ debugName: "showDisabledStateSignal" }] : /* istanbul ignore next */ []));
9082
+ }, /* @ts-ignore */
9083
+ ...(ngDevMode ? [{ debugName: "showDisabledStateSignal" }] : /* istanbul ignore next */ []));
8804
9084
  constructor() {
8805
9085
  setupMetaTracking(this.elementRef, this.meta, { selector: 'dbx-injection' });
8806
9086
  }
8807
9087
  configSignal = computed(() => {
8808
9088
  return this.props()?.componentField;
8809
- }, ...(ngDevMode ? [{ debugName: "configSignal" }] : /* istanbul ignore next */ []));
8810
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: DbxForgeComponentFieldComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
8811
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.2.11", type: DbxForgeComponentFieldComponent, isStandalone: true, selector: "dbx-forge-component-field", 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 }, meta: { classPropertyName: "meta", publicName: "meta", 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()", "class.dbx-forge-disabled": "showDisabledStateSignal()" } }, ngImport: i0, template: `
9089
+ }, /* @ts-ignore */
9090
+ ...(ngDevMode ? [{ debugName: "configSignal" }] : /* istanbul ignore next */ []));
9091
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: DbxForgeComponentFieldComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
9092
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.1.4", type: DbxForgeComponentFieldComponent, isStandalone: true, selector: "dbx-forge-component-field", 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 }, meta: { classPropertyName: "meta", publicName: "meta", 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()", "class.dbx-forge-disabled": "showDisabledStateSignal()" } }, ngImport: i0, template: `
8812
9093
  <div class="dbx-form-component" dbx-injection [config]="configSignal()"></div>
8813
- `, isInline: true, dependencies: [{ kind: "component", type: DbxInjectionComponent, selector: "dbx-injection, [dbxInjection], [dbx-injection]", inputs: ["config", "template"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
9094
+ `, isInline: true, dependencies: [{ kind: "component", type: DbxInjectionComponent, selector: "dbx-injection, [dbxInjection], [dbx-injection]", inputs: ["config", "template"] }] });
8814
9095
  }
8815
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: DbxForgeComponentFieldComponent, decorators: [{
9096
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: DbxForgeComponentFieldComponent, decorators: [{
8816
9097
  type: Component,
8817
9098
  args: [{
8818
9099
  selector: 'dbx-forge-component-field',
@@ -8820,8 +9101,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.11", ngImpo
8820
9101
  <div class="dbx-form-component" dbx-injection [config]="configSignal()"></div>
8821
9102
  `,
8822
9103
  imports: [DbxInjectionComponent],
8823
- changeDetection: ChangeDetectionStrategy.OnPush,
8824
- standalone: true,
8825
9104
  host: {
8826
9105
  '[class]': 'className()',
8827
9106
  '[class.dbx-forge-disabled]': 'showDisabledStateSignal()'
@@ -8893,16 +9172,26 @@ class DbxForgeTextEditorFieldComponent {
8893
9172
  _compactContextStore = inject(CompactContextStore, { optional: true });
8894
9173
  elementRef = inject((ElementRef));
8895
9174
  // ng-forge ValueFieldComponent inputs
8896
- field = input.required(...(ngDevMode ? [{ debugName: "field" }] : /* istanbul ignore next */ []));
8897
- key = input.required(...(ngDevMode ? [{ debugName: "key" }] : /* istanbul ignore next */ []));
8898
- label = input(...(ngDevMode ? [undefined, { debugName: "label" }] : /* istanbul ignore next */ []));
8899
- placeholder = input(...(ngDevMode ? [undefined, { debugName: "placeholder" }] : /* istanbul ignore next */ []));
8900
- className = input('', ...(ngDevMode ? [{ debugName: "className" }] : /* istanbul ignore next */ []));
8901
- tabIndex = input(...(ngDevMode ? [undefined, { debugName: "tabIndex" }] : /* istanbul ignore next */ []));
8902
- props = input(...(ngDevMode ? [undefined, { debugName: "props" }] : /* istanbul ignore next */ []));
8903
- meta = input(...(ngDevMode ? [undefined, { debugName: "meta" }] : /* istanbul ignore next */ []));
8904
- validationMessages = input(...(ngDevMode ? [undefined, { debugName: "validationMessages" }] : /* istanbul ignore next */ []));
8905
- defaultValidationMessages = input(...(ngDevMode ? [undefined, { debugName: "defaultValidationMessages" }] : /* istanbul ignore next */ []));
9175
+ field = input.required(/* @ts-ignore */
9176
+ ...(ngDevMode ? [{ debugName: "field" }] : /* istanbul ignore next */ []));
9177
+ key = input.required(/* @ts-ignore */
9178
+ ...(ngDevMode ? [{ debugName: "key" }] : /* istanbul ignore next */ []));
9179
+ label = input(/* @ts-ignore */
9180
+ ...(ngDevMode ? [undefined, { debugName: "label" }] : /* istanbul ignore next */ []));
9181
+ placeholder = input(/* @ts-ignore */
9182
+ ...(ngDevMode ? [undefined, { debugName: "placeholder" }] : /* istanbul ignore next */ []));
9183
+ className = input('', /* @ts-ignore */
9184
+ ...(ngDevMode ? [{ debugName: "className" }] : /* istanbul ignore next */ []));
9185
+ tabIndex = input(/* @ts-ignore */
9186
+ ...(ngDevMode ? [undefined, { debugName: "tabIndex" }] : /* istanbul ignore next */ []));
9187
+ props = input(/* @ts-ignore */
9188
+ ...(ngDevMode ? [undefined, { debugName: "props" }] : /* istanbul ignore next */ []));
9189
+ meta = input(/* @ts-ignore */
9190
+ ...(ngDevMode ? [undefined, { debugName: "meta" }] : /* istanbul ignore next */ []));
9191
+ validationMessages = input(/* @ts-ignore */
9192
+ ...(ngDevMode ? [undefined, { debugName: "validationMessages" }] : /* istanbul ignore next */ []));
9193
+ defaultValidationMessages = input(/* @ts-ignore */
9194
+ ...(ngDevMode ? [undefined, { debugName: "defaultValidationMessages" }] : /* istanbul ignore next */ []));
8906
9195
  _editor;
8907
9196
  _editorValueSub = cleanSubscription();
8908
9197
  _syncFromFieldSub = cleanSubscription();
@@ -8916,20 +9205,27 @@ class DbxForgeTextEditorFieldComponent {
8916
9205
  labelSignal = computed(() => {
8917
9206
  const l = this.label();
8918
9207
  return typeof l === 'string' ? l : undefined;
8919
- }, ...(ngDevMode ? [{ debugName: "labelSignal" }] : /* istanbul ignore next */ []));
9208
+ }, /* @ts-ignore */
9209
+ ...(ngDevMode ? [{ debugName: "labelSignal" }] : /* istanbul ignore next */ []));
8920
9210
  placeholderSignal = computed(() => {
8921
9211
  const p = this.placeholder();
8922
9212
  return typeof p === 'string' ? p : '';
8923
- }, ...(ngDevMode ? [{ debugName: "placeholderSignal" }] : /* istanbul ignore next */ []));
8924
- descriptionSignal = computed(() => this.props()?.hint, ...(ngDevMode ? [{ debugName: "descriptionSignal" }] : /* istanbul ignore next */ []));
9213
+ }, /* @ts-ignore */
9214
+ ...(ngDevMode ? [{ debugName: "placeholderSignal" }] : /* istanbul ignore next */ []));
9215
+ descriptionSignal = computed(() => this.props()?.hint, /* @ts-ignore */
9216
+ ...(ngDevMode ? [{ debugName: "descriptionSignal" }] : /* istanbul ignore next */ []));
8925
9217
  // Error handling
8926
9218
  resolvedErrors = createResolvedErrorsSignal(this.field, this.validationMessages, this.defaultValidationMessages);
8927
9219
  showErrors = shouldShowErrors(this.field);
8928
- errorsToDisplaySignal = computed(() => (this.showErrors() ? this.resolvedErrors() : []), ...(ngDevMode ? [{ debugName: "errorsToDisplaySignal" }] : /* istanbul ignore next */ []));
9220
+ errorsToDisplaySignal = computed(() => (this.showErrors() ? this.resolvedErrors() : []), /* @ts-ignore */
9221
+ ...(ngDevMode ? [{ debugName: "errorsToDisplaySignal" }] : /* istanbul ignore next */ []));
8929
9222
  // ARIA
8930
- hintIdSignal = computed(() => `${this.key()}-hint`, ...(ngDevMode ? [{ debugName: "hintIdSignal" }] : /* istanbul ignore next */ []));
8931
- errorIdSignal = computed(() => `${this.key()}-error`, ...(ngDevMode ? [{ debugName: "errorIdSignal" }] : /* istanbul ignore next */ []));
8932
- ariaInvalidSignal = computed(() => (this.showErrors() ? 'true' : null), ...(ngDevMode ? [{ debugName: "ariaInvalidSignal" }] : /* istanbul ignore next */ []));
9223
+ hintIdSignal = computed(() => `${this.key()}-hint`, /* @ts-ignore */
9224
+ ...(ngDevMode ? [{ debugName: "hintIdSignal" }] : /* istanbul ignore next */ []));
9225
+ errorIdSignal = computed(() => `${this.key()}-error`, /* @ts-ignore */
9226
+ ...(ngDevMode ? [{ debugName: "errorIdSignal" }] : /* istanbul ignore next */ []));
9227
+ ariaInvalidSignal = computed(() => (this.showErrors() ? 'true' : null), /* @ts-ignore */
9228
+ ...(ngDevMode ? [{ debugName: "ariaInvalidSignal" }] : /* istanbul ignore next */ []));
8933
9229
  ariaDescribedBySignal = computed(() => {
8934
9230
  const errorId = this.errorIdSignal();
8935
9231
  const hintId = this.hintIdSignal();
@@ -8938,7 +9234,8 @@ class DbxForgeTextEditorFieldComponent {
8938
9234
  if (this.props()?.hint)
8939
9235
  return hintId;
8940
9236
  return null;
8941
- }, ...(ngDevMode ? [{ debugName: "ariaDescribedBySignal" }] : /* istanbul ignore next */ []));
9237
+ }, /* @ts-ignore */
9238
+ ...(ngDevMode ? [{ debugName: "ariaDescribedBySignal" }] : /* istanbul ignore next */ []));
8942
9239
  constructor() {
8943
9240
  setupMetaTracking(this.elementRef, this.meta, { selector: 'ngx-editor' });
8944
9241
  }
@@ -8949,7 +9246,8 @@ class DbxForgeTextEditorFieldComponent {
8949
9246
  _disabledEffect = effect(() => {
8950
9247
  const disabled = this.isDisabled();
8951
9248
  toggleDisableFormControl(this.editorFormControl, disabled);
8952
- }, ...(ngDevMode ? [{ debugName: "_disabledEffect" }] : /* istanbul ignore next */ []));
9249
+ }, /* @ts-ignore */
9250
+ ...(ngDevMode ? [{ debugName: "_disabledEffect" }] : /* istanbul ignore next */ []));
8953
9251
  _syncFieldToEditor = effect(() => {
8954
9252
  const fieldSignal = this.field();
8955
9253
  const node = fieldSignal ? fieldSignal() : undefined;
@@ -8957,7 +9255,8 @@ class DbxForgeTextEditorFieldComponent {
8957
9255
  if (fieldValue !== undefined && fieldValue !== this.editorFormControl.value) {
8958
9256
  this.editorFormControl.setValue(fieldValue ?? '', { emitEvent: false });
8959
9257
  }
8960
- }, ...(ngDevMode ? [{ debugName: "_syncFieldToEditor" }] : /* istanbul ignore next */ []));
9258
+ }, /* @ts-ignore */
9259
+ ...(ngDevMode ? [{ debugName: "_syncFieldToEditor" }] : /* istanbul ignore next */ []));
8961
9260
  ngOnInit() {
8962
9261
  this._editor = new Editor({});
8963
9262
  // Watch for FormControl value changes (updated by ngx-editor's formControl binding)
@@ -8982,12 +9281,12 @@ class DbxForgeTextEditorFieldComponent {
8982
9281
  node.value.set(value);
8983
9282
  }
8984
9283
  }
8985
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: DbxForgeTextEditorFieldComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
8986
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.11", type: DbxForgeTextEditorFieldComponent, isStandalone: true, selector: "dbx-forge-texteditor-field", 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 }, meta: { classPropertyName: "meta", publicName: "meta", 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 } }, ngImport: i0, template: "<div class=\"dbx-texteditor-field\" [ngClass]=\"compactClassSignal()\" [class.dbx-texteditor-field-disabled]=\"isDisabled()\">\n @if (labelSignal()) {\n <span class=\"dbx-label\">{{ labelSignal() }}</span>\n }\n <div class=\"dbx-texteditor-field-content\">\n <div class=\"dbx-texteditor-field-input\">\n <ngx-editor [editor]=\"editor\" outputFormat=\"html\" [placeholder]=\"placeholderSignal()\" [formControl]=\"editorFormControl\" [attr.aria-invalid]=\"ariaInvalidSignal()\" [attr.aria-describedby]=\"ariaDescribedBySignal()\"></ngx-editor>\n </div>\n <div class=\"dbx-texteditor-field-menu\">\n <ngx-editor-menu [editor]=\"editor\" [disabled]=\"isDisabled()\"></ngx-editor-menu>\n </div>\n </div>\n @if (errorsToDisplaySignal()[0]; as error) {\n <div class=\"dbx-form-description dbx-form-error\" [id]=\"errorIdSignal()\">{{ error.message }}</div>\n } @else if (descriptionSignal()) {\n <div class=\"dbx-form-description\" [id]=\"hintIdSignal()\">{{ descriptionSignal() }}</div>\n }\n</div>\n", dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: NgxEditorModule }, { kind: "component", type: i1$5.NgxEditorComponent, selector: "ngx-editor", inputs: ["editor", "outputFormat", "placeholder"], outputs: ["focusOut", "focusIn"] }, { kind: "component", type: i1$5.NgxEditorMenuComponent, selector: "ngx-editor-menu", inputs: ["toolbar", "colorPresets", "disabled", "editor", "customMenuRef", "dropdownPlacement"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1$4.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
9284
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: DbxForgeTextEditorFieldComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
9285
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.4", type: DbxForgeTextEditorFieldComponent, isStandalone: true, selector: "dbx-forge-texteditor-field", 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 }, meta: { classPropertyName: "meta", publicName: "meta", 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 } }, ngImport: i0, template: "<div class=\"dbx-texteditor-field\" [ngClass]=\"compactClassSignal()\" [class.dbx-texteditor-field-disabled]=\"isDisabled()\">\n @if (labelSignal()) {\n <span class=\"dbx-label\">{{ labelSignal() }}</span>\n }\n <div class=\"dbx-texteditor-field-content\">\n <div class=\"dbx-texteditor-field-input\">\n <ngx-editor [editor]=\"editor\" outputFormat=\"html\" [placeholder]=\"placeholderSignal()\" [formControl]=\"editorFormControl\" [attr.aria-invalid]=\"ariaInvalidSignal()\" [attr.aria-describedby]=\"ariaDescribedBySignal()\"></ngx-editor>\n </div>\n <div class=\"dbx-texteditor-field-menu\">\n <ngx-editor-menu [editor]=\"editor\" [disabled]=\"isDisabled()\"></ngx-editor-menu>\n </div>\n </div>\n @if (errorsToDisplaySignal()[0]; as error) {\n <div class=\"dbx-form-description dbx-form-error\" [id]=\"errorIdSignal()\">{{ error.message }}</div>\n } @else if (descriptionSignal()) {\n <div class=\"dbx-form-description\" [id]=\"hintIdSignal()\">{{ descriptionSignal() }}</div>\n }\n</div>\n", dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: NgxEditorModule }, { kind: "component", type: i1$5.NgxEditorComponent, selector: "ngx-editor", inputs: ["editor", "outputFormat", "placeholder"], outputs: ["focusOut", "focusIn"] }, { kind: "component", type: i1$5.NgxEditorMenuComponent, selector: "ngx-editor-menu", inputs: ["toolbar", "colorPresets", "disabled", "editor", "customMenuRef", "dropdownPlacement"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1$4.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }] });
8987
9286
  }
8988
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: DbxForgeTextEditorFieldComponent, decorators: [{
9287
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: DbxForgeTextEditorFieldComponent, decorators: [{
8989
9288
  type: Component,
8990
- args: [{ selector: 'dbx-forge-texteditor-field', imports: [NgClass, NgxEditorModule, FormsModule, ReactiveFormsModule], changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, template: "<div class=\"dbx-texteditor-field\" [ngClass]=\"compactClassSignal()\" [class.dbx-texteditor-field-disabled]=\"isDisabled()\">\n @if (labelSignal()) {\n <span class=\"dbx-label\">{{ labelSignal() }}</span>\n }\n <div class=\"dbx-texteditor-field-content\">\n <div class=\"dbx-texteditor-field-input\">\n <ngx-editor [editor]=\"editor\" outputFormat=\"html\" [placeholder]=\"placeholderSignal()\" [formControl]=\"editorFormControl\" [attr.aria-invalid]=\"ariaInvalidSignal()\" [attr.aria-describedby]=\"ariaDescribedBySignal()\"></ngx-editor>\n </div>\n <div class=\"dbx-texteditor-field-menu\">\n <ngx-editor-menu [editor]=\"editor\" [disabled]=\"isDisabled()\"></ngx-editor-menu>\n </div>\n </div>\n @if (errorsToDisplaySignal()[0]; as error) {\n <div class=\"dbx-form-description dbx-form-error\" [id]=\"errorIdSignal()\">{{ error.message }}</div>\n } @else if (descriptionSignal()) {\n <div class=\"dbx-form-description\" [id]=\"hintIdSignal()\">{{ descriptionSignal() }}</div>\n }\n</div>\n" }]
9289
+ args: [{ selector: 'dbx-forge-texteditor-field', imports: [NgClass, NgxEditorModule, FormsModule, ReactiveFormsModule], template: "<div class=\"dbx-texteditor-field\" [ngClass]=\"compactClassSignal()\" [class.dbx-texteditor-field-disabled]=\"isDisabled()\">\n @if (labelSignal()) {\n <span class=\"dbx-label\">{{ labelSignal() }}</span>\n }\n <div class=\"dbx-texteditor-field-content\">\n <div class=\"dbx-texteditor-field-input\">\n <ngx-editor [editor]=\"editor\" outputFormat=\"html\" [placeholder]=\"placeholderSignal()\" [formControl]=\"editorFormControl\" [attr.aria-invalid]=\"ariaInvalidSignal()\" [attr.aria-describedby]=\"ariaDescribedBySignal()\"></ngx-editor>\n </div>\n <div class=\"dbx-texteditor-field-menu\">\n <ngx-editor-menu [editor]=\"editor\" [disabled]=\"isDisabled()\"></ngx-editor-menu>\n </div>\n </div>\n @if (errorsToDisplaySignal()[0]; as error) {\n <div class=\"dbx-form-description dbx-form-error\" [id]=\"errorIdSignal()\">{{ error.message }}</div>\n } @else if (descriptionSignal()) {\n <div class=\"dbx-form-description\" [id]=\"hintIdSignal()\">{{ descriptionSignal() }}</div>\n }\n</div>\n" }]
8991
9290
  }], ctorParameters: () => [], propDecorators: { field: [{ type: i0.Input, args: [{ isSignal: true, alias: "field", required: true }] }], key: [{ type: i0.Input, args: [{ isSignal: true, alias: "key", required: true }] }], label: [{ type: i0.Input, args: [{ isSignal: true, alias: "label", required: false }] }], placeholder: [{ type: i0.Input, args: [{ isSignal: true, alias: "placeholder", required: false }] }], className: [{ type: i0.Input, args: [{ isSignal: true, alias: "className", required: false }] }], tabIndex: [{ type: i0.Input, args: [{ isSignal: true, alias: "tabIndex", required: false }] }], props: [{ type: i0.Input, args: [{ isSignal: true, alias: "props", required: false }] }], meta: [{ type: i0.Input, args: [{ isSignal: true, alias: "meta", required: false }] }], validationMessages: [{ type: i0.Input, args: [{ isSignal: true, alias: "validationMessages", required: false }] }], defaultValidationMessages: [{ type: i0.Input, args: [{ isSignal: true, alias: "defaultValidationMessages", required: false }] }] } });
8992
9291
 
8993
9292
  var texteditor_field_component = /*#__PURE__*/Object.freeze({
@@ -9108,30 +9407,39 @@ function _withValuesFromSource(field, source) {
9108
9407
  * for coordinated add/remove/reorder operations.
9109
9408
  */
9110
9409
  class DbxForgeArrayFieldWrapperComponent {
9111
- fieldComponent = viewChild.required('fieldComponent', { read: ViewContainerRef });
9112
- fieldInputs = input(...(ngDevMode ? [undefined, { debugName: "fieldInputs" }] : /* istanbul ignore next */ []));
9410
+ fieldComponent = viewChild.required('fieldComponent', { ...(ngDevMode ? { debugName: "fieldComponent" } : /* istanbul ignore next */ {}), read: ViewContainerRef });
9411
+ fieldInputs = input(/* @ts-ignore */
9412
+ ...(ngDevMode ? [undefined, { debugName: "fieldInputs" }] : /* istanbul ignore next */ []));
9113
9413
  dispatcher = inject(EventDispatcher);
9114
9414
  _formContextService = inject(DbxForgeFormContextService);
9115
9415
  /**
9116
9416
  * Wrapper config props passed via addWrappers({ type, props }).
9117
9417
  * ng-forge delivers wrapper config properties (with `type` stripped) as individual inputs.
9118
9418
  */
9119
- props = input(...(ngDevMode ? [undefined, { debugName: "props" }] : /* istanbul ignore next */ []));
9419
+ props = input(/* @ts-ignore */
9420
+ ...(ngDevMode ? [undefined, { debugName: "props" }] : /* istanbul ignore next */ []));
9120
9421
  // Disabled state
9121
9422
  isDisabled = dbxForgeFieldDisabled();
9122
- labelSignal = computed(() => this.props()?.label ?? '', ...(ngDevMode ? [{ debugName: "labelSignal" }] : /* istanbul ignore next */ []));
9123
- hintSignal = computed(() => this.props()?.hint ?? '', ...(ngDevMode ? [{ debugName: "hintSignal" }] : /* istanbul ignore next */ []));
9124
- disableRearrangeSignal = computed(() => this.props()?.disableRearrange ?? false, ...(ngDevMode ? [{ debugName: "disableRearrangeSignal" }] : /* istanbul ignore next */ []));
9125
- allowAddSignal = computed(() => this.props()?.allowAdd ?? true, ...(ngDevMode ? [{ debugName: "allowAddSignal" }] : /* istanbul ignore next */ []));
9423
+ labelSignal = computed(() => this.props()?.label ?? '', /* @ts-ignore */
9424
+ ...(ngDevMode ? [{ debugName: "labelSignal" }] : /* istanbul ignore next */ []));
9425
+ hintSignal = computed(() => this.props()?.hint ?? '', /* @ts-ignore */
9426
+ ...(ngDevMode ? [{ debugName: "hintSignal" }] : /* istanbul ignore next */ []));
9427
+ disableRearrangeSignal = computed(() => this.props()?.disableRearrange ?? false, /* @ts-ignore */
9428
+ ...(ngDevMode ? [{ debugName: "disableRearrangeSignal" }] : /* istanbul ignore next */ []));
9429
+ allowAddSignal = computed(() => this.props()?.allowAdd ?? true, /* @ts-ignore */
9430
+ ...(ngDevMode ? [{ debugName: "allowAddSignal" }] : /* istanbul ignore next */ []));
9126
9431
  addTextSignal = computed(() => {
9127
9432
  const text = this.props()?.addText;
9128
9433
  return typeof text === 'string' ? text : 'Add';
9129
- }, ...(ngDevMode ? [{ debugName: "addTextSignal" }] : /* istanbul ignore next */ []));
9130
- addButtonStyleSignal = computed(() => this.props()?.addButtonStyle ?? { type: 'raised', color: 'primary' }, ...(ngDevMode ? [{ debugName: "addButtonStyleSignal" }] : /* istanbul ignore next */ []));
9434
+ }, /* @ts-ignore */
9435
+ ...(ngDevMode ? [{ debugName: "addTextSignal" }] : /* istanbul ignore next */ []));
9436
+ addButtonStyleSignal = computed(() => this.props()?.addButtonStyle ?? { type: 'raised', color: 'primary' }, /* @ts-ignore */
9437
+ ...(ngDevMode ? [{ debugName: "addButtonStyleSignal" }] : /* istanbul ignore next */ []));
9131
9438
  /**
9132
9439
  * Current item count read reactively from the form value.
9133
9440
  */
9134
- itemCountSignal = computed(() => this._readArrayValue().length, ...(ngDevMode ? [{ debugName: "itemCountSignal" }] : /* istanbul ignore next */ []));
9441
+ itemCountSignal = computed(() => this._readArrayValue().length, /* @ts-ignore */
9442
+ ...(ngDevMode ? [{ debugName: "itemCountSignal" }] : /* istanbul ignore next */ []));
9135
9443
  /**
9136
9444
  * Whether the array has reached its configured `maxLength`. When true, the
9137
9445
  * add button is disabled. Returns false when `maxLength` is not set.
@@ -9140,7 +9448,8 @@ class DbxForgeArrayFieldWrapperComponent {
9140
9448
  const itemCount = this.itemCountSignal();
9141
9449
  const maxLength = this.props()?.maxLength;
9142
9450
  return typeof maxLength === 'number' && itemCount >= maxLength;
9143
- }, ...(ngDevMode ? [{ debugName: "atMaxLengthSignal" }] : /* istanbul ignore next */ []));
9451
+ }, /* @ts-ignore */
9452
+ ...(ngDevMode ? [{ debugName: "atMaxLengthSignal" }] : /* istanbul ignore next */ []));
9144
9453
  /**
9145
9454
  * Add button disabled state — combines the standard disabled flag with the
9146
9455
  * `maxLength` cap so clicking past the limit is prevented.
@@ -9148,7 +9457,8 @@ class DbxForgeArrayFieldWrapperComponent {
9148
9457
  addButtonDisabledSignal = computed(() => {
9149
9458
  const atMaxLength = this.atMaxLengthSignal();
9150
9459
  return this.isDisabled() || atMaxLength;
9151
- }, ...(ngDevMode ? [{ debugName: "addButtonDisabledSignal" }] : /* istanbul ignore next */ []));
9460
+ }, /* @ts-ignore */
9461
+ ...(ngDevMode ? [{ debugName: "addButtonDisabledSignal" }] : /* istanbul ignore next */ []));
9152
9462
  drop(event) {
9153
9463
  if (event.previousIndex === event.currentIndex) {
9154
9464
  return;
@@ -9270,12 +9580,12 @@ class DbxForgeArrayFieldWrapperComponent {
9270
9580
  const boundedTo = Math.max(0, Math.min(toIndex, items.length));
9271
9581
  this.dispatcher.dispatch(arrayEvent(key).insertAt(boundedTo, templateWithValues));
9272
9582
  }
9273
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: DbxForgeArrayFieldWrapperComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
9274
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.11", type: DbxForgeArrayFieldWrapperComponent, isStandalone: true, selector: "dbx-forge-array-field-wrapper", inputs: { fieldInputs: { classPropertyName: "fieldInputs", publicName: "fieldInputs", isSignal: true, isRequired: false, transformFunction: null }, props: { classPropertyName: "props", publicName: "props", isSignal: true, isRequired: false, transformFunction: null } }, viewQueries: [{ propertyName: "fieldComponent", first: true, predicate: ["fieldComponent"], descendants: true, read: ViewContainerRef, isSignal: true }], ngImport: i0, template: "<div class=\"dbx-form-repeat-array\">\n @if (labelSignal(); as labelText) {\n <div class=\"dbx-form-repeat-array-header\">\n <h4 class=\"dbx-form-repeat-array-title\">{{ labelText | dynamicText | async }}</h4>\n </div>\n }\n @if (hintSignal(); as hintText) {\n <p class=\"dbx-form-repeat-array-hint\">{{ hintText | dynamicText | async }}</p>\n }\n <div class=\"dbx-form-repeat-array-content\" cdkDropList [cdkDropListDisabled]=\"disableRearrangeSignal()\" (cdkDropListDropped)=\"drop($event)\">\n <ng-container #fieldComponent></ng-container>\n </div>\n @if (allowAddSignal()) {\n <div class=\"dbx-form-repeat-array-footer\">\n <dbx-button [text]=\"addTextSignal()\" [buttonStyle]=\"addButtonStyleSignal()\" [disabled]=\"addButtonDisabledSignal()\" (buttonClick)=\"addItem()\"></dbx-button>\n </div>\n }\n</div>\n", dependencies: [{ kind: "directive", type: CdkDropList, selector: "[cdkDropList], cdk-drop-list", inputs: ["cdkDropListConnectedTo", "cdkDropListData", "cdkDropListOrientation", "id", "cdkDropListLockAxis", "cdkDropListDisabled", "cdkDropListSortingDisabled", "cdkDropListEnterPredicate", "cdkDropListSortPredicate", "cdkDropListAutoScrollDisabled", "cdkDropListAutoScrollStep", "cdkDropListElementContainer", "cdkDropListHasAnchor"], outputs: ["cdkDropListDropped", "cdkDropListEntered", "cdkDropListExited", "cdkDropListSorted"], exportAs: ["cdkDropList"] }, { kind: "component", type: DbxButtonComponent, selector: "dbx-button", inputs: ["bar", "type", "buttonStyle", "color", "spinnerColor", "customButtonColor", "customTextColor", "customSpinnerColor", "basic", "tonal", "raised", "stroked", "flat", "iconOnly", "fab", "customContent", "allowClickPropagation", "mode"] }, { kind: "pipe", type: DynamicTextPipe, name: "dynamicText" }, { kind: "pipe", type: AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
9583
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: DbxForgeArrayFieldWrapperComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
9584
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.4", type: DbxForgeArrayFieldWrapperComponent, isStandalone: true, selector: "dbx-forge-array-field-wrapper", inputs: { fieldInputs: { classPropertyName: "fieldInputs", publicName: "fieldInputs", isSignal: true, isRequired: false, transformFunction: null }, props: { classPropertyName: "props", publicName: "props", isSignal: true, isRequired: false, transformFunction: null } }, viewQueries: [{ propertyName: "fieldComponent", first: true, predicate: ["fieldComponent"], descendants: true, read: ViewContainerRef, isSignal: true }], ngImport: i0, template: "<div class=\"dbx-form-repeat-array\">\n @if (labelSignal(); as labelText) {\n <div class=\"dbx-form-repeat-array-header\">\n <h4 class=\"dbx-form-repeat-array-title\">{{ labelText | dynamicText | async }}</h4>\n </div>\n }\n @if (hintSignal(); as hintText) {\n <p class=\"dbx-form-repeat-array-hint\">{{ hintText | dynamicText | async }}</p>\n }\n <div class=\"dbx-form-repeat-array-content\" cdkDropList [cdkDropListDisabled]=\"disableRearrangeSignal()\" (cdkDropListDropped)=\"drop($event)\">\n <ng-container #fieldComponent></ng-container>\n </div>\n @if (allowAddSignal()) {\n <div class=\"dbx-form-repeat-array-footer\">\n <dbx-button [text]=\"addTextSignal()\" [buttonStyle]=\"addButtonStyleSignal()\" [disabled]=\"addButtonDisabledSignal()\" (buttonClick)=\"addItem()\"></dbx-button>\n </div>\n }\n</div>\n", dependencies: [{ kind: "directive", type: CdkDropList, selector: "[cdkDropList], cdk-drop-list", inputs: ["cdkDropListConnectedTo", "cdkDropListData", "cdkDropListOrientation", "id", "cdkDropListLockAxis", "cdkDropListDisabled", "cdkDropListSortingDisabled", "cdkDropListEnterPredicate", "cdkDropListSortPredicate", "cdkDropListAutoScrollDisabled", "cdkDropListAutoScrollStep", "cdkDropListElementContainer", "cdkDropListHasAnchor"], outputs: ["cdkDropListDropped", "cdkDropListEntered", "cdkDropListExited", "cdkDropListSorted"], exportAs: ["cdkDropList"] }, { kind: "component", type: DbxButtonComponent, selector: "dbx-button", inputs: ["bar", "type", "buttonStyle", "color", "spinnerColor", "customTextColor", "customSpinnerColor", "basic", "tonal", "raised", "stroked", "flat", "iconOnly", "fab", "customContent", "allowClickPropagation", "mode"] }, { kind: "pipe", type: DynamicTextPipe, name: "dynamicText" }, { kind: "pipe", type: AsyncPipe, name: "async" }] });
9275
9585
  }
9276
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: DbxForgeArrayFieldWrapperComponent, decorators: [{
9586
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: DbxForgeArrayFieldWrapperComponent, decorators: [{
9277
9587
  type: Component,
9278
- args: [{ selector: 'dbx-forge-array-field-wrapper', imports: [DynamicTextPipe, AsyncPipe, CdkDropList, DbxButtonComponent], changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, template: "<div class=\"dbx-form-repeat-array\">\n @if (labelSignal(); as labelText) {\n <div class=\"dbx-form-repeat-array-header\">\n <h4 class=\"dbx-form-repeat-array-title\">{{ labelText | dynamicText | async }}</h4>\n </div>\n }\n @if (hintSignal(); as hintText) {\n <p class=\"dbx-form-repeat-array-hint\">{{ hintText | dynamicText | async }}</p>\n }\n <div class=\"dbx-form-repeat-array-content\" cdkDropList [cdkDropListDisabled]=\"disableRearrangeSignal()\" (cdkDropListDropped)=\"drop($event)\">\n <ng-container #fieldComponent></ng-container>\n </div>\n @if (allowAddSignal()) {\n <div class=\"dbx-form-repeat-array-footer\">\n <dbx-button [text]=\"addTextSignal()\" [buttonStyle]=\"addButtonStyleSignal()\" [disabled]=\"addButtonDisabledSignal()\" (buttonClick)=\"addItem()\"></dbx-button>\n </div>\n }\n</div>\n" }]
9588
+ args: [{ selector: 'dbx-forge-array-field-wrapper', imports: [DynamicTextPipe, AsyncPipe, CdkDropList, DbxButtonComponent], template: "<div class=\"dbx-form-repeat-array\">\n @if (labelSignal(); as labelText) {\n <div class=\"dbx-form-repeat-array-header\">\n <h4 class=\"dbx-form-repeat-array-title\">{{ labelText | dynamicText | async }}</h4>\n </div>\n }\n @if (hintSignal(); as hintText) {\n <p class=\"dbx-form-repeat-array-hint\">{{ hintText | dynamicText | async }}</p>\n }\n <div class=\"dbx-form-repeat-array-content\" cdkDropList [cdkDropListDisabled]=\"disableRearrangeSignal()\" (cdkDropListDropped)=\"drop($event)\">\n <ng-container #fieldComponent></ng-container>\n </div>\n @if (allowAddSignal()) {\n <div class=\"dbx-form-repeat-array-footer\">\n <dbx-button [text]=\"addTextSignal()\" [buttonStyle]=\"addButtonStyleSignal()\" [disabled]=\"addButtonDisabledSignal()\" (buttonClick)=\"addItem()\"></dbx-button>\n </div>\n }\n</div>\n" }]
9279
9589
  }], propDecorators: { fieldComponent: [{ type: i0.ViewChild, args: ['fieldComponent', { ...{ read: ViewContainerRef }, isSignal: true }] }], fieldInputs: [{ type: i0.Input, args: [{ isSignal: true, alias: "fieldInputs", required: false }] }], props: [{ type: i0.Input, args: [{ isSignal: true, alias: "props", required: false }] }] } });
9280
9590
 
9281
9591
  var arrayField_wrapper_component = /*#__PURE__*/Object.freeze({
@@ -9304,17 +9614,21 @@ const DEFAULT_DUPLICATE_BUTTON = {
9304
9614
  * a drag handle, item label, and remove button.
9305
9615
  */
9306
9616
  class DbxForgeArrayFieldElementWrapperComponent {
9307
- fieldComponent = viewChild.required('fieldComponent', { read: ViewContainerRef });
9617
+ fieldComponent = viewChild.required('fieldComponent', { ...(ngDevMode ? { debugName: "fieldComponent" } : /* istanbul ignore next */ {}), read: ViewContainerRef });
9308
9618
  parent = inject(DbxForgeArrayFieldWrapperComponent);
9309
9619
  formContextService = inject(DbxForgeFormContextService);
9310
9620
  arrayContext = inject(ARRAY_CONTEXT);
9311
9621
  // Disabled state
9312
9622
  isDisabled = dbxForgeFieldDisabled();
9313
9623
  // Props from wrapper config (ng-forge passes wrapper config properties as individual inputs)
9314
- fieldInputs = input(...(ngDevMode ? [undefined, { debugName: "fieldInputs" }] : /* istanbul ignore next */ []));
9315
- props = input(...(ngDevMode ? [undefined, { debugName: "props" }] : /* istanbul ignore next */ []));
9316
- disableRearrangeSignal = computed(() => this.props()?.disableRearrange ?? false, ...(ngDevMode ? [{ debugName: "disableRearrangeSignal" }] : /* istanbul ignore next */ []));
9317
- showIndexChipSignal = computed(() => this.props()?.showIndexChip ?? true, ...(ngDevMode ? [{ debugName: "showIndexChipSignal" }] : /* istanbul ignore next */ []));
9624
+ fieldInputs = input(/* @ts-ignore */
9625
+ ...(ngDevMode ? [undefined, { debugName: "fieldInputs" }] : /* istanbul ignore next */ []));
9626
+ props = input(/* @ts-ignore */
9627
+ ...(ngDevMode ? [undefined, { debugName: "props" }] : /* istanbul ignore next */ []));
9628
+ disableRearrangeSignal = computed(() => this.props()?.disableRearrange ?? false, /* @ts-ignore */
9629
+ ...(ngDevMode ? [{ debugName: "disableRearrangeSignal" }] : /* istanbul ignore next */ []));
9630
+ showIndexChipSignal = computed(() => this.props()?.showIndexChip ?? true, /* @ts-ignore */
9631
+ ...(ngDevMode ? [{ debugName: "showIndexChipSignal" }] : /* istanbul ignore next */ []));
9318
9632
  indexChipDisplaySignal = computed(() => {
9319
9633
  const displayFn = this.props()?.indexChipDisplay;
9320
9634
  let result = DEFAULT_INDEX_CHIP_DISPLAY;
@@ -9323,7 +9637,8 @@ class DbxForgeArrayFieldElementWrapperComponent {
9323
9637
  result = displayFn(ctx);
9324
9638
  }
9325
9639
  return result;
9326
- }, ...(ngDevMode ? [{ debugName: "indexChipDisplaySignal" }] : /* istanbul ignore next */ []));
9640
+ }, /* @ts-ignore */
9641
+ ...(ngDevMode ? [{ debugName: "indexChipDisplaySignal" }] : /* istanbul ignore next */ []));
9327
9642
  allowRemoveSignal = computed(() => {
9328
9643
  const allowRemove = this.props()?.allowRemove;
9329
9644
  let result;
@@ -9335,12 +9650,15 @@ class DbxForgeArrayFieldElementWrapperComponent {
9335
9650
  result = allowRemove ?? true;
9336
9651
  }
9337
9652
  return result;
9338
- }, ...(ngDevMode ? [{ debugName: "allowRemoveSignal" }] : /* istanbul ignore next */ []));
9653
+ }, /* @ts-ignore */
9654
+ ...(ngDevMode ? [{ debugName: "allowRemoveSignal" }] : /* istanbul ignore next */ []));
9339
9655
  removeTextSignal = computed(() => {
9340
9656
  const text = this.props()?.removeText;
9341
9657
  return typeof text === 'string' ? text : 'Remove';
9342
- }, ...(ngDevMode ? [{ debugName: "removeTextSignal" }] : /* istanbul ignore next */ []));
9343
- removeButtonStyleSignal = computed(() => this.props()?.removeButtonStyle ?? { type: 'stroked', color: 'warn' }, ...(ngDevMode ? [{ debugName: "removeButtonStyleSignal" }] : /* istanbul ignore next */ []));
9658
+ }, /* @ts-ignore */
9659
+ ...(ngDevMode ? [{ debugName: "removeTextSignal" }] : /* istanbul ignore next */ []));
9660
+ removeButtonStyleSignal = computed(() => this.props()?.removeButtonStyle ?? { type: 'stroked', color: 'warn' }, /* @ts-ignore */
9661
+ ...(ngDevMode ? [{ debugName: "removeButtonStyleSignal" }] : /* istanbul ignore next */ []));
9344
9662
  /**
9345
9663
  * Resolves {@link DbxForgeArrayFieldElementWrapperProps.allowDuplicate} to either
9346
9664
  * `false` (hide the button) or a target {@link IndexNumber}. `true` maps to the
@@ -9367,8 +9685,10 @@ class DbxForgeArrayFieldElementWrapperComponent {
9367
9685
  }
9368
9686
  }
9369
9687
  return result;
9370
- }, ...(ngDevMode ? [{ debugName: "duplicateTargetIndexSignal" }] : /* istanbul ignore next */ []));
9371
- allowDuplicateSignal = computed(() => this.duplicateTargetIndexSignal() !== false, ...(ngDevMode ? [{ debugName: "allowDuplicateSignal" }] : /* istanbul ignore next */ []));
9688
+ }, /* @ts-ignore */
9689
+ ...(ngDevMode ? [{ debugName: "duplicateTargetIndexSignal" }] : /* istanbul ignore next */ []));
9690
+ allowDuplicateSignal = computed(() => this.duplicateTargetIndexSignal() !== false, /* @ts-ignore */
9691
+ ...(ngDevMode ? [{ debugName: "allowDuplicateSignal" }] : /* istanbul ignore next */ []));
9372
9692
  duplicateButtonSignal = computed(() => {
9373
9693
  const duplicateButton = this.props()?.duplicateButton;
9374
9694
  let result;
@@ -9380,7 +9700,8 @@ class DbxForgeArrayFieldElementWrapperComponent {
9380
9700
  result = duplicateButton ?? DEFAULT_DUPLICATE_BUTTON;
9381
9701
  }
9382
9702
  return result;
9383
- }, ...(ngDevMode ? [{ debugName: "duplicateButtonSignal" }] : /* istanbul ignore next */ []));
9703
+ }, /* @ts-ignore */
9704
+ ...(ngDevMode ? [{ debugName: "duplicateButtonSignal" }] : /* istanbul ignore next */ []));
9384
9705
  labelSignal = computed(() => {
9385
9706
  const props = this.props();
9386
9707
  const index = this.arrayContext.index();
@@ -9404,7 +9725,8 @@ class DbxForgeArrayFieldElementWrapperComponent {
9404
9725
  }
9405
9726
  }
9406
9727
  return result;
9407
- }, ...(ngDevMode ? [{ debugName: "labelSignal" }] : /* istanbul ignore next */ []));
9728
+ }, /* @ts-ignore */
9729
+ ...(ngDevMode ? [{ debugName: "labelSignal" }] : /* istanbul ignore next */ []));
9408
9730
  removeItem() {
9409
9731
  this.parent.removeItem(this.arrayContext.index());
9410
9732
  }
@@ -9414,12 +9736,12 @@ class DbxForgeArrayFieldElementWrapperComponent {
9414
9736
  this.parent.duplicateItem(this.arrayContext.index(), targetIndex);
9415
9737
  }
9416
9738
  }
9417
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: DbxForgeArrayFieldElementWrapperComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
9418
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.11", type: DbxForgeArrayFieldElementWrapperComponent, isStandalone: true, selector: "dbx-forge-array-field-element-wrapper", inputs: { fieldInputs: { classPropertyName: "fieldInputs", publicName: "fieldInputs", isSignal: true, isRequired: false, transformFunction: null }, props: { classPropertyName: "props", publicName: "props", isSignal: true, isRequired: false, transformFunction: null } }, viewQueries: [{ propertyName: "fieldComponent", first: true, predicate: ["fieldComponent"], descendants: true, read: ViewContainerRef, isSignal: true }], ngImport: i0, template: "<div class=\"dbx-form-repeat-array-field\" cdkDrag cdkDragLockAxis=\"y\" [cdkDragDisabled]=\"disableRearrangeSignal()\">\n <ng-template cdkDragPlaceholder>\n <div class=\"dbx-form-repeat-array-drag-placeholder\"></div>\n </ng-template>\n @if (showIndexChipSignal()) {\n <dbx-chip [display]=\"indexChipDisplaySignal()\">{{ arrayContext.index() + 1 }}</dbx-chip>\n }\n <div class=\"dbx-content-navbar dbx-form-repeat-array-bar dbx-flex-bar\">\n @if (!disableRearrangeSignal()) {\n <button mat-icon-button type=\"button\" cdkDragHandle class=\"dbx-form-repeat-array-drag-button\" [disabled]=\"isDisabled()\" aria-label=\"Drag to reorder\">\n <mat-icon>drag_handle</mat-icon>\n </button>\n <dbx-button-spacer></dbx-button-spacer>\n }\n <span class=\"dbx-form-repeat-array-label\">{{ labelSignal() }}</span>\n <span class=\"spacer\"></span>\n @if (allowDuplicateSignal()) {\n <dbx-button class=\"dbx-button-spacer\" [buttonDisplay]=\"duplicateButtonSignal().display\" [buttonStyle]=\"duplicateButtonSignal().style\" [disabled]=\"isDisabled()\" (buttonClick)=\"duplicateItem()\"></dbx-button>\n }\n @if (allowRemoveSignal()) {\n <dbx-button [text]=\"removeTextSignal()\" [buttonStyle]=\"removeButtonStyleSignal()\" [disabled]=\"isDisabled()\" (buttonClick)=\"removeItem()\"></dbx-button>\n }\n </div>\n <div class=\"dbx-form-repeat-array-field-content\">\n <ng-container #fieldComponent></ng-container>\n </div>\n</div>\n", dependencies: [{ kind: "directive", type: CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer", "cdkDragScale"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }, { kind: "directive", type: CdkDragHandle, selector: "[cdkDragHandle]", inputs: ["cdkDragHandleDisabled"] }, { kind: "directive", type: CdkDragPlaceholder, selector: "ng-template[cdkDragPlaceholder]", inputs: ["data"] }, { kind: "directive", type: DbxChipDirective, selector: "dbx-chip", inputs: ["small", "block", "color", "display", "tone"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i1$3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i4.MatIconButton, selector: "button[mat-icon-button], a[mat-icon-button], button[matIconButton], a[matIconButton]", exportAs: ["matButton", "matAnchor"] }, { kind: "component", type: DbxButtonComponent, selector: "dbx-button", inputs: ["bar", "type", "buttonStyle", "color", "spinnerColor", "customButtonColor", "customTextColor", "customSpinnerColor", "basic", "tonal", "raised", "stroked", "flat", "iconOnly", "fab", "customContent", "allowClickPropagation", "mode"] }, { kind: "directive", type: DbxButtonSpacerDirective, selector: "dbx-button-spacer,[dbxButtonSpacer]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
9739
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: DbxForgeArrayFieldElementWrapperComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
9740
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.4", type: DbxForgeArrayFieldElementWrapperComponent, isStandalone: true, selector: "dbx-forge-array-field-element-wrapper", inputs: { fieldInputs: { classPropertyName: "fieldInputs", publicName: "fieldInputs", isSignal: true, isRequired: false, transformFunction: null }, props: { classPropertyName: "props", publicName: "props", isSignal: true, isRequired: false, transformFunction: null } }, viewQueries: [{ propertyName: "fieldComponent", first: true, predicate: ["fieldComponent"], descendants: true, read: ViewContainerRef, isSignal: true }], ngImport: i0, template: "<div class=\"dbx-form-repeat-array-field\" cdkDrag cdkDragLockAxis=\"y\" [cdkDragDisabled]=\"disableRearrangeSignal()\">\n <ng-template cdkDragPlaceholder>\n <div class=\"dbx-form-repeat-array-drag-placeholder\"></div>\n </ng-template>\n @if (showIndexChipSignal()) {\n <dbx-chip [display]=\"indexChipDisplaySignal()\">{{ arrayContext.index() + 1 }}</dbx-chip>\n }\n <div class=\"dbx-content-navbar dbx-form-repeat-array-bar dbx-flex-bar\">\n @if (!disableRearrangeSignal()) {\n <button mat-icon-button type=\"button\" cdkDragHandle class=\"dbx-form-repeat-array-drag-button\" [disabled]=\"isDisabled()\" aria-label=\"Drag to reorder\">\n <mat-icon>drag_handle</mat-icon>\n </button>\n <dbx-button-spacer></dbx-button-spacer>\n }\n <span class=\"dbx-form-repeat-array-label\">{{ labelSignal() }}</span>\n <span class=\"spacer\"></span>\n @if (allowDuplicateSignal()) {\n <dbx-button class=\"dbx-button-spacer\" [buttonDisplay]=\"duplicateButtonSignal().display\" [buttonStyle]=\"duplicateButtonSignal().style\" [disabled]=\"isDisabled()\" (buttonClick)=\"duplicateItem()\"></dbx-button>\n }\n @if (allowRemoveSignal()) {\n <dbx-button [text]=\"removeTextSignal()\" [buttonStyle]=\"removeButtonStyleSignal()\" [disabled]=\"isDisabled()\" (buttonClick)=\"removeItem()\"></dbx-button>\n }\n </div>\n <div class=\"dbx-form-repeat-array-field-content\">\n <ng-container #fieldComponent></ng-container>\n </div>\n</div>\n", dependencies: [{ kind: "directive", type: CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer", "cdkDragScale"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }, { kind: "directive", type: CdkDragHandle, selector: "[cdkDragHandle]", inputs: ["cdkDragHandleDisabled"] }, { kind: "directive", type: CdkDragPlaceholder, selector: "ng-template[cdkDragPlaceholder]", inputs: ["data"] }, { kind: "directive", type: DbxChipDirective, selector: "dbx-chip", inputs: ["small", "block", "color", "display", "tone"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i1$3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i4.MatIconButton, selector: "button[mat-icon-button], a[mat-icon-button], button[matIconButton], a[matIconButton]", exportAs: ["matButton", "matAnchor"] }, { kind: "component", type: DbxButtonComponent, selector: "dbx-button", inputs: ["bar", "type", "buttonStyle", "color", "spinnerColor", "customTextColor", "customSpinnerColor", "basic", "tonal", "raised", "stroked", "flat", "iconOnly", "fab", "customContent", "allowClickPropagation", "mode"] }, { kind: "directive", type: DbxButtonSpacerDirective, selector: "dbx-button-spacer,[dbxButtonSpacer]" }] });
9419
9741
  }
9420
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: DbxForgeArrayFieldElementWrapperComponent, decorators: [{
9742
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: DbxForgeArrayFieldElementWrapperComponent, decorators: [{
9421
9743
  type: Component,
9422
- args: [{ selector: 'dbx-forge-array-field-element-wrapper', imports: [CdkDrag, CdkDragHandle, CdkDragPlaceholder, DbxChipDirective, MatIconModule, MatButtonModule, DbxButtonComponent, DbxButtonSpacerDirective], changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, template: "<div class=\"dbx-form-repeat-array-field\" cdkDrag cdkDragLockAxis=\"y\" [cdkDragDisabled]=\"disableRearrangeSignal()\">\n <ng-template cdkDragPlaceholder>\n <div class=\"dbx-form-repeat-array-drag-placeholder\"></div>\n </ng-template>\n @if (showIndexChipSignal()) {\n <dbx-chip [display]=\"indexChipDisplaySignal()\">{{ arrayContext.index() + 1 }}</dbx-chip>\n }\n <div class=\"dbx-content-navbar dbx-form-repeat-array-bar dbx-flex-bar\">\n @if (!disableRearrangeSignal()) {\n <button mat-icon-button type=\"button\" cdkDragHandle class=\"dbx-form-repeat-array-drag-button\" [disabled]=\"isDisabled()\" aria-label=\"Drag to reorder\">\n <mat-icon>drag_handle</mat-icon>\n </button>\n <dbx-button-spacer></dbx-button-spacer>\n }\n <span class=\"dbx-form-repeat-array-label\">{{ labelSignal() }}</span>\n <span class=\"spacer\"></span>\n @if (allowDuplicateSignal()) {\n <dbx-button class=\"dbx-button-spacer\" [buttonDisplay]=\"duplicateButtonSignal().display\" [buttonStyle]=\"duplicateButtonSignal().style\" [disabled]=\"isDisabled()\" (buttonClick)=\"duplicateItem()\"></dbx-button>\n }\n @if (allowRemoveSignal()) {\n <dbx-button [text]=\"removeTextSignal()\" [buttonStyle]=\"removeButtonStyleSignal()\" [disabled]=\"isDisabled()\" (buttonClick)=\"removeItem()\"></dbx-button>\n }\n </div>\n <div class=\"dbx-form-repeat-array-field-content\">\n <ng-container #fieldComponent></ng-container>\n </div>\n</div>\n" }]
9744
+ args: [{ selector: 'dbx-forge-array-field-element-wrapper', imports: [CdkDrag, CdkDragHandle, CdkDragPlaceholder, DbxChipDirective, MatIconModule, MatButtonModule, DbxButtonComponent, DbxButtonSpacerDirective], template: "<div class=\"dbx-form-repeat-array-field\" cdkDrag cdkDragLockAxis=\"y\" [cdkDragDisabled]=\"disableRearrangeSignal()\">\n <ng-template cdkDragPlaceholder>\n <div class=\"dbx-form-repeat-array-drag-placeholder\"></div>\n </ng-template>\n @if (showIndexChipSignal()) {\n <dbx-chip [display]=\"indexChipDisplaySignal()\">{{ arrayContext.index() + 1 }}</dbx-chip>\n }\n <div class=\"dbx-content-navbar dbx-form-repeat-array-bar dbx-flex-bar\">\n @if (!disableRearrangeSignal()) {\n <button mat-icon-button type=\"button\" cdkDragHandle class=\"dbx-form-repeat-array-drag-button\" [disabled]=\"isDisabled()\" aria-label=\"Drag to reorder\">\n <mat-icon>drag_handle</mat-icon>\n </button>\n <dbx-button-spacer></dbx-button-spacer>\n }\n <span class=\"dbx-form-repeat-array-label\">{{ labelSignal() }}</span>\n <span class=\"spacer\"></span>\n @if (allowDuplicateSignal()) {\n <dbx-button class=\"dbx-button-spacer\" [buttonDisplay]=\"duplicateButtonSignal().display\" [buttonStyle]=\"duplicateButtonSignal().style\" [disabled]=\"isDisabled()\" (buttonClick)=\"duplicateItem()\"></dbx-button>\n }\n @if (allowRemoveSignal()) {\n <dbx-button [text]=\"removeTextSignal()\" [buttonStyle]=\"removeButtonStyleSignal()\" [disabled]=\"isDisabled()\" (buttonClick)=\"removeItem()\"></dbx-button>\n }\n </div>\n <div class=\"dbx-form-repeat-array-field-content\">\n <ng-container #fieldComponent></ng-container>\n </div>\n</div>\n" }]
9423
9745
  }], propDecorators: { fieldComponent: [{ type: i0.ViewChild, args: ['fieldComponent', { ...{ read: ViewContainerRef }, isSignal: true }] }], fieldInputs: [{ type: i0.Input, args: [{ isSignal: true, alias: "fieldInputs", required: false }] }], props: [{ type: i0.Input, args: [{ isSignal: true, alias: "props", required: false }] }] } });
9424
9746
 
9425
9747
  var arrayField_element_wrapper_component = /*#__PURE__*/Object.freeze({
@@ -9435,18 +9757,22 @@ var arrayField_element_wrapper_component = /*#__PURE__*/Object.freeze({
9435
9757
  * and the parent {@link FieldSignalContext} to observe form validation state.
9436
9758
  */
9437
9759
  class DbxForgeFormFieldWrapperComponent {
9438
- fieldComponent = viewChild.required('fieldComponent', { read: ViewContainerRef });
9760
+ fieldComponent = viewChild.required('fieldComponent', { ...(ngDevMode ? { debugName: "fieldComponent" } : /* istanbul ignore next */ {}), read: ViewContainerRef });
9439
9761
  // Props from wrapper config
9440
- fieldInputs = input(...(ngDevMode ? [undefined, { debugName: "fieldInputs" }] : /* istanbul ignore next */ []));
9762
+ fieldInputs = input(/* @ts-ignore */
9763
+ ...(ngDevMode ? [undefined, { debugName: "fieldInputs" }] : /* istanbul ignore next */ []));
9441
9764
  /**
9442
9765
  * Wrapper config props passed via `addWrappers({ type, props })`.
9443
9766
  * ng-forge delivers wrapper config properties (with `type` stripped) as individual inputs.
9444
9767
  */
9445
- props = input(...(ngDevMode ? [undefined, { debugName: "props" }] : /* istanbul ignore next */ []));
9768
+ props = input(/* @ts-ignore */
9769
+ ...(ngDevMode ? [undefined, { debugName: "props" }] : /* istanbul ignore next */ []));
9446
9770
  // Read-only field tree from the wrapped field
9447
- formStateSignal = computed(() => this.fieldInputs()?.field, ...(ngDevMode ? [{ debugName: "formStateSignal" }] : /* istanbul ignore next */ []));
9771
+ formStateSignal = computed(() => this.fieldInputs()?.field, /* @ts-ignore */
9772
+ ...(ngDevMode ? [{ debugName: "formStateSignal" }] : /* istanbul ignore next */ []));
9448
9773
  // Disabled state
9449
- isDisabledSignal = computed(() => this.formStateSignal()?.disabled(), ...(ngDevMode ? [{ debugName: "isDisabledSignal" }] : /* istanbul ignore next */ []));
9774
+ isDisabledSignal = computed(() => this.formStateSignal()?.disabled(), /* @ts-ignore */
9775
+ ...(ngDevMode ? [{ debugName: "isDisabledSignal" }] : /* istanbul ignore next */ []));
9450
9776
  /**
9451
9777
  * Resolved notch label. Prefers a wrapper-level `props.label` override and
9452
9778
  * falls back to the wrapped field's own label.
@@ -9454,13 +9780,18 @@ class DbxForgeFormFieldWrapperComponent {
9454
9780
  labelSignal = computed(() => {
9455
9781
  const fieldInputs = this.fieldInputs();
9456
9782
  return this.props()?.label ?? fieldInputs?.label;
9457
- }, ...(ngDevMode ? [{ debugName: "labelSignal" }] : /* istanbul ignore next */ []));
9458
- hintSignal = computed(() => this.fieldInputs()?.props?.hint, ...(ngDevMode ? [{ debugName: "hintSignal" }] : /* istanbul ignore next */ []));
9459
- classNameSignal = computed(() => this.fieldInputs()?.className ?? '', ...(ngDevMode ? [{ debugName: "classNameSignal" }] : /* istanbul ignore next */ []));
9783
+ }, /* @ts-ignore */
9784
+ ...(ngDevMode ? [{ debugName: "labelSignal" }] : /* istanbul ignore next */ []));
9785
+ hintSignal = computed(() => this.fieldInputs()?.props?.hint, /* @ts-ignore */
9786
+ ...(ngDevMode ? [{ debugName: "hintSignal" }] : /* istanbul ignore next */ []));
9787
+ classNameSignal = computed(() => this.fieldInputs()?.className ?? '', /* @ts-ignore */
9788
+ ...(ngDevMode ? [{ debugName: "classNameSignal" }] : /* istanbul ignore next */ []));
9460
9789
  // Key for ARIA IDs
9461
- keySignal = computed(() => this.fieldInputs()?.key ?? '', ...(ngDevMode ? [{ debugName: "keySignal" }] : /* istanbul ignore next */ []));
9790
+ keySignal = computed(() => this.fieldInputs()?.key ?? '', /* @ts-ignore */
9791
+ ...(ngDevMode ? [{ debugName: "keySignal" }] : /* istanbul ignore next */ []));
9462
9792
  // Validation state from form tree
9463
- childErrorsSignal = computed(() => this.formStateSignal()?.errors(), ...(ngDevMode ? [{ debugName: "childErrorsSignal" }] : /* istanbul ignore next */ []));
9793
+ childErrorsSignal = computed(() => this.formStateSignal()?.errors(), /* @ts-ignore */
9794
+ ...(ngDevMode ? [{ debugName: "childErrorsSignal" }] : /* istanbul ignore next */ []));
9464
9795
  /**
9465
9796
  * Whether errors should be displayed.
9466
9797
  *
@@ -9471,7 +9802,8 @@ class DbxForgeFormFieldWrapperComponent {
9471
9802
  showErrorsSignal = computed(() => {
9472
9803
  const childErrors = this.childErrorsSignal();
9473
9804
  return (this.formStateSignal()?.invalid() ?? false) && (childErrors?.length ?? 0) > 0;
9474
- }, ...(ngDevMode ? [{ debugName: "showErrorsSignal" }] : /* istanbul ignore next */ []));
9805
+ }, /* @ts-ignore */
9806
+ ...(ngDevMode ? [{ debugName: "showErrorsSignal" }] : /* istanbul ignore next */ []));
9475
9807
  hasError = this.showErrorsSignal;
9476
9808
  /**
9477
9809
  * Resolves the first error message using the same priority as ng-forge's
@@ -9491,21 +9823,26 @@ class DbxForgeFormFieldWrapperComponent {
9491
9823
  const defaultMessages = inputs?.defaultValidationMessages ?? {};
9492
9824
  const message = fieldMessages[error.kind] ?? defaultMessages[error.kind] ?? error.message ?? error.kind;
9493
9825
  return interpolateParams(message, error);
9494
- }, ...(ngDevMode ? [{ debugName: "firstErrorMessageSignal" }] : /* istanbul ignore next */ []));
9826
+ }, /* @ts-ignore */
9827
+ ...(ngDevMode ? [{ debugName: "firstErrorMessageSignal" }] : /* istanbul ignore next */ []));
9495
9828
  /**
9496
9829
  * Whether any child field has `required` state, used to show the asterisk in the label.
9497
9830
  */
9498
- isRequiredSignal = computed(() => this.formStateSignal()?.required(), ...(ngDevMode ? [{ debugName: "isRequiredSignal" }] : /* istanbul ignore next */ []));
9831
+ isRequiredSignal = computed(() => this.formStateSignal()?.required(), /* @ts-ignore */
9832
+ ...(ngDevMode ? [{ debugName: "isRequiredSignal" }] : /* istanbul ignore next */ []));
9499
9833
  // ARIA IDs
9500
- labelIdSignal = computed(() => `${this.keySignal()}-label`, ...(ngDevMode ? [{ debugName: "labelIdSignal" }] : /* istanbul ignore next */ []));
9501
- errorIdSignal = computed(() => `${this.keySignal()}-error`, ...(ngDevMode ? [{ debugName: "errorIdSignal" }] : /* istanbul ignore next */ []));
9502
- hintIdSignal = computed(() => `${this.keySignal()}-hint`, ...(ngDevMode ? [{ debugName: "hintIdSignal" }] : /* istanbul ignore next */ []));
9503
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: DbxForgeFormFieldWrapperComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
9504
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.11", type: DbxForgeFormFieldWrapperComponent, isStandalone: true, selector: "dbx-forge-form-field-wrapper", inputs: { fieldInputs: { classPropertyName: "fieldInputs", publicName: "fieldInputs", isSignal: true, isRequired: false, transformFunction: null }, props: { classPropertyName: "props", publicName: "props", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "classNameSignal()" }, classAttribute: "dbx-forge-form-field mat-form-field-animations-enabled" }, viewQueries: [{ propertyName: "fieldComponent", first: true, predicate: ["fieldComponent"], descendants: true, read: ViewContainerRef, isSignal: true }], ngImport: i0, template: "<div class=\"dbx-forge-form-field-wrapper\" [class.dbx-forge-form-field-wrapper-error]=\"hasError()\" [class.dbx-forge-form-field-wrapper-disabled]=\"isDisabledSignal()\" role=\"group\" [attr.aria-labelledby]=\"labelSignal() ? labelIdSignal() : null\">\n <div class=\"dbx-forge-form-field-outline\">\n <div class=\"dbx-forge-form-field-outline-leading\"></div>\n <div class=\"dbx-forge-form-field-outline-notch\" [class.dbx-forge-form-field-outline-notch-empty]=\"!labelSignal()\">\n @if (labelSignal(); as labelText) {\n <span class=\"dbx-forge-form-field-outline-label\" [id]=\"labelIdSignal()\">\n {{ labelText | dynamicText | async }}\n @if (isRequiredSignal()) {\n <span aria-hidden=\"true\" class=\"mat-mdc-form-field-required-marker mdc-floating-label--required\"></span>\n }\n </span>\n }\n </div>\n <div class=\"dbx-forge-form-field-outline-trailing\"></div>\n </div>\n <div class=\"dbx-forge-form-field-content\">\n <ng-container #fieldComponent></ng-container>\n </div>\n</div>\n<div class=\"mat-mdc-form-field-subscript-wrapper mat-mdc-form-field-bottom-align mat-mdc-form-field-subscript-dynamic-size\">\n @if (showErrorsSignal()) {\n <div class=\"mat-mdc-form-field-error-wrapper\">\n <div class=\"mat-mdc-form-field-error mat-mdc-form-field-bottom-align\" [id]=\"errorIdSignal()\">{{ firstErrorMessageSignal() }}</div>\n </div>\n } @else if (hintSignal(); as hint) {\n <div class=\"mat-mdc-form-field-hint-wrapper\">\n <div class=\"mat-mdc-form-field-hint mat-mdc-form-field-bottom-align\" [id]=\"hintIdSignal()\">{{ hint }}</div>\n </div>\n }\n</div>\n", styles: [".dbx-forge-form-field-wrapper{position:relative;margin-top:8px}.dbx-forge-form-field-outline{display:flex;position:absolute;inset:0;pointer-events:none}.dbx-forge-form-field-outline-leading{border:1px solid var(--mat-form-field-outlined-outline-color, var(--mat-sys-outline, rgba(0, 0, 0, .38)));border-right:none;border-radius:var(--mat-form-field-outlined-container-shape, var(--mat-sys-corner-extra-small, 4px)) 0 0 var(--mat-form-field-outlined-container-shape, var(--mat-sys-corner-extra-small, 4px));width:12px}.dbx-forge-form-field-outline-notch{border-bottom:1px solid var(--mat-form-field-outlined-outline-color, var(--mat-sys-outline, rgba(0, 0, 0, .38)));display:flex;align-items:flex-start;max-width:calc(100% - 24px)}.dbx-forge-form-field-outline-notch-empty{border-top:1px solid var(--mat-form-field-outlined-outline-color, var(--mat-sys-outline, rgba(0, 0, 0, .38)));width:0;padding:0}.dbx-forge-form-field-outline-label{display:inline-block;transform:translateY(-50%);pointer-events:auto;padding:0 4px;background:var(--mat-sys-surface, white);white-space:nowrap;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:var(--mat-form-field-outlined-label-text-populated-font, var(--mat-sys-body-small-font));font-size:var(--mat-form-field-outlined-label-text-populated-size, var(--mat-sys-body-small-size));line-height:var(--mat-form-field-outlined-label-text-populated-line-height, var(--mat-sys-body-small-line-height));letter-spacing:var(--mat-form-field-outlined-label-text-populated-tracking, var(--mat-sys-body-small-tracking));font-weight:var(--mat-form-field-outlined-label-text-populated-weight, var(--mat-sys-body-small-weight));color:var(--mat-form-field-outlined-label-text-color, var(--mat-sys-on-surface-variant, rgba(0, 0, 0, .6)))}.dbx-forge-form-field-outline-trailing{border:1px solid var(--mat-form-field-outlined-outline-color, var(--mat-sys-outline, rgba(0, 0, 0, .38)));border-left:none;border-radius:0 var(--mat-form-field-outlined-container-shape, var(--mat-sys-corner-extra-small, 4px)) var(--mat-form-field-outlined-container-shape, var(--mat-sys-corner-extra-small, 4px)) 0;flex-grow:1}.dbx-forge-form-field-wrapper:hover .dbx-forge-form-field-outline-leading,.dbx-forge-form-field-wrapper:hover .dbx-forge-form-field-outline-notch,.dbx-forge-form-field-wrapper:hover .dbx-forge-form-field-outline-trailing{border-color:var(--mat-form-field-outlined-hover-outline-color, var(--mat-sys-on-surface, rgba(0, 0, 0, .87)))}.dbx-forge-form-field-wrapper:focus-within .dbx-forge-form-field-outline-leading,.dbx-forge-form-field-wrapper:focus-within .dbx-forge-form-field-outline-notch,.dbx-forge-form-field-wrapper:focus-within .dbx-forge-form-field-outline-trailing{border-color:var(--mat-form-field-outlined-focus-outline-color, var(--mat-sys-primary));border-width:2px}.dbx-forge-form-field-wrapper:focus-within .dbx-forge-form-field-outline-label{color:var(--mat-form-field-outlined-focus-label-text-color, var(--mat-sys-primary));padding:0 3px}.dbx-forge-form-field-wrapper-error .dbx-forge-form-field-outline-leading,.dbx-forge-form-field-wrapper-error .dbx-forge-form-field-outline-notch,.dbx-forge-form-field-wrapper-error .dbx-forge-form-field-outline-trailing,.dbx-forge-form-field-wrapper-error:focus-within .dbx-forge-form-field-outline-leading,.dbx-forge-form-field-wrapper-error:focus-within .dbx-forge-form-field-outline-notch,.dbx-forge-form-field-wrapper-error:focus-within .dbx-forge-form-field-outline-trailing{border-color:var(--mat-form-field-outlined-error-outline-color, var(--mat-sys-error, #f44336))}.dbx-forge-form-field-wrapper-error .dbx-forge-form-field-outline-label,.dbx-forge-form-field-wrapper-error:focus-within .dbx-forge-form-field-outline-label{color:var(--mat-form-field-outlined-error-label-text-color, var(--mat-sys-error, #f44336))}.dbx-forge-form-field-content{position:relative;padding:var(--mat-form-field-container-vertical-padding, 16px) 16px 8px;min-height:56px;box-sizing:border-box}.dbx-forge-form-field-wrapper-disabled .dbx-forge-form-field-content{opacity:.38;pointer-events:none}.dbx-forge-form-field-wrapper-disabled .dbx-forge-form-field-outline-leading,.dbx-forge-form-field-wrapper-disabled .dbx-forge-form-field-outline-notch,.dbx-forge-form-field-wrapper-disabled .dbx-forge-form-field-outline-trailing,.dbx-forge-form-field-wrapper-disabled:hover .dbx-forge-form-field-outline-leading,.dbx-forge-form-field-wrapper-disabled:hover .dbx-forge-form-field-outline-notch,.dbx-forge-form-field-wrapper-disabled:hover .dbx-forge-form-field-outline-trailing{border-color:var(--mat-form-field-outlined-disabled-outline-color, rgba(0, 0, 0, .12))}.dbx-forge-form-field-wrapper-disabled .dbx-forge-form-field-outline-label{color:var(--mat-form-field-outlined-disabled-label-text-color, rgba(0, 0, 0, .38))}\n"], dependencies: [{ kind: "pipe", type: DynamicTextPipe, name: "dynamicText" }, { kind: "pipe", type: AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
9505
- }
9506
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: DbxForgeFormFieldWrapperComponent, decorators: [{
9834
+ labelIdSignal = computed(() => `${this.keySignal()}-label`, /* @ts-ignore */
9835
+ ...(ngDevMode ? [{ debugName: "labelIdSignal" }] : /* istanbul ignore next */ []));
9836
+ errorIdSignal = computed(() => `${this.keySignal()}-error`, /* @ts-ignore */
9837
+ ...(ngDevMode ? [{ debugName: "errorIdSignal" }] : /* istanbul ignore next */ []));
9838
+ hintIdSignal = computed(() => `${this.keySignal()}-hint`, /* @ts-ignore */
9839
+ ...(ngDevMode ? [{ debugName: "hintIdSignal" }] : /* istanbul ignore next */ []));
9840
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: DbxForgeFormFieldWrapperComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
9841
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.4", type: DbxForgeFormFieldWrapperComponent, isStandalone: true, selector: "dbx-forge-form-field-wrapper", inputs: { fieldInputs: { classPropertyName: "fieldInputs", publicName: "fieldInputs", isSignal: true, isRequired: false, transformFunction: null }, props: { classPropertyName: "props", publicName: "props", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "classNameSignal()" }, classAttribute: "dbx-forge-form-field mat-form-field-animations-enabled" }, viewQueries: [{ propertyName: "fieldComponent", first: true, predicate: ["fieldComponent"], descendants: true, read: ViewContainerRef, isSignal: true }], ngImport: i0, template: "<div class=\"dbx-forge-form-field-wrapper\" [class.dbx-forge-form-field-wrapper-error]=\"hasError()\" [class.dbx-forge-form-field-wrapper-disabled]=\"isDisabledSignal()\" role=\"group\" [attr.aria-labelledby]=\"labelSignal() ? labelIdSignal() : null\">\n <div class=\"dbx-forge-form-field-outline\">\n <div class=\"dbx-forge-form-field-outline-leading\"></div>\n <div class=\"dbx-forge-form-field-outline-notch\" [class.dbx-forge-form-field-outline-notch-empty]=\"!labelSignal()\">\n @if (labelSignal(); as labelText) {\n <span class=\"dbx-forge-form-field-outline-label\" [id]=\"labelIdSignal()\">\n {{ labelText | dynamicText | async }}\n @if (isRequiredSignal()) {\n <span aria-hidden=\"true\" class=\"mat-mdc-form-field-required-marker mdc-floating-label--required\"></span>\n }\n </span>\n }\n </div>\n <div class=\"dbx-forge-form-field-outline-trailing\"></div>\n </div>\n <div class=\"dbx-forge-form-field-content\">\n <ng-container #fieldComponent></ng-container>\n </div>\n</div>\n<div class=\"mat-mdc-form-field-subscript-wrapper mat-mdc-form-field-bottom-align mat-mdc-form-field-subscript-dynamic-size\">\n @if (showErrorsSignal()) {\n <div class=\"mat-mdc-form-field-error-wrapper\">\n <div class=\"mat-mdc-form-field-error mat-mdc-form-field-bottom-align\" [id]=\"errorIdSignal()\">{{ firstErrorMessageSignal() }}</div>\n </div>\n } @else if (hintSignal(); as hint) {\n <div class=\"mat-mdc-form-field-hint-wrapper\">\n <div class=\"mat-mdc-form-field-hint mat-mdc-form-field-bottom-align\" [id]=\"hintIdSignal()\">{{ hint }}</div>\n </div>\n }\n</div>\n", styles: [".dbx-forge-form-field-wrapper{position:relative;margin-top:8px}.dbx-forge-form-field-outline{display:flex;position:absolute;inset:0;pointer-events:none}.dbx-forge-form-field-outline-leading{border:1px solid var(--mat-form-field-outlined-outline-color, var(--mat-sys-outline, rgba(0, 0, 0, .38)));border-right:none;border-radius:var(--mat-form-field-outlined-container-shape, var(--mat-sys-corner-extra-small, 4px)) 0 0 var(--mat-form-field-outlined-container-shape, var(--mat-sys-corner-extra-small, 4px));width:12px}.dbx-forge-form-field-outline-notch{border-bottom:1px solid var(--mat-form-field-outlined-outline-color, var(--mat-sys-outline, rgba(0, 0, 0, .38)));display:flex;align-items:flex-start;max-width:calc(100% - 24px)}.dbx-forge-form-field-outline-notch-empty{border-top:1px solid var(--mat-form-field-outlined-outline-color, var(--mat-sys-outline, rgba(0, 0, 0, .38)));width:0;padding:0}.dbx-forge-form-field-outline-label{display:inline-block;transform:translateY(-50%);pointer-events:auto;padding:0 4px;background:var(--mat-sys-surface, white);white-space:nowrap;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:var(--mat-form-field-outlined-label-text-populated-font, var(--mat-sys-body-small-font));font-size:var(--mat-form-field-outlined-label-text-populated-size, var(--mat-sys-body-small-size));line-height:var(--mat-form-field-outlined-label-text-populated-line-height, var(--mat-sys-body-small-line-height));letter-spacing:var(--mat-form-field-outlined-label-text-populated-tracking, var(--mat-sys-body-small-tracking));font-weight:var(--mat-form-field-outlined-label-text-populated-weight, var(--mat-sys-body-small-weight));color:var(--mat-form-field-outlined-label-text-color, var(--mat-sys-on-surface-variant, rgba(0, 0, 0, .6)))}.dbx-forge-form-field-outline-trailing{border:1px solid var(--mat-form-field-outlined-outline-color, var(--mat-sys-outline, rgba(0, 0, 0, .38)));border-left:none;border-radius:0 var(--mat-form-field-outlined-container-shape, var(--mat-sys-corner-extra-small, 4px)) var(--mat-form-field-outlined-container-shape, var(--mat-sys-corner-extra-small, 4px)) 0;flex-grow:1}.dbx-forge-form-field-wrapper:hover .dbx-forge-form-field-outline-leading,.dbx-forge-form-field-wrapper:hover .dbx-forge-form-field-outline-notch,.dbx-forge-form-field-wrapper:hover .dbx-forge-form-field-outline-trailing{border-color:var(--mat-form-field-outlined-hover-outline-color, var(--mat-sys-on-surface, rgba(0, 0, 0, .87)))}.dbx-forge-form-field-wrapper:focus-within .dbx-forge-form-field-outline-leading,.dbx-forge-form-field-wrapper:focus-within .dbx-forge-form-field-outline-notch,.dbx-forge-form-field-wrapper:focus-within .dbx-forge-form-field-outline-trailing{border-color:var(--mat-form-field-outlined-focus-outline-color, var(--mat-sys-primary));border-width:2px}.dbx-forge-form-field-wrapper:focus-within .dbx-forge-form-field-outline-label{color:var(--mat-form-field-outlined-focus-label-text-color, var(--mat-sys-primary));padding:0 3px}.dbx-forge-form-field-wrapper-error .dbx-forge-form-field-outline-leading,.dbx-forge-form-field-wrapper-error .dbx-forge-form-field-outline-notch,.dbx-forge-form-field-wrapper-error .dbx-forge-form-field-outline-trailing,.dbx-forge-form-field-wrapper-error:focus-within .dbx-forge-form-field-outline-leading,.dbx-forge-form-field-wrapper-error:focus-within .dbx-forge-form-field-outline-notch,.dbx-forge-form-field-wrapper-error:focus-within .dbx-forge-form-field-outline-trailing{border-color:var(--mat-form-field-outlined-error-outline-color, var(--mat-sys-error, #f44336))}.dbx-forge-form-field-wrapper-error .dbx-forge-form-field-outline-label,.dbx-forge-form-field-wrapper-error:focus-within .dbx-forge-form-field-outline-label{color:var(--mat-form-field-outlined-error-label-text-color, var(--mat-sys-error, #f44336))}.dbx-forge-form-field-content{position:relative;padding:var(--mat-form-field-container-vertical-padding, 16px) 16px 8px;min-height:56px;box-sizing:border-box}.dbx-forge-form-field-wrapper-disabled .dbx-forge-form-field-content{opacity:.38;pointer-events:none}.dbx-forge-form-field-wrapper-disabled .dbx-forge-form-field-outline-leading,.dbx-forge-form-field-wrapper-disabled .dbx-forge-form-field-outline-notch,.dbx-forge-form-field-wrapper-disabled .dbx-forge-form-field-outline-trailing,.dbx-forge-form-field-wrapper-disabled:hover .dbx-forge-form-field-outline-leading,.dbx-forge-form-field-wrapper-disabled:hover .dbx-forge-form-field-outline-notch,.dbx-forge-form-field-wrapper-disabled:hover .dbx-forge-form-field-outline-trailing{border-color:var(--mat-form-field-outlined-disabled-outline-color, rgba(0, 0, 0, .12))}.dbx-forge-form-field-wrapper-disabled .dbx-forge-form-field-outline-label{color:var(--mat-form-field-outlined-disabled-label-text-color, rgba(0, 0, 0, .38))}\n"], dependencies: [{ kind: "pipe", type: DynamicTextPipe, name: "dynamicText" }, { kind: "pipe", type: AsyncPipe, name: "async" }] });
9842
+ }
9843
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: DbxForgeFormFieldWrapperComponent, decorators: [{
9507
9844
  type: Component,
9508
- args: [{ selector: 'dbx-forge-form-field-wrapper', imports: [DynamicTextPipe, AsyncPipe], changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, host: {
9845
+ args: [{ selector: 'dbx-forge-form-field-wrapper', imports: [DynamicTextPipe, AsyncPipe], host: {
9509
9846
  // `mat-form-field-animations-enabled` is intentionally retained: it gates
9510
9847
  // the 300ms subscript fade animation via Material's
9511
9848
  // `.mat-form-field-animations-enabled .mat-mdc-form-field-hint-wrapper { animation-duration: 300ms; }`
@@ -9643,22 +9980,23 @@ function dbxForgeStyleWrapper(config) {
9643
9980
  * pending signal to detect when async validators are running.
9644
9981
  */
9645
9982
  class DbxForgeWorkingWrapperComponent {
9646
- fieldComponent = viewChild.required('fieldComponent', { read: ViewContainerRef });
9983
+ fieldComponent = viewChild.required('fieldComponent', { ...(ngDevMode ? { debugName: "fieldComponent" } : /* istanbul ignore next */ {}), read: ViewContainerRef });
9647
9984
  fieldSignalContext = inject(FIELD_SIGNAL_CONTEXT);
9648
9985
  showLoadingSignal = computed(() => {
9649
9986
  return this.fieldSignalContext.form().pending();
9650
- }, ...(ngDevMode ? [{ debugName: "showLoadingSignal" }] : /* istanbul ignore next */ []));
9651
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: DbxForgeWorkingWrapperComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
9652
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.11", type: DbxForgeWorkingWrapperComponent, isStandalone: true, selector: "dbx-forge-working-wrapper", viewQueries: [{ propertyName: "fieldComponent", first: true, predicate: ["fieldComponent"], descendants: true, read: ViewContainerRef, isSignal: true }], ngImport: i0, template: `
9987
+ }, /* @ts-ignore */
9988
+ ...(ngDevMode ? [{ debugName: "showLoadingSignal" }] : /* istanbul ignore next */ []));
9989
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: DbxForgeWorkingWrapperComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
9990
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.4", type: DbxForgeWorkingWrapperComponent, isStandalone: true, selector: "dbx-forge-working-wrapper", viewQueries: [{ propertyName: "fieldComponent", first: true, predicate: ["fieldComponent"], descendants: true, read: ViewContainerRef, isSignal: true }], ngImport: i0, template: `
9653
9991
  <div class="dbx-forge-working-wrapper">
9654
9992
  <ng-container #fieldComponent></ng-container>
9655
9993
  @if (showLoadingSignal()) {
9656
9994
  <mat-progress-bar mode="indeterminate" class="dbx-forge-working-bar"></mat-progress-bar>
9657
9995
  }
9658
9996
  </div>
9659
- `, isInline: true, dependencies: [{ kind: "ngmodule", type: MatProgressBarModule }, { kind: "component", type: i1$6.MatProgressBar, selector: "mat-progress-bar", inputs: ["color", "value", "bufferValue", "mode"], outputs: ["animationEnd"], exportAs: ["matProgressBar"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
9997
+ `, isInline: true, dependencies: [{ kind: "ngmodule", type: MatProgressBarModule }, { kind: "component", type: i1$6.MatProgressBar, selector: "mat-progress-bar", inputs: ["color", "value", "bufferValue", "mode"], outputs: ["animationEnd"], exportAs: ["matProgressBar"] }] });
9660
9998
  }
9661
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: DbxForgeWorkingWrapperComponent, decorators: [{
9999
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: DbxForgeWorkingWrapperComponent, decorators: [{
9662
10000
  type: Component,
9663
10001
  args: [{
9664
10002
  selector: 'dbx-forge-working-wrapper',
@@ -9670,9 +10008,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.11", ngImpo
9670
10008
  }
9671
10009
  </div>
9672
10010
  `,
9673
- imports: [MatProgressBarModule],
9674
- changeDetection: ChangeDetectionStrategy.OnPush,
9675
- standalone: true
10011
+ imports: [MatProgressBarModule]
9676
10012
  }]
9677
10013
  }], propDecorators: { fieldComponent: [{ type: i0.ViewChild, args: ['fieldComponent', { ...{ read: ViewContainerRef }, isSignal: true }] }] } });
9678
10014
 
@@ -9699,11 +10035,11 @@ const dbxForgeFormComponentImports = [DbxForgeFormComponent];
9699
10035
  * Default imports module for a view that extends AbstractSyncForgeFormDirective or AbstractConfigAsyncForgeFormDirective.
9700
10036
  */
9701
10037
  class DbxForgeFormComponentImportsModule {
9702
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: DbxForgeFormComponentImportsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
9703
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.11", ngImport: i0, type: DbxForgeFormComponentImportsModule, imports: [DbxForgeFormComponent], exports: [DbxForgeFormComponent] });
9704
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: DbxForgeFormComponentImportsModule, imports: [dbxForgeFormComponentImports] });
10038
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: DbxForgeFormComponentImportsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
10039
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "22.1.4", ngImport: i0, type: DbxForgeFormComponentImportsModule, imports: [DbxForgeFormComponent], exports: [DbxForgeFormComponent] });
10040
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: DbxForgeFormComponentImportsModule, imports: [dbxForgeFormComponentImports] });
9705
10041
  }
9706
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: DbxForgeFormComponentImportsModule, decorators: [{
10042
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: DbxForgeFormComponentImportsModule, decorators: [{
9707
10043
  type: NgModule,
9708
10044
  args: [{
9709
10045
  imports: dbxForgeFormComponentImports,
@@ -9717,7 +10053,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.11", ngImpo
9717
10053
  */
9718
10054
  class AbstractForgeFormDirective {
9719
10055
  context = inject((DbxForgeFormContext), { self: true });
9720
- disabled = input(false, ...(ngDevMode ? [{ debugName: "disabled" }] : /* istanbul ignore next */ []));
10056
+ disabled = input(false, /* @ts-ignore */
10057
+ ...(ngDevMode ? [{ debugName: "disabled" }] : /* istanbul ignore next */ []));
9721
10058
  _disabledEffect = effect(() => {
9722
10059
  if (this.disabled()) {
9723
10060
  this.context.setDisabled('directive', true);
@@ -9725,7 +10062,8 @@ class AbstractForgeFormDirective {
9725
10062
  else {
9726
10063
  this.context.setDisabled('directive', false);
9727
10064
  }
9728
- }, ...(ngDevMode ? [{ debugName: "_disabledEffect" }] : /* istanbul ignore next */ []));
10065
+ }, /* @ts-ignore */
10066
+ ...(ngDevMode ? [{ debugName: "_disabledEffect" }] : /* istanbul ignore next */ []));
9729
10067
  getValue() {
9730
10068
  return this.context.getValue();
9731
10069
  }
@@ -9741,10 +10079,10 @@ class AbstractForgeFormDirective {
9741
10079
  setDisabled(key, disabled) {
9742
10080
  this.context.setDisabled(key, disabled);
9743
10081
  }
9744
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: AbstractForgeFormDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
9745
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.2.11", type: AbstractForgeFormDirective, isStandalone: true, inputs: { disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0 });
10082
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: AbstractForgeFormDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
10083
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "22.1.4", type: AbstractForgeFormDirective, isStandalone: true, inputs: { disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0 });
9746
10084
  }
9747
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: AbstractForgeFormDirective, decorators: [{
10085
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: AbstractForgeFormDirective, decorators: [{
9748
10086
  type: Directive
9749
10087
  }], propDecorators: { disabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }] } });
9750
10088
  /**
@@ -9754,10 +10092,10 @@ class AbstractSyncForgeFormDirective extends AbstractForgeFormDirective {
9754
10092
  ngOnInit() {
9755
10093
  this.context.config = this.formConfig;
9756
10094
  }
9757
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: AbstractSyncForgeFormDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive });
9758
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.11", type: AbstractSyncForgeFormDirective, isStandalone: true, usesInheritance: true, ngImport: i0 });
10095
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: AbstractSyncForgeFormDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive });
10096
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.1.4", type: AbstractSyncForgeFormDirective, isStandalone: true, usesInheritance: true, ngImport: i0 });
9759
10097
  }
9760
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: AbstractSyncForgeFormDirective, decorators: [{
10098
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: AbstractSyncForgeFormDirective, decorators: [{
9761
10099
  type: Directive
9762
10100
  }] });
9763
10101
  /**
@@ -9771,10 +10109,10 @@ class AbstractAsyncForgeFormDirective extends AbstractForgeFormDirective {
9771
10109
  this.context.config = formConfig;
9772
10110
  });
9773
10111
  }
9774
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: AbstractAsyncForgeFormDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive });
9775
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.11", type: AbstractAsyncForgeFormDirective, isStandalone: true, usesInheritance: true, ngImport: i0 });
10112
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: AbstractAsyncForgeFormDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive });
10113
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.1.4", type: AbstractAsyncForgeFormDirective, isStandalone: true, usesInheritance: true, ngImport: i0 });
9776
10114
  }
9777
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: AbstractAsyncForgeFormDirective, decorators: [{
10115
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: AbstractAsyncForgeFormDirective, decorators: [{
9778
10116
  type: Directive
9779
10117
  }] });
9780
10118
  /**
@@ -9788,12 +10126,13 @@ class AbstractConfigAsyncForgeFormDirective extends AbstractAsyncForgeFormDirect
9788
10126
  /**
9789
10127
  * The forge form config input.
9790
10128
  */
9791
- config = model(...(ngDevMode ? [undefined, { debugName: "config" }] : /* istanbul ignore next */ []));
10129
+ config = model(/* @ts-ignore */
10130
+ ...(ngDevMode ? [undefined, { debugName: "config" }] : /* istanbul ignore next */ []));
9792
10131
  currentConfig$ = toObservable(this.config).pipe(maybeValueFromObservableOrValue());
9793
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: AbstractConfigAsyncForgeFormDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive });
9794
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.2.11", type: AbstractConfigAsyncForgeFormDirective, isStandalone: true, inputs: { config: { classPropertyName: "config", publicName: "config", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { config: "configChange" }, usesInheritance: true, ngImport: i0 });
10132
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: AbstractConfigAsyncForgeFormDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive });
10133
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "22.1.4", type: AbstractConfigAsyncForgeFormDirective, isStandalone: true, inputs: { config: { classPropertyName: "config", publicName: "config", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { config: "configChange" }, usesInheritance: true, ngImport: i0 });
9795
10134
  }
9796
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: AbstractConfigAsyncForgeFormDirective, decorators: [{
10135
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: AbstractConfigAsyncForgeFormDirective, decorators: [{
9797
10136
  type: Directive
9798
10137
  }], propDecorators: { config: [{ type: i0.Input, args: [{ isSignal: true, alias: "config", required: false }] }, { type: i0.Output, args: ["configChange"] }] } });
9799
10138
 
@@ -9804,18 +10143,16 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.11", ngImpo
9804
10143
  */
9805
10144
  class DbxForgeAsyncConfigFormComponent extends AbstractConfigAsyncForgeFormDirective {
9806
10145
  formConfig$ = this.currentConfig$;
9807
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: DbxForgeAsyncConfigFormComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
9808
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.11", type: DbxForgeAsyncConfigFormComponent, isStandalone: true, selector: "dbx-forge-form", providers: provideDbxForgeFormContext(), usesInheritance: true, ngImport: i0, template: "<dbx-forge></dbx-forge>", isInline: true, dependencies: [{ kind: "ngmodule", type: DbxForgeFormComponentImportsModule }, { kind: "component", type: DbxForgeFormComponent, selector: "dbx-forge" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
10146
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: DbxForgeAsyncConfigFormComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
10147
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.1.4", type: DbxForgeAsyncConfigFormComponent, isStandalone: true, selector: "dbx-forge-form", providers: provideDbxForgeFormContext(), usesInheritance: true, ngImport: i0, template: "<dbx-forge></dbx-forge>", isInline: true, dependencies: [{ kind: "ngmodule", type: DbxForgeFormComponentImportsModule }, { kind: "component", type: DbxForgeFormComponent, selector: "dbx-forge" }] });
9809
10148
  }
9810
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: DbxForgeAsyncConfigFormComponent, decorators: [{
10149
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: DbxForgeAsyncConfigFormComponent, decorators: [{
9811
10150
  type: Component,
9812
10151
  args: [{
9813
10152
  selector: 'dbx-forge-form',
9814
10153
  template: DBX_FORGE_FORM_COMPONENT_TEMPLATE,
9815
10154
  providers: provideDbxForgeFormContext(),
9816
- imports: [DbxForgeFormComponentImportsModule],
9817
- changeDetection: ChangeDetectionStrategy.OnPush,
9818
- standalone: true
10155
+ imports: [DbxForgeFormComponentImportsModule]
9819
10156
  }]
9820
10157
  }] });
9821
10158
 
@@ -9899,12 +10236,12 @@ const DBX_FORGE_FIELD_TYPES = [
9899
10236
  // -- Wrapper-related fields --
9900
10237
  {
9901
10238
  name: FORGE_EXPAND_FIELD_TYPE_NAME,
9902
- loadComponent: () => import('./dereekb-dbx-form-expand.field.component-uqVNtX2s.mjs').then((m) => m.DbxForgeExpandFieldComponent),
10239
+ loadComponent: () => import('./dereekb-dbx-form-expand.field.component-BO_8nxHg.mjs').then((m) => m.DbxForgeExpandFieldComponent),
9903
10240
  mapper: valueFieldMapper
9904
10241
  },
9905
10242
  {
9906
10243
  name: FORGE_INFO_BUTTON_FIELD_TYPE_NAME,
9907
- loadComponent: () => import('./dereekb-dbx-form-info.field.component-CBAXCDdO.mjs').then((m) => m.DbxForgeInfoButtonFieldComponent),
10244
+ loadComponent: () => import('./dereekb-dbx-form-info.field.component-CImBKYE7.mjs').then((m) => m.DbxForgeInfoButtonFieldComponent),
9908
10245
  mapper: valueFieldMapper
9909
10246
  }
9910
10247
  ];
@@ -9918,15 +10255,15 @@ const DBX_FORGE_FIELD_WRAPPER_TYPES = [
9918
10255
  },
9919
10256
  {
9920
10257
  wrapperName: DBX_FORGE_SECTION_WRAPPER_TYPE_NAME,
9921
- loadComponent: () => import('./dereekb-dbx-form-section.wrapper.component-BoR5-a8A.mjs').then((m) => m.DbxForgeSectionWrapperComponent)
10258
+ loadComponent: () => import('./dereekb-dbx-form-section.wrapper.component-CpXSvC5e.mjs').then((m) => m.DbxForgeSectionWrapperComponent)
9922
10259
  },
9923
10260
  {
9924
10261
  wrapperName: DBX_FORGE_STYLE_WRAPPER_TYPE_NAME,
9925
- loadComponent: () => import('./dereekb-dbx-form-style.wrapper.component-C4dVNND_.mjs').then((m) => m.DbxForgeStyleWrapperComponent)
10262
+ loadComponent: () => import('./dereekb-dbx-form-style.wrapper.component-CPzzgQXk.mjs').then((m) => m.DbxForgeStyleWrapperComponent)
9926
10263
  },
9927
10264
  {
9928
10265
  wrapperName: DBX_FORGE_INFO_WRAPPER_TYPE_NAME,
9929
- loadComponent: () => import('./dereekb-dbx-form-info.wrapper.component-ChSBMxgm.mjs').then((m) => m.DbxForgeInfoWrapperComponent)
10266
+ loadComponent: () => import('./dereekb-dbx-form-info.wrapper.component-DdDCQ47C.mjs').then((m) => m.DbxForgeInfoWrapperComponent)
9930
10267
  },
9931
10268
  {
9932
10269
  wrapperName: DBX_FORGE_WORKING_WRAPPER_TYPE_NAME,
@@ -9934,7 +10271,7 @@ const DBX_FORGE_FIELD_WRAPPER_TYPES = [
9934
10271
  },
9935
10272
  {
9936
10273
  wrapperName: DBX_FORGE_FLEX_WRAPPER_TYPE_NAME,
9937
- loadComponent: () => import('./dereekb-dbx-form-flex.wrapper.component-C2nN1Oi1.mjs').then((m) => m.DbxForgeFlexWrapperComponent)
10274
+ loadComponent: () => import('./dereekb-dbx-form-flex.wrapper.component-C54ACtzt.mjs').then((m) => m.DbxForgeFlexWrapperComponent)
9938
10275
  },
9939
10276
  {
9940
10277
  wrapperName: DBX_FORGE_ARRAY_FIELD_WRAPPER_NAME,
@@ -9976,11 +10313,9 @@ function provideDbxForgeFormFieldDeclarations(...additionalFieldTypes) {
9976
10313
  * Creates a forge field array for a simple search form with a single text input.
9977
10314
  *
9978
10315
  * @param config - Optional search field configuration with label and placeholder.
9979
- * @returns The forge field defs for the search form
9980
- *
9981
- * TODO(migrate): Will be renamed in a future release to dbxForgePresetSearchFormFields.
10316
+ * @returns The forge field defs for the search form.
9982
10317
  */
9983
- function dbxFormSearchFormFields(config) {
10318
+ function dbxForgePresetSearchFormFields(config) {
9984
10319
  const { key = 'search', label, placeholder = 'Search', props } = config ?? {};
9985
10320
  const field = dbxForgeTextField({
9986
10321
  key,
@@ -9992,20 +10327,19 @@ function dbxFormSearchFormFields(config) {
9992
10327
  return [field];
9993
10328
  }
9994
10329
 
9995
- // TODO(migrate): Will be renamed in a future release to DbxForgePresetSearchFormComponent.
9996
- class DbxFormSearchFormComponent extends AbstractConfigAsyncForgeFormDirective {
10330
+ class DbxForgePresetSearchFormComponent extends AbstractConfigAsyncForgeFormDirective {
9997
10331
  // eslint-disable-next-line @angular-eslint/no-output-native
9998
10332
  search = output();
9999
- formConfig$ = this.currentConfig$.pipe(map((config) => ({ fields: dbxFormSearchFormFields(config) })));
10333
+ formConfig$ = this.currentConfig$.pipe(map((config) => ({ fields: dbxForgePresetSearchFormFields(config) })));
10000
10334
  searchChanged(value) {
10001
10335
  this.search.emit(value?.search ?? '');
10002
10336
  }
10003
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: DbxFormSearchFormComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
10004
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.11", type: DbxFormSearchFormComponent, isStandalone: true, selector: "dbx-form-search-form", outputs: { search: "search" }, host: { classAttribute: "d-block dbx-form-search-form" }, providers: provideDbxForgeFormContext(), usesInheritance: true, ngImport: i0, template: `
10337
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: DbxForgePresetSearchFormComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
10338
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.1.4", type: DbxForgePresetSearchFormComponent, isStandalone: true, selector: "dbx-form-search-form", outputs: { search: "search" }, host: { classAttribute: "d-block dbx-form-search-form" }, providers: provideDbxForgeFormContext(), usesInheritance: true, ngImport: i0, template: `
10005
10339
  <dbx-forge (dbxFormValueChange)="searchChanged($event)"></dbx-forge>
10006
- `, isInline: true, dependencies: [{ kind: "ngmodule", type: DbxForgeFormComponentImportsModule }, { kind: "component", type: DbxForgeFormComponent, selector: "dbx-forge" }, { kind: "directive", type: DbxFormValueChangeDirective, selector: "[dbxFormValueChange]", outputs: ["dbxFormValueChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
10340
+ `, isInline: true, dependencies: [{ kind: "ngmodule", type: DbxForgeFormComponentImportsModule }, { kind: "component", type: DbxForgeFormComponent, selector: "dbx-forge" }, { kind: "directive", type: DbxFormValueChangeDirective, selector: "[dbxFormValueChange]", outputs: ["dbxFormValueChange"] }] });
10007
10341
  }
10008
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: DbxFormSearchFormComponent, decorators: [{
10342
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: DbxForgePresetSearchFormComponent, decorators: [{
10009
10343
  type: Component,
10010
10344
  args: [{
10011
10345
  selector: 'dbx-form-search-form',
@@ -10014,8 +10348,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.11", ngImpo
10014
10348
  `,
10015
10349
  providers: provideDbxForgeFormContext(),
10016
10350
  imports: [DbxForgeFormComponentImportsModule, DbxFormValueChangeDirective],
10017
- standalone: true,
10018
- changeDetection: ChangeDetectionStrategy.OnPush,
10019
10351
  host: {
10020
10352
  class: 'd-block dbx-form-search-form'
10021
10353
  }
@@ -10219,23 +10551,6 @@ function dbxForgeUsernameLoginField(username) {
10219
10551
  }
10220
10552
  return result;
10221
10553
  }
10222
- // MARK: Compat
10223
- // COMPAT: Deprecated aliases
10224
- /**
10225
- * @deprecated use DEFAULT_DBX_FORGE_PASSWORDS_MATCH_VALIDATION_MESSAGE instead.
10226
- * @dbxAllowDefaultPrefix
10227
- */
10228
- const DBX_FORGE_DEFAULT_PASSWORDS_MATCH_VALIDATION_MESSAGE = DEFAULT_DBX_FORGE_PASSWORDS_MATCH_VALIDATION_MESSAGE;
10229
- /**
10230
- * @deprecated use DEFAULT_DBX_FORGE_TEXT_PASSWORD_AUTOCOMPLETE instead.
10231
- * @dbxAllowDefaultPrefix
10232
- */
10233
- const DBX_FORGE_TEXT_PASSWORD_DEFAULT_AUTOCOMPLETE = DEFAULT_DBX_FORGE_TEXT_PASSWORD_AUTOCOMPLETE;
10234
- /**
10235
- * @deprecated use DEFAULT_DBX_FORGE_TEXT_VERIFY_PASSWORD_AUTOCOMPLETE instead.
10236
- * @dbxAllowDefaultPrefix
10237
- */
10238
- const DBX_FORGE_TEXT_VERIFY_PASSWORD_DEFAULT_AUTOCOMPLETE = DEFAULT_DBX_FORGE_TEXT_VERIFY_PASSWORD_AUTOCOMPLETE;
10239
10554
 
10240
10555
  /**
10241
10556
  * A function that takes a search string and returns matching string results.
@@ -10514,17 +10829,16 @@ function pickableValueFieldValuesConfigForStaticLabeledValues(input) {
10514
10829
  * @selector `dbx-form-spacer,[dbxFormSpacer],.dbx-form-spacer`
10515
10830
  */
10516
10831
  class DbxFormSpacerDirective {
10517
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: DbxFormSpacerDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
10518
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.11", type: DbxFormSpacerDirective, isStandalone: true, selector: "dbx-form-spacer,[dbxFormSpacer],.dbx-form-spacer", host: { classAttribute: "d-block dbx-form-spacer" }, ngImport: i0 });
10832
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: DbxFormSpacerDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
10833
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.1.4", type: DbxFormSpacerDirective, isStandalone: true, selector: "dbx-form-spacer,[dbxFormSpacer],.dbx-form-spacer", host: { classAttribute: "d-block dbx-form-spacer" }, ngImport: i0 });
10519
10834
  }
10520
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: DbxFormSpacerDirective, decorators: [{
10835
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: DbxFormSpacerDirective, decorators: [{
10521
10836
  type: Directive,
10522
10837
  args: [{
10523
10838
  selector: 'dbx-form-spacer,[dbxFormSpacer],.dbx-form-spacer',
10524
10839
  host: {
10525
10840
  class: 'd-block dbx-form-spacer'
10526
- },
10527
- standalone: true
10841
+ }
10528
10842
  }]
10529
10843
  }] });
10530
10844
 
@@ -10699,5 +11013,5 @@ function provideDbxFormConfiguration(config) {
10699
11013
  * Generated bundle index. Do not edit.
10700
11014
  */
10701
11015
 
10702
- export { APP_ACTION_FORM_DISABLED_KEY, AbstractAsyncForgeFormDirective, AbstractConfigAsyncForgeFormDirective, AbstractDbxSearchableFieldDisplayDirective, AbstractForgeFormDirective, AbstractForgePickableItemFieldDirective, AbstractForgeSearchableFieldDirective, AbstractSyncForgeFormDirective, DBX_DATE_TIME_FIELD_DATE_NOT_IN_SCHEDULE_ERROR, DBX_DATE_TIME_FIELD_MENU_PRESETS_TOKEN, DBX_DATE_TIME_FIELD_TIME_NOT_IN_RANGE_ERROR, DBX_FORGE_ARRAY_FIELD_ELEMENT_WRAPPER_NAME, DBX_FORGE_ARRAY_FIELD_WRAPPER_NAME, DBX_FORGE_DEFAULT_PASSWORDS_MATCH_VALIDATION_MESSAGE, DBX_FORGE_FIELD_TYPES, DBX_FORGE_FIELD_WRAPPER_TYPES, DBX_FORGE_FLEX_WRAPPER_TYPE_NAME, DBX_FORGE_FORM_COMPONENT_TEMPLATE, DBX_FORGE_FORM_FIELD_WRAPPER_NAME, DBX_FORGE_INFO_WRAPPER_TYPE_NAME, DBX_FORGE_PASSWORDS_MATCH_VALIDATION_KIND, DBX_FORGE_SEARCHABLE_CHIP_FIELD_TYPE_NAME, DBX_FORGE_SEARCHABLE_TEXT_FIELD_TYPE_NAME, DBX_FORGE_SECTION_WRAPPER_TYPE_NAME, DBX_FORGE_STYLE_WRAPPER_TYPE_NAME, DBX_FORGE_TEXT_PASSWORD_DEFAULT_AUTOCOMPLETE, DBX_FORGE_TEXT_VERIFY_PASSWORD_DEFAULT_AUTOCOMPLETE, DBX_FORGE_WORKING_WRAPPER_TYPE_NAME, DBX_SEARCHABLE_FIELD_COMPONENT_DATA_TOKEN, DEFAULT_DATE_TIME_FIELD_MENU_PRESETS_PRESETS, DEFAULT_DBX_FORGE_PASSWORDS_MATCH_VALIDATION_MESSAGE, DEFAULT_DBX_FORGE_TEXT_PASSWORD_AUTOCOMPLETE, DEFAULT_DBX_FORGE_TEXT_VERIFY_PASSWORD_AUTOCOMPLETE, DEFAULT_DURATION_PICKER_POPOVER_KEY, DEFAULT_FORGE_LAT_LNG_TEXT_FIELD_PATTERN_MESSAGE, DEFAULT_FORGE_LAT_LNG_TEXT_FIELD_PLACEHOLDER, DEFAULT_FORM_DISABLED_KEY, DEFAULT_TRANSFORM_DEBOUNCE_TIME, DbxActionFormDirective, DbxActionFormSafetyDirective, DbxDateTimeFieldMenuPresetsService, DbxDateTimeFieldTimeMode, DbxDateTimeValueMode, DbxDefaultSearchableFieldDisplayComponent, DbxDurationPickerPopoverComponent, DbxForgeActionDialogComponent, DbxForgeArrayFieldElementWrapperComponent, DbxForgeArrayFieldWrapperComponent, DbxForgeAsyncConfigFormComponent, DbxForgeComponentFieldComponent, DbxForgeDateRangeFieldComponent, DbxForgeDateTimeFieldComponent, DbxForgeDynamicFormSignalRef, DbxForgeFixedDateRangeFieldComponent, DbxForgeFixedDateRangeFieldSelectionStrategy, DbxForgeFormComponent, DbxForgeFormComponentImportsModule, DbxForgeFormContext, DbxForgeFormContextService, DbxForgeFormFieldWrapperComponent, DbxForgeGlobalDefaultConfigService, DbxForgeListSelectionFieldComponent, DbxForgePhoneFieldComponent, DbxForgePickableChipFieldComponent, DbxForgePickableListFieldComponent, DbxForgeSearchableChipFieldComponent, DbxForgeSearchableTextFieldComponent, DbxForgeSourceSelectFieldComponent, DbxForgeTextEditorFieldComponent, DbxForgeTimeDurationFieldComponent, DbxForgeWorkingWrapperComponent, DbxForm, DbxFormLoadingSourceDirective, DbxFormLoggerDirective, DbxFormSearchFormComponent, DbxFormSourceDirective, DbxFormSpacerDirective, DbxFormState, DbxFormValueChangeDirective, DbxMutableForm, DbxSearchableFieldAutocompleteItemComponent, FIELD_VALUES_ARE_EQUAL_VALIDATION_KEY, FIELD_VALUE_IS_AVAILABLE_ERROR_VALIDATION_KEY, FIELD_VALUE_IS_AVAILABLE_VALIDATION_KEY, FORGE_COMPONENT_FIELD_TYPE, FORGE_DATERANGE_FIELD_TYPE, FORGE_DATETIME_FIELD_TYPE, FORGE_EXPAND_FIELD_TYPE_NAME, FORGE_FIELD_VALUE_IS_AVAILABLE_VALIDATOR_NAME, FORGE_FIXEDDATERANGE_FIELD_TYPE, FORGE_INFO_BUTTON_FIELD_TYPE_NAME, FORGE_IS_DIVISIBLE_BY_VALIDATION_KEY, FORGE_LIST_SELECTION_FIELD_TYPE, FORGE_PHONE_FIELD_TYPE, FORGE_PICKABLE_CHIP_FIELD_TYPE, FORGE_PICKABLE_LIST_FIELD_TYPE, FORGE_SOURCE_SELECT_FIELD_TYPE, FORGE_STYLED_BOX_CLASS, FORGE_TEXT_EDITOR_FIELD_TYPE, FORGE_TIMEDURATION_FIELD_TYPE, FORGE_VALUE_SELECTION_FIELD_TYPE, INVALID_PHONE_NUMBER_EXTENSION_MESSAGE, INVALID_PHONE_NUMBER_MESSAGE, IS_DIVISIBLE_BY_VALIDATION_KEY, IS_NOT_WEBSITE_URL_VALIDATION_KEY, IS_NOT_WEBSITE_URL_WITH_EXPECTED_DOMAIN_VALIDATION_KEY, IS_NOT_WEBSITE_URL_WITH_PREFIX_VALIDATION_KEY, SELF_DEPENDENCY_TOKEN, _filterForgeFormValueKeepInternal, _filterForgeFormValueStripInternal, _forgeFormValueEqual, applyTimeOffset, buildCombinedDateTime, computeDateKeyboardStep, computeErrorMessage, computeTimeKeyboardStep, configureDbxForgeFormFieldWrapper, configureDbxForgeFormFieldWrapperWith, configureForgeAutocompleteFieldMeta, copyFormConfigCustomFnConfig, dateRangeFieldMapper, dateTimeFieldCalc, dateTimeFieldMapper, dateTimePreset, dbxDateRangeIsSameDateRangeFieldValue, dbxDateTimeInputValueParseFactory, dbxDateTimeIsSameDateTimeFieldValue, dbxDateTimeOutputValueFactory, dbxForgeAddressFields, dbxForgeAddressGroup, dbxForgeAddressLineField, dbxForgeAddressListField, dbxForgeArrayField, dbxForgeBuildFieldDef, dbxForgeCheckboxField, dbxForgeChecklistField, dbxForgeCityField, dbxForgeComponentField, dbxForgeContainer, dbxForgeCountryField, dbxForgeDateField, dbxForgeDateRangeRow, dbxForgeDateTimeField, dbxForgeDateTimeRangeRow, dbxForgeDefaultValidationMessages, dbxForgeDollarAmountField, dbxForgeEmailField, dbxForgeExpandWrapper, dbxForgeFieldDisabled, dbxForgeFieldFunction, dbxForgeFieldFunctionConfigPropsWithHintBuilder, dbxForgeFieldFunctionConfigure, dbxForgeFinalizeFormConfig, dbxForgeFixedDateRangeField, dbxForgeFlexLayout, provideDbxForgeFormContext as dbxForgeFormComponentProviders, dbxForgeGroup, dbxForgeInfoWrapper, dbxForgeLatLngTextField, dbxForgeListSelectionField, dbxForgeNameField, dbxForgeNumberField, dbxForgeNumberSliderField, dbxForgePhoneField, dbxForgePickableChipField, dbxForgePickableListField, dbxForgeRow, dbxForgeSearchableChipField, dbxForgeSearchableStringChipField, dbxForgeSearchableTextField, dbxForgeSectionWrapper, dbxForgeSourceSelectField, dbxForgeStateField, dbxForgeStyleWrapper, dbxForgeSubsectionWrapper, dbxForgeTextAreaField, dbxForgeTextEditorField, dbxForgeTextField, dbxForgeTextIsAvailableField, dbxForgeTextPasswordField, dbxForgeTextPasswordWithVerifyField, dbxForgeTextVerifyPasswordField, dbxForgeTimeDurationField, dbxForgeTimezoneStringField, dbxForgeToggleField, dbxForgeToggleWrapper, dbxForgeUsernameLoginField, dbxForgeUsernamePasswordLoginFields, dbxForgeValueSelectionField, dbxForgeWebsiteUrlField, dbxForgeZipCodeField, dbxFormSearchFormFields, dbxFormSourceObservable, dbxFormSourceObservableFromStream, disableAutofillAttributes, fieldAutocompleteAttributeValue, fieldValueIsAvailableValidator, fieldValuesAreEqualValidator, filterPickableItemFieldValuesByLabel, filterPickableItemFieldValuesByLabelFilterFunction, filterPresets, fixedDateRangeFieldMapper, isDivisibleBy, isDomain, isE164PhoneNumber, isE164PhoneNumberWithValidExtension, isInRange, isPhoneExtension, isTruthy, isWebsiteUrlValidator, mergeDbxForgeFieldFormConfig, mergePickerConfig, navigateDate, phoneFieldMapper, pickableValueFieldValuesConfigForStaticLabeledValues, provideDbxForgeFormContext, provideDbxForgeFormFieldDeclarations, provideDbxForm, provideDbxFormConfiguration, provideDbxMutableForm, resolveForgeSelectionOptions, streamValueFromControl, stripEmptyForgeValues, stripForgeInternalKeys, timeDurationFieldMapper, toggleDisableFormControl };
11016
+ export { APP_ACTION_FORM_DISABLED_KEY, AbstractAsyncForgeFormDirective, AbstractConfigAsyncForgeFormDirective, AbstractDbxSearchableFieldDisplayDirective, AbstractForgeFormDirective, AbstractForgePickableItemFieldDirective, AbstractForgeSearchableFieldDirective, AbstractSyncForgeFormDirective, DBX_DATE_TIME_FIELD_DATE_NOT_IN_SCHEDULE_ERROR, DBX_DATE_TIME_FIELD_MENU_PRESETS_TOKEN, DBX_DATE_TIME_FIELD_TIME_NOT_IN_RANGE_ERROR, DBX_FORGE_ARRAY_FIELD_ELEMENT_WRAPPER_NAME, DBX_FORGE_ARRAY_FIELD_WRAPPER_NAME, DBX_FORGE_FIELD_TYPES, DBX_FORGE_FIELD_WRAPPER_TYPES, DBX_FORGE_FLEX_WRAPPER_TYPE_NAME, DBX_FORGE_FORM_COMPONENT_TEMPLATE, DBX_FORGE_FORM_FIELD_WRAPPER_NAME, DBX_FORGE_INFO_WRAPPER_TYPE_NAME, DBX_FORGE_PASSWORDS_MATCH_VALIDATION_KIND, DBX_FORGE_SEARCHABLE_CHIP_FIELD_TYPE_NAME, DBX_FORGE_SEARCHABLE_TEXT_FIELD_TYPE_NAME, DBX_FORGE_SECTION_WRAPPER_TYPE_NAME, DBX_FORGE_STYLE_WRAPPER_TYPE_NAME, DBX_FORGE_WORKING_WRAPPER_TYPE_NAME, DBX_SEARCHABLE_FIELD_COMPONENT_DATA_TOKEN, DEFAULT_DATE_TIME_FIELD_MENU_PRESETS_PRESETS, DEFAULT_DBX_FORGE_PASSWORDS_MATCH_VALIDATION_MESSAGE, DEFAULT_DBX_FORGE_TEXT_PASSWORD_AUTOCOMPLETE, DEFAULT_DBX_FORGE_TEXT_VERIFY_PASSWORD_AUTOCOMPLETE, DEFAULT_DURATION_PICKER_POPOVER_KEY, DEFAULT_FORGE_LAT_LNG_TEXT_FIELD_PATTERN_MESSAGE, DEFAULT_FORGE_LAT_LNG_TEXT_FIELD_PLACEHOLDER, DEFAULT_FORM_DISABLED_KEY, DEFAULT_TRANSFORM_DEBOUNCE_TIME, DbxActionFormDirective, DbxActionFormSafetyDirective, DbxDateTimeFieldMenuPresetsService, DbxDateTimeFieldTimeMode, DbxDateTimeValueMode, DbxDefaultSearchableFieldDisplayComponent, DbxDurationPickerPopoverComponent, DbxForgeActionDialogComponent, DbxForgeArrayFieldElementWrapperComponent, DbxForgeArrayFieldWrapperComponent, DbxForgeAsyncConfigFormComponent, DbxForgeComponentFieldComponent, DbxForgeDateRangeFieldComponent, DbxForgeDateTimeFieldComponent, DbxForgeDynamicFormSignalRef, DbxForgeFixedDateRangeFieldComponent, DbxForgeFixedDateRangeFieldSelectionStrategy, DbxForgeFormComponent, DbxForgeFormComponentImportsModule, DbxForgeFormContext, DbxForgeFormContextService, DbxForgeFormFieldWrapperComponent, DbxForgeGlobalDefaultConfigService, DbxForgeListSelectionFieldComponent, DbxForgePhoneFieldComponent, DbxForgePickableChipFieldComponent, DbxForgePickableListFieldComponent, DbxForgePresetSearchFormComponent, DbxForgeSearchableChipFieldComponent, DbxForgeSearchableTextFieldComponent, DbxForgeSourceSelectFieldComponent, DbxForgeTextEditorFieldComponent, DbxForgeTimeDurationFieldComponent, DbxForgeWorkingWrapperComponent, DbxForm, DbxFormLoadingSourceDirective, DbxFormLoggerDirective, DbxFormSourceDirective, DbxFormSpacerDirective, DbxFormState, DbxFormValueChangeDirective, DbxMutableForm, DbxSearchableFieldAutocompleteItemComponent, FIELD_VALUES_ARE_EQUAL_VALIDATION_KEY, FIELD_VALUE_IS_AVAILABLE_ERROR_VALIDATION_KEY, FIELD_VALUE_IS_AVAILABLE_VALIDATION_KEY, FORGE_COMPONENT_FIELD_TYPE, FORGE_DATERANGE_FIELD_TYPE, FORGE_DATETIME_FIELD_TYPE, FORGE_EXPAND_FIELD_TYPE_NAME, FORGE_FIELD_VALUE_IS_AVAILABLE_VALIDATOR_NAME, FORGE_FIXEDDATERANGE_FIELD_TYPE, FORGE_INFO_BUTTON_FIELD_TYPE_NAME, FORGE_IS_DIVISIBLE_BY_VALIDATION_KEY, FORGE_LIST_SELECTION_FIELD_TYPE, FORGE_PHONE_FIELD_TYPE, FORGE_PICKABLE_CHIP_FIELD_TYPE, FORGE_PICKABLE_LIST_FIELD_TYPE, FORGE_SOURCE_SELECT_FIELD_TYPE, FORGE_TEXT_EDITOR_FIELD_TYPE, FORGE_TIMEDURATION_FIELD_TYPE, FORGE_VALUE_SELECTION_FIELD_TYPE, INVALID_PHONE_NUMBER_EXTENSION_MESSAGE, INVALID_PHONE_NUMBER_MESSAGE, IS_DIVISIBLE_BY_VALIDATION_KEY, IS_NOT_WEBSITE_URL_VALIDATION_KEY, IS_NOT_WEBSITE_URL_WITH_EXPECTED_DOMAIN_VALIDATION_KEY, IS_NOT_WEBSITE_URL_WITH_PREFIX_VALIDATION_KEY, SELF_DEPENDENCY_TOKEN, _filterForgeFormValueKeepInternal, _filterForgeFormValueStripInternal, _forgeFormValueEqual, applyTimeOffset, buildCombinedDateTime, computeDateKeyboardStep, computeErrorMessage, computeTimeKeyboardStep, configureDbxForgeFormFieldWrapper, configureDbxForgeFormFieldWrapperWith, configureForgeAutocompleteFieldMeta, copyFormConfigCustomFnConfig, dateRangeFieldMapper, dateTimeFieldCalc, dateTimeFieldMapper, dateTimePreset, dbxDateRangeIsSameDateRangeFieldValue, dbxDateTimeInputValueParseFactory, dbxDateTimeIsSameDateTimeFieldValue, dbxDateTimeOutputValueFactory, dbxForgeAddressFields, dbxForgeAddressGroup, dbxForgeAddressLineField, dbxForgeAddressListField, dbxForgeArrayField, dbxForgeBuildFieldDef, dbxForgeCheckboxField, dbxForgeChecklistField, dbxForgeCityField, dbxForgeComponentField, dbxForgeContainer, dbxForgeCountryField, dbxForgeDateField, dbxForgeDateRangeRow, dbxForgeDateTimeField, dbxForgeDateTimeRangeRow, dbxForgeDefaultValidationMessages, dbxForgeDollarAmountField, dbxForgeEmailField, dbxForgeExpandWrapper, dbxForgeFieldDisabled, dbxForgeFieldFunction, dbxForgeFieldFunctionConfigPropsWithHintBuilder, dbxForgeFieldFunctionConfigure, dbxForgeFinalizeFormConfig, dbxForgeFixedDateRangeField, dbxForgeFlexLayout, provideDbxForgeFormContext as dbxForgeFormComponentProviders, dbxForgeGroup, dbxForgeInfoWrapper, dbxForgeLatLngTextField, dbxForgeListSelectionField, dbxForgeNameField, dbxForgeNumberField, dbxForgeNumberSliderField, dbxForgePhoneField, dbxForgePickableChipField, dbxForgePickableListField, dbxForgePresetSearchFormFields, dbxForgeRow, dbxForgeSearchableChipField, dbxForgeSearchableStringChipField, dbxForgeSearchableTextField, dbxForgeSectionWrapper, dbxForgeSourceSelectField, dbxForgeStateField, dbxForgeStyleWrapper, dbxForgeSubsectionWrapper, dbxForgeTextAreaField, dbxForgeTextEditorField, dbxForgeTextField, dbxForgeTextIsAvailableField, dbxForgeTextPasswordField, dbxForgeTextPasswordWithVerifyField, dbxForgeTextVerifyPasswordField, dbxForgeTimeDurationField, dbxForgeTimezoneStringField, dbxForgeToggleField, dbxForgeToggleWrapper, dbxForgeUsernameLoginField, dbxForgeUsernamePasswordLoginFields, dbxForgeValueSelectionField, dbxForgeWebsiteUrlField, dbxForgeZipCodeField, dbxFormSourceObservable, dbxFormSourceObservableFromStream, disableAutofillAttributes, fieldAutocompleteAttributeValue, fieldValueIsAvailableValidator, fieldValuesAreEqualValidator, filterPickableItemFieldValuesByLabel, filterPickableItemFieldValuesByLabelFilterFunction, filterPresets, fixedDateRangeFieldMapper, isDivisibleBy, isDomain, isE164PhoneNumber, isE164PhoneNumberWithValidExtension, isInRange, isPhoneExtension, isTruthy, isWebsiteUrlValidator, mergeDbxForgeFieldFormConfig, mergePickerConfig, navigateDate, phoneFieldMapper, pickableValueFieldValuesConfigForStaticLabeledValues, provideDbxForgeFormContext, provideDbxForgeFormFieldDeclarations, provideDbxForm, provideDbxFormConfiguration, provideDbxMutableForm, resolveForgeSelectionOptions, streamValueFromControl, stripEmptyForgeValues, stripForgeInternalKeys, timeDurationFieldMapper, toggleDisableFormControl };
10703
11017
  //# sourceMappingURL=dereekb-dbx-form.mjs.map