# Erabi v0.1.0 - API Reference

## Modules

- Pickers
  - [Erabi](Erabi.md): Pickers for Phoenix LiveView: `select`, `multi_select`, `combobox`,
`tags`, `person_picker` and `color_picker`, in `Erabi.Components`.
  - [Erabi.Components](Erabi.Components.md): The pickers: `select/1`, `multi_select/1`, `combobox/1`, `tags/1`,
`person_picker/1`, `color_picker/1`, `emoji_picker/1` and
`icon_picker/1`.
  - [Erabi.Emoji](Erabi.Emoji.md): The emoji of the emoji picker (`Erabi.Components.emoji_picker/1`), on
the server: their names in a language, a search by name, and a check
that a value is an emoji, for a changeset or an agent's tool.
  - [Erabi.Live](Erabi.Live.md): The server side of the pickers in a LiveView: the searches of the
pickers with `search`, and the events that change a picker from the
server.
  - [Erabi.Messages](Erabi.Messages.md): The words of the pickers: placeholders, button labels, announcements
for screen readers and the messages of a refused choice.
  - [Erabi.Option](Erabi.Option.md): An option of a picker: its value, and how it shows.

- Rules
  - [Erabi.Changeset](Erabi.Changeset.md): The rules of a picker (`Erabi.Rules`), checked on the server, in an
`Ecto.Changeset`.
  - [Erabi.Match](Erabi.Match.md): How a picker matches and ranks options as a person types, in Elixir.
  - [Erabi.Rules](Erabi.Rules.md): What a picker accepts: the same rules in the browser, as people choose,
and on the server, in `Erabi.Changeset`.

- With Issho
  - [Erabi.Issho](Erabi.Issho.md): People and agents seen choosing, with
[Issho](https://hex.pm/packages/issho): a picker shows who has it
open and the option they are on, and an agent that changes a value
goes to the picker, opens it, and moves to the option before the
value lands, for the people who watch.

- Testing
  - [Erabi.Test](Erabi.Test.md): Helpers for `Phoenix.LiveViewTest`, to choose and search in tests with
no browser.

## Mix Tasks

- [mix erabi.build](Mix.Tasks.Erabi.Build.md): Builds the Erabi pickers into `priv/static`.
- [mix erabi.install](Mix.Tasks.Erabi.Install.md): Sets up Erabi in a Phoenix application.
- [mix erabi.release_check](Mix.Tasks.Erabi.ReleaseCheck.md): Checks the built files before a release of Erabi.

