Skip to content

Interface: BaseFieldDefinition

Makaio Framework


Makaio Framework / contracts/shared / BaseFieldDefinition

Defined in: ../../../packages/contracts/src/shared/ui-config.ts:202

Shared properties for all form field definitions.

This interface provides the seam for extensible form generation. Fields can be generated from JSON Schema, hardcoded registries, or any other source that can produce this structure.

optional defaultValue?: unknown

Defined in: ../../../packages/contracts/src/shared/ui-config.ts:224

Default value for the field.


optional delimiter?: string

Defined in: ../../../packages/contracts/src/shared/ui-config.ts:208

Delimiter for array-type fields (default varies by widget).


optional description?: string

Defined in: ../../../packages/contracts/src/shared/ui-config.ts:218

Help text/description shown below the input, including mapped override help text.


optional disabled?: boolean

Defined in: ../../../packages/contracts/src/shared/ui-config.ts:226

Whether the field is disabled.


key: string

Defined in: ../../../packages/contracts/src/shared/ui-config.ts:204

Unique key for the field (used as form field name).


label: string

Defined in: ../../../packages/contracts/src/shared/ui-config.ts:206

Display label for the field.


optional max?: number

Defined in: ../../../packages/contracts/src/shared/ui-config.ts:212

Maximum numeric value (for numeric fields, including the slider widget).


optional min?: number

Defined in: ../../../packages/contracts/src/shared/ui-config.ts:210

Minimum numeric value (for numeric fields, including the slider widget).


optional options?: object[]

Defined in: ../../../packages/contracts/src/shared/ui-config.ts:222

Options for select-type fields.

label: string

The display label for this option.

value: string

The value to be stored when this option is selected.


optional placeholder?: string

Defined in: ../../../packages/contracts/src/shared/ui-config.ts:216

Placeholder text for text-based inputs.


optional required?: boolean

Defined in: ../../../packages/contracts/src/shared/ui-config.ts:220

Whether the field is required.


optional step?: number

Defined in: ../../../packages/contracts/src/shared/ui-config.ts:214

Step increment for numeric fields, including the slider widget.