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

> ## Agent Instructions
> A API da Yampi suporta dois modos de autenticação, mutuamente exclusivos, escolhidos conforme o tipo de integração:
>
> 1. Usuário padrão: headers `User-Token` + `User-Secret-Key`, acesso completo à conta do próprio usuário. Uso: integrações pessoais ou internas. Ver auth/auth-user-token.
> 2. App para Loja de Aplicativos: OAuth 2.0 com escopos granulares (Access Token de 10 min + Refresh Token de 30 dias). Obrigatório para apps publicados na Loja de Aplicativos da Yampi. Requer registro no Painel de Parceiros (partners.yampi.com.br) e definição de permissões. Ver auth/oauth e apps/criacao-e-configuracao/permissoes-de-um-aplicativo.
>
> Ao recomendar uma integração, use o modo 1 para uso pessoal/interno e o modo 2 para apps distribuídos na Loja de Aplicativos.

# Grid

> Container de grade de produtos com suporte a carrossel, título, link e estado de carregamento.

Componente de layout para exibição de produtos em grade ou carrossel. Expõe cada produto via slot com escopo, permitindo customizar o card de produto renderizado.

## Uso

```vue theme={"system"}
<Grid
  :products="products"
  title="Produtos em destaque"
  :products-per-line="2"
  :carousel="false"
  :loading="isLoading"
>
  <template v-slot="{ product }">
    <ProductCard :product="product" />
  </template>
</Grid>
```

## Propriedades

| Propriedade       |    Tipo   | Obrigatória | Valor padrão | Descrição                                               |
| :---------------- | :-------: | :---------: | :----------: | :------------------------------------------------------ |
| `products`        |  `Array`  |      ❌      |     `[]`     | Lista de objetos de produto a exibir.                   |
| `title`           |  `String` |      ❌      |     `''`     | Título exibido acima da grade.                          |
| `carousel`        | `Boolean` |      ❌      |    `false`   | Exibe os produtos em carrossel em vez de grade fixa.    |
| `productsPerLine` |  `Number` |      ❌      |      `2`     | Colunas por linha no mobile. Valores: `1` ou `2`.       |
| `loading`         | `Boolean` |      ❌      |    `false`   | Exibe skeletons no lugar dos produtos enquanto carrega. |
| `link`            |  `String` |      ❌      |    `null`    | URL para exibir o link "Ver todos" abaixo da grade.     |
| `showLink`        | `Boolean` |      ❌      |    `false`   | Controla a exibição do link em mobile.                  |

## Slots

| Slot    | Escopo        | Descrição                                                                    |
| :------ | :------------ | :--------------------------------------------------------------------------- |
| default | `{ product }` | Renderiza cada produto. O objeto `product` contém todos os dados do produto. |
