> 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/selphi-biometria-facial/eventos/stabilizing.md).

# stabilizing

## Detalles

Se emite en cada frame mientras el proceso de estabilización está activo.

**Evento:** `stabilizing`

**Tipo:** `FacephiSelphiWidgetCustomEvent<StabilizingEvent>` | `CustomEvent<StabilizingEvent>`

### Sintaxis

```typescript
selphi.addEventListener('stabilizing', onStabilizing);
```

### Objeto recibido

El payload útil es de tipo `SelphiStabilizingDetail` y está en `event.detail.detail`:

* `eventType` (`string`): Tipo de evento emitido.
* `diagnostic` (`number`): Código de estabilización del frame actual.

**Códigos de estabilización `diagnostic`**:

| Id   | Nombre                         | Descripción                                             |
| ---- | ------------------------------ | ------------------------------------------------------- |
| `1`  | Ok                             | Fase de estabilización superada.                        |
| `2`  | NotStabilized                  | El usuario debe permanecer estático y de frente.        |
| `3`  | NotStabilizedTooFar            | El usuario debe estar en la zona predeterminada.        |
| `4`  | NotStabilizedSunGlasses        | Oclusiones en el rostro impiden la detección.           |
| `5`  | NotStabilizedTooClose          | El usuario debe alejarse para evitar distorsión óptica. |
| `6`  | NotStabilizedTooMovement       | El usuario no permanece estático.                       |
| `8`  | NotStabilizedNoFrontal         | Rostro no centrado (postura incorrecta genérica).       |
| `9`  | NotStabilizedNoFrontalTooLeft  | Rostro girado demasiado a la izquierda.                 |
| `10` | NotStabilizedNoFrontalTooRight | Rostro girado demasiado a la derecha.                   |
| `11` | NotStabilizedNoFrontalTooDown  | Rostro inclinado demasiado hacia abajo.                 |
| `12` | NotStabilizedNoFrontalTooUp    | Rostro inclinado demasiado hacia arriba.                |
| `13` | NoStabilizedNoColor            | Imagen en color con insuficiente color.                 |
| `14` | NotStabilizedLowQuality        | Calidad de imagen baja.                                 |
| `15` | NotStabilizedLowFaceQuality    | Calidad del rostro baja.                                |
| `16` | NotStabilizedLowPatternQuality | Patrón deficiente.                                      |
| `17` | OkGlasses                      | Estabilización superada con gafas.                      |
| `18` | NotStabilizedInvalidResolution | Resolución no válida (720 o 480 esperados).             |
| `19` | NotStabilizedMask              | No supera la estabilización por uso de mascarilla.      |

## Descripción

Informa del resultado de cada intento de estabilización. Cuando el widget devuelve `Ok` u `OkGlasses`, avanza al siguiente paso antes de la extracción.

### Consideraciones

Solo se emite si [stabilization](/sdks/sdk-web/componentes/selphi-biometria-facial/propiedades/stabilization.md) está habilitado. El payload útil está en `event.detail.detail` (ver [formato de eventos](/sdks/sdk-web/componentes/selphi-biometria-facial/eventos.md#formato-de-los-eventos)).

***

## Ejemplo

```jsx
<facephi-selphi-widget
    onStabilizing={(event) => {
      const { diagnostic } = event.detail.detail;
      console.log('Stabilizing diagnostic:', diagnostic);
    }}
/>
```

```typescript
import { type SelphiStabilizingDetail } from '@facephi/sdk-web-wc';

selphi.addEventListener('stabilizing', (event) => {
  const detail: SelphiStabilizingDetail = event.detail.detail;
});
```
