> ## 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.

# prices

> Busca e expõe preços dinâmicos do produto via API, com suporte a Pix, boleto e preço promocional conforme configuração do tema.

Mixin que consulta a API de preços e disponibiliza os valores formatados para exibição. O tipo de preço destacado (promocional, Pix ou boleto) é lido da configuração do tema (`themeStyle.highlight_type_payment`).

Depende do `productMixin` (ou de uma prop `product` com `id`) para identificar o produto a ser consultado.

## Uso

```js theme={"system"}
import pricesMixin from '@/mixins/prices';
import productMixin from '@/mixins/product';

export default {
    mixins: [productMixin, pricesMixin],
};
```

## Data injetada

| Propriedade           |      Tipo      | Valor padrão | Descrição                                           |
| :-------------------- | :------------: | :----------: | :-------------------------------------------------- |
| `productPrices`       | `Object\|null` |    `null`    | Objeto de preços retornado pela API.                |
| `productPricesParams` | `Object\|null` |    `null`    | Parâmetros usados na última chamada à API.          |
| `loadingPrices`       |    `Boolean`   |    `true`    | Indica se a requisição de preços está em andamento. |

## Computed injetados

| Computed          |    Tipo   | Descrição                                                                                              |
| :---------------- | :-------: | :----------------------------------------------------------------------------------------------------- |
| `selectedPrice`   |  `String` | Preço formatado do método de pagamento destacado, com os centavos em `<span class="fraction-amount">`. |
| `priceText`       |  `String` | Texto complementar ao preço: `'no Pix'`, `'no boleto'` ou `''` para promocional.                       |
| `hasPrice`        | `Boolean` | `true` quando o método de pagamento não-promocional está disponível.                                   |
| `hasPromotion`    | `Boolean` | `true` quando o produto possui preço promocional.                                                      |
| `percentDiscount` |  `Number` | Percentual de desconto do produto (0 se não houver).                                                   |

## Comportamentos automáticos

* No `mounted`, busca os preços do produto atual.
* Refaz a busca automaticamente ao detectar mudança no `product.id` ou `validProduct.id`.
