Text Input
Single line text input with pattern validation and length constraints.
Hidden Fields: Set hidden: true to hide the field from display while including its value in form data. Hidden fields use their default value and are not rendered in the form.
Available Properties
- type: "text" (required)
- key: Field identifier (required)
- label: Display label for the field
- placeholder: Placeholder text
- required: Whether field is required (boolean)
- minLength: Minimum character length (number)
- maxLength: Maximum character length (number)
- pattern: Regular expression for validation
- default: Default value
- description: Field description (shows in tooltip)
- hint: Additional hint text (shows in tooltip)
- actions: Array of action buttons for readonly mode
- hidden: Hide field from form display but include in data (boolean)
Textarea
Multi-line text input with configurable row height.
Available Properties
- type: "textarea" (required)
- key: Field identifier (required)
- label: Display label for the field
- placeholder: Placeholder text
- rows: Number of visible rows (default: 4)
- required: Whether field is required (boolean)
- minLength: Minimum character length (number)
- maxLength: Maximum character length (number)
- default: Default value
- description: Field description (shows in tooltip)
- hint: Additional hint text (shows in tooltip)
- actions: Array of action buttons for readonly mode
- hidden: Hide field from form display but include in data (boolean)
Number Input
Numeric input with min/max/step validation.
Available Properties
- type: "number" (required)
- key: Field identifier (required)
- label: Display label for the field
- placeholder: Placeholder text
- required: Whether field is required (boolean)
- min: Minimum value (number)
- max: Maximum value (number)
- step: Step increment for input controls
- default: Default value
- description: Field description (shows in tooltip)
- hint: Additional hint text (shows in tooltip)
- actions: Array of action buttons for readonly mode
- hidden: Hide field from form display but include in data (boolean)
Select Dropdown
Dropdown selection with predefined options.
Available Properties
- type: "select" (required)
- key: Field identifier (required)
- label: Display label for the field
- required: Whether field is required (boolean)
- options: Array of {value, label} option objects (required)
- default: Default selected value (must match an option value)
- description: Field description (shows in tooltip)
- hint: Additional hint text (shows in tooltip)
- actions: Array of action buttons for readonly mode
- hidden: Hide field from form display but include in data (boolean)
File Upload
File upload with preview, drag-and-drop, and file type restrictions. Supports both single and multiple files.
Multiple Files: Set multiple: true to allow multiple file selection. Use min and max properties to control file count limits.
Available Properties
- type: "file" (required)
- key: Field identifier (required)
- label: Display label for the field
- required: Whether field is required (boolean)
- accept: Object with file restrictions
- accept.extensions: Array of allowed file extensions
- accept.maxSize: Maximum file size in bytes
- multiple: Allow multiple file selection (boolean)
- minCount: Minimum number of files (when multiple is true)
- maxCount: Maximum number of files (when multiple is true)
- default: Default file resource ID or array for multiple
- description: Field description (shows in tooltip)
- hint: Additional hint text (shows in tooltip)
- actions: Array of action buttons for readonly mode
- hidden: Hide field from form display but include in data (boolean)
Multiple Files (Legacy)
Multiple file uploads with grid preview, count limits, and drag-and-drop.
⚠️ Deprecated: The files type is deprecated. Use file with multiple: true instead for consistent API design.
Available Properties
- type: "files" (required)
- key: Field identifier (required)
- label: Display label for the field
- required: Whether field is required (boolean)
- min: Minimum number of files (number)
- max: Maximum number of files (number)
- accept: Object with file restrictions
- accept.extensions: Array of allowed file extensions
- accept.maxSize: Maximum file size in bytes
- default: Array of default file resource IDs
- description: Field description (shows in tooltip)
- hint: Additional hint text (shows in tooltip)
- actions: Array of action buttons for readonly mode
- hidden: Hide field from form display but include in data (boolean)
Container
Nested object container with support for both single objects and repeatable arrays.
Multiple Containers: Set multiple: true to create repeatable container arrays. Use minCount and maxCount to control item limits.
Available Properties
- type: "container" (required)
- key: Field identifier (required)
- label: Display label for the container
- elements: Array of nested form elements (required)
- multiple: Make container repeatable (boolean)
- minCount: Minimum number of container instances (when multiple is true)
- maxCount: Maximum number of container instances (when multiple is true)
- description: Container description (shows in tooltip)
- hint: Additional hint text (shows in tooltip)
- actions: Array of action buttons for readonly mode
- hidden: Hide field from form display but include in data (boolean)
Group Container (Legacy)
Nested object container with optional repeatable arrays (min/max items).
⚠️ Deprecated: The group type is deprecated. Use container with multiple: true instead. Groups use repeat: {min, max} syntax which is being replaced by minCount and maxCount properties.
Available Properties
- type: "group" (required)
- key: Field identifier (required)
- label: Display label for the group
- elements: Array of nested form elements (required)
- repeat: Object to make group repeatable
- repeat.min: Minimum number of group instances
- repeat.max: Maximum number of group instances
- description: Group description (shows in tooltip)
- hint: Additional hint text (shows in tooltip)
- actions: Array of action buttons for readonly mode
- hidden: Hide field from form display but include in data (boolean)