---
title: input
description: A single-line text field with an optional label and placeholder — the default way to collect a short string.
status: shipped
url: https://getairframe.com/framewerk/reference/nodes/input
---

> Part of the Framewerk docs. Index of every page: /framewerk/llms.txt

# `input`

A single-line text field with an optional label and placeholder — the default way to collect a short string.

## Example

**input**

```json
{
  "id": "f",
  "layout": {
    "_id": "root",
    "type": "column",
    "gap": 12,
    "padding": 16,
    "children": [
      {
        "_id": "e",
        "type": "input",
        "label": "Email",
        "placeholder": "you@example.com"
      },
      {
        "_id": "p",
        "type": "input",
        "label": "Password",
        "secure": true,
        "placeholder": "••••"
      }
    ]
  }
}
```

## States

Focus / hover via CSS bags; `secure` for password fields. Common to every node: `hover` / `press` / `focus` CSS bags, `showWhen` / `hideWhen`, `animate`.

## Stability

This node type is part of the format contract: adding an optional prop is additive; removing the node or narrowing an existing prop is breaking. Prop tables are generated from the schema; this page carries the prose.
