@govbr-ds-testing/webcomponents-react
v1.23.5
Published
Biblioteca de integração dos Web Components GovBR-DS com o React
Downloads
7
Readme
Webcomponents React
Bibiloteca de componentes react que encapsulam os Web Components GovBR-DS.
Instalação
Instale os pacotes abaixo:
npm install --save-dev @govbr-ds/core @govbr-ds-testing/webcomponents @govbr-ds-testing/webcomponents-react
Uso
Inclua no App.tsx
(ou arquivo equivalente) da sua aplicação:
import { BrComponent1, BrComponent2, ... } from "@govbr-ds-testing/webcomponents-react";
import "@govbr-ds/core/dist/core.min.css";
O core.min.css
é quem define os valores dos tokens de CSS usados.
Em seguida, você pode utilizar o componente BrButton em seu código JSX/TSX da seguinte maneira:
<BrButton type="submit" emphasis="primary">
Enviar Formulário
</BrButton>
Certifique-se de substituir "primary" pela variante desejada do botão, como "secondary", "tertiary", entre outras opções disponíveis na documentação da biblioteca.
Observações
Ao utilizar os web componentes do govbr no react voce deve se atentar ao seguinte. Os eventos de api sao diferentes, para entender melhor criamos a tabela abaixo:
Tabela comparativa entre onChange
no React padrão e OnValueChange
nos web componentes do govbr:
| Funcionalidade | onChange
no React padrão | OnValueChange
nos web componentes do govbr |
| ---------------------- | ----------------------------------------------------------- | ----------------------------------------------------------- |
| Propósito | Captura eventos de alteração em elementos de formulário. | Captura eventos de alteração em elementos de formulário. |
| Uso | Principalmente usado em componentes controlados. | Principalmente usado em componentes não controlados. |
| Tipo de evento | Dispara quando o valor do elemento é alterado pelo usuário. | Dispara quando o valor do elemento é alterado pelo usuário. |
| Componentes suportados | Pode ser usado em qualquer componente de formulário. | Específico para os web componentes do govbr. |
| Sintaxe | <input onChange={handleChange} />
| <gov-input OnValueChange={handleValueChange} />
|
| Manipulação de estado | Requer atualização manual do estado do componente. | Atualiza automaticamente o estado do componente. |
| Compatibilidade | Funciona com qualquer biblioteca/framework JavaScript. | Específico para o uso com os web componentes do govbr. |
| Vantagens | Oferece maior controle sobre o estado do componente. | Simplifica a integração com os web componentes do govbr. |
| Desvantagens | Pode exigir mais código para gerenciar o estado. | Menos flexível em termos de controle direto do estado. |
Essa tabela compara as principais diferenças e semelhanças entre onChange
no React e OnValueChange
nos web componentes do govbr, destacando suas características, usos e vantagens/desvantagens.
Estrutura de pastas e arquivos
- react
- lib
- stencil-generated
- index.ts
Ao gerar um build da biblioteca te Web Components os arquivos da pasta lib/stencil-generated
são deletados e recriados. Todas as alterações nesses arquivos vão ser perdidas ao gerar um novo build dos Web Components.
O Arquivo index.ts
é o entry point da biblioteca. Exporta os componentes e registra os componentes como custom elements.
Build
Rode o comando npm run build
.
Reportar bugs/necessidades
Você pode usar as issues para nos informar os problemas que tem enfrentado ao usar nossa biblioteca ou mesmo o que gostaria que fizesse parte do projeto. Por favor use o modelo que mais se encaixa na sua necessidade e preencha com o máximo de detalhes possível.
Nos comprometemos a responder a todas as issues.
Commits
Nesse projeto usamos um padrão para branches e commits. Por favor observe a documentação na nossa wiki para aprender sobre os nossos padrões.
Precisa de ajuda?
Por favor não crie issues para fazer perguntas.
Use nossos canais abaixo para obter tirar suas dúvidas:
- Site do GovBR-DS http://gov.br/ds
- Web Components https://gov.br/ds/webcomponents
- Usando nosso canal no discord https://discord.gg/U5GwPfqhUP
Créditos
Os Web Components do GovBR-DS são criados pelo SERPRO juntamente com a comunidade.
Licença
Nesse projeto usamos a licença MIT.