> ## Documentation Index
> Fetch the complete documentation index at: https://docs.yampi.com.br/llms.txt
> Use this file to discover all available pages before exploring further.

# CustomSelect

> Select estilizado com suporte a ícone de prefixo e estado de erro.

Wrapper para `<select>` nativo com estilo customizado, suporte a ícone de prefixo e indicação visual de erro.

## Uso

```vue theme={"system"}
<CustomSelect v-model="selectedOption" :error="hasError">
  <option value="">Selecione</option>
  <option value="1">Opção 1</option>
  <option value="2">Opção 2</option>
</CustomSelect>
```

Com ícone:

```vue theme={"system"}
<CustomSelect :icon-url="iconUrl" v-model="selected">
  <option value="br">Brasil</option>
</CustomSelect>
```

## Propriedades

| Propriedade |        Tipo        | Obrigatória | Valor padrão | Descrição                                              |
| :---------- | :----------------: | :---------: | :----------: | :----------------------------------------------------- |
| `value`     | `String \| Number` |      ❌      |     `''`     | Valor selecionado atualmente (use com `v-model`).      |
| `iconUrl`   |      `String`      |      ❌      |    `null`    | URL de um ícone exibido como prefixo dentro do select. |
| `error`     |      `Boolean`     |      ❌      |    `false`   | Quando `true`, aplica estilo de erro ao componente.    |

## Eventos

| Evento   | Payload          | Descrição                                      |
| :------- | :--------------- | :--------------------------------------------- |
| `change` | `String\|Number` | Emitido com o novo valor ao alterar a seleção. |

## Slots

| Slot    | Descrição                                      |
| :------ | :--------------------------------------------- |
| default | Elementos `<option>` e `<optgroup>` do select. |
