@visio-io/design-system 1.0.1 → 1.0.2

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 CHANGED
@@ -1,151 +1,242 @@
1
1
  # Visio Design System
2
2
 
3
- Biblioteca de componentes de design system baseada em React e Material-UI.
3
+ Sistema de design unificado da Visio com componentes React reutilizáveis.
4
4
 
5
- ## Instalação
5
+ ## 📦 Instalação
6
6
 
7
- ### Como repositório privado (GitHub/GitLab)
8
-
9
- Para usar este repositório como biblioteca privada diretamente do Git:
7
+ ### Usando Yalc (desenvolvimento local)
10
8
 
11
9
  ```bash
12
- # Com pnpm
13
- pnpm add git+https://github.com/USUARIO/visio-design-system.git
14
- # ou com branch/tag específica
15
- pnpm add git+https://github.com/USUARIO/visio-design-system.git#main
16
-
17
- # Com npm
18
- npm install git+https://github.com/USUARIO/visio-design-system.git
10
+ # No diretório do design system
11
+ pnpm build
12
+ yalc push
19
13
 
20
- # Com yarn
21
- yarn add git+https://github.com/USUARIO/visio-design-system.git
14
+ # No projeto que vai consumir
15
+ yalc add @visio-io/design-system
22
16
  ```
23
17
 
24
- **Para repositórios privados**, você precisará configurar autenticação:
18
+ ### Usando npm/pnpm (produção)
25
19
 
26
- 1. **Usando SSH** (recomendado):
27
20
  ```bash
28
- pnpm add git+ssh://git@github.com/USUARIO/visio-design-system.git
29
- ```
30
-
31
- 2. **Usando token de acesso pessoal**:
32
- ```bash
33
- pnpm add git+https://SEU_TOKEN@github.com/USUARIO/visio-design-system.git
34
- ```
35
-
36
- 3. **Configurando no `.npmrc`** do projeto que vai usar a lib:
37
- ```
38
- @visio-io:registry=https://npm.pkg.github.com
39
- //npm.pkg.github.com/:_authToken=SEU_TOKEN
21
+ npm install @visio-io/design-system
22
+ # ou
23
+ pnpm add @visio-io/design-system
40
24
  ```
41
25
 
42
- **Nota:** O script `prepare` executa automaticamente o build quando o pacote é instalado via Git.
43
-
44
- ## Dependências Peer
45
-
46
- Este pacote requer as seguintes dependências no seu projeto:
26
+ ## 🚀 Uso básico
47
27
 
48
- - `react` ^19.0.0
49
- - `react-dom` ^19.0.0
50
- - `@mui/material` ^5.0.0
51
- - `@emotion/react` ^11.0.0
52
- - `@emotion/styled` ^11.0.0
28
+ ### 1. Importar o CSS global
53
29
 
54
- ## Uso
55
-
56
- ### Importar componentes
30
+ No arquivo principal da aplicação (ex: `layout.tsx`, `_app.tsx`, `main.tsx`):
57
31
 
58
32
  ```tsx
59
- import { Button } from "@visio-io/design-system";
60
-
61
- function App() {
62
- return <Button variant="contained">Clique aqui</Button>;
63
- }
33
+ import "@visio-io/design-system/style.css";
64
34
  ```
65
35
 
66
- **Nota:** Os estilos CSS são incluídos automaticamente quando você importa qualquer componente. Não é necessário importar o CSS manualmente.
36
+ **⚠️ Importante:** Use `@visio-io/design-system/style.css` (sem `/dist`) porque o `package.json` mapeia o caminho corretamente.
67
37
 
68
- ### Importar temas
38
+ ### 2. Importar componentes
69
39
 
70
40
  ```tsx
71
- import { ThemeProvider } from "@mui/material/styles";
72
- import { lightTheme, darkTheme } from "@visio-io/design-system";
41
+ import { Button, VideoPlayer, SearchBar } from "@visio-io/design-system";
73
42
 
74
43
  function App() {
75
44
  return (
76
- <ThemeProvider theme={lightTheme}>
77
- {/* Seus componentes aqui */}
78
- </ThemeProvider>
45
+ <div>
46
+ <Button>Click me</Button>
47
+ <VideoPlayer availableQualities={[...]} />
48
+ </div>
79
49
  );
80
50
  }
81
51
  ```
82
52
 
83
- ### Importar tokens
53
+ ### 3. Usar tokens de design (opcional)
84
54
 
85
55
  ```tsx
86
- import { spacingTokens, colorsTokens } from "@visio-io/design-system/tokens";
56
+ import { lightColors, darkColors, spacingTokens } from "@visio-io/design-system/tokens";
57
+
58
+ // Use os tokens nos seus estilos customizados
59
+ const myStyle = {
60
+ color: lightColors.primary,
61
+ padding: spacingTokens.md,
62
+ };
87
63
  ```
88
64
 
89
- ## Desenvolvimento
65
+ ## 📚 Componentes disponíveis
90
66
 
91
- ```bash
92
- # Instalar dependências
93
- pnpm install
67
+ - **Button** - Botão customizável com variantes
68
+ - **VideoPlayer** - Player de vídeo com suporte a WebRTC, controles completos e responsivo
69
+ - **SearchBar** - Barra de busca com autocomplete e filtros
70
+ - **ModuleMenu** - Menu de módulos com estados expandido/colapsado
71
+ - **SidebarMenu** - Menu lateral com subitens
72
+ - **GoogleMap** - Integração com Google Maps
73
+ - **MapSpot** - Marcadores customizados para mapas
74
+ - **CountCard** - Cartão para exibir contadores
75
+ - **FilterButton** - Botão com dropdown de filtros
76
+ - **NotFoundContent** - Tela de conteúdo não encontrado
77
+ - **ZoomControls** - Controles de zoom para mapas
94
78
 
95
- # Executar Storybook
96
- pnpm dev
79
+ ## 🎨 Tema e estilização
97
80
 
98
- # Build da biblioteca
99
- pnpm build
81
+ O design system usa Material-UI como base. Para personalizar o tema:
100
82
 
101
- # Verificar tipos
102
- pnpm type-check
83
+ ```tsx
84
+ import { ThemeProvider, createTheme } from '@mui/material/styles';
85
+ import { lightTheme, darkTheme } from '@visio-io/design-system';
86
+
87
+ // Use o tema padrão
88
+ <ThemeProvider theme={lightTheme}>
89
+ <App />
90
+ </ThemeProvider>
91
+
92
+ // Ou customize
93
+ const customTheme = createTheme({
94
+ ...lightTheme,
95
+ palette: {
96
+ ...lightTheme.palette,
97
+ primary: {
98
+ main: '#your-color',
99
+ },
100
+ },
101
+ });
103
102
  ```
104
103
 
105
- ## Publicação
104
+ ## 🔧 Desenvolvimento
106
105
 
107
- O projeto usa [Changesets](https://github.com/changesets/changesets) para gerenciamento de versões e é publicado no GitHub Packages.
106
+ ### Executar Storybook
108
107
 
109
- ### Publicação Automática (Recomendado)
108
+ ```bash
109
+ pnpm dev
110
+ ```
110
111
 
111
- O projeto possui um workflow do GitHub Actions que publica automaticamente quando há changesets no branch `main` ou `master`.
112
+ Acesse: http://localhost:6006
113
+
114
+ ### Build
112
115
 
113
- 1. Crie um changeset:
114
116
  ```bash
115
- pnpm changeset
117
+ pnpm build
116
118
  ```
117
119
 
118
- 2. Commit e push:
120
+ ### Publicar (yalc)
121
+
119
122
  ```bash
120
- git add .
121
- git commit -m "feat: nova funcionalidade"
122
- git push
123
+ pnpm build && yalc push
123
124
  ```
124
125
 
125
- 3. O workflow irá:
126
- - Detectar o changeset
127
- - Criar um PR com a atualização de versão
128
- - Após merge, publicar automaticamente no GitHub Packages
126
+ ## 📖 Documentação
129
127
 
130
- ### Publicação Manual
128
+ Acesse o Storybook para ver a documentação completa de cada componente com exemplos interativos:
131
129
 
132
130
  ```bash
133
- # Build do projeto
134
- pnpm build
131
+ pnpm dev
132
+ ```
133
+
134
+ ## 🐛 Troubleshooting
135
+
136
+ ### Erro: "Module not found: Can't resolve '@visio-io/design-system/dist/style.css'"
137
+
138
+ **Causa:** Import incorreto do CSS.
139
+
140
+ **Solução:** Use `@visio-io/design-system/style.css` (sem `/dist`):
135
141
 
136
- # Publicar no GitHub Packages
137
- pnpm publish
142
+ ```tsx
143
+ // ❌ Errado
144
+ import "@visio-io/design-system/dist/style.css";
145
+
146
+ // ✅ Correto
147
+ import "@visio-io/design-system/style.css";
148
+ ```
149
+
150
+ ### Erro: "Cannot find module '@visio-io/design-system'"
151
+
152
+ **Causa:** Pacote não instalado.
153
+
154
+ **Solução:** Execute `yalc add @visio-io/design-system` no projeto receptor.
155
+
156
+ ### Estilos não aplicados
157
+
158
+ **Causa:** CSS não importado ou ordem de importação incorreta.
159
+
160
+ **Solução:**
161
+ 1. Certifique-se de importar o CSS antes dos componentes
162
+ 2. Verifique se o CSS está sendo importado no arquivo raiz da aplicação
163
+
164
+ ```tsx
165
+ // ✅ Ordem correta
166
+ import "@/app/styles/globals.css";
167
+ import "@visio-io/design-system/style.css";
168
+ import { Button } from "@visio-io/design-system";
138
169
  ```
139
170
 
140
- **Nota:** Você precisará configurar autenticação. Veja o arquivo `TUTORIAL_GITHUB_PACKAGES.md` para instruções completas.
171
+ ## 📝 Estrutura de exports
172
+
173
+ O `package.json` exporta:
174
+
175
+ ```json
176
+ {
177
+ ".": "./dist/index.es.js", // Componentes
178
+ "./style.css": "./dist/style.css", // Estilos
179
+ "./tokens": "./src/styles/tokens" // Tokens de design
180
+ }
181
+ ```
182
+
183
+ ## 🤝 Contribuindo
184
+
185
+ 1. Clone o repositório
186
+ 2. Instale as dependências: `pnpm install`
187
+ 3. Faça suas alterações
188
+ 4. Execute o Storybook: `pnpm dev`
189
+ 5. Build: `pnpm build`
190
+ 6. Teste localmente com yalc: `yalc push`
141
191
 
142
- ### Instalação do Pacote Publicado
192
+ ## 📦 Publicando nova versão
143
193
 
144
- Para instalar o pacote publicado no GitHub Packages:
194
+ ### Usando Changesets (recomendado)
145
195
 
146
- 1. Configure autenticação (veja `TUTORIAL_GITHUB_PACKAGES.md`)
147
- 2. Instale o pacote:
148
196
  ```bash
149
- pnpm add @visio-io/design-system
197
+ # 1. Criar um changeset documentando as mudanças
198
+ pnpm changeset
199
+
200
+ # 2. Atualizar versão e CHANGELOG
201
+ pnpm changeset version
202
+
203
+ # 3. Build e publicar
204
+ pnpm release
150
205
  ```
151
206
 
207
+ ### Publicação manual
208
+
209
+ ```bash
210
+ # 1. Atualizar versão no package.json
211
+ # Edite manualmente ou use:
212
+ npm version patch # 1.0.1 -> 1.0.2
213
+ npm version minor # 1.0.1 -> 1.1.0
214
+ npm version major # 1.0.1 -> 2.0.0
215
+
216
+ # 2. Build
217
+ pnpm build
218
+
219
+ # 3. Publicar no npm
220
+ npm publish --access public
221
+
222
+ # 4. Push das tags
223
+ git push --follow-tags
224
+ ```
225
+
226
+ ### Versionamento semântico
227
+
228
+ - **PATCH** (1.0.x): Correções de bugs, pequenas melhorias
229
+ - **MINOR** (1.x.0): Novas funcionalidades, backward compatible
230
+ - **MAJOR** (x.0.0): Breaking changes
231
+
232
+ ### ⚠️ Antes de publicar
233
+
234
+ - ✅ Certifique-se de estar autenticado no npm: `npm login`
235
+ - ✅ Verifique se tem permissões no package `@visio-io/design-system`
236
+ - ✅ Atualize o CHANGELOG.md com as mudanças
237
+ - ✅ Teste a build localmente: `pnpm build`
238
+ - ✅ Verifique os arquivos que serão publicados: `npm pack --dry-run`
239
+
240
+ ## 📄 Licença
241
+
242
+ Proprietary - Visio.io