API Reference

Browse the public API surface of ng-forge packages

Package
Type

Core @ng-forge/dynamic-forms

Interfaces 63

InterfaceAddonTypeDefinition

Per-type registration metadata.

InterfaceArrayButtonConfig

Configuration for auto-generated add/remove buttons in simplified array fields.

InterfaceArrayField

Array field interface for creating dynamic field collections that map to array values.

InterfaceArrayItemContext

Context object for array item operations (add/remove) Provides the necessary information to resolve tokens in array item...

InterfaceAsyncCustomValidator

Async custom validator configuration using Angular's resource-based API

InterfaceBaseAddon

Base shape every addon type extends.

InterfaceBaseCheckedField
InterfaceBaseValidatorConfig

Base configuration shared by all validators

InterfaceBaseValueField
InterfaceBuiltInValidatorConfig

Built-in validator configuration (required, email, min, max, etc.)

InterfaceComponentAddon

Renders an arbitrary Angular component as the addon body. @codeOnly The `component` loader is a function and cannot sur...

InterfaceContainerField

Container field interface for wrapping child fields with UI chrome.

InterfaceCssWrapper

Configuration for the built-in 'css' wrapper type.

InterfaceCustomFnConfig

Signal forms adapter configuration for advanced form behavior.

InterfaceCustomValidatorConfig

Custom validator configuration using Angular's public FieldContext API. Returns ValidationError | ValidationError[] | nu...

InterfaceDeclarativeHttpValidatorConfig

Declarative HTTP validator configuration — fully JSON-serializable, no function registration required.

InterfaceDynamicFormActionRegistry

Module-augmentable registry of user-defined named action handlers.

InterfaceDynamicFormAddonActionPresetRegistry

Module-augmentable registry of adapter-specific preset names.

InterfaceDynamicFormAddonRegistry

Module-augmentable registry of addon types.

InterfaceDynamicFormAddonSlotRegistry

Module-augmentable registry of adapter-specific addon slot names.

InterfaceDynamicFormFieldRegistry

Global interface for dynamic form field definitions with categorization This interface combines containers and leaves fr...

InterfaceEvaluationContext
InterfaceFieldBoundAddonActionContext

Field-bound variant — the addon is attached to a real field and has a working value-writer. The common case for `pi-butt...

InterfaceFieldDef

Base interface for all dynamic form field definitions.

InterfaceFieldMeta

Base interface for native HTML attributes that can be passed to form field elements.

InterfaceFieldOption
InterfaceFieldRegistryContainers

Container fields registry - augment this interface to add custom container fields

InterfaceFieldRegistryLeaves

Leaf fields registry - augment this interface to add custom leaf fields

InterfaceFieldRegistryWrappers

Wrapper type registry for module augmentation.

InterfaceFieldWithValidation
InterfaceFieldWrapper

Contract that wrapper components must satisfy. @Component({ template: ` <dbx-section [header]="header() ?? ''"> ...

InterfaceFormConfig

Configuration interface for defining dynamic form structure and behavior.

InterfaceFormEvent

Base interface for all form events in the dynamic form system.

InterfaceFormModeDetectionResult

Result of form mode detection with validation details

InterfaceFormOptions

Global form configuration options.

InterfaceGroupField

Group field interface for creating logical field groupings that map to object values Groups create nested form structure...

InterfaceHiddenField

Hidden field definition for storing values without rendering UI.

InterfaceHttpCondition

Condition that evaluates based on an HTTP response from a remote server.

InterfaceHttpCustomValidator

HTTP-based validator configuration for Angular's validateHttp API

InterfaceHttpRequestConfig

Configuration for an HTTP request used by declarative HTTP validators, derivations, and conditions.

InterfaceHttpValidationResponseMapping

Mapping configuration for interpreting HTTP responses as validation results.

InterfaceLogger

Interface for dynamic forms logger implementations. Allows custom logging integrations (Sentry, DataDog, etc.)

InterfaceNextButtonOptions

Options for controlling next page button disabled behavior.

InterfaceOrphanAddonActionContext

Orphan variant — the addon is rendered outside any field component (rare; happens when consumers compose `<df-addon-slot...

InterfacePageField

Page field interface for creating top-level page layouts This is a special field type that contains other field definiti...

InterfaceRowField

Row field interface for creating horizontal layouts. A row is a synthetic field type that resolves to a Container at run...

InterfaceSanitizedFormConfig

Result of a `sanitizeFormConfig` call.

InterfaceSanitizeFormConfigOptions

Options accepted by {@link sanitizeFormConfig}.

InterfaceSchemaApplicationConfig

Configuration for applying predefined schemas

InterfaceSchemaDefinition

Reusable schema definition that can be referenced by name

InterfaceSimplifiedArrayField

Simplified array field interface for common use cases.

InterfaceSubmissionConfig

Configuration for form submission handling.

InterfaceSubmitButtonOptions

Options for controlling submit button disabled behavior.

InterfaceTemplateAddon

Renders a named `<ng-template>` projected into the host `<df-dynamic-form>`.

InterfaceTextAddon

Renders text content inline.

InterfaceTextField

Text field definition for displaying translatable text content

InterfaceTokenContext

Context for token resolution in event args

InterfaceValidationExecutionConfig

Configuration for when validation runs based on a field's reactive state.

InterfaceValidationMessages
InterfaceValueExclusionConfig

Configuration for excluding field values from form submission output based on their reactive state (hidden, disabled, re...

InterfaceWrapperRegistration

User-facing wrapper registration shape used with `createWrappers(...)`.

InterfaceWrappersBundle

Branded bundle returned by `createWrappers(...)`.

InterfaceWrapperTypeDefinition

Configuration interface for registering wrapper types.

Types 57

TypeAddonActionContext

Context handed to inline addon actions and registered handler functions.

TypeAddonActionPreset

Union of every preset name an addon may reference — universal presets plus any contributed via {@link DynamicFormAddonAc...

TypeAddonActionsFeature

Typed feature returned by {@link withAddonActions}. Carries the registered handler keys as a phantom type so consumers c...

TypeAddonSlot

Union of every valid addon slot — universal slots plus any registered via {@link DynamicFormAddonSlotRegistry} module au...

TypeAddonWarning

Reason an addon was dropped during validation.

TypeAnyAddon

Union of every registered addon shape.

TypeArrayAllowedChildren

Fields that are allowed as children of Array fields Arrays can contain: rows, groups, and leaf fields (but NOT pages or ...

TypeArrayItemDefinitionTemplate

Template type for array items used in events. Canonical definition lives in {@link ArrayItemDefinition} — this alias pre...

TypeArrayItemTemplate

An array item template is an array of allowed children that defines one OBJECT array item's fields. Used for object arra...

TypeAsyncCondition

Condition that resolves asynchronously via a custom function.

TypeAsyncConditionFunction

Async function for conditions — returns boolean.

TypeAsyncDerivationFunction

Async function for derivations — returns any value.

TypeAsyncValidatorConfig

Async custom validator configuration using Angular's `validateAsync` API. Returns Observable<ValidationError | Validatio...

TypeAvailableFieldTypes

Extract field types that are available in the registry

TypeCheckedFieldComponent
TypeCommonAddonActionPreset

Built-in preset actions shared across adapters.

TypeCommonAddonSlot

Universal addon slot names supported by every adapter.

TypeConditionalExpression

Discriminated union of all conditional expression types.

TypeContainerAllowedChildren

Fields that are allowed as children of Container fields. Containers are pure layout primitives that flatten their childr...

TypeContainerFieldTypes

Union type of all registered container field definitions

TypeCustomFunction

Custom function signature for conditional expressions

TypeCustomValidator

Custom validator function signature using Angular's public FieldContext API

TypeDynamicText
TypeDynamicValue

Generic reactive value — a static value, an Angular Signal, or an RxJS Observable.

TypeExtractField

Extract a specific field type from RegisteredFieldTypes based on the `type` discriminant. This enables proper type narro...

TypeExtractFieldDefs

Extract FieldDef types from provider result

TypeExtractFormValue

Extract form value type from provider result

TypeFieldComponent

Type utility for extracting component input properties from field definitions. @Component({...}) export class MyFieldCo...

TypeFieldPathAccess

Type helper for accessing nested field paths safely This allows accessing child paths while maintaining some type safety

TypeFormEventConstructor

Constructor type for form event classes.

TypeFormMode

Form mode enumeration distinguishing between paged and non-paged forms

TypeFormStateCondition

Special form-state conditions for button disabled logic.

TypeGroupAllowedChildren

Fields that are allowed as children of Group fields Groups can contain: rows, arrays, and leaf fields (but NOT pages or ...

TypeHiddenScalar

Scalar types supported by hidden fields. These are the primitive value types that can be stored.

TypeHiddenValue

All value types supported by hidden fields. Supports both scalar values and arrays of scalars for storing multiple IDs o...

TypeInferFormValue

Infer form value type from fields array or FormConfig. Recursively processes nested structures and merges the results. L...

TypeInferWrapperRegistry

Derive the `FieldRegistryWrappers` augmentation shape from a wrapper bundle.

TypeLeafFieldTypes

Union type of all registered leaf field definitions

TypeLogicConfig

Union type for all logic configurations.

TypeNarrowField

Narrow a field definition based on its `type` property. Use this to get proper type inference when working with field un...

TypeNarrowFields

Narrow each field in an array based on its `type` property. Use with `satisfies` to get proper type inference for field ...

TypePageAllowedChildren

Type constraints for field nesting rules These ensure that container fields can only contain valid child field types Fi...

TypeRegisteredActionRef

Typed string handle to a registered action handler. The empty registry resolves to `never`; augmenting `DynamicFormActio...

TypeRegisteredFieldTypes

Union type of all registered field definitions

TypeResolvedValidationExecutionConfig

Fully resolved validation execution config — every property defined.

TypeResolvedValueExclusionConfig

Fully resolved exclusion config with all properties required. Produced by the 3-tier resolution: `field ?? form ?? globa...

TypeRowAllowedChildren

Row is a synthetic field type that resolves to a Container at runtime, so it accepts the same children as a Container.

TypeStateLogicConfig

Configuration for conditional field state logic.

TypeSubmissionActionResult

The result type for submission actions. Can be either a Promise or an Observable.

TypeTextElementType

Text element type for rendering different HTML text elements

TypeTextProps

Properties for text field configuration

TypeValidationError

Re-export Angular's ValidationError for consistency This replaces our custom ValidationError interface

TypeValidatorConfig

Configuration for signal forms validator functions that can be serialized from API. Discriminated union type for type-sa...

TypeValueFieldComponent
TypeValueType

Supported primitive value types for form fields. This type represents all possible value types that can be used in form ...

TypeWithInputSignals
TypeWrapperConfig

Resolves a wrapper type name to its registered config interface.

Functions 28

FunctionarrayEvent

Builder for array manipulation events.

FunctioncreateWrappers

Bundle wrapper registrations into a single object that can be passed to `provideDynamicForm(...)`.

FunctionhasFormValue

Type guard to check if a form event has a form value attached.

FunctionisArrayField

Type guard for ArrayField with proper type narrowing. Validates that the field is an array type with a fields property t...

FunctionisContainerField

Type guard to check if a field is a container field (page, row, group, or array) Container fields have a 'fields' proper...

FunctionisDisplayOnlyField

Type guard to check if a field is excluded from form values (display-only field) Currently this includes text fields and...

FunctionisFieldBoundContext

Type guard narrowing {@link AddonActionContext} to its field-bound variant.

FunctionisFormStateCondition

Type guard to check if a condition is a FormStateCondition.

FunctionisGroupField

Type guard for GroupField with proper type narrowing

FunctionisHiddenField

Type guard to check if a field is a hidden field.

FunctionisLeafField

Type guard to check if a field is a leaf field (value or display field) Leaf fields don't have children and either contr...

FunctionisPageField

Type guard for PageField with proper type narrowing

FunctionisRowField

Type guard for RowField with proper type narrowing

FunctionisSimplifiedArrayField

Type guard for SimplifiedArrayField. Checks for `type: 'array'` with a `template` property (discriminant from full Array...

FunctionisValueBearingField

Type guard to check if a field has a value property (value-bearing field) These fields contribute to the form value outp...

FunctionisWrappersBundle

Type guard for a `WrappersBundle`.

FunctionisWrapperTypeDefinition

Type guard for WrapperTypeDefinition.

FunctionprovideDynamicForm

Provider function to configure the dynamic form system with field types and options.

FunctionresolveDynamicValue

Normalises a {@link DynamicValue} into a `Signal<T>`.

FunctionsanitizeFormConfig

Walk a `FormConfig`, validate every field's addons against the active `FIELD_REGISTRY` and `ADDON_TYPE_REGISTRY`, and re...

FunctionwithAddonActions

Register named action handlers reachable via JSON-driven addon configs.

FunctionwithCustomAddon

Register a custom addon type with the form.

FunctionwithEventFormValue

Enables automatic form value attachment to all events dispatched through the EventBus.

FunctionwithLegacyStatusClasses

Opt into Angular Signal Forms' legacy `.ng-touched` / `.ng-invalid` / `.ng-dirty` / `.ng-pristine` / `.ng-untouched` / `...

FunctionwithLoggerConfig

Configure logging for dynamic forms.

FunctionwithValidationExecutionDefaults

Configures global validation execution defaults — when validators should run relative to a field's reactive state.

FunctionwithValueExclusionDefaults

Configures global value exclusion defaults for form submission output.

FunctionwrapperProps

Zero-cost type carrier used in wrapper registrations.

Material @ng-forge/dynamic-forms-material

Types 25

TypeMatAddArrayItemButtonField

Add array item button field - dispatches AppendArrayItemEvent

TypeMatAddon

Union of all Material-shipped addon types.

TypeMatButtonAddon

Interactive button addon for Material fields.

TypeMatButtonField
TypeMatCheckboxField
TypeMatDatepickerField
TypeMatFieldType
TypeMatFormConfig

Material-specific FormConfig with type-safe defaultProps.

TypeMatFormProps

Material-specific props that can be set at form level and cascade to all fields.

TypeMatInputAddon

Addon types accepted by `mat-input`.

TypeMatInputField
TypeMatInsertArrayItemButtonField

Insert array item button field - dispatches InsertArrayItemEvent (adds at specific index)

TypeMatMultiCheckboxField
TypeMatNextButtonField

Next page button field - with preconfigured NextPageEvent

TypeMatPopArrayItemButtonField

Pop array item button field - dispatches PopArrayItemEvent (removes last item)

TypeMatPrependArrayItemButtonField

Prepend array item button field - dispatches PrependArrayItemEvent (adds at beginning)

TypeMatPreviousButtonField

Previous page button field - with preconfigured PreviousPageEvent

TypeMatRadioField
TypeMatRemoveArrayItemButtonField

Remove array item button field - dispatches RemoveAtIndexEvent or PopArrayItemEvent

TypeMatSelectField
TypeMatShiftArrayItemButtonField

Shift array item button field - dispatches ShiftArrayItemEvent (removes first item)

TypeMatSliderField
TypeMatSubmitButtonField

Specific button field types with preconfigured events Submit button field - automatically disabled when form is invalid

TypeMatTextareaField
TypeMatToggleField