@rock10/ui 1.0.6 → 1.0.8
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 +81 -0
- package/package.json +1 -1
package/README.md
ADDED
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
# @rock10/ui
|
|
2
|
+
|
|
3
|
+
Biblioteca de componentes de interface (UI) reutilizáveis para os portais e sistemas do ecossistema **Rock10 Replay**.
|
|
4
|
+
|
|
5
|
+
Construída utilizando **React**, **TypeScript**, **Tailwind CSS** e empacotada com **Vite**.
|
|
6
|
+
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
## 🚀 Instalação
|
|
10
|
+
|
|
11
|
+
Como o pacote faz parte do escopo privado/público `@rock10`, instale-o diretamente através do NPM:
|
|
12
|
+
|
|
13
|
+
```bash
|
|
14
|
+
npm install @rock10/ui
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
### Importação de Estilos (Obrigatório)
|
|
18
|
+
|
|
19
|
+
Para que as classes do Tailwind CSS e estilos internos dos componentes funcionem corretamente, importe o arquivo CSS global da biblioteca no ponto de entrada da sua aplicação (ex: `main.tsx` ou `App.tsx`):
|
|
20
|
+
|
|
21
|
+
```tsx
|
|
22
|
+
import '@rock10/ui/dist/style.css';
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
---
|
|
26
|
+
|
|
27
|
+
## 📦 Componentes Disponíveis
|
|
28
|
+
|
|
29
|
+
A biblioteca fornece os seguintes componentes customizáveis e preparados para acessibilidade:
|
|
30
|
+
|
|
31
|
+
* **`IconButton`**: Botão otimizado para ícones com suporte a diferentes tamanhos, variantes de gradiente, estados de carregamento e foco acessível.
|
|
32
|
+
* **`ConfirmDialog`**: Caixa de diálogo modal de confirmação para ações destrutivas ou importantes.
|
|
33
|
+
* **`Modal`**: Base de modal com suporte a controle de scroll e fechamento via clique externo.
|
|
34
|
+
* **`DatePicker` & `DateSelector`**: Seletores e painéis inteligentes para filtragem de datas.
|
|
35
|
+
* **`DownloadButton`**: Botão com animações e microinterações específicas para exportação de dados.
|
|
36
|
+
* **`EmptyState`**: Layout padrão para exibir estados vazios ou sem dados nos portais.
|
|
37
|
+
* **`SearchBar`**: Barra de pesquisa de alta performance com debounce/limpeza integrada.
|
|
38
|
+
* **`LikeButton`**: Botão interativo para ações rápidas de engajamento.
|
|
39
|
+
* **`Loading`**: Feedbacks visuais e loaders para carregamentos assíncronos.
|
|
40
|
+
|
|
41
|
+
---
|
|
42
|
+
|
|
43
|
+
## 💻 Desenvolvimento Local
|
|
44
|
+
|
|
45
|
+
Para clonar e fazer melhorias na biblioteca:
|
|
46
|
+
|
|
47
|
+
### Instalar dependências
|
|
48
|
+
```bash
|
|
49
|
+
npm install
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
### Ambiente de Desenvolvimento & Documentação (Storybook)
|
|
53
|
+
Inicie o Storybook local para inspecionar, testar e documentar os componentes isoladamente:
|
|
54
|
+
```bash
|
|
55
|
+
npm run storybook
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
### Rodar a suíte de testes (Vitest + JSDom + Playwright)
|
|
59
|
+
Tanto testes unitários locais quanto testes de renderização do Storybook em navegador headless:
|
|
60
|
+
```bash
|
|
61
|
+
npm run test
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
### Gerar build de produção
|
|
65
|
+
Compila os componentes para a pasta `dist/` gerando os bundles UMD/ES e os arquivos de declaração de tipos (`.d.ts`):
|
|
66
|
+
```bash
|
|
67
|
+
npm run build
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
---
|
|
71
|
+
|
|
72
|
+
## 🦋 Publicando Novas Versões
|
|
73
|
+
|
|
74
|
+
Esta biblioteca utiliza **Changesets** para gerenciar versionamento e changelogs automáticos.
|
|
75
|
+
|
|
76
|
+
1. Ao criar uma modificação que impacte a versão, rode:
|
|
77
|
+
```bash
|
|
78
|
+
npx changeset
|
|
79
|
+
```
|
|
80
|
+
2. Siga as perguntas no console para definir se é patch/minor/major e descrever as alterações.
|
|
81
|
+
3. Para mais detalhes sobre publicação manual ou via CI, veja o guia completo em [como-publicar.md](file:///c:/AtualDev/Prototipo/Rock10Replay/rock10-ui/Docs/como-publicar.md).
|