@uplink-protocol/form-controller
Version:
Reactive multi-step form controller with dynamic validation and state management
149 lines (77 loc) • 4.36 kB
Markdown
[**-protocol/form-controller v0.2.6**](../README.md)
***
[-protocol/form-controller](../globals.md) / Field
# Interface: Field
Defined in: [interfaces/field.interface.ts:7](https://github.com/jmkcoder/uplink-protocol-form-controller/blob/b4197b802291c2a362dd28d04ee111d1534495f5/src/interfaces/field.interface.ts#L7)
Field interface for dynamic form fields.
Defines the structure and behavior of individual form fields.
## Properties
### disabled?
> `optional` **disabled**: `boolean`
Defined in: [interfaces/field.interface.ts:37](https://github.com/jmkcoder/uplink-protocol-form-controller/blob/b4197b802291c2a362dd28d04ee111d1534495f5/src/interfaces/field.interface.ts#L37)
Whether the field is disabled/readonly
***
### helperText?
> `optional` **helperText**: `string`
Defined in: [interfaces/field.interface.ts:31](https://github.com/jmkcoder/uplink-protocol-form-controller/blob/b4197b802291c2a362dd28d04ee111d1534495f5/src/interfaces/field.interface.ts#L31)
Helper text to display below the field
Useful for providing additional context or instructions
***
### hidden?
> `optional` **hidden**: `boolean`
Defined in: [interfaces/field.interface.ts:40](https://github.com/jmkcoder/uplink-protocol-form-controller/blob/b4197b802291c2a362dd28d04ee111d1534495f5/src/interfaces/field.interface.ts#L40)
Whether the field should be hidden from view
***
### id
> **id**: `string`
Defined in: [interfaces/field.interface.ts:9](https://github.com/jmkcoder/uplink-protocol-form-controller/blob/b4197b802291c2a362dd28d04ee111d1534495f5/src/interfaces/field.interface.ts#L9)
Unique identifier for the field
***
### label
> **label**: `string`
Defined in: [interfaces/field.interface.ts:19](https://github.com/jmkcoder/uplink-protocol-form-controller/blob/b4197b802291c2a362dd28d04ee111d1534495f5/src/interfaces/field.interface.ts#L19)
Display label for the field
***
### options?
> `optional` **options**: `object`[]
Defined in: [interfaces/field.interface.ts:49](https://github.com/jmkcoder/uplink-protocol-form-controller/blob/b4197b802291c2a362dd28d04ee111d1534495f5/src/interfaces/field.interface.ts#L49)
Options for select, radio, and checkbox fields
Each option has a label, value, and optional disabled state
#### disabled?
> `optional` **disabled**: `boolean`
#### label
> **label**: `string`
#### value
> **value**: `any`
***
### placeholder?
> `optional` **placeholder**: `string`
Defined in: [interfaces/field.interface.ts:25](https://github.com/jmkcoder/uplink-protocol-form-controller/blob/b4197b802291c2a362dd28d04ee111d1534495f5/src/interfaces/field.interface.ts#L25)
Placeholder text for input fields
***
### props?
> `optional` **props**: `Record`\<`string`, `any`\>
Defined in: [interfaces/field.interface.ts:59](https://github.com/jmkcoder/uplink-protocol-form-controller/blob/b4197b802291c2a362dd28d04ee111d1534495f5/src/interfaces/field.interface.ts#L59)
Additional properties for custom fields
Allows extending field capabilities with custom attributes
***
### required?
> `optional` **required**: `boolean`
Defined in: [interfaces/field.interface.ts:34](https://github.com/jmkcoder/uplink-protocol-form-controller/blob/b4197b802291c2a362dd28d04ee111d1534495f5/src/interfaces/field.interface.ts#L34)
Whether the field is required
***
### type
> **type**: `"number"` \| `"text"` \| `"email"` \| `"password"` \| `"tel"` \| `"checkbox"` \| `"radio"` \| `"select"` \| `"textarea"` \| `"date"` \| `"file"` \| `"custom"`
Defined in: [interfaces/field.interface.ts:15](https://github.com/jmkcoder/uplink-protocol-form-controller/blob/b4197b802291c2a362dd28d04ee111d1534495f5/src/interfaces/field.interface.ts#L15)
The type of input field
Controls the UI rendering and validation behavior
***
### validation?
> `optional` **validation**: [`Validation`](Validation.md)
Defined in: [interfaces/field.interface.ts:43](https://github.com/jmkcoder/uplink-protocol-form-controller/blob/b4197b802291c2a362dd28d04ee111d1534495f5/src/interfaces/field.interface.ts#L43)
Validation rules for the field
***
### value?
> `optional` **value**: `any`
Defined in: [interfaces/field.interface.ts:22](https://github.com/jmkcoder/uplink-protocol-form-controller/blob/b4197b802291c2a362dd28d04ee111d1534495f5/src/interfaces/field.interface.ts#L22)
Initial/default value for the field