> For the complete documentation index, see [llms.txt](https://docs.facephi.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.facephi.com/sdks/sdk-web/componentes/sdk-provider/propiedades/qr.md).

# qr

## Detalles

**Atributo:** `qr`

**Tipo:** `boolean`

**Valor por defecto:** `undefined`

## Morfología

```typescript
provider.qr = true;
```

## Descripción

Habilita el flujo de continuación en móvil mediante código QR cuando `facephi-sdk-provider` se usa en desktop. Al activarlo, se muestra un código QR en el navegador de origen; al escanearlo, la captura continúa en el dispositivo móvil mientras el desktop informa del progreso.

El SDK determina automáticamente si la vista es móvil o desktop, sin configuración adicional.

### Consideraciones

**Componentes compatibles:** SelphID, Selphi, File Uploader y Video Provider.

Al finalizar la captura en móvil, llama al método [stopQr](/sdks/sdk-web/componentes/sdk-provider/metodos/stopqr.md) para cerrar correctamente la sesión QR en desktop.

Puedes monitorizar el progreso con [emitTrackStatus](/sdks/sdk-web/componentes/sdk-provider/eventos/emittrackstatus.md).

Las animaciones mostradas en desktop durante el flujo QR se personalizan con [customAnimations](/sdks/sdk-web/componentes/sdk-provider/propiedades/customanimations.md) (`qr.selphi`, `qr.selphid`, `qr.fileUploader`).

***

## Ejemplo

```jsx
import { ComponentStatus, FacephiComponent } from '@facephi/sdk-web-wc';

<facephi-sdk-provider
    apikey={process.env.FACEPHI_SDK_APIKEY}
    customAnimations={{
        qr: {
            selphi: '/assets/anim/desktop-selphi.gif',
            selphid: '/assets/anim/desktop-selphid.gif',
            fileUploader: '/assets/anim/desktop-file-uploader.gif',
        },
    }}
    qr={true}
>
    <facephi-selphid-widget onExtractionFinish={handleExtractionFinish} />
</facephi-sdk-provider>
```

```typescript
const provider = document.querySelector('facephi-sdk-provider');
const selphid = document.querySelector('facephi-selphid-widget');

async function handleExtractionFinish(event: CustomEvent) {
  const result = event.detail.detail;
  await provider.stopQr();
  sendResultsToBackend(result);
}

provider.addEventListener('emitTrackStatus', handleEmitTrackStatus);

function handleEmitTrackStatus(event: CustomEvent) {
  const trackStatus = event.detail;
  if (
    trackStatus.component === FacephiComponent.QrWidget
    && trackStatus.status === ComponentStatus.finish
  ) {
    continueAfterOnboarding();
  }
}
```
