@govbr-ds/webcomponents 2.0.0-next.3 → 2.0.0-next.30
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +264 -82
- package/package.json +18 -95
- package/dist/webcomponents.common.js +0 -24619
- package/dist/webcomponents.common.js.map +0 -1
- package/dist/webcomponents.umd.js +0 -24630
- package/dist/webcomponents.umd.js.map +0 -1
- package/dist/webcomponents.umd.min.js +0 -10
- package/dist/webcomponents.umd.min.js.map +0 -1
package/README.md
CHANGED
|
@@ -1,157 +1,339 @@
|
|
|
1
1
|
# Web Components GovBR-DS
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
A biblioteca de Web Components do [GovBR-DS](https://gov.br/ds) está sendo desenvolvida utilizando o [Stencil](https://stenciljs.com/), um compilador que cria Web Components (Custom Elements). O Stencil incorpora os melhores conceitos dos frameworks mais populares em uma ferramenta simples de compilação. Para mais informações sobre o Stencil, visite o [site oficial](https://stenciljs.com/).
|
|
4
4
|
|
|
5
|
-
## Demonstração
|
|
5
|
+
## Demonstração 🚀
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
Veja nossos componentes em funcionamento:
|
|
8
8
|
|
|
9
|
-
- [
|
|
10
|
-
- [
|
|
9
|
+
- [Versão 1.x](https://gov.br/ds/webcomponents/)
|
|
10
|
+
- [Versão 2.x (em desenvolvimento)](https://govbr-ds.gitlab.io/bibliotecas/wbc/govbr-ds-wbc/)
|
|
11
11
|
|
|
12
|
-
## Tecnologias
|
|
12
|
+
## Tecnologias 💻
|
|
13
13
|
|
|
14
14
|
Esse projeto é desenvolvido usando:
|
|
15
15
|
|
|
16
16
|
1. [GovBR-DS](https://gov.br/ds/ 'GovBR-DS')
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
6. [Jest](https://jestjs.io/ 'Jest')
|
|
17
|
+
1. [Stencil](https://stenciljs.com/ 'Stencil')
|
|
18
|
+
1. [Font Awesome](https://fontawesome.com/ 'Font Awesome')
|
|
19
|
+
1. [Fonte Rawline](https://www.cdnfonts.com/rawline.font/ 'Fonte Rawline')
|
|
20
|
+
1. [NX Monorepo](https://nx.dev/ 'NX Monorepo')
|
|
22
21
|
|
|
23
|
-
|
|
22
|
+
## O que são Web Components?
|
|
24
23
|
|
|
25
|
-
|
|
24
|
+
São um conjunto de tecnologias que permitem aos desenvolvedores criar novos elementos HTML personalizados, reutilizáveis e encapsulados para uso em páginas e aplicativos da web. Eles se baseiam em padrões da web existentes e são suportados por todos os navegadores modernos.
|
|
26
25
|
|
|
27
|
-
|
|
26
|
+
O diagrama mostra os três componentes principais dos Web Components:
|
|
28
27
|
|
|
29
|
-
|
|
28
|
+
- Elementos HTML personalizados: tags HTML definidas usando JavaScript e podem ser usados como qualquer outro elemento HTML.
|
|
29
|
+
- Shadow DOM: é um espaço de nome encapsulado para cada elemento HTML personalizado. Isso significa que os estilos e o JavaScript do elemento não interferem no resto da página.
|
|
30
|
+
- Templates: são fragmentos de HTML que podem ser reutilizados em vários elementos.
|
|
31
|
+
- Slots: são áreas em um elemento HTML personalizado onde templates podem ser inseridos.
|
|
30
32
|
|
|
31
|
-
|
|
33
|
+
### Benefícios dos Web Components
|
|
32
34
|
|
|
33
|
-
|
|
35
|
+
1. Reusabilidade
|
|
36
|
+
1. Modularidade
|
|
37
|
+
1. Encapsulamento
|
|
38
|
+
1. Compatibilidade
|
|
39
|
+
1. Manutenibilidade
|
|
40
|
+
|
|
41
|
+
### Ciclo de Vida
|
|
42
|
+
|
|
43
|
+
Para entender melhor o ciclo de vida dos componentes, acesse a página [https://stenciljs.com/docs/component-lifecycle](https://stenciljs.com/docs/component-lifecycle).
|
|
44
|
+
|
|
45
|
+
## Integração com frameworks
|
|
46
|
+
|
|
47
|
+
A integração entre Web Components e frameworks pode não ser fácil em determinadas situações. Por isso nós criamos as bibliotecas de integração (wrappers). Basicamente eles encapsulam os Web Components em uma biblioteca de componentes na tecnologia nativa de algum framework. Isso facilita a integração com funcionalidades nativas dos frameworks, como por exemplo o binding.
|
|
48
|
+
|
|
49
|
+
Para mais detalhes sobre como o Stencil faz a integração consulte [a documentação do Stencil sobre integrações](https://stenciljs.com/docs/overview).
|
|
50
|
+
|
|
51
|
+
Note que determinadas situações pode não ser possível fazer essa integração. Isso depende muito da evolução da especificação de Web Components e do suporte dos frameworks.
|
|
52
|
+
|
|
53
|
+
## Font Awesome e Fonte Rawline
|
|
54
|
+
|
|
55
|
+
Nossos componentes usam a [Fonte Rawline](https://www.cdnfonts.com/rawline.font/ 'Fonte Rawline') juntamente com a [Font Awesome](https://fontawesome.com/ 'Font Awesome') padrão do DS.
|
|
56
|
+
|
|
57
|
+
Consulte a documentação no site do [GovBR-DS](https://www.gov.br/ds/como-comecar/instalacao 'GovBR-DS') para mais detalhes sobre como importá-los de seus respectivos CDNs.
|
|
58
|
+
|
|
59
|
+
## Instalação ⚙️
|
|
60
|
+
|
|
61
|
+
Instale o pacote abaixo:
|
|
62
|
+
|
|
63
|
+
```bash
|
|
64
|
+
npm install --save-dev @govbr-ds/webcomponents
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
## Scripts Disponíveis 📜
|
|
68
|
+
|
|
69
|
+
No arquivo `package.json` e `project.json`, você encontrará uma variedade de scripts úteis. Aqui está uma lista com a descrição de cada um:
|
|
70
|
+
|
|
71
|
+
```bash
|
|
72
|
+
nx start webcomponents
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
Executa o site no localhost para desenvolvimento.
|
|
76
|
+
|
|
77
|
+
```bash
|
|
78
|
+
nx build webcomponents
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
Compila o projeto para produção.
|
|
82
|
+
|
|
83
|
+
```bash
|
|
84
|
+
nx test:unit webcomponents
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
Executa os testes unitários.
|
|
34
88
|
|
|
35
89
|
```bash
|
|
36
|
-
|
|
90
|
+
nx lint:tsx webcomponents
|
|
91
|
+
```
|
|
92
|
+
|
|
93
|
+
Executa lint nos códigos TypeScript.
|
|
94
|
+
|
|
95
|
+
```bash
|
|
96
|
+
nx lint:md webcomponents
|
|
97
|
+
```
|
|
98
|
+
|
|
99
|
+
Executa lint nos arquivos markdown.
|
|
100
|
+
|
|
101
|
+
```bash
|
|
102
|
+
nx lint:styles webcomponents
|
|
103
|
+
```
|
|
104
|
+
|
|
105
|
+
Executa lint nos arquivos de estilos.
|
|
106
|
+
|
|
107
|
+
## Testes
|
|
108
|
+
|
|
109
|
+
Nossa estratégia de testes é dividida em duas abordagens principais: testes unitários e testes end-to-end (E2E).
|
|
110
|
+
|
|
111
|
+
### Testes Unitários (\*.spec.tsx)
|
|
112
|
+
|
|
113
|
+
Os testes unitários são ideais para validar a lógica interna dos componentes de forma isolada e rápida. Utilizamos o método `newSpecPage()` para testar:
|
|
114
|
+
|
|
115
|
+
- Estado inicial: comportamento do componente sem props
|
|
116
|
+
- Props: valores válidos, inválidos e mudanças em tempo de execução
|
|
117
|
+
- Classes CSS: presença e ausência de classes condicionais
|
|
118
|
+
- Slots: renderização correta do conteúdo
|
|
119
|
+
- Lógica interna: métodos, cálculos e transformações
|
|
120
|
+
- Validações básicas: required, minLength, maxValue etc.
|
|
121
|
+
|
|
122
|
+
```typescript
|
|
123
|
+
it('deve inicializar com o estado padrão padrão', async () => {
|
|
124
|
+
const page = await newSpecPage({
|
|
125
|
+
components: [BrComponent],
|
|
126
|
+
html: `<br-component></br-component>`,
|
|
127
|
+
})
|
|
128
|
+
expect(page.root).toEqualHtml(`<br-component>...</br-component>`)
|
|
129
|
+
})
|
|
130
|
+
```
|
|
131
|
+
|
|
132
|
+
### Testes E2E (\*.e2e.ts)
|
|
133
|
+
|
|
134
|
+
Os testes E2E são executados em um navegador real usando o método `newE2EPage()`. São mais lentos mas essenciais para testar:
|
|
135
|
+
|
|
136
|
+
- Eventos do componente: click, blur, change etc.
|
|
137
|
+
- Interações do usuário: drag-drop, digitação, atalhos
|
|
138
|
+
- Integrações DOM: forms, validação nativa, aria-\*
|
|
139
|
+
- Estilos visuais: dimensões, cores, transições
|
|
140
|
+
- Shadow DOM: slots, parts, estilos encapsulados
|
|
141
|
+
|
|
142
|
+
```typescript
|
|
143
|
+
it('should emit click event', async () => {
|
|
144
|
+
const page = await newE2EPage()
|
|
145
|
+
await page.setContent('<br-component></br-component>')
|
|
146
|
+
const brComponent = await page.find('br-component')
|
|
147
|
+
const clickEvent = await brComponent.spyOnEvent('click')
|
|
148
|
+
await brComponent.click()
|
|
149
|
+
expect(clickEvent).toHaveReceivedEvent()
|
|
150
|
+
})
|
|
151
|
+
```
|
|
152
|
+
|
|
153
|
+
Para mais detalhes sobre testes no Stencil, consulte a [documentação oficial](https://stenciljs.com/docs/testing-overview).
|
|
154
|
+
|
|
155
|
+
## Configuração 🛠️
|
|
156
|
+
|
|
157
|
+
Os passos para usar os Web Components GovBR-DS em uma aplicação podem variar dependendo da tecnologia usada. Abaixo estão os passos gerais para grande parte dos casos:
|
|
158
|
+
|
|
159
|
+
### Adicione os tokens do `@govbr-ds/core`
|
|
160
|
+
|
|
161
|
+
```ts
|
|
162
|
+
import 'node_modules/@govbr-ds/core/dist/core-tokens.min.css'
|
|
37
163
|
```
|
|
38
164
|
|
|
165
|
+
### Adicione o `loader` do JS
|
|
166
|
+
|
|
39
167
|
Depois de instalada, importe a biblioteca de dentro da pasta *node_modules*:
|
|
40
168
|
|
|
41
169
|
```javascript
|
|
42
|
-
@import "node_modules/@govbr-ds/webcomponents/dist/
|
|
170
|
+
@import "node_modules/@govbr-ds/webcomponents/dist/loader"
|
|
43
171
|
```
|
|
44
172
|
|
|
45
|
-
|
|
173
|
+
Também é possível importar o JS da biblioteca usando um CDN (não mantido por nossa equipe):
|
|
46
174
|
|
|
47
175
|
```html
|
|
48
|
-
<script src="https://
|
|
176
|
+
<script src="https://cdn.jsdelivr.net/npm/@govbr-ds/webcomponents@<VERSÃO>/dist/loader/index.js"></>
|
|
49
177
|
```
|
|
50
178
|
|
|
51
|
-
|
|
179
|
+
**Importante**: Dependendo do seu projeto pode ser necessário importar diretamente o arquivo `/dist/webcomponents/webcomponents.esm.js`. Observe as necessidades do seu projeto e importe os arquivos de acordo.
|
|
52
180
|
|
|
53
|
-
|
|
181
|
+
### Use as tags dos custom elements
|
|
54
182
|
|
|
55
|
-
|
|
183
|
+
```html
|
|
184
|
+
<br-button>Click aqui</br-button>
|
|
185
|
+
```
|
|
56
186
|
|
|
57
|
-
|
|
187
|
+
### Eventos
|
|
58
188
|
|
|
59
|
-
|
|
189
|
+
Você pode escutar eventos padrão, como clique e mouseover, da mesma forma que faria com elementos HTML normais. Muitos componentes também emitem eventos personalizados, que recomendamos fortemente utilizar. Esses eventos funcionam como os eventos padrão, mas possuem nomes específicos. Consulte a documentação de cada componente para obter detalhes sobre os nomes e dados dos eventos.
|
|
190
|
+
|
|
191
|
+
```html
|
|
192
|
+
<br-button>Label</br-button>
|
|
193
|
+
|
|
194
|
+
<script>
|
|
195
|
+
const button = document.querySelector('br-button')
|
|
196
|
+
button.addEventListener('click', (event) => {
|
|
197
|
+
console.log('Botão foi clicado')
|
|
198
|
+
})
|
|
199
|
+
</script>
|
|
200
|
+
```
|
|
201
|
+
|
|
202
|
+
## VSCODE
|
|
203
|
+
|
|
204
|
+
Ao criar nossos Web Components fazemos uso de custom elements. O VSCODE não conhece os componentes e por isso não consegue fazer sugestões inteligentes para usar no autocomplete. Para auxiliar com isso nós geramos um arquivo `vscode-data.json` com as definições dos componentes e disponibilizamos junto com o nosso pacote npm.
|
|
205
|
+
|
|
206
|
+
Para importar no seu VSCODE, adicione o campo abaixo alterando o local onde o seu projeto armazena o `node_modules`.
|
|
207
|
+
|
|
208
|
+
```json
|
|
209
|
+
{
|
|
210
|
+
"html.customData": ["./node_modules/@govbr-ds/webcomponents/vscode-data.json"]
|
|
211
|
+
}
|
|
212
|
+
```
|
|
213
|
+
|
|
214
|
+
### Build
|
|
215
|
+
|
|
216
|
+
Nesse projeto stencil ao gerar um `build` do projeto também são gerados automaticamente:
|
|
217
|
+
|
|
218
|
+
- Arquivo `readme.md` dentro da pasta de cada componente.
|
|
219
|
+
- Documentações dos componentes na pasta `apps/site/docs/stencil-generated-docs` para serem usadas e versionadas pelo site.
|
|
60
220
|
|
|
61
221
|
### Exemplos de uso
|
|
62
222
|
|
|
63
|
-
Disponibilizamos alguns exemplos de como usar esse projeto com algumas tecnologias. Consulte o [nosso grupo aqui no gitlab](https://gitlab.com/govbr-ds/
|
|
223
|
+
Disponibilizamos alguns exemplos de como usar esse projeto com algumas tecnologias. Consulte o [nosso grupo aqui no gitlab](https://gitlab.com/govbr-ds/bibliotecas/wc 'GovBR-DS/WC') e procure pelos projetos de 'Quickstart' para mais detalhes.
|
|
64
224
|
|
|
65
|
-
##
|
|
225
|
+
## Arquitetura do Projeto Stencil
|
|
66
226
|
|
|
67
|
-
|
|
227
|
+
### Estrutura do Projeto
|
|
68
228
|
|
|
69
229
|
```markdown
|
|
70
|
-
/
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
│
|
|
74
|
-
│
|
|
75
|
-
│
|
|
76
|
-
│
|
|
77
|
-
|
|
230
|
+
webcomponents/
|
|
231
|
+
├── src/
|
|
232
|
+
│ ├── components/
|
|
233
|
+
│ │ └── br-component/
|
|
234
|
+
│ │ ├── sections/
|
|
235
|
+
│ │ │ └── migrate.md
|
|
236
|
+
│ │ ├── tests/
|
|
237
|
+
│ │ │ ├── br-component.e2e.ts
|
|
238
|
+
│ │ │ └── br-component.spec.tsx
|
|
239
|
+
│ │ ├── br-component.scss
|
|
240
|
+
│ │ ├── br-component.tsx
|
|
241
|
+
│ │ └── readme.md
|
|
242
|
+
│ ├── pages/
|
|
243
|
+
│ │ └── components/
|
|
244
|
+
│ │ └── br-component/
|
|
245
|
+
│ │ └── index.js
|
|
246
|
+
│ │ └── exemplo.html
|
|
247
|
+
│ │ └── scripts/
|
|
248
|
+
│ └── utils/
|
|
249
|
+
│ └── index.html
|
|
250
|
+
├── stencil.config.ts
|
|
251
|
+
├── package.json
|
|
252
|
+
└── tsconfig.json
|
|
78
253
|
```
|
|
79
254
|
|
|
80
|
-
|
|
81
|
-
- **assets**: pasta com arquivos estáticos
|
|
82
|
-
- **library**
|
|
83
|
-
- **lib.js**: inicializa todos os custom elements e define o que faz parte da biblioteca. É usado para fazer o build final.
|
|
84
|
-
- **components**: pasta com os componentes da biblioteca, seus testes e stories do storybook.
|
|
85
|
-
- **mixins**: mixins que são usados em vários componentes.
|
|
86
|
-
- **util**: funções criadas para facilitar ações dentro dos componentes
|
|
87
|
-
- **stories**: Arquivos com as stories gerais do storybook
|
|
255
|
+
#### Descrição dos Diretórios
|
|
88
256
|
|
|
89
|
-
|
|
257
|
+
- **src/**: Contém o código-fonte do projeto.
|
|
90
258
|
|
|
91
|
-
|
|
259
|
+
- **components/**: Contém os componentes Web que serão criados com Stencil. Cada componente tem sua própria pasta.
|
|
92
260
|
|
|
93
|
-
|
|
261
|
+
- **br-component/**: Uma pasta específica para o componente `br-component`.
|
|
94
262
|
|
|
95
|
-
|
|
96
|
-
git clone git@gitlab.com:govbr-ds/dev/wbc/govbr-ds-wbc.git
|
|
263
|
+
- **sections/**: Pasta com arquivos markdown para serem incluídos no site.
|
|
97
264
|
|
|
98
|
-
|
|
265
|
+
- **migrate.md**: Arquivo explicando 'como migrar' o componente da versão anterior para a nova.
|
|
99
266
|
|
|
100
|
-
|
|
267
|
+
- **test/**: Pasta com os arquivos de teste.
|
|
101
268
|
|
|
102
|
-
|
|
103
|
-
```
|
|
269
|
+
- **br-component.e2e.ts**: Arquivo para testes end-to-end (E2E) do componente.
|
|
104
270
|
|
|
105
|
-
|
|
271
|
+
- **br-component.spec.tsx**: Arquivo para testes unitários (Unit) do componente.
|
|
106
272
|
|
|
107
|
-
|
|
273
|
+
- **br-component.tsx**: O arquivo principal do componente, que contém a lógica e a estrutura do componente.
|
|
108
274
|
|
|
109
|
-
|
|
275
|
+
- **br-component.scss**: O arquivo de estilo do componente.
|
|
110
276
|
|
|
111
|
-
|
|
277
|
+
- **readme.md**: Documentação gerada automaticamente do componente durante `build`.
|
|
112
278
|
|
|
113
|
-
|
|
279
|
+
- **pages/**: Contém os exemplos dos componentes Web que serão criados com Stencil. Cada componente tem sua própria pasta.
|
|
114
280
|
|
|
115
|
-
|
|
281
|
+
- **components/**: Pasta com os exemplos dos componentes.
|
|
116
282
|
|
|
117
|
-
|
|
283
|
+
- **scripts/**: Pasta com os scripts usados no ambiente de desenvolvimento.
|
|
118
284
|
|
|
119
|
-
|
|
285
|
+
- **br-component/**: Uma pasta específica para o componente `br-component`.
|
|
120
286
|
|
|
121
|
-
|
|
287
|
+
- **index.js**: Arquivo com paga executar ações nos exemplos, como escutar por eventos.
|
|
122
288
|
|
|
123
|
-
-
|
|
124
|
-
- Para facilitar a aprovação da sua contribuição, escolha um título curto, simples e explicativo para o MR, e siga os padrões da nossa [wiki](https://gov.br/ds/wiki/ 'Wiki').
|
|
125
|
-
- Quer contribuir com o projeto? Confira o nosso guia [como contribuir](./CONTRIBUTING.md 'Como contribuir?').
|
|
289
|
+
- **exemplo.html**: Arquivos com o código de cada exemplo.
|
|
126
290
|
|
|
127
|
-
|
|
291
|
+
- **utils/**: Pasta para utilitários ou funções auxiliares que podem ser usadas em todo o projeto.
|
|
292
|
+
-
|
|
293
|
+
- **index.html**: Página inicial do servidor de desenvolvimento.
|
|
128
294
|
|
|
129
|
-
|
|
295
|
+
#### Arquivos de Configuração
|
|
130
296
|
|
|
131
|
-
|
|
297
|
+
- **stencil.config.ts**: O principal arquivo de configuração para um projeto Stencil. Nele, você define opções de configuração como saída do build, plugins, global scripts, e outras opções.
|
|
298
|
+
|
|
299
|
+
- **package.json**: Contém as dependências do projeto e scripts úteis para construir e desenvolver os componentes.
|
|
300
|
+
|
|
301
|
+
- **tsconfig.json**: Arquivo de configuração do TypeScript que especifica as opções do compilador TypeScript para o projeto.
|
|
132
302
|
|
|
133
|
-
##
|
|
303
|
+
## Documentações Complementares 📚
|
|
134
304
|
|
|
135
|
-
|
|
305
|
+
Consulte a seção sobre Web Componente na nossa [Wiki](https://gov.br/ds/wiki/desenvolvimento/web-components) para obter mais informações sobre esse projeto.
|
|
136
306
|
|
|
137
|
-
|
|
307
|
+
Para saber mais detalhes sobre a especificação Web Components sugerimos que consulte o [MDN](https://developer.mozilla.org/pt-BR/docs/Web/Web_Components 'Web Components | MDN').
|
|
138
308
|
|
|
139
|
-
|
|
309
|
+
## Contribuindo 🤝
|
|
140
310
|
|
|
141
|
-
|
|
311
|
+
Antes de abrir um Merge Request, por favor, leve em consideração as seguintes informações:
|
|
312
|
+
|
|
313
|
+
- Este é um projeto open-source e contribuições são bem-vindas.
|
|
314
|
+
- Para facilitar a aprovação da sua contribuição, use um título claro e explicativo para o MR, e siga os padrões estabelecidos em nossa [wiki](https://gov.br/ds/wiki/ 'Wiki').
|
|
315
|
+
- Quer contribuir? Consulte o nosso guia [como contribuir](https://gov.br/ds/wiki/comunidade/contribuindo-com-o-ds/ 'Como contribuir?').
|
|
316
|
+
|
|
317
|
+
## Reportar Bugs/Problemas ou Sugestões 🐛
|
|
318
|
+
|
|
319
|
+
Para reportar problemas ou sugerir melhorias, abra uma [issue](https://gitlab.com/govbr-ds/bibliotecas/wbc/govbr-ds-wbc/-/issues/new). Utilize o modelo adequado e forneça o máximo de detalhes possível.
|
|
320
|
+
|
|
321
|
+
Nos comprometemos a responder a todas as issues.
|
|
142
322
|
|
|
143
|
-
|
|
323
|
+
## Commits 📝
|
|
144
324
|
|
|
145
|
-
|
|
325
|
+
Este projeto segue um padrão para branches e commits. Consulte a documentação na nossa [wiki](https://gov.br/ds/wiki/ 'Wiki') para aprender mais sobre esses padrões.
|
|
146
326
|
|
|
147
|
-
|
|
327
|
+
## Precisa de ajuda? 🆘
|
|
148
328
|
|
|
149
|
-
|
|
329
|
+
Por favor, **não** crie issues para perguntas gerais.
|
|
150
330
|
|
|
151
|
-
|
|
331
|
+
Use os canais abaixo para tirar suas dúvidas:
|
|
152
332
|
|
|
153
|
-
|
|
333
|
+
- Site do GovBR-DS [http://gov.br/ds](http://gov.br/ds)
|
|
334
|
+
- Web Components [https://gov.br/ds/webcomponents](https://gov.br/ds/webcomponents)
|
|
335
|
+
- Canal no Discord [https://discord.gg/U5GwPfqhUP](https://discord.gg/U5GwPfqhUP)
|
|
154
336
|
|
|
155
|
-
##
|
|
337
|
+
## Créditos 🎉
|
|
156
338
|
|
|
157
|
-
|
|
339
|
+
Os Web Components do [GovBR-DS](https://gov.br/ds/ 'GovBR-DS') foram desenvolvidos pelo [SERPRO](https://www.serpro.gov.br/ 'SERPRO | Serviço Federal de Processamento de Dados') em colaboração com a comunidade.
|
package/package.json
CHANGED
|
@@ -1,111 +1,34 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@govbr-ds/webcomponents",
|
|
3
|
-
"version": "2.0.0-next.
|
|
4
|
-
"
|
|
5
|
-
"description": "Projeto de Webcomponents baseado no GovBR-DS",
|
|
3
|
+
"version": "2.0.0-next.30",
|
|
4
|
+
"description": "Biblioteca de Web Components baseado no GovBR-DS",
|
|
6
5
|
"keywords": [
|
|
7
6
|
"design system",
|
|
8
7
|
"govbr-ds",
|
|
9
|
-
"web components"
|
|
10
|
-
"vue"
|
|
8
|
+
"web components"
|
|
11
9
|
],
|
|
12
10
|
"homepage": "https://gov.br/ds/webcomponents",
|
|
13
11
|
"bugs": {
|
|
14
|
-
"url": "https://gitlab.com/govbr-ds/
|
|
12
|
+
"url": "https://gitlab.com/govbr-ds/bibliotecas/wbc/govbr-ds-wbc/issues"
|
|
15
13
|
},
|
|
16
14
|
"repository": {
|
|
17
15
|
"type": "git",
|
|
18
|
-
"url": "git@gitlab.com:govbr-ds/
|
|
16
|
+
"url": "git@gitlab.com:govbr-ds/bibliotecas/wbc/govbr-ds-wbc.git"
|
|
19
17
|
},
|
|
20
18
|
"license": "MIT",
|
|
21
|
-
"author": "SERPRO
|
|
22
|
-
"
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
"
|
|
19
|
+
"author": "SERPRO (http://serpro.gov.br/)",
|
|
20
|
+
"main": "./dist/index.cjs.js",
|
|
21
|
+
"unpkg": "./dist/webcomponents/webcomponents.esm.js",
|
|
22
|
+
"module": "./dist/index.js",
|
|
23
|
+
"types": "./dist/types/index.d.ts",
|
|
26
24
|
"files": [
|
|
27
|
-
"/
|
|
28
|
-
"!/dist/*.html"
|
|
25
|
+
"dist/"
|
|
29
26
|
],
|
|
30
|
-
"
|
|
31
|
-
"
|
|
32
|
-
"build:storybook": "build-storybook -o public",
|
|
33
|
-
"commit": "git-cz",
|
|
34
|
-
"lint:js": "vue-cli-service lint --fix",
|
|
35
|
-
"lint:md": "markdownlint --fix **/*.md -d -c .markdownlint.yml",
|
|
36
|
-
"prepare": "chmod +x ./node_modules/husky/lib/bin.js && husky install",
|
|
37
|
-
"storybook": "start-storybook -p 6006",
|
|
38
|
-
"test:ci": "jest --config ./jest.config.js --collectCoverage --coverageDirectory=\"./coverage\" --ci --reporters=default --reporters=jest-junit --watchAll=false",
|
|
39
|
-
"test:unit": "vue-cli-service test:unit --updateSnapshot"
|
|
40
|
-
},
|
|
41
|
-
"lint-staged": {
|
|
42
|
-
"*.md": [
|
|
43
|
-
"markdownlint -d -c .markdownlint.yml --fix **/*.md",
|
|
44
|
-
"prettier --write"
|
|
45
|
-
],
|
|
46
|
-
"*.{js,ts,vue}": [
|
|
47
|
-
"vue-cli-service lint --fix",
|
|
48
|
-
"vue-cli-service test:unit --findRelatedTests",
|
|
49
|
-
"prettier --write"
|
|
50
|
-
]
|
|
51
|
-
},
|
|
52
|
-
"config": {
|
|
53
|
-
"commitizen": {
|
|
54
|
-
"path": "@commitlint/cz-commitlint"
|
|
55
|
-
}
|
|
56
|
-
},
|
|
57
|
-
"dependencies": {
|
|
58
|
-
"core-js": "3.30.1",
|
|
59
|
-
"maska": "^2.1.9",
|
|
60
|
-
"vue": "3.2.47",
|
|
61
|
-
"vuex": "^4.1.0"
|
|
27
|
+
"peerDependencies": {
|
|
28
|
+
"@govbr-ds/core": "^3.6.1"
|
|
62
29
|
},
|
|
63
|
-
"
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
"@govbr-ds/commit-config": "latest",
|
|
69
|
-
"@govbr-ds/core": "3.3.1",
|
|
70
|
-
"@govbr-ds/release-config": "latest",
|
|
71
|
-
"@semantic-release/exec": "6.0.3",
|
|
72
|
-
"@storybook/addon-actions": "6.5.16",
|
|
73
|
-
"@storybook/addon-docs": "6.5.16",
|
|
74
|
-
"@storybook/addon-essentials": "6.5.16",
|
|
75
|
-
"@storybook/addon-links": "6.5.16",
|
|
76
|
-
"@storybook/addons": "6.5.16",
|
|
77
|
-
"@storybook/builder-webpack5": "6.5.16",
|
|
78
|
-
"@storybook/manager-webpack5": "6.5.16",
|
|
79
|
-
"@storybook/theming": "6.5.16",
|
|
80
|
-
"@storybook/vue3": "6.5.16",
|
|
81
|
-
"@vue/cli-plugin-babel": "5.0.8",
|
|
82
|
-
"@vue/cli-plugin-eslint": "5.0.8",
|
|
83
|
-
"@vue/cli-plugin-unit-jest": "5.0.8",
|
|
84
|
-
"@vue/cli-service": "5.0.8",
|
|
85
|
-
"@vue/compiler-sfc": "3.2.47",
|
|
86
|
-
"@vue/eslint-config-prettier": "7.1.0",
|
|
87
|
-
"@vue/test-utils": "2.3.2",
|
|
88
|
-
"@vue/vue3-jest": "27.0.0",
|
|
89
|
-
"@whitespace/storybook-addon-html": "^5.1.4",
|
|
90
|
-
"babel-loader": "^8.3.0",
|
|
91
|
-
"eslint": "8.39.0",
|
|
92
|
-
"eslint-plugin-storybook": "0.6.12",
|
|
93
|
-
"eslint-plugin-vue": "9.11.0",
|
|
94
|
-
"git-pull-run": "1.4.0",
|
|
95
|
-
"husky": "8.0.3",
|
|
96
|
-
"jest-junit": "15.0.0",
|
|
97
|
-
"lint-staged": "13.2.2",
|
|
98
|
-
"markdownlint-cli": "0.34.0",
|
|
99
|
-
"postcss": "8.4.23",
|
|
100
|
-
"prettier": "^2.8.8",
|
|
101
|
-
"react": "16.8.0 || 17.0.0",
|
|
102
|
-
"react-dom": "16.8.0 || 17.0.0",
|
|
103
|
-
"sass": "1.58.3",
|
|
104
|
-
"sass-loader": "13.2.2",
|
|
105
|
-
"semantic-release-discord": "1.2.0",
|
|
106
|
-
"storybook-version": "^0.1.1",
|
|
107
|
-
"vue-loader": "^16.8.3",
|
|
108
|
-
"vue-router": "4.1.6",
|
|
109
|
-
"vue-syntax-highlight": "^0.1.8"
|
|
110
|
-
}
|
|
111
|
-
}
|
|
30
|
+
"collection": "./dist/collection/collection-manifest.json",
|
|
31
|
+
"collection:main": "./dist/collection/index.js",
|
|
32
|
+
"es2015": "./dist/esm-es5/loader.js",
|
|
33
|
+
"es2017": "./dist/esm/loader.js"
|
|
34
|
+
}
|