# `MingaEditor.Shell.Traditional.InputState`
[🔗](https://github.com/jsmestad/minga/blob/main/lib/minga_editor/shell/traditional/input_state.ex#L1)

Pure aggregate for Traditional renderer-authored hit regions and TUI leader input.

# `t`

```elixir
@type t() :: %MingaEditor.Shell.Traditional.InputState{
  click_regions: MingaEditor.Shell.Traditional.ClickRegions.t(),
  space_leader: MingaEditor.Shell.Traditional.SpaceLeader.t()
}
```

# `begin_space_leader`

```elixir
@spec begin_space_leader(t()) ::
  {MingaEditor.Shell.Traditional.SpaceLeader.generation(), t()}
```

Begins a new space-leader timeout generation.

# `click_regions`

```elixir
@spec click_regions(t()) :: MingaEditor.Shell.Traditional.ClickRegions.t()
```

Returns the renderer-authored click-region value.

# `expire_space_leader`

```elixir
@spec expire_space_leader(t(), MingaEditor.Shell.Traditional.SpaceLeader.generation()) ::
  {:expired | :stale, t()}
```

Expires only a matching space-leader generation.

# `install_click_regions`

```elixir
@spec install_click_regions(t(), MingaEditor.Shell.Traditional.ClickRegions.t()) ::
  t()
```

Installs one already-correlated click-region value.

# `install_click_regions`

```elixir
@spec install_click_regions(
  t(),
  [MingaEditor.Shell.Traditional.Modeline.click_region()],
  [
    MingaEditor.Shell.Traditional.ClickRegions.tab_bar_region()
  ]
) :: t()
```

Installs click regions from one correlated render.

# `install_space_leader_timer`

```elixir
@spec install_space_leader_timer(
  t(),
  MingaEditor.Shell.Traditional.SpaceLeader.generation(),
  reference()
) :: t()
```

Records the current space-leader timer handle.

# `modeline_command_at`

```elixir
@spec modeline_command_at(t(), non_neg_integer()) :: atom() | nil
```

Returns the modeline command under a rendered column.

# `reset_click_regions`

```elixir
@spec reset_click_regions(t()) :: t()
```

Resets renderer-authored hit regions.

# `reset_space_leader`

```elixir
@spec reset_space_leader(t()) :: t()
```

Resets the current space-leader window.

# `space_leader_pending?`

```elixir
@spec space_leader_pending?(t()) :: boolean()
```

Returns whether a space-leader window is pending.

# `space_leader_timer`

```elixir
@spec space_leader_timer(t()) :: reference() | nil
```

Returns the current space-leader timer handle.

# `tab_bar_command_at`

```elixir
@spec tab_bar_command_at(t(), non_neg_integer(), non_neg_integer()) ::
  MingaEditor.Shell.Traditional.ClickRegions.tab_bar_command() | nil
```

Returns the tab-bar command under a rendered cell.

---

*Consult [api-reference.md](api-reference.md) for complete listing*
