# org.atsui.Tabs

> Published by [atsui.org](https://lexicon.garden/identity/did:plc:e4fjueijznwqm2yxvt7q4mba)

✓ This is the authoritative definition for this NSID.

## Links

- [View on Lexicon Garden](https://lexicon.garden/lexicon/did:plc:e4fjueijznwqm2yxvt7q4mba/org.atsui.Tabs)
- [Documentation](https://lexicon.garden/lexicon/did:plc:e4fjueijznwqm2yxvt7q4mba/org.atsui.Tabs/docs)
- [Examples](https://lexicon.garden/lexicon/did:plc:e4fjueijznwqm2yxvt7q4mba/org.atsui.Tabs/examples)

## Definitions

### `org.atsui.Tabs#tab`

**Type**: `object`

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `key` | `string` | Yes | Stable key that identifies the tab among its siblings. |
| `label` | `string` | Yes | Display label for the tab. |
| `content` | `ref` → `at.inlay.defs#element` | Yes | Element to render as tab content. |

### `org.atsui.Tabs`

**Type**: `procedure`

Tabbed content with instant client-side switching.

#### Input

**Encoding**: `application/json`

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `items` | `array` | Yes | Tabs to display. |

#### Output

**Encoding**: `application/json`

## Raw Schema

```json
{
  "id": "org.atsui.Tabs",
  "defs": {
    "tab": {
      "type": "object",
      "required": [
        "key",
        "label",
        "content"
      ],
      "properties": {
        "key": {
          "type": "string",
          "maxLength": 64,
          "description": "Stable key that identifies the tab among its siblings."
        },
        "label": {
          "type": "string",
          "maxLength": 128,
          "description": "Display label for the tab."
        },
        "content": {
          "ref": "at.inlay.defs#element",
          "type": "ref",
          "description": "Element to render as tab content."
        }
      }
    },
    "main": {
      "type": "procedure",
      "input": {
        "schema": {
          "type": "object",
          "required": [
            "items"
          ],
          "properties": {
            "items": {
              "type": "array",
              "items": {
                "ref": "#tab",
                "type": "ref"
              },
              "description": "Tabs to display."
            }
          }
        },
        "encoding": "application/json"
      },
      "output": {
        "schema": {
          "ref": "at.inlay.defs#response",
          "type": "ref"
        },
        "encoding": "application/json"
      },
      "description": "Tabbed content with instant client-side switching."
    }
  },
  "$type": "com.atproto.lexicon.schema",
  "lexicon": 1
}
```
