# react-vlibras

> Torne sua aplicação React acessível com o VLibras Widget

Latest version **2.3.4** (published 2024-03-15) · MIT license · 0 weekly downloads

> **Deprecated.** This package is deprecated.

## Install

```sh
npm install react-vlibras
pnpm add react-vlibras
yarn add react-vlibras
bun add react-vlibras
```

## Health

**Score 10/100 (F)** — status: deprecated.

Negative: deprecated.

## Facts

| | |
|---|---|
| Version | 2.3.4 |
| Published | 2024-03-15 |
| First published | 2024-02-28 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | bundled |
| Module format | ESM + CommonJS |
| Dependencies | 0 |
| Unpacked size | 12.6 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| GitHub stars | 1 |
| Author | Diêgo Ferreira |
| Maintainers | diegofrr |
| Keywords | vlibras, libras, react-vlibras, acessibilidade, accessibility |

## Links

- npm: https://www.npmjs.com/package/react-vlibras
- Repository: https://github.com/diegofrr/react-vlibras
- Homepage: https://vlibras.gov.br
- Issues: https://github.com/diegofrr/react-vlibras/issues
- npm.io page: https://npm.io/package/react-vlibras

## Alternatives

- [@sindresorhus/slugify](https://npm.io/package/@sindresorhus/slugify.md) — 3.7M weekly downloads
- [solid-js](https://npm.io/package/solid-js.md) — 2.7M weekly downloads
- [expo-glass-effect](https://npm.io/package/expo-glass-effect.md) — 2.5M weekly downloads
- [nanoassert](https://npm.io/package/nanoassert.md) — 780.8K weekly downloads
- [@ffmpeg/ffmpeg](https://npm.io/package/@ffmpeg/ffmpeg.md) — 529.5K weekly downloads

## Recent versions

- 2.3.4 (latest) — 2024-03-15
- 2.3.3 — 2024-03-15
- 2.3.2 — 2024-03-15
- 2.3.1 — 2024-02-29
- 2.3.0 — 2024-02-28

## README

<div align="center">
<img src="https://i.imgur.com/Pgyuysn.png" />

# react-vlibras

Torne sua aplicação React acessível com o VLibras Widget.

</div>

# Instalação

yarn

```
yarn add react-vlibras
```

npm

```
npm i react-vlibras
```

# Como utilizar

> [!CAUTION]
> Para evitar re-renderizações da ferramenta ao alterar a rota, é <u>extremamente importante</u> implementar o componente no arquivo root fora do container da aplicação.

Next.js

```typescript
// providers.tsx | providers.jsx

"use client";

import VLibras from "react-vlibras";

export default function Providers({ children }: { children: React.ReactNode }) {
  return (
    <>
      <VLibras safeInit />
      {children}
    </>
  );
}
```

```ts
// layout.tsx | layout.jsx

import Providers from "./providers";

export default function RootLayout({
  children,
}: {
  children: React.ReactNode;
}) {
  return (
    <html lang="pt-br">
      <body>
        <Providers>{children}</Providers>
      </body>
    </html>
  );
}
```

> [!IMPORTANT]
> Caso queira testar a ferramenta no ambiente de desenvolvimento, é necessário desativar o modo estrito do React.

```javascript
// next.config.js

/** @type {import('next').NextConfig} */
const nextConfig = {
  reactStrictMode: false,
};

module.exports = nextConfig;
```

React.js

```typescript
// index.tsx | index.jsx
// Remova React.StrictMode

import VLibras from "react-vlibras";

const root = ReactDOM.createRoot(
  document.getElementById("root") as HTMLElement
);

root.render(
  <>
    <VLibras />
    <App />
  </>
);
```

# Propriedades

Você pode definir configurações padrão da ferramenta, como **posição na tela**, **avatar** e **opacidade de fundo** através das propriedades.

| Atributo        | Tipo                                                                                                   | Descrição                                                                                                                                                                                                               | Padrão                       |
| --------------- | ------------------------------------------------------------------------------------------------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------- |
| avatar          | `icaro` \| `hosana` \| `guga` \| `random`                                                              | Avatar 3D                                                                                                                                                                                                               | `icaro`                      |
| position        | `right` \| `left` \| `top` \| `bottom` \| `top-left` \| `top-right` \| `bottom-left` \| `bottom-right` | Posição da ferramenta na tela                                                                                                                                                                                           | `right`                      |
| opacity         | `number`                                                                                               | Opacidade do background do avatar (0 ~ 1)                                                                                                                                                                               | `1`                          |
| personalization | `string`                                                                                               | Personalização do avatar (somente parceiros do projeto VLibras).                                                                                                                                                        | `undefined`                  |
| rootPath        | `string`                                                                                               | Link da pasta root da aplicação (entrar em contato para obter). Para otimizar a inicialização da ferramenta, você pode subi-la junto da sua aplicação e fornecer o _path_ de acesso (isso impede receber atualizações). | `https://vlibras.gov.br/app` |
| safeInit        | `boolean`                                                                                              | Garante que a ferramenta seja iniciada somente após o carregamento completo do DOM (útil para frameworks como o **Next.js** que realizam renderização do lado do servidor).                                             | `false`                      |

# Saiba mais sobre o projeto VLibras

<a href="https://www.gov.br/governodigital/pt-br/vlibras">Site oficial</a>

---
_Source: https://npm.io/package/react-vlibras · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
