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

Pure owner of renderer-installed Traditional click regions.

Both region sets come from one correlated render receipt and are installed or
reset together, preventing mouse hit testing from combining different frames.

# `t`

```elixir
@type t() :: %MingaEditor.Shell.Traditional.ClickRegions{
  modeline: [MingaEditor.Shell.Traditional.Modeline.click_region()],
  tab_bar: [tab_bar_region()]
}
```

# `tab_bar_command`

```elixir
@type tab_bar_command() ::
  atom() | {:workspace_goto, non_neg_integer()} | {:tab_goto_id, pos_integer()}
```

# `tab_bar_region`

```elixir
@type tab_bar_region() ::
  {col_start :: non_neg_integer(), col_end :: non_neg_integer(),
   command :: tab_bar_command()}
  | {row :: non_neg_integer(), col_start :: non_neg_integer(),
     col_end :: non_neg_integer(), command :: tab_bar_command()}
```

# `install`

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

Installs both region sets from one render observation.

# `modeline_command_at`

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

Returns the modeline command under a rendered column.

# `reset`

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

Clears all regions when their render identity is no longer active.

# `tab_bar_command_at`

```elixir
@spec tab_bar_command_at(t(), non_neg_integer(), non_neg_integer()) ::
  tab_bar_command() | nil
```

Returns the tab-bar command under a rendered cell.

---

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