# `Macaw.Component.Client`
[🔗](https://github.com/dcoai/macaw_component/blob/v0.1.3/lib/macaw/component/client.ex#L1)

The fixed names of the client protocols every adopter shares (spec/02 §8): the
announcer's two regions, the announce event, and the client bus. Each is found, not
created per component, so components share one announcer and one bus on any page.

# `announce_event`

```elixir
@spec announce_event() :: String.t()
```

The DOM event a hook dispatches to request an announcement.

# `announcer_ids`

```elixir
@spec announcer_ids() :: %{polite: String.t(), assertive: String.t()}
```

The announcer's region ids.

# `bus_name`

```elixir
@spec bus_name() :: String.t()
```

The property of `window` the client bus lives under.

---

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