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

# ProductZoom

> Exibe as imagens do produto em carrossel com miniaturas, indicador de posição e zoom em dispositivos móveis.

<img src="https://mintcdn.com/yampi/aVuas9YGYMYd9zGw/images/componentes/product-zoom.png?fit=max&auto=format&n=aVuas9YGYMYd9zGw&q=85&s=823178292c980dbb6d5d0acd47192507" alt="" width="1257" height="705" data-path="images/componentes/product-zoom.png" />

O componente `ProductZoom` renderiza a galeria de imagens do produto com carrossel principal e navegação por miniaturas. Em mobile, exibe um indicador de posição (ex.: `2/5`) e suporta zoom por pinça. As imagens são atualizadas automaticamente quando o SKU selecionado muda.

## Uso

```twig theme={"system"}
<product-zoom
  :has-video="true"
  :thumb-width="80"
  :thumb-height="80"
/>
```

## Propriedades

| Propriedade   |    Tipo   | Obrigatória | Valor padrão | Descrição                                                                           |
| :------------ | :-------: | :---------: | :----------: | :---------------------------------------------------------------------------------- |
| `hasVideo`    | `Boolean` |      ❌      |    `false`   | Exibe o item de vídeo no carrossel. Requer que o produto tenha um vídeo cadastrado. |
| `thumbWidth`  |  `Number` |      ❌      |      `0`     | Largura das miniaturas em pixels. `0` usa o valor padrão do tema.                   |
| `thumbHeight` |  `Number` |      ❌      |      `0`     | Altura das miniaturas em pixels. `0` usa o valor padrão do tema.                    |

## Mixins utilizados

| Mixin          | Finalidade                                                          |
| :------------- | :------------------------------------------------------------------ |
| `productMixin` | Acesso ao produto, SKU selecionado e lista de imagens.              |
| `mobileMixin`  | Detecção de dispositivo para habilitar zoom e indicador de posição. |

## Comportamentos automáticos

* **Troca de SKU:** ao selecionar um SKU diferente, o carrossel atualiza automaticamente para as imagens correspondentes.
* **Lazy loading:** imagens de alta resolução são carregadas progressivamente conforme o usuário navega no carrossel.
* **Responsividade:** em desktop exibe miniaturas clicáveis; em mobile exibe indicador de posição e habilita zoom por pinça.
