@ng-forge/dynamic-forms 0.10.0-next.3 → 1.0.0-rc.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (61) hide show
  1. package/fesm2022/{ng-forge-dynamic-forms-array-field.component-D6GEsH72.mjs → ng-forge-dynamic-forms-array-field.component-By12r5Cj.mjs} +49 -27
  2. package/fesm2022/ng-forge-dynamic-forms-array-field.component-By12r5Cj.mjs.map +1 -0
  3. package/fesm2022/ng-forge-dynamic-forms-bootstrap-derivation-orchestrator-QJzwEYSj.mjs +2347 -0
  4. package/fesm2022/ng-forge-dynamic-forms-bootstrap-derivation-orchestrator-QJzwEYSj.mjs.map +1 -0
  5. package/fesm2022/{ng-forge-dynamic-forms-container-field.component-BluTT44A.mjs → ng-forge-dynamic-forms-container-field.component-BGFguOa9.mjs} +23 -14
  6. package/fesm2022/ng-forge-dynamic-forms-container-field.component-BGFguOa9.mjs.map +1 -0
  7. package/fesm2022/{ng-forge-dynamic-forms-container-utils-diYAWMa_.mjs → ng-forge-dynamic-forms-container-utils-BZFz6ztF.mjs} +4 -3
  8. package/fesm2022/ng-forge-dynamic-forms-container-utils-BZFz6ztF.mjs.map +1 -0
  9. package/fesm2022/{ng-forge-dynamic-forms-css-wrapper.component-CgMQOaG7.mjs → ng-forge-dynamic-forms-css-wrapper.component-AScQAJTQ.mjs} +9 -7
  10. package/fesm2022/ng-forge-dynamic-forms-css-wrapper.component-AScQAJTQ.mjs.map +1 -0
  11. package/fesm2022/{ng-forge-dynamic-forms-emit-initialization-CB86IMsQ.mjs → ng-forge-dynamic-forms-emit-initialization-DhHwU6FJ.mjs} +2 -2
  12. package/fesm2022/ng-forge-dynamic-forms-emit-initialization-DhHwU6FJ.mjs.map +1 -0
  13. package/fesm2022/{ng-forge-dynamic-forms-group-field.component-2bWHql4u.mjs → ng-forge-dynamic-forms-group-field.component-Bz4GD8Hy.mjs} +43 -24
  14. package/fesm2022/ng-forge-dynamic-forms-group-field.component-Bz4GD8Hy.mjs.map +1 -0
  15. package/fesm2022/ng-forge-dynamic-forms-integration.mjs +130 -85
  16. package/fesm2022/ng-forge-dynamic-forms-integration.mjs.map +1 -1
  17. package/fesm2022/ng-forge-dynamic-forms-internal.mjs +3374 -0
  18. package/fesm2022/ng-forge-dynamic-forms-internal.mjs.map +1 -0
  19. package/fesm2022/ng-forge-dynamic-forms-ng-forge-dynamic-forms-DTkMZcnb.mjs +5425 -0
  20. package/fesm2022/ng-forge-dynamic-forms-ng-forge-dynamic-forms-DTkMZcnb.mjs.map +1 -0
  21. package/fesm2022/{ng-forge-dynamic-forms-page-field.component-zF-vEv5V.mjs → ng-forge-dynamic-forms-page-field.component-CjCd5Byo.mjs} +27 -16
  22. package/fesm2022/ng-forge-dynamic-forms-page-field.component-CjCd5Byo.mjs.map +1 -0
  23. package/fesm2022/{ng-forge-dynamic-forms-row-wrapper.component-CwkYn5yl.mjs → ng-forge-dynamic-forms-row-wrapper.component-BlVa801t.mjs} +6 -5
  24. package/fesm2022/ng-forge-dynamic-forms-row-wrapper.component-BlVa801t.mjs.map +1 -0
  25. package/fesm2022/{ng-forge-dynamic-forms-text-field.component-_8_vVeH0.mjs → ng-forge-dynamic-forms-text-field.component-CNCpmf5_.mjs} +19 -12
  26. package/fesm2022/ng-forge-dynamic-forms-text-field.component-CNCpmf5_.mjs.map +1 -0
  27. package/fesm2022/ng-forge-dynamic-forms.mjs +2 -1
  28. package/fesm2022/ng-forge-dynamic-forms.mjs.map +1 -1
  29. package/package.json +17 -4
  30. package/schematics/collection.json +10 -0
  31. package/schematics/generators.json +12 -0
  32. package/schematics/ng-add/index.js +87 -0
  33. package/schematics/ng-add/index.js.map +1 -0
  34. package/schematics/ng-add/nx-wrapper.js +5 -0
  35. package/schematics/ng-add/nx-wrapper.js.map +1 -0
  36. package/schematics/ng-add/recipes.js +60 -0
  37. package/schematics/ng-add/recipes.js.map +1 -0
  38. package/schematics/ng-add/rules/add-packages.js +73 -0
  39. package/schematics/ng-add/rules/add-packages.js.map +1 -0
  40. package/schematics/ng-add/rules/add-providers.js +132 -0
  41. package/schematics/ng-add/rules/add-providers.js.map +1 -0
  42. package/schematics/ng-add/rules/add-styles.js +123 -0
  43. package/schematics/ng-add/rules/add-styles.js.map +1 -0
  44. package/schematics/ng-add/schema.json +48 -0
  45. package/schematics/package.json +1 -0
  46. package/schematics/versions.js +33 -0
  47. package/schematics/versions.js.map +1 -0
  48. package/types/ng-forge-dynamic-forms-integration.d.ts +4 -2
  49. package/types/ng-forge-dynamic-forms-internal.d.ts +3508 -0
  50. package/types/ng-forge-dynamic-forms.d.ts +16 -2734
  51. package/fesm2022/ng-forge-dynamic-forms-array-field.component-D6GEsH72.mjs.map +0 -1
  52. package/fesm2022/ng-forge-dynamic-forms-container-field.component-BluTT44A.mjs.map +0 -1
  53. package/fesm2022/ng-forge-dynamic-forms-container-utils-diYAWMa_.mjs.map +0 -1
  54. package/fesm2022/ng-forge-dynamic-forms-css-wrapper.component-CgMQOaG7.mjs.map +0 -1
  55. package/fesm2022/ng-forge-dynamic-forms-emit-initialization-CB86IMsQ.mjs.map +0 -1
  56. package/fesm2022/ng-forge-dynamic-forms-group-field.component-2bWHql4u.mjs.map +0 -1
  57. package/fesm2022/ng-forge-dynamic-forms-ng-forge-dynamic-forms-CPkVjU_N.mjs +0 -10876
  58. package/fesm2022/ng-forge-dynamic-forms-ng-forge-dynamic-forms-CPkVjU_N.mjs.map +0 -1
  59. package/fesm2022/ng-forge-dynamic-forms-page-field.component-zF-vEv5V.mjs.map +0 -1
  60. package/fesm2022/ng-forge-dynamic-forms-row-wrapper.component-CwkYn5yl.mjs.map +0 -1
  61. package/fesm2022/ng-forge-dynamic-forms-text-field.component-_8_vVeH0.mjs.map +0 -1
@@ -1,7 +1,9 @@
1
1
  import * as i0 from '@angular/core';
2
2
  import { inject, computed, signal, Injector, isDevMode, afterRenderEffect, input, Directive, untracked, InjectionToken, ElementRef, EnvironmentInjector, runInInjectionContext } from '@angular/core';
3
- import { injectFieldSignalContext, omit, buildBaseInputs, DEFAULT_PROPS, resolveNonFieldHidden, resolveNonFieldDisabled, RootFormRegistryService, ARRAY_CONTEXT, DynamicFormLogger, AppendArrayItemEvent, PrependArrayItemEvent, InsertArrayItemEvent, RemoveAtIndexEvent, PopArrayItemEvent, ShiftArrayItemEvent, FORM_OPTIONS, resolveSubmitButtonDisabled, resolveNextButtonDisabled, NextPageEvent, PreviousPageEvent, dynamicTextToObservable, interpolateParams, isEqual, applyMetaToElement, DEFAULT_VALIDATION_MESSAGES, EventBus, resolveTokens, resolveDynamicValue, ADDON_ACTION_REGISTRY, writeToFieldValue } from '@ng-forge/dynamic-forms';
4
- export { createWrappers, isEqual, isWrappersBundle, resolveNonFieldDisabled, resolveNonFieldHidden, wrapperProps } from '@ng-forge/dynamic-forms';
3
+ import { injectFieldSignalContext, omit, buildBaseInputs, DEFAULT_PROPS, RootFormRegistryService, ARRAY_CONTEXT, FORM_OPTIONS, dynamicTextToObservable, interpolateParams, isEqual, applyMetaToElement, DEFAULT_VALIDATION_MESSAGES, EventBus, resolveTokens, resolveDynamicValue, writeToFieldValue } from '@ng-forge/dynamic-forms/internal';
4
+ export { ARRAY_CONTEXT, DEFAULT_PROPS, DEFAULT_VALIDATION_MESSAGES, DEFAULT_WRAPPERS, DynamicTextPipe, EventBus, FIELD_REGISTRY, FIELD_SIGNAL_CONTEXT, FORM_OPTIONS, GROUP_CONTEXT, INITIALIZATION_TIMEOUT_MS, RootFormRegistryService, applyMetaToElement, applyValidator, applyValidators, arrayFieldMapper, baseFieldMapper, buildBaseInputs, containerFieldMapper, dynamicTextToObservable, getArrayLength, groupFieldMapper, injectFieldSignalContext, interpolateParams, isEqual, pageFieldMapper, resolveDynamicValue, resolveTokens, rowFieldMapper, textFieldMapper, toReadonlyFieldTree, withPreviousValue, writeToFieldValue } from '@ng-forge/dynamic-forms/internal';
5
+ import { resolveNonFieldHidden, resolveNonFieldDisabled, DynamicFormLogger, AppendArrayItemEvent, PrependArrayItemEvent, InsertArrayItemEvent, RemoveAtIndexEvent, PopArrayItemEvent, ShiftArrayItemEvent, resolveSubmitButtonDisabled, resolveNextButtonDisabled, NextPageEvent, PreviousPageEvent, ADDON_ACTION_REGISTRY } from '@ng-forge/dynamic-forms';
6
+ export { ADDON_ACTION_HANDLERS, ADDON_ACTION_REGISTRY, ADDON_KIND_COMPONENT_CACHE, ADDON_KIND_DEFINITIONS, ADDON_KIND_REGISTRY, BUILT_IN_FIELDS, createWrappers, injectAddonKindRegistry, injectFieldsSupportingAddons, isWrappersBundle, resolveNonFieldDisabled, resolveNonFieldHidden, runPresetAction, wrapperProps } from '@ng-forge/dynamic-forms';
5
7
  import { toObservable, toSignal } from '@angular/core/rxjs-interop';
6
8
  import { combineLatest, of } from 'rxjs';
7
9
  import { switchMap, map } from 'rxjs/operators';
@@ -196,7 +198,8 @@ function resolveArrayButtonContext(fieldKey, buttonType, explicitArrayKey) {
196
198
  if (!arrayContext)
197
199
  return -1;
198
200
  return arrayContext.index();
199
- }, ...(ngDevMode ? [{ debugName: "indexSignal" }] : /* istanbul ignore next */ []));
201
+ }, /* @ts-ignore */
202
+ ...(ngDevMode ? [{ debugName: "indexSignal" }] : /* istanbul ignore next */ []));
200
203
  return {
201
204
  targetArrayKey,
202
205
  indexSignal,
@@ -320,12 +323,14 @@ function submitButtonFieldMapper(fieldDef) {
320
323
  return computed(() => {
321
324
  const baseInputs = buildBaseInputs(fieldDef, defaultProps());
322
325
  const rootForm = rootFormRegistry.rootForm();
323
- const disabled = resolveSubmitButtonDisabled({
324
- form: rootForm,
325
- formOptions: formOptions(),
326
- fieldLogic: fieldWithLogic.logic,
327
- explicitlyDisabled: fieldDef.disabled,
328
- })();
326
+ const disabled = rootForm
327
+ ? resolveSubmitButtonDisabled({
328
+ form: rootForm,
329
+ formOptions: formOptions(),
330
+ fieldLogic: fieldWithLogic.logic,
331
+ explicitlyDisabled: fieldDef.disabled,
332
+ })()
333
+ : (fieldDef.disabled ?? false);
329
334
  const inputs = {
330
335
  ...baseInputs,
331
336
  props: { ...fieldDef.props, type: 'submit' },
@@ -391,12 +396,15 @@ function previousButtonFieldMapper(fieldDef) {
391
396
 
392
397
  function createResolvedErrorsSignal(field, validationMessages, defaultValidationMessages = signal(undefined), injector = inject(Injector)) {
393
398
  const logger = injector.get(DynamicFormLogger);
394
- const messages = computed(() => validationMessages() ?? {}, ...(ngDevMode ? [{ debugName: "messages" }] : /* istanbul ignore next */ []));
395
- const defaultMessages = computed(() => defaultValidationMessages() ?? {}, ...(ngDevMode ? [{ debugName: "defaultMessages" }] : /* istanbul ignore next */ []));
399
+ const messages = computed(() => validationMessages() ?? {}, /* @ts-ignore */
400
+ ...(ngDevMode ? [{ debugName: "messages" }] : /* istanbul ignore next */ []));
401
+ const defaultMessages = computed(() => defaultValidationMessages() ?? {}, /* @ts-ignore */
402
+ ...(ngDevMode ? [{ debugName: "defaultMessages" }] : /* istanbul ignore next */ []));
396
403
  const errors = computed(() => {
397
404
  const control = field()();
398
405
  return control.errors();
399
- }, ...(ngDevMode ? [{ debugName: "errors" }] : /* istanbul ignore next */ []));
406
+ }, /* @ts-ignore */
407
+ ...(ngDevMode ? [{ debugName: "errors" }] : /* istanbul ignore next */ []));
400
408
  const errors$ = toObservable(errors, { injector });
401
409
  const messages$ = toObservable(messages, { injector });
402
410
  const defaultMessages$ = toObservable(defaultMessages, { injector });
@@ -450,8 +458,8 @@ function applyTrackedAttrsToTargets(elementRef, computeAttrs, options = {}) {
450
458
  const attrs = computeAttrs();
451
459
  const selector = (typeof options.selector === 'function' ? options.selector() : options.selector)?.trim() || undefined;
452
460
  const selectorChanged = selector !== cachedSelector;
453
- const depsChanged = !!currentDeps &&
454
- (!previousDeps || currentDeps.length !== previousDeps.length || currentDeps.some((d, i) => d !== previousDeps[i]));
461
+ const prevDeps = previousDeps;
462
+ const depsChanged = !!currentDeps && (!prevDeps || currentDeps.length !== prevDeps.length || currentDeps.some((d, i) => d !== prevDeps[i]));
455
463
  if (selectorChanged || depsChanged || cachedTargets.length === 0) {
456
464
  cachedSelector = selector;
457
465
  cachedTargets = selector ? Array.from(elementRef.nativeElement.querySelectorAll(selector)) : [elementRef.nativeElement];
@@ -506,12 +514,14 @@ function createAriaDescribedBySignal(errorsToDisplay, errorId, hintId, hasHint)
506
514
 
507
515
 
508
516
  class NgForgeFieldShell {
509
- key = input.required(...(ngDevMode ? [{ debugName: "key" }] : /* istanbul ignore next */ []));
510
- className = input('', ...(ngDevMode ? [{ debugName: "className" }] : /* istanbul ignore next */ []));
511
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.14", ngImport: i0, type: NgForgeFieldShell, deps: [], target: i0.ɵɵFactoryTarget.Directive });
512
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.2.14", type: NgForgeFieldShell, isStandalone: true, inputs: { key: { classPropertyName: "key", publicName: "key", isSignal: true, isRequired: true, transformFunction: null }, className: { classPropertyName: "className", publicName: "className", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "id": "key()", "attr.data-testid": "key()", "class": "className()" } }, ngImport: i0 });
513
- }
514
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImport: i0, type: NgForgeFieldShell, decorators: [{
517
+ key = input.required(/* @ts-ignore */
518
+ ...(ngDevMode ? [{ debugName: "key" }] : /* istanbul ignore next */ []));
519
+ className = input('', /* @ts-ignore */
520
+ ...(ngDevMode ? [{ debugName: "className" }] : /* istanbul ignore next */ []));
521
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.0", ngImport: i0, type: NgForgeFieldShell, deps: [], target: i0.ɵɵFactoryTarget.Directive });
522
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "22.0.0", type: NgForgeFieldShell, isStandalone: true, inputs: { key: { classPropertyName: "key", publicName: "key", isSignal: true, isRequired: true, transformFunction: null }, className: { classPropertyName: "className", publicName: "className", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "id": "key()", "attr.data-testid": "key()", "class": "className()" } }, ngImport: i0 });
523
+ }
524
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.0", ngImport: i0, type: NgForgeFieldShell, decorators: [{
515
525
  type: Directive,
516
526
  args: [{
517
527
  host: {
@@ -527,28 +537,41 @@ class NgForgeField {
527
537
  shell = inject(NgForgeFieldShell);
528
538
  key = this.shell.key;
529
539
  className = this.shell.className;
530
- field = input.required(...(ngDevMode ? [{ debugName: "field" }] : /* istanbul ignore next */ []));
531
- label = input(...(ngDevMode ? [undefined, { debugName: "label" }] : /* istanbul ignore next */ []));
532
- placeholder = input(...(ngDevMode ? [undefined, { debugName: "placeholder" }] : /* istanbul ignore next */ []));
533
- tabIndex = input(...(ngDevMode ? [undefined, { debugName: "tabIndex" }] : /* istanbul ignore next */ []));
534
- props = input(...(ngDevMode ? [undefined, { debugName: "props" }] : /* istanbul ignore next */ []));
535
- meta = input(...(ngDevMode ? [undefined, { debugName: "meta" }] : /* istanbul ignore next */ []));
536
- validationMessages = input(...(ngDevMode ? [undefined, { debugName: "validationMessages" }] : /* istanbul ignore next */ []));
540
+ field = input.required(/* @ts-ignore */
541
+ ...(ngDevMode ? [{ debugName: "field" }] : /* istanbul ignore next */ []));
542
+ label = input(/* @ts-ignore */
543
+ ...(ngDevMode ? [undefined, { debugName: "label" }] : /* istanbul ignore next */ []));
544
+ placeholder = input(/* @ts-ignore */
545
+ ...(ngDevMode ? [undefined, { debugName: "placeholder" }] : /* istanbul ignore next */ []));
546
+ tabIndex = input(/* @ts-ignore */
547
+ ...(ngDevMode ? [undefined, { debugName: "tabIndex" }] : /* istanbul ignore next */ []));
548
+ props = input(/* @ts-ignore */
549
+ ...(ngDevMode ? [undefined, { debugName: "props" }] : /* istanbul ignore next */ []));
550
+ meta = input(/* @ts-ignore */
551
+ ...(ngDevMode ? [undefined, { debugName: "meta" }] : /* istanbul ignore next */ []));
552
+ validationMessages = input(/* @ts-ignore */
553
+ ...(ngDevMode ? [undefined, { debugName: "validationMessages" }] : /* istanbul ignore next */ []));
537
554
  defaultValidationMessages = inject(DEFAULT_VALIDATION_MESSAGES, { optional: true }) ?? signal(undefined);
538
555
  errors = createResolvedErrorsSignal(this.field, this.validationMessages, this.defaultValidationMessages);
539
556
  showErrors = shouldShowErrors(this.field);
540
- errorsToDisplay = computed(() => (this.showErrors() ? this.errors() : []), ...(ngDevMode ? [{ debugName: "errorsToDisplay" }] : /* istanbul ignore next */ []));
541
- errorId = computed(() => `${this.key()}-error`, ...(ngDevMode ? [{ debugName: "errorId" }] : /* istanbul ignore next */ []));
542
- hintId = computed(() => `${this.key()}-hint`, ...(ngDevMode ? [{ debugName: "hintId" }] : /* istanbul ignore next */ []));
557
+ errorsToDisplay = computed(() => (this.showErrors() ? this.errors() : []), /* @ts-ignore */
558
+ ...(ngDevMode ? [{ debugName: "errorsToDisplay" }] : /* istanbul ignore next */ []));
559
+ errorId = computed(() => `${this.key()}-error`, /* @ts-ignore */
560
+ ...(ngDevMode ? [{ debugName: "errorId" }] : /* istanbul ignore next */ []));
561
+ hintId = computed(() => `${this.key()}-hint`, /* @ts-ignore */
562
+ ...(ngDevMode ? [{ debugName: "hintId" }] : /* istanbul ignore next */ []));
543
563
  ariaInvalid = computed(() => {
544
564
  const state = this.field()();
545
565
  return state.invalid() && state.touched();
546
- }, ...(ngDevMode ? [{ debugName: "ariaInvalid" }] : /* istanbul ignore next */ []));
566
+ }, /* @ts-ignore */
567
+ ...(ngDevMode ? [{ debugName: "ariaInvalid" }] : /* istanbul ignore next */ []));
547
568
  ariaRequired = computed(() => {
548
569
  return this.field()().required?.() === true ? true : null;
549
- }, ...(ngDevMode ? [{ debugName: "ariaRequired" }] : /* istanbul ignore next */ []));
570
+ }, /* @ts-ignore */
571
+ ...(ngDevMode ? [{ debugName: "ariaRequired" }] : /* istanbul ignore next */ []));
550
572
  ariaDescribedBy = createAriaDescribedBySignal(this.errorsToDisplay, this.errorId, this.hintId, () => Boolean(this.props()?.hint));
551
- _claimed = signal(false, ...(ngDevMode ? [{ debugName: "_claimed" }] : /* istanbul ignore next */ []));
573
+ _claimed = signal(false, /* @ts-ignore */
574
+ ...(ngDevMode ? [{ debugName: "_claimed" }] : /* istanbul ignore next */ []));
552
575
  markClaimed() {
553
576
  this._claimed.set(true);
554
577
  }
@@ -580,10 +603,10 @@ class NgForgeField {
580
603
  });
581
604
  }
582
605
  }
583
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.14", ngImport: i0, type: NgForgeField, deps: [], target: i0.ɵɵFactoryTarget.Directive });
584
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.2.14", type: NgForgeField, isStandalone: true, inputs: { field: { classPropertyName: "field", publicName: "field", 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 }, 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 } }, host: { properties: { "attr.hidden": "field()().hidden() || null", "attr.aria-disabled": "field()().disabled() || null" } }, ngImport: i0 });
606
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.0", ngImport: i0, type: NgForgeField, deps: [], target: i0.ɵɵFactoryTarget.Directive });
607
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "22.0.0", type: NgForgeField, isStandalone: true, inputs: { field: { classPropertyName: "field", publicName: "field", 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 }, 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 } }, host: { properties: { "attr.hidden": "field()().hidden() || null", "attr.aria-disabled": "field()().disabled() || null" } }, ngImport: i0 });
585
608
  }
586
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImport: i0, type: NgForgeField, decorators: [{
609
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.0", ngImport: i0, type: NgForgeField, decorators: [{
587
610
  type: Directive,
588
611
  args: [{
589
612
  host: {
@@ -603,14 +626,22 @@ class NgForgeAction {
603
626
  shell = inject(NgForgeFieldShell);
604
627
  key = this.shell.key;
605
628
  className = this.shell.className;
606
- label = input.required(...(ngDevMode ? [{ debugName: "label" }] : /* istanbul ignore next */ []));
607
- disabled = input(false, ...(ngDevMode ? [{ debugName: "disabled" }] : /* istanbul ignore next */ []));
608
- hidden = input(false, ...(ngDevMode ? [{ debugName: "hidden" }] : /* istanbul ignore next */ []));
609
- tabIndex = input(...(ngDevMode ? [undefined, { debugName: "tabIndex" }] : /* istanbul ignore next */ []));
610
- event = input(...(ngDevMode ? [undefined, { debugName: "event" }] : /* istanbul ignore next */ []));
611
- eventArgs = input(...(ngDevMode ? [undefined, { debugName: "eventArgs" }] : /* istanbul ignore next */ []));
612
- eventContext = input(...(ngDevMode ? [undefined, { debugName: "eventContext" }] : /* istanbul ignore next */ []));
613
- props = input(...(ngDevMode ? [undefined, { debugName: "props" }] : /* istanbul ignore next */ []));
629
+ label = input.required(/* @ts-ignore */
630
+ ...(ngDevMode ? [{ debugName: "label" }] : /* istanbul ignore next */ []));
631
+ disabled = input(false, /* @ts-ignore */
632
+ ...(ngDevMode ? [{ debugName: "disabled" }] : /* istanbul ignore next */ []));
633
+ hidden = input(false, /* @ts-ignore */
634
+ ...(ngDevMode ? [{ debugName: "hidden" }] : /* istanbul ignore next */ []));
635
+ tabIndex = input(/* @ts-ignore */
636
+ ...(ngDevMode ? [undefined, { debugName: "tabIndex" }] : /* istanbul ignore next */ []));
637
+ event = input(/* @ts-ignore */
638
+ ...(ngDevMode ? [undefined, { debugName: "event" }] : /* istanbul ignore next */ []));
639
+ eventArgs = input(/* @ts-ignore */
640
+ ...(ngDevMode ? [undefined, { debugName: "eventArgs" }] : /* istanbul ignore next */ []));
641
+ eventContext = input(/* @ts-ignore */
642
+ ...(ngDevMode ? [undefined, { debugName: "eventContext" }] : /* istanbul ignore next */ []));
643
+ props = input(/* @ts-ignore */
644
+ ...(ngDevMode ? [undefined, { debugName: "props" }] : /* istanbul ignore next */ []));
614
645
  eventBus = inject(EventBus);
615
646
  arrayContext = inject(ARRAY_CONTEXT, { optional: true });
616
647
  dispatch() {
@@ -632,10 +663,10 @@ class NgForgeAction {
632
663
  : (this.eventContext() ?? { key: this.key() });
633
664
  this.eventBus.dispatch(event, ...resolveTokens(args, context));
634
665
  }
635
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.14", ngImport: i0, type: NgForgeAction, deps: [], target: i0.ɵɵFactoryTarget.Directive });
636
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.2.14", type: NgForgeAction, isStandalone: true, inputs: { label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: true, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, hidden: { classPropertyName: "hidden", publicName: "hidden", isSignal: true, isRequired: false, transformFunction: null }, tabIndex: { classPropertyName: "tabIndex", publicName: "tabIndex", isSignal: true, isRequired: false, transformFunction: null }, event: { classPropertyName: "event", publicName: "event", isSignal: true, isRequired: false, transformFunction: null }, eventArgs: { classPropertyName: "eventArgs", publicName: "eventArgs", isSignal: true, isRequired: false, transformFunction: null }, eventContext: { classPropertyName: "eventContext", publicName: "eventContext", isSignal: true, isRequired: false, transformFunction: null }, props: { classPropertyName: "props", publicName: "props", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "attr.hidden": "hidden() || null", "attr.aria-disabled": "disabled() || null" } }, ngImport: i0 });
666
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.0", ngImport: i0, type: NgForgeAction, deps: [], target: i0.ɵɵFactoryTarget.Directive });
667
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "22.0.0", type: NgForgeAction, isStandalone: true, inputs: { label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: true, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, hidden: { classPropertyName: "hidden", publicName: "hidden", isSignal: true, isRequired: false, transformFunction: null }, tabIndex: { classPropertyName: "tabIndex", publicName: "tabIndex", isSignal: true, isRequired: false, transformFunction: null }, event: { classPropertyName: "event", publicName: "event", isSignal: true, isRequired: false, transformFunction: null }, eventArgs: { classPropertyName: "eventArgs", publicName: "eventArgs", isSignal: true, isRequired: false, transformFunction: null }, eventContext: { classPropertyName: "eventContext", publicName: "eventContext", isSignal: true, isRequired: false, transformFunction: null }, props: { classPropertyName: "props", publicName: "props", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "attr.hidden": "hidden() || null", "attr.aria-disabled": "disabled() || null" } }, ngImport: i0 });
637
668
  }
638
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImport: i0, type: NgForgeAction, decorators: [{
669
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.0", ngImport: i0, type: NgForgeAction, decorators: [{
639
670
  type: Directive,
640
671
  args: [{
641
672
  host: {
@@ -653,17 +684,23 @@ function injectNgForgeAction() {
653
684
 
654
685
  class NgForgeAddonsBase {
655
686
  hostInjector = inject(Injector);
656
- addons = input(undefined, ...(ngDevMode ? [{ debugName: "addons" }] : /* istanbul ignore next */ []));
657
- _hiddenSignalCache = signal(new Map(), ...(ngDevMode ? [{ debugName: "_hiddenSignalCache" }] : /* istanbul ignore next */ []));
687
+ addons = input(undefined, /* @ts-ignore */
688
+ ...(ngDevMode ? [{ debugName: "addons" }] : /* istanbul ignore next */ []));
689
+ _hiddenSignalCache = signal(new Map(), /* @ts-ignore */
690
+ ...(ngDevMode ? [{ debugName: "_hiddenSignalCache" }] : /* istanbul ignore next */ []));
658
691
  hiddenSignalCache = this._hiddenSignalCache.asReadonly();
659
692
  visibleAddons = computed(() => {
660
693
  const list = this.addons() ?? [];
661
694
  const cache = this.hiddenSignalCache();
662
695
  return list.filter((a) => !(cache.get(a)?.() ?? false));
663
- }, ...(ngDevMode ? [{ debugName: "visibleAddons" }] : /* istanbul ignore next */ []));
664
- hasAddons = computed(() => this.visibleAddons().length > 0, ...(ngDevMode ? [{ debugName: "hasAddons" }] : /* istanbul ignore next */ []));
665
- prefixAddons = computed(() => this.visibleAddons().filter((a) => a.slot === 'prefix'), ...(ngDevMode ? [{ debugName: "prefixAddons" }] : /* istanbul ignore next */ []));
666
- suffixAddons = computed(() => this.visibleAddons().filter((a) => a.slot === 'suffix'), ...(ngDevMode ? [{ debugName: "suffixAddons" }] : /* istanbul ignore next */ []));
696
+ }, /* @ts-ignore */
697
+ ...(ngDevMode ? [{ debugName: "visibleAddons" }] : /* istanbul ignore next */ []));
698
+ hasAddons = computed(() => this.visibleAddons().length > 0, /* @ts-ignore */
699
+ ...(ngDevMode ? [{ debugName: "hasAddons" }] : /* istanbul ignore next */ []));
700
+ prefixAddons = computed(() => this.visibleAddons().filter((a) => a.slot === 'prefix'), /* @ts-ignore */
701
+ ...(ngDevMode ? [{ debugName: "prefixAddons" }] : /* istanbul ignore next */ []));
702
+ suffixAddons = computed(() => this.visibleAddons().filter((a) => a.slot === 'suffix'), /* @ts-ignore */
703
+ ...(ngDevMode ? [{ debugName: "suffixAddons" }] : /* istanbul ignore next */ []));
667
704
  addonsBySlot = computed(() => {
668
705
  const map = new Map();
669
706
  for (const a of this.visibleAddons()) {
@@ -672,7 +709,8 @@ class NgForgeAddonsBase {
672
709
  map.set(a.slot, bucket);
673
710
  }
674
711
  return map;
675
- }, ...(ngDevMode ? [{ debugName: "addonsBySlot" }] : /* istanbul ignore next */ []));
712
+ }, /* @ts-ignore */
713
+ ...(ngDevMode ? [{ debugName: "addonsBySlot" }] : /* istanbul ignore next */ []));
676
714
  _hiddenByValue = new WeakMap();
677
715
  constructor() {
678
716
  explicitEffect([this.addons], ([list]) => {
@@ -695,10 +733,10 @@ class NgForgeAddonsBase {
695
733
  this._hiddenSignalCache.set(next);
696
734
  });
697
735
  }
698
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.14", ngImport: i0, type: NgForgeAddonsBase, deps: [], target: i0.ɵɵFactoryTarget.Directive });
699
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.2.14", type: NgForgeAddonsBase, isStandalone: true, inputs: { addons: { classPropertyName: "addons", publicName: "addons", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0 });
736
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.0", ngImport: i0, type: NgForgeAddonsBase, deps: [], target: i0.ɵɵFactoryTarget.Directive });
737
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "22.0.0", type: NgForgeAddonsBase, isStandalone: true, inputs: { addons: { classPropertyName: "addons", publicName: "addons", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0 });
700
738
  }
701
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImport: i0, type: NgForgeAddonsBase, decorators: [{
739
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.0", ngImport: i0, type: NgForgeAddonsBase, decorators: [{
702
740
  type: Directive,
703
741
  args: [{}]
704
742
  }], ctorParameters: () => [], propDecorators: { addons: [{ type: i0.Input, args: [{ isSignal: true, alias: "addons", required: false }] }] } });
@@ -706,10 +744,10 @@ const NG_FORGE_ADDONS_INPUTS = ['addons'];
706
744
  const _NG_FORGE_ADDONS_INPUTS_LOCKSTEP = true;
707
745
  void _NG_FORGE_ADDONS_INPUTS_LOCKSTEP;
708
746
  class NgForgeAddons {
709
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.14", ngImport: i0, type: NgForgeAddons, deps: [], target: i0.ɵɵFactoryTarget.Directive });
710
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.14", type: NgForgeAddons, isStandalone: true, hostDirectives: [{ directive: NgForgeAddonsBase, inputs: ["addons", "addons"] }], ngImport: i0 });
747
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.0", ngImport: i0, type: NgForgeAddons, deps: [], target: i0.ɵɵFactoryTarget.Directive });
748
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.0.0", type: NgForgeAddons, isStandalone: true, hostDirectives: [{ directive: NgForgeAddonsBase, inputs: ["addons", "addons"] }], ngImport: i0 });
711
749
  }
712
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImport: i0, type: NgForgeAddons, decorators: [{
750
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.0", ngImport: i0, type: NgForgeAddons, decorators: [{
713
751
  type: Directive,
714
752
  args: [{
715
753
  hostDirectives: [{ directive: NgForgeAddonsBase, inputs: [...NG_FORGE_ADDONS_INPUTS] }],
@@ -726,14 +764,20 @@ class NgForgeAddonActionBase {
726
764
  presetHandler = inject(ADDON_PRESET_HANDLER, { optional: true });
727
765
  logger = inject(DynamicFormLogger);
728
766
  hostInjector = inject(Injector);
729
- addon = input.required(...(ngDevMode ? [{ debugName: "addon" }] : /* istanbul ignore next */ []));
730
- fieldInputs = input(undefined, ...(ngDevMode ? [{ debugName: "fieldInputs" }] : /* istanbul ignore next */ []));
767
+ addon = input.required(/* @ts-ignore */
768
+ ...(ngDevMode ? [{ debugName: "addon" }] : /* istanbul ignore next */ []));
769
+ fieldInputs = input(undefined, /* @ts-ignore */
770
+ ...(ngDevMode ? [{ debugName: "fieldInputs" }] : /* istanbul ignore next */ []));
731
771
  _disabledByValue = new WeakMap();
732
772
  _loadingByValue = new WeakMap();
733
- _resolvedDisabled = signal(undefined, ...(ngDevMode ? [{ debugName: "_resolvedDisabled" }] : /* istanbul ignore next */ []));
734
- _resolvedLoading = signal(undefined, ...(ngDevMode ? [{ debugName: "_resolvedLoading" }] : /* istanbul ignore next */ []));
735
- disabled = computed(() => this._resolvedDisabled()?.() ?? false, ...(ngDevMode ? [{ debugName: "disabled" }] : /* istanbul ignore next */ []));
736
- loading = computed(() => this._resolvedLoading()?.() ?? false, ...(ngDevMode ? [{ debugName: "loading" }] : /* istanbul ignore next */ []));
773
+ _resolvedDisabled = signal(undefined, /* @ts-ignore */
774
+ ...(ngDevMode ? [{ debugName: "_resolvedDisabled" }] : /* istanbul ignore next */ []));
775
+ _resolvedLoading = signal(undefined, /* @ts-ignore */
776
+ ...(ngDevMode ? [{ debugName: "_resolvedLoading" }] : /* istanbul ignore next */ []));
777
+ disabled = computed(() => this._resolvedDisabled()?.() ?? false, /* @ts-ignore */
778
+ ...(ngDevMode ? [{ debugName: "disabled" }] : /* istanbul ignore next */ []));
779
+ loading = computed(() => this._resolvedLoading()?.() ?? false, /* @ts-ignore */
780
+ ...(ngDevMode ? [{ debugName: "loading" }] : /* istanbul ignore next */ []));
737
781
  constructor() {
738
782
  explicitEffect([this.addon], ([addon]) => {
739
783
  this._resolvedDisabled.set(this._resolveAxis(addon.disabled, this._disabledByValue));
@@ -803,10 +847,10 @@ class NgForgeAddonActionBase {
803
847
  value: undefined,
804
848
  };
805
849
  }
806
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.14", ngImport: i0, type: NgForgeAddonActionBase, deps: [], target: i0.ɵɵFactoryTarget.Directive });
807
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.2.14", type: NgForgeAddonActionBase, isStandalone: true, inputs: { addon: { classPropertyName: "addon", publicName: "addon", isSignal: true, isRequired: true, transformFunction: null }, fieldInputs: { classPropertyName: "fieldInputs", publicName: "fieldInputs", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0 });
850
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.0", ngImport: i0, type: NgForgeAddonActionBase, deps: [], target: i0.ɵɵFactoryTarget.Directive });
851
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "22.0.0", type: NgForgeAddonActionBase, isStandalone: true, inputs: { addon: { classPropertyName: "addon", publicName: "addon", isSignal: true, isRequired: true, transformFunction: null }, fieldInputs: { classPropertyName: "fieldInputs", publicName: "fieldInputs", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0 });
808
852
  }
809
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImport: i0, type: NgForgeAddonActionBase, decorators: [{
853
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.0", ngImport: i0, type: NgForgeAddonActionBase, decorators: [{
810
854
  type: Directive,
811
855
  args: [{}]
812
856
  }], ctorParameters: () => [], propDecorators: { addon: [{ type: i0.Input, args: [{ isSignal: true, alias: "addon", required: true }] }], fieldInputs: [{ type: i0.Input, args: [{ isSignal: true, alias: "fieldInputs", required: false }] }] } });
@@ -814,10 +858,10 @@ const NG_FORGE_ADDON_ACTION_INPUTS = ['addon', 'fieldInputs'];
814
858
  const _NG_FORGE_ADDON_ACTION_INPUTS_LOCKSTEP = true;
815
859
  void _NG_FORGE_ADDON_ACTION_INPUTS_LOCKSTEP;
816
860
  class NgForgeAddonAction {
817
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.14", ngImport: i0, type: NgForgeAddonAction, deps: [], target: i0.ɵɵFactoryTarget.Directive });
818
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.14", type: NgForgeAddonAction, isStandalone: true, hostDirectives: [{ directive: NgForgeAddonActionBase, inputs: ["addon", "addon", "fieldInputs", "fieldInputs"] }], ngImport: i0 });
861
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.0", ngImport: i0, type: NgForgeAddonAction, deps: [], target: i0.ɵɵFactoryTarget.Directive });
862
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.0.0", type: NgForgeAddonAction, isStandalone: true, hostDirectives: [{ directive: NgForgeAddonActionBase, inputs: ["addon", "addon", "fieldInputs", "fieldInputs"] }], ngImport: i0 });
819
863
  }
820
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImport: i0, type: NgForgeAddonAction, decorators: [{
864
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.0", ngImport: i0, type: NgForgeAddonAction, decorators: [{
821
865
  type: Directive,
822
866
  args: [{
823
867
  hostDirectives: [{ directive: NgForgeAddonActionBase, inputs: [...NG_FORGE_ADDON_ACTION_INPUTS] }],
@@ -834,10 +878,10 @@ class NgForgeControl {
834
878
  setupMarkerAttrTracking(inject(ElementRef), parent, () => this.target());
835
879
  parent.markClaimed();
836
880
  }
837
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.14", ngImport: i0, type: NgForgeControl, deps: [], target: i0.ɵɵFactoryTarget.Directive });
838
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.2.14", type: NgForgeControl, isStandalone: true, selector: "[ngForgeControl]", inputs: { target: { classPropertyName: "target", publicName: "ngForgeControl", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0 });
881
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.0", ngImport: i0, type: NgForgeControl, deps: [], target: i0.ɵɵFactoryTarget.Directive });
882
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "22.0.0", type: NgForgeControl, isStandalone: true, selector: "[ngForgeControl]", inputs: { target: { classPropertyName: "target", publicName: "ngForgeControl", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0 });
839
883
  }
840
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImport: i0, type: NgForgeControl, decorators: [{
884
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.0", ngImport: i0, type: NgForgeControl, decorators: [{
841
885
  type: Directive,
842
886
  args: [{ selector: '[ngForgeControl]' }]
843
887
  }], ctorParameters: () => [], propDecorators: { target: [{ type: i0.Input, args: [{ isSignal: true, alias: "ngForgeControl", required: false }] }] } });
@@ -847,19 +891,19 @@ class NgForgeHostControl {
847
891
  setupMarkerAttrTracking(inject(ElementRef), parent, () => undefined);
848
892
  parent.markClaimed();
849
893
  }
850
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.14", ngImport: i0, type: NgForgeHostControl, deps: [], target: i0.ɵɵFactoryTarget.Directive });
851
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.14", type: NgForgeHostControl, isStandalone: true, ngImport: i0 });
894
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.0", ngImport: i0, type: NgForgeHostControl, deps: [], target: i0.ɵɵFactoryTarget.Directive });
895
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.0.0", type: NgForgeHostControl, isStandalone: true, ngImport: i0 });
852
896
  }
853
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImport: i0, type: NgForgeHostControl, decorators: [{
897
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.0", ngImport: i0, type: NgForgeHostControl, decorators: [{
854
898
  type: Directive,
855
899
  args: [{}]
856
900
  }], ctorParameters: () => [] });
857
901
 
858
902
  class NgForgeFieldHost {
859
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.14", ngImport: i0, type: NgForgeFieldHost, deps: [], target: i0.ɵɵFactoryTarget.Directive });
860
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.14", type: NgForgeFieldHost, isStandalone: true, hostDirectives: [{ directive: NgForgeFieldShell, inputs: ["key", "key", "className", "className"] }, { directive: NgForgeField, inputs: ["field", "field", "label", "label", "placeholder", "placeholder", "tabIndex", "tabIndex", "props", "props", "meta", "meta", "validationMessages", "validationMessages"] }], ngImport: i0 });
903
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.0", ngImport: i0, type: NgForgeFieldHost, deps: [], target: i0.ɵɵFactoryTarget.Directive });
904
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.0.0", type: NgForgeFieldHost, isStandalone: true, hostDirectives: [{ directive: NgForgeFieldShell, inputs: ["key", "key", "className", "className"] }, { directive: NgForgeField, inputs: ["field", "field", "label", "label", "placeholder", "placeholder", "tabIndex", "tabIndex", "props", "props", "meta", "meta", "validationMessages", "validationMessages"] }], ngImport: i0 });
861
905
  }
862
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImport: i0, type: NgForgeFieldHost, decorators: [{
906
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.0", ngImport: i0, type: NgForgeFieldHost, decorators: [{
863
907
  type: Directive,
864
908
  args: [{
865
909
  hostDirectives: [
@@ -869,10 +913,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImpo
869
913
  }]
870
914
  }] });
871
915
  class NgForgeActionHost {
872
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.14", ngImport: i0, type: NgForgeActionHost, deps: [], target: i0.ɵɵFactoryTarget.Directive });
873
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.14", type: NgForgeActionHost, isStandalone: true, hostDirectives: [{ directive: NgForgeFieldShell, inputs: ["key", "key", "className", "className"] }, { directive: NgForgeAction, inputs: ["label", "label", "disabled", "disabled", "hidden", "hidden", "tabIndex", "tabIndex", "event", "event", "eventArgs", "eventArgs", "eventContext", "eventContext", "props", "props"] }], ngImport: i0 });
916
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.0", ngImport: i0, type: NgForgeActionHost, deps: [], target: i0.ɵɵFactoryTarget.Directive });
917
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.0.0", type: NgForgeActionHost, isStandalone: true, hostDirectives: [{ directive: NgForgeFieldShell, inputs: ["key", "key", "className", "className"] }, { directive: NgForgeAction, inputs: ["label", "label", "disabled", "disabled", "hidden", "hidden", "tabIndex", "tabIndex", "event", "event", "eventArgs", "eventArgs", "eventContext", "eventContext", "props", "props"] }], ngImport: i0 });
874
918
  }
875
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImport: i0, type: NgForgeActionHost, decorators: [{
919
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.0", ngImport: i0, type: NgForgeActionHost, decorators: [{
876
920
  type: Directive,
877
921
  args: [{
878
922
  hostDirectives: [
@@ -885,7 +929,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImpo
885
929
  function createNgForgeFieldFixture(component, options) {
886
930
  TestBed.configureTestingModule({ imports: [component], providers: [...(options.providers ?? [])] });
887
931
  const key = options.key;
888
- const rootValue = signal({ [key]: options.value }, ...(ngDevMode ? [{ debugName: "rootValue" }] : /* istanbul ignore next */ []));
932
+ const rootValue = signal({ [key]: options.value }, /* @ts-ignore */
933
+ ...(ngDevMode ? [{ debugName: "rootValue" }] : /* istanbul ignore next */ []));
889
934
  const injector = TestBed.inject(EnvironmentInjector);
890
935
  const schemaCallback = options.schema;
891
936
  const root = runInInjectionContext(injector, () => {