voa-ds-core 1.0.4 → 1.0.7
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.
|
@@ -0,0 +1,393 @@
|
|
|
1
|
+
import { html } from "lit-html";
|
|
2
|
+
export default {
|
|
3
|
+
title: "Documentação/Importando Estilos CSS",
|
|
4
|
+
};
|
|
5
|
+
const Template = () => html `
|
|
6
|
+
<style>
|
|
7
|
+
.guia-container {
|
|
8
|
+
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
|
|
9
|
+
line-height: 1.7;
|
|
10
|
+
max-width: 1000px;
|
|
11
|
+
margin: 0 auto;
|
|
12
|
+
padding: 30px;
|
|
13
|
+
color: #2d3748;
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
.guia-container h1 {
|
|
17
|
+
font-size: 2.5rem;
|
|
18
|
+
margin-bottom: 10px;
|
|
19
|
+
color: #1a202c;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
.guia-container h2 {
|
|
23
|
+
font-size: 1.8rem;
|
|
24
|
+
margin-top: 40px;
|
|
25
|
+
margin-bottom: 15px;
|
|
26
|
+
color: #2d3748;
|
|
27
|
+
border-bottom: 3px solid #3182ce;
|
|
28
|
+
padding-bottom: 10px;
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
.guia-container h3 {
|
|
32
|
+
font-size: 1.4rem;
|
|
33
|
+
margin-top: 30px;
|
|
34
|
+
margin-bottom: 12px;
|
|
35
|
+
color: #4a5568;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
.guia-container h4 {
|
|
39
|
+
font-size: 1.1rem;
|
|
40
|
+
margin-top: 20px;
|
|
41
|
+
margin-bottom: 8px;
|
|
42
|
+
color: #718096;
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
.guia-container pre {
|
|
46
|
+
background-color: #2d3748;
|
|
47
|
+
color: #f7fafc;
|
|
48
|
+
padding: 20px;
|
|
49
|
+
border-radius: 8px;
|
|
50
|
+
overflow-x: auto;
|
|
51
|
+
font-size: 14px;
|
|
52
|
+
line-height: 1.5;
|
|
53
|
+
margin: 15px 0;
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
.guia-container code {
|
|
57
|
+
font-family: 'Fira Code', 'Courier New', monospace;
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
.guia-container ul {
|
|
61
|
+
margin: 15px 0;
|
|
62
|
+
padding-left: 25px;
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
.guia-container li {
|
|
66
|
+
margin: 8px 0;
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
.alert-box {
|
|
70
|
+
background: #ebf8ff;
|
|
71
|
+
border-left: 4px solid #3182ce;
|
|
72
|
+
padding: 15px 20px;
|
|
73
|
+
margin: 20px 0;
|
|
74
|
+
border-radius: 4px;
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
.warning-box {
|
|
78
|
+
background: #fffaf0;
|
|
79
|
+
border-left: 4px solid #ed8936;
|
|
80
|
+
padding: 15px 20px;
|
|
81
|
+
margin: 20px 0;
|
|
82
|
+
border-radius: 4px;
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
.success-box {
|
|
86
|
+
background: #f0fff4;
|
|
87
|
+
border-left: 4px solid #48bb78;
|
|
88
|
+
padding: 15px 20px;
|
|
89
|
+
margin: 20px 0;
|
|
90
|
+
border-radius: 4px;
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
.error-box {
|
|
94
|
+
background: #fff5f5;
|
|
95
|
+
border-left: 4px solid #f56565;
|
|
96
|
+
padding: 15px 20px;
|
|
97
|
+
margin: 20px 0;
|
|
98
|
+
border-radius: 4px;
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
.variants-table {
|
|
102
|
+
width: 100%;
|
|
103
|
+
border-collapse: collapse;
|
|
104
|
+
margin: 15px 0;
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
.variants-table th,
|
|
108
|
+
.variants-table td {
|
|
109
|
+
padding: 12px;
|
|
110
|
+
text-align: left;
|
|
111
|
+
border-bottom: 1px solid #e2e8f0;
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
.variants-table th {
|
|
115
|
+
background: #edf2f7;
|
|
116
|
+
font-weight: 600;
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
.code-inline {
|
|
120
|
+
background: #edf2f7;
|
|
121
|
+
padding: 2px 6px;
|
|
122
|
+
border-radius: 3px;
|
|
123
|
+
font-family: monospace;
|
|
124
|
+
font-size: 0.9em;
|
|
125
|
+
}
|
|
126
|
+
</style>
|
|
127
|
+
|
|
128
|
+
<div class="guia-container">
|
|
129
|
+
<h1>Como Importar os Estilos CSS</h1>
|
|
130
|
+
<p>
|
|
131
|
+
Se você está usando os componentes mas eles aparecem sem estilização,
|
|
132
|
+
provavelmente o CSS não está sendo carregado. Veja como resolver.
|
|
133
|
+
</p>
|
|
134
|
+
|
|
135
|
+
<div class="error-box">
|
|
136
|
+
<strong>Problema Comum:</strong> Componentes aparecem sem cores, espaçamento ou qualquer estilo visual.
|
|
137
|
+
</div>
|
|
138
|
+
|
|
139
|
+
<h2>Importação Automática (Recomendado)</h2>
|
|
140
|
+
|
|
141
|
+
<div class="success-box">
|
|
142
|
+
Os estilos são importados automaticamente quando você importa qualquer componente dos pacotes wrapper.
|
|
143
|
+
</div>
|
|
144
|
+
|
|
145
|
+
<h3>React</h3>
|
|
146
|
+
<pre><code>import { VoaButton } from 'voa-ds-react';
|
|
147
|
+
|
|
148
|
+
function App() {
|
|
149
|
+
return <VoaButton>Clique aqui</VoaButton>;
|
|
150
|
+
}
|
|
151
|
+
|
|
152
|
+
// Os estilos já estão incluídos!</code></pre>
|
|
153
|
+
|
|
154
|
+
<h3>Angular</h3>
|
|
155
|
+
<p>No Angular, você precisa adicionar o CSS no arquivo <span class="code-inline">angular.json</span>:</p>
|
|
156
|
+
<pre><code>{
|
|
157
|
+
"projects": {
|
|
158
|
+
"seu-projeto": {
|
|
159
|
+
"architect": {
|
|
160
|
+
"build": {
|
|
161
|
+
"options": {
|
|
162
|
+
"styles": [
|
|
163
|
+
"node_modules/voa-ds-core/dist/voa/voa.css",
|
|
164
|
+
"src/styles.css"
|
|
165
|
+
]
|
|
166
|
+
}
|
|
167
|
+
}
|
|
168
|
+
}
|
|
169
|
+
}
|
|
170
|
+
}
|
|
171
|
+
}</code></pre>
|
|
172
|
+
|
|
173
|
+
<h3>Vue</h3>
|
|
174
|
+
<pre><code><template>
|
|
175
|
+
<VoaButton>Clique aqui</VoaButton>
|
|
176
|
+
</template>
|
|
177
|
+
|
|
178
|
+
<script>
|
|
179
|
+
import { VoaButton } from 'voa-ds-vue';
|
|
180
|
+
|
|
181
|
+
export default {
|
|
182
|
+
components: { VoaButton }
|
|
183
|
+
}
|
|
184
|
+
// Os estilos já estão incluídos!
|
|
185
|
+
</script></code></pre>
|
|
186
|
+
|
|
187
|
+
<hr style="margin: 50px 0; border: none; border-top: 1px solid #e2e8f0;">
|
|
188
|
+
|
|
189
|
+
<h2>Importação Manual</h2>
|
|
190
|
+
|
|
191
|
+
<p>Se os estilos não estiverem sendo aplicados automaticamente, você pode importá-los manualmente.</p>
|
|
192
|
+
|
|
193
|
+
<h3>Opção 1: Importar do Pacote Wrapper</h3>
|
|
194
|
+
<pre><code>// React
|
|
195
|
+
import 'voa-ds-react/styles';
|
|
196
|
+
|
|
197
|
+
// Angular
|
|
198
|
+
import 'voa-ds-angular/styles';
|
|
199
|
+
|
|
200
|
+
// Vue
|
|
201
|
+
import 'voa-ds-vue/styles';</code></pre>
|
|
202
|
+
|
|
203
|
+
<h3>Opção 2: Importar Direto do Core</h3>
|
|
204
|
+
<pre><code>import 'voa-ds-core/dist/voa/voa.css';</code></pre>
|
|
205
|
+
|
|
206
|
+
<h3>Opção 3: Adicionar no HTML (Apenas para Testes)</h3>
|
|
207
|
+
<pre><code><link rel="stylesheet" href="node_modules/voa-ds-core/dist/voa/voa.css"></code></pre>
|
|
208
|
+
|
|
209
|
+
<div class="warning-box">
|
|
210
|
+
<strong>Atenção:</strong> A Opção 3 não é recomendada para produção, use apenas para testes rápidos.
|
|
211
|
+
</div>
|
|
212
|
+
|
|
213
|
+
<hr style="margin: 50px 0; border: none; border-top: 1px solid #e2e8f0;">
|
|
214
|
+
|
|
215
|
+
<h2>Configuração de Bundlers</h2>
|
|
216
|
+
|
|
217
|
+
<h3>Vite</h3>
|
|
218
|
+
<div class="success-box">
|
|
219
|
+
Vite processa CSS automaticamente. Não é necessária configuração adicional.
|
|
220
|
+
</div>
|
|
221
|
+
<pre><code>// vite.config.js - nenhuma configuração especial necessária
|
|
222
|
+
import { defineConfig } from 'vite';
|
|
223
|
+
|
|
224
|
+
export default defineConfig({
|
|
225
|
+
// suas configurações
|
|
226
|
+
});</code></pre>
|
|
227
|
+
|
|
228
|
+
<h3>Webpack</h3>
|
|
229
|
+
<p>Certifique-se de ter o <span class="code-inline">css-loader</span> e <span class="code-inline">style-loader</span> configurados:</p>
|
|
230
|
+
<pre><code>// webpack.config.js
|
|
231
|
+
module.exports = {
|
|
232
|
+
module: {
|
|
233
|
+
rules: [
|
|
234
|
+
{
|
|
235
|
+
test: /\\.css$/,
|
|
236
|
+
use: ['style-loader', 'css-loader']
|
|
237
|
+
}
|
|
238
|
+
]
|
|
239
|
+
}
|
|
240
|
+
};</code></pre>
|
|
241
|
+
|
|
242
|
+
<p>Se não tiver instalado:</p>
|
|
243
|
+
<pre><code>npm install --save-dev css-loader style-loader</code></pre>
|
|
244
|
+
|
|
245
|
+
<h3>Create React App</h3>
|
|
246
|
+
<div class="success-box">
|
|
247
|
+
O CRA já processa CSS automaticamente. Não é necessária configuração adicional.
|
|
248
|
+
</div>
|
|
249
|
+
|
|
250
|
+
<h3>Next.js</h3>
|
|
251
|
+
<p>Importe no arquivo <span class="code-inline">_app.tsx</span> ou <span class="code-inline">_app.jsx</span>:</p>
|
|
252
|
+
<pre><code>// pages/_app.tsx
|
|
253
|
+
import 'voa-ds-react/styles';
|
|
254
|
+
// ou
|
|
255
|
+
import 'voa-ds-core/dist/voa/voa.css';
|
|
256
|
+
|
|
257
|
+
function MyApp({ Component, pageProps }) {
|
|
258
|
+
return <Component {...pageProps} />;
|
|
259
|
+
}
|
|
260
|
+
|
|
261
|
+
export default MyApp;</code></pre>
|
|
262
|
+
|
|
263
|
+
<h3>Angular CLI</h3>
|
|
264
|
+
<p>Já mostrado acima, mas repetindo: adicione no <span class="code-inline">angular.json</span>:</p>
|
|
265
|
+
<pre><code>"styles": [
|
|
266
|
+
"node_modules/voa-ds-core/dist/voa/voa.css",
|
|
267
|
+
"src/styles.css"
|
|
268
|
+
]</code></pre>
|
|
269
|
+
|
|
270
|
+
<h3>Nuxt.js (Vue)</h3>
|
|
271
|
+
<p>Adicione no arquivo <span class="code-inline">nuxt.config.js</span>:</p>
|
|
272
|
+
<pre><code>export default {
|
|
273
|
+
css: [
|
|
274
|
+
'voa-ds-core/dist/voa/voa.css'
|
|
275
|
+
]
|
|
276
|
+
}</code></pre>
|
|
277
|
+
|
|
278
|
+
<hr style="margin: 50px 0; border: none; border-top: 1px solid #e2e8f0;">
|
|
279
|
+
|
|
280
|
+
<h2>Verificando se os Estilos Estão Carregados</h2>
|
|
281
|
+
|
|
282
|
+
<h3>Método 1: DevTools - Network</h3>
|
|
283
|
+
<ol>
|
|
284
|
+
<li>Abra o DevTools do navegador (F12)</li>
|
|
285
|
+
<li>Vá na aba <strong>Network</strong></li>
|
|
286
|
+
<li>Filtre por <strong>CSS</strong></li>
|
|
287
|
+
<li>Recarregue a página</li>
|
|
288
|
+
<li>Verifique se o arquivo <span class="code-inline">voa.css</span> está sendo carregado</li>
|
|
289
|
+
</ol>
|
|
290
|
+
|
|
291
|
+
<h3>Método 2: Inspecionar Elemento</h3>
|
|
292
|
+
<ol>
|
|
293
|
+
<li>Clique com botão direito em um componente</li>
|
|
294
|
+
<li>Selecione <strong>Inspecionar</strong></li>
|
|
295
|
+
<li>Verifique se as classes CSS estão aplicadas</li>
|
|
296
|
+
<li>Veja se os estilos aparecem no painel direito</li>
|
|
297
|
+
</ol>
|
|
298
|
+
|
|
299
|
+
<div class="alert-box">
|
|
300
|
+
Se você vir classes como <span class="code-inline">voa-button</span>, <span class="code-inline">primary</span>, etc.,
|
|
301
|
+
mas sem estilos aplicados, o CSS não está carregando.
|
|
302
|
+
</div>
|
|
303
|
+
|
|
304
|
+
<hr style="margin: 50px 0; border: none; border-top: 1px solid #e2e8f0;">
|
|
305
|
+
|
|
306
|
+
<h2>Problemas Comuns e Soluções</h2>
|
|
307
|
+
|
|
308
|
+
<h3>Componentes aparecem sem estilo</h3>
|
|
309
|
+
<div class="warning-box">
|
|
310
|
+
<strong>Solução:</strong>
|
|
311
|
+
<ul style="margin: 10px 0 0 0; padding-left: 20px;">
|
|
312
|
+
<li>Verifique se o CSS está sendo importado</li>
|
|
313
|
+
<li>Confirme que o bundler está processando arquivos CSS</li>
|
|
314
|
+
<li>Tente importar manualmente: <span class="code-inline">import 'voa-ds-core/dist/voa/voa.css'</span></li>
|
|
315
|
+
</ul>
|
|
316
|
+
</div>
|
|
317
|
+
|
|
318
|
+
<h3>Erro: "Cannot find module 'voa-ds-core/styles'"</h3>
|
|
319
|
+
<div class="warning-box">
|
|
320
|
+
<strong>Solução:</strong> Use o caminho completo em vez disso:
|
|
321
|
+
<pre style="margin-top: 10px;"><code>import 'voa-ds-core/dist/voa/voa.css';</code></pre>
|
|
322
|
+
</div>
|
|
323
|
+
|
|
324
|
+
<h3>Em Angular, os estilos não aparecem</h3>
|
|
325
|
+
<div class="warning-box">
|
|
326
|
+
<strong>Solução:</strong>
|
|
327
|
+
<ul style="margin: 10px 0 0 0; padding-left: 20px;">
|
|
328
|
+
<li>Certifique-se de adicionar o CSS no <span class="code-inline">angular.json</span></li>
|
|
329
|
+
<li>Reinicie o servidor de desenvolvimento após alterar o <span class="code-inline">angular.json</span></li>
|
|
330
|
+
<li>Verifique se o caminho está correto: <span class="code-inline">node_modules/voa-ds-core/dist/voa/voa.css</span></li>
|
|
331
|
+
</ul>
|
|
332
|
+
</div>
|
|
333
|
+
|
|
334
|
+
<h3>Estilos funcionam localmente mas não em produção</h3>
|
|
335
|
+
<div class="warning-box">
|
|
336
|
+
<strong>Solução:</strong>
|
|
337
|
+
<ul style="margin: 10px 0 0 0; padding-left: 20px;">
|
|
338
|
+
<li>Verifique se o CSS está incluído no build de produção</li>
|
|
339
|
+
<li>Confirme que o arquivo CSS está sendo copiado para a pasta de distribuição</li>
|
|
340
|
+
<li>Verifique se o Content Security Policy (CSP) não está bloqueando estilos inline</li>
|
|
341
|
+
</ul>
|
|
342
|
+
</div>
|
|
343
|
+
|
|
344
|
+
<hr style="margin: 50px 0; border: none; border-top: 1px solid #e2e8f0;">
|
|
345
|
+
|
|
346
|
+
<h2>Resumo Rápido</h2>
|
|
347
|
+
|
|
348
|
+
<table class="variants-table">
|
|
349
|
+
<thead>
|
|
350
|
+
<tr>
|
|
351
|
+
<th>Framework</th>
|
|
352
|
+
<th>Solução Recomendada</th>
|
|
353
|
+
</tr>
|
|
354
|
+
</thead>
|
|
355
|
+
<tbody>
|
|
356
|
+
<tr>
|
|
357
|
+
<td><strong>React (Vite/CRA)</strong></td>
|
|
358
|
+
<td>Importação automática funciona</td>
|
|
359
|
+
</tr>
|
|
360
|
+
<tr>
|
|
361
|
+
<td><strong>React (Next.js)</strong></td>
|
|
362
|
+
<td>Importar em <span class="code-inline">_app.tsx</span></td>
|
|
363
|
+
</tr>
|
|
364
|
+
<tr>
|
|
365
|
+
<td><strong>Angular</strong></td>
|
|
366
|
+
<td>Adicionar no <span class="code-inline">angular.json</span></td>
|
|
367
|
+
</tr>
|
|
368
|
+
<tr>
|
|
369
|
+
<td><strong>Vue (Vite)</strong></td>
|
|
370
|
+
<td>Importação automática funciona</td>
|
|
371
|
+
</tr>
|
|
372
|
+
<tr>
|
|
373
|
+
<td><strong>Vue (Nuxt)</strong></td>
|
|
374
|
+
<td>Adicionar no <span class="code-inline">nuxt.config.js</span></td>
|
|
375
|
+
</tr>
|
|
376
|
+
</tbody>
|
|
377
|
+
</table>
|
|
378
|
+
|
|
379
|
+
<div class="success-box">
|
|
380
|
+
<strong>Dica Final:</strong> Na dúvida, sempre pode importar manualmente:
|
|
381
|
+
<pre style="margin-top: 10px;"><code>import 'voa-ds-core/dist/voa/voa.css';</code></pre>
|
|
382
|
+
Isso funciona em todos os frameworks!
|
|
383
|
+
</div>
|
|
384
|
+
|
|
385
|
+
<hr style="margin: 50px 0; border: none; border-top: 1px solid #e2e8f0;">
|
|
386
|
+
|
|
387
|
+
<div style="text-align: center; color: #718096; padding: 20px;">
|
|
388
|
+
<p>Ainda com problemas? Verifique a configuração do seu bundler ou procure o time!</p>
|
|
389
|
+
</div>
|
|
390
|
+
</div>
|
|
391
|
+
`;
|
|
392
|
+
export const Default = Template.bind({});
|
|
393
|
+
//# sourceMappingURL=ImportandoEstilos.stories.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ImportandoEstilos.stories.js","sourceRoot":"","sources":["../../../src/components/GetStarted/ImportandoEstilos.stories.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,MAAM,UAAU,CAAC;AAEhC,eAAe;IACb,KAAK,EAAE,qCAAqC;CACrC,CAAC;AAEV,MAAM,QAAQ,GAAY,GAAG,EAAE,CAAC,IAAI,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkYnC,CAAC;AAEF,MAAM,CAAC,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC","sourcesContent":["import { Meta, StoryFn } from \"@storybook/web-components\";\r\nimport { html } from \"lit-html\";\r\n\r\nexport default {\r\n title: \"Documentação/Importando Estilos CSS\",\r\n} as Meta;\r\n\r\nconst Template: StoryFn = () => html`\r\n <style>\r\n .guia-container {\r\n font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;\r\n line-height: 1.7;\r\n max-width: 1000px;\r\n margin: 0 auto;\r\n padding: 30px;\r\n color: #2d3748;\r\n }\r\n\r\n .guia-container h1 {\r\n font-size: 2.5rem;\r\n margin-bottom: 10px;\r\n color: #1a202c;\r\n }\r\n\r\n .guia-container h2 {\r\n font-size: 1.8rem;\r\n margin-top: 40px;\r\n margin-bottom: 15px;\r\n color: #2d3748;\r\n border-bottom: 3px solid #3182ce;\r\n padding-bottom: 10px;\r\n }\r\n\r\n .guia-container h3 {\r\n font-size: 1.4rem;\r\n margin-top: 30px;\r\n margin-bottom: 12px;\r\n color: #4a5568;\r\n }\r\n\r\n .guia-container h4 {\r\n font-size: 1.1rem;\r\n margin-top: 20px;\r\n margin-bottom: 8px;\r\n color: #718096;\r\n }\r\n\r\n .guia-container pre {\r\n background-color: #2d3748;\r\n color: #f7fafc;\r\n padding: 20px;\r\n border-radius: 8px;\r\n overflow-x: auto;\r\n font-size: 14px;\r\n line-height: 1.5;\r\n margin: 15px 0;\r\n }\r\n\r\n .guia-container code {\r\n font-family: 'Fira Code', 'Courier New', monospace;\r\n }\r\n\r\n .guia-container ul {\r\n margin: 15px 0;\r\n padding-left: 25px;\r\n }\r\n\r\n .guia-container li {\r\n margin: 8px 0;\r\n }\r\n\r\n .alert-box {\r\n background: #ebf8ff;\r\n border-left: 4px solid #3182ce;\r\n padding: 15px 20px;\r\n margin: 20px 0;\r\n border-radius: 4px;\r\n }\r\n\r\n .warning-box {\r\n background: #fffaf0;\r\n border-left: 4px solid #ed8936;\r\n padding: 15px 20px;\r\n margin: 20px 0;\r\n border-radius: 4px;\r\n }\r\n\r\n .success-box {\r\n background: #f0fff4;\r\n border-left: 4px solid #48bb78;\r\n padding: 15px 20px;\r\n margin: 20px 0;\r\n border-radius: 4px;\r\n }\r\n\r\n .error-box {\r\n background: #fff5f5;\r\n border-left: 4px solid #f56565;\r\n padding: 15px 20px;\r\n margin: 20px 0;\r\n border-radius: 4px;\r\n }\r\n\r\n .variants-table {\r\n width: 100%;\r\n border-collapse: collapse;\r\n margin: 15px 0;\r\n }\r\n\r\n .variants-table th,\r\n .variants-table td {\r\n padding: 12px;\r\n text-align: left;\r\n border-bottom: 1px solid #e2e8f0;\r\n }\r\n\r\n .variants-table th {\r\n background: #edf2f7;\r\n font-weight: 600;\r\n }\r\n\r\n .code-inline {\r\n background: #edf2f7;\r\n padding: 2px 6px;\r\n border-radius: 3px;\r\n font-family: monospace;\r\n font-size: 0.9em;\r\n }\r\n </style>\r\n\r\n <div class=\"guia-container\">\r\n <h1>Como Importar os Estilos CSS</h1>\r\n <p>\r\n Se você está usando os componentes mas eles aparecem sem estilização,\r\n provavelmente o CSS não está sendo carregado. Veja como resolver.\r\n </p>\r\n\r\n <div class=\"error-box\">\r\n <strong>Problema Comum:</strong> Componentes aparecem sem cores, espaçamento ou qualquer estilo visual.\r\n </div>\r\n\r\n <h2>Importação Automática (Recomendado)</h2>\r\n\r\n <div class=\"success-box\">\r\n Os estilos são importados automaticamente quando você importa qualquer componente dos pacotes wrapper.\r\n </div>\r\n\r\n <h3>React</h3>\r\n <pre><code>import { VoaButton } from 'voa-ds-react';\r\n\r\nfunction App() {\r\n return <VoaButton>Clique aqui</VoaButton>;\r\n}\r\n\r\n// Os estilos já estão incluídos!</code></pre>\r\n\r\n <h3>Angular</h3>\r\n <p>No Angular, você precisa adicionar o CSS no arquivo <span class=\"code-inline\">angular.json</span>:</p>\r\n <pre><code>{\r\n \"projects\": {\r\n \"seu-projeto\": {\r\n \"architect\": {\r\n \"build\": {\r\n \"options\": {\r\n \"styles\": [\r\n \"node_modules/voa-ds-core/dist/voa/voa.css\",\r\n \"src/styles.css\"\r\n ]\r\n }\r\n }\r\n }\r\n }\r\n }\r\n}</code></pre>\r\n\r\n <h3>Vue</h3>\r\n <pre><code><template>\r\n <VoaButton>Clique aqui</VoaButton>\r\n</template>\r\n\r\n<script>\r\nimport { VoaButton } from 'voa-ds-vue';\r\n\r\nexport default {\r\n components: { VoaButton }\r\n}\r\n// Os estilos já estão incluídos!\r\n</script></code></pre>\r\n\r\n <hr style=\"margin: 50px 0; border: none; border-top: 1px solid #e2e8f0;\">\r\n\r\n <h2>Importação Manual</h2>\r\n\r\n <p>Se os estilos não estiverem sendo aplicados automaticamente, você pode importá-los manualmente.</p>\r\n\r\n <h3>Opção 1: Importar do Pacote Wrapper</h3>\r\n <pre><code>// React\r\nimport 'voa-ds-react/styles';\r\n\r\n// Angular\r\nimport 'voa-ds-angular/styles';\r\n\r\n// Vue\r\nimport 'voa-ds-vue/styles';</code></pre>\r\n\r\n <h3>Opção 2: Importar Direto do Core</h3>\r\n <pre><code>import 'voa-ds-core/dist/voa/voa.css';</code></pre>\r\n\r\n <h3>Opção 3: Adicionar no HTML (Apenas para Testes)</h3>\r\n <pre><code><link rel=\"stylesheet\" href=\"node_modules/voa-ds-core/dist/voa/voa.css\"></code></pre>\r\n\r\n <div class=\"warning-box\">\r\n <strong>Atenção:</strong> A Opção 3 não é recomendada para produção, use apenas para testes rápidos.\r\n </div>\r\n\r\n <hr style=\"margin: 50px 0; border: none; border-top: 1px solid #e2e8f0;\">\r\n\r\n <h2>Configuração de Bundlers</h2>\r\n\r\n <h3>Vite</h3>\r\n <div class=\"success-box\">\r\n Vite processa CSS automaticamente. Não é necessária configuração adicional.\r\n </div>\r\n <pre><code>// vite.config.js - nenhuma configuração especial necessária\r\nimport { defineConfig } from 'vite';\r\n\r\nexport default defineConfig({\r\n // suas configurações\r\n});</code></pre>\r\n\r\n <h3>Webpack</h3>\r\n <p>Certifique-se de ter o <span class=\"code-inline\">css-loader</span> e <span class=\"code-inline\">style-loader</span> configurados:</p>\r\n <pre><code>// webpack.config.js\r\nmodule.exports = {\r\n module: {\r\n rules: [\r\n {\r\n test: /\\\\.css$/,\r\n use: ['style-loader', 'css-loader']\r\n }\r\n ]\r\n }\r\n};</code></pre>\r\n\r\n <p>Se não tiver instalado:</p>\r\n <pre><code>npm install --save-dev css-loader style-loader</code></pre>\r\n\r\n <h3>Create React App</h3>\r\n <div class=\"success-box\">\r\n O CRA já processa CSS automaticamente. Não é necessária configuração adicional.\r\n </div>\r\n\r\n <h3>Next.js</h3>\r\n <p>Importe no arquivo <span class=\"code-inline\">_app.tsx</span> ou <span class=\"code-inline\">_app.jsx</span>:</p>\r\n <pre><code>// pages/_app.tsx\r\nimport 'voa-ds-react/styles';\r\n// ou\r\nimport 'voa-ds-core/dist/voa/voa.css';\r\n\r\nfunction MyApp({ Component, pageProps }) {\r\n return <Component {...pageProps} />;\r\n}\r\n\r\nexport default MyApp;</code></pre>\r\n\r\n <h3>Angular CLI</h3>\r\n <p>Já mostrado acima, mas repetindo: adicione no <span class=\"code-inline\">angular.json</span>:</p>\r\n <pre><code>\"styles\": [\r\n \"node_modules/voa-ds-core/dist/voa/voa.css\",\r\n \"src/styles.css\"\r\n]</code></pre>\r\n\r\n <h3>Nuxt.js (Vue)</h3>\r\n <p>Adicione no arquivo <span class=\"code-inline\">nuxt.config.js</span>:</p>\r\n <pre><code>export default {\r\n css: [\r\n 'voa-ds-core/dist/voa/voa.css'\r\n ]\r\n}</code></pre>\r\n\r\n <hr style=\"margin: 50px 0; border: none; border-top: 1px solid #e2e8f0;\">\r\n\r\n <h2>Verificando se os Estilos Estão Carregados</h2>\r\n\r\n <h3>Método 1: DevTools - Network</h3>\r\n <ol>\r\n <li>Abra o DevTools do navegador (F12)</li>\r\n <li>Vá na aba <strong>Network</strong></li>\r\n <li>Filtre por <strong>CSS</strong></li>\r\n <li>Recarregue a página</li>\r\n <li>Verifique se o arquivo <span class=\"code-inline\">voa.css</span> está sendo carregado</li>\r\n </ol>\r\n\r\n <h3>Método 2: Inspecionar Elemento</h3>\r\n <ol>\r\n <li>Clique com botão direito em um componente</li>\r\n <li>Selecione <strong>Inspecionar</strong></li>\r\n <li>Verifique se as classes CSS estão aplicadas</li>\r\n <li>Veja se os estilos aparecem no painel direito</li>\r\n </ol>\r\n\r\n <div class=\"alert-box\">\r\n Se você vir classes como <span class=\"code-inline\">voa-button</span>, <span class=\"code-inline\">primary</span>, etc.,\r\n mas sem estilos aplicados, o CSS não está carregando.\r\n </div>\r\n\r\n <hr style=\"margin: 50px 0; border: none; border-top: 1px solid #e2e8f0;\">\r\n\r\n <h2>Problemas Comuns e Soluções</h2>\r\n\r\n <h3>Componentes aparecem sem estilo</h3>\r\n <div class=\"warning-box\">\r\n <strong>Solução:</strong>\r\n <ul style=\"margin: 10px 0 0 0; padding-left: 20px;\">\r\n <li>Verifique se o CSS está sendo importado</li>\r\n <li>Confirme que o bundler está processando arquivos CSS</li>\r\n <li>Tente importar manualmente: <span class=\"code-inline\">import 'voa-ds-core/dist/voa/voa.css'</span></li>\r\n </ul>\r\n </div>\r\n\r\n <h3>Erro: \"Cannot find module 'voa-ds-core/styles'\"</h3>\r\n <div class=\"warning-box\">\r\n <strong>Solução:</strong> Use o caminho completo em vez disso:\r\n <pre style=\"margin-top: 10px;\"><code>import 'voa-ds-core/dist/voa/voa.css';</code></pre>\r\n </div>\r\n\r\n <h3>Em Angular, os estilos não aparecem</h3>\r\n <div class=\"warning-box\">\r\n <strong>Solução:</strong>\r\n <ul style=\"margin: 10px 0 0 0; padding-left: 20px;\">\r\n <li>Certifique-se de adicionar o CSS no <span class=\"code-inline\">angular.json</span></li>\r\n <li>Reinicie o servidor de desenvolvimento após alterar o <span class=\"code-inline\">angular.json</span></li>\r\n <li>Verifique se o caminho está correto: <span class=\"code-inline\">node_modules/voa-ds-core/dist/voa/voa.css</span></li>\r\n </ul>\r\n </div>\r\n\r\n <h3>Estilos funcionam localmente mas não em produção</h3>\r\n <div class=\"warning-box\">\r\n <strong>Solução:</strong>\r\n <ul style=\"margin: 10px 0 0 0; padding-left: 20px;\">\r\n <li>Verifique se o CSS está incluído no build de produção</li>\r\n <li>Confirme que o arquivo CSS está sendo copiado para a pasta de distribuição</li>\r\n <li>Verifique se o Content Security Policy (CSP) não está bloqueando estilos inline</li>\r\n </ul>\r\n </div>\r\n\r\n <hr style=\"margin: 50px 0; border: none; border-top: 1px solid #e2e8f0;\">\r\n\r\n <h2>Resumo Rápido</h2>\r\n\r\n <table class=\"variants-table\">\r\n <thead>\r\n <tr>\r\n <th>Framework</th>\r\n <th>Solução Recomendada</th>\r\n </tr>\r\n </thead>\r\n <tbody>\r\n <tr>\r\n <td><strong>React (Vite/CRA)</strong></td>\r\n <td>Importação automática funciona</td>\r\n </tr>\r\n <tr>\r\n <td><strong>React (Next.js)</strong></td>\r\n <td>Importar em <span class=\"code-inline\">_app.tsx</span></td>\r\n </tr>\r\n <tr>\r\n <td><strong>Angular</strong></td>\r\n <td>Adicionar no <span class=\"code-inline\">angular.json</span></td>\r\n </tr>\r\n <tr>\r\n <td><strong>Vue (Vite)</strong></td>\r\n <td>Importação automática funciona</td>\r\n </tr>\r\n <tr>\r\n <td><strong>Vue (Nuxt)</strong></td>\r\n <td>Adicionar no <span class=\"code-inline\">nuxt.config.js</span></td>\r\n </tr>\r\n </tbody>\r\n </table>\r\n\r\n <div class=\"success-box\">\r\n <strong>Dica Final:</strong> Na dúvida, sempre pode importar manualmente:\r\n <pre style=\"margin-top: 10px;\"><code>import 'voa-ds-core/dist/voa/voa.css';</code></pre>\r\n Isso funciona em todos os frameworks!\r\n </div>\r\n\r\n <hr style=\"margin: 50px 0; border: none; border-top: 1px solid #e2e8f0;\">\r\n\r\n <div style=\"text-align: center; color: #718096; padding: 20px;\">\r\n <p>Ainda com problemas? Verifique a configuração do seu bundler ou procure o time!</p>\r\n </div>\r\n </div>\r\n`;\r\n\r\nexport const Default = Template.bind({});\r\n"]}
|
package/package.json
CHANGED
|
@@ -1,27 +1,32 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "voa-ds-core",
|
|
3
|
-
"version": "1.0.
|
|
4
|
-
"main": "dist/index.cjs.js",
|
|
5
|
-
"module": "dist/index.js",
|
|
6
|
-
"types": "dist/types/index.d.ts",
|
|
7
|
-
"style": "dist/voa/voa.css",
|
|
8
|
-
"files": [
|
|
9
|
-
"dist/"
|
|
10
|
-
],
|
|
11
|
-
"exports": {
|
|
12
|
-
".": {
|
|
13
|
-
"import": "./dist/index.js",
|
|
14
|
-
"require": "./dist/index.cjs.js",
|
|
15
|
-
"types": "./dist/types/index.d.ts"
|
|
16
|
-
},
|
|
17
|
-
"./styles": "./dist/voa/voa.css",
|
|
18
|
-
"./
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
1
|
+
{
|
|
2
|
+
"name": "voa-ds-core",
|
|
3
|
+
"version": "1.0.7",
|
|
4
|
+
"main": "dist/index.cjs.js",
|
|
5
|
+
"module": "dist/index.js",
|
|
6
|
+
"types": "dist/types/index.d.ts",
|
|
7
|
+
"style": "dist/voa/voa.css",
|
|
8
|
+
"files": [
|
|
9
|
+
"dist/"
|
|
10
|
+
],
|
|
11
|
+
"exports": {
|
|
12
|
+
".": {
|
|
13
|
+
"import": "./dist/index.js",
|
|
14
|
+
"require": "./dist/index.cjs.js",
|
|
15
|
+
"types": "./dist/types/index.d.ts"
|
|
16
|
+
},
|
|
17
|
+
"./styles": "./dist/voa/voa.css",
|
|
18
|
+
"./dist/voa/voa.css": "./dist/voa/voa.css",
|
|
19
|
+
"./tokens": "./dist/tokens/global.css",
|
|
20
|
+
"./loader": {
|
|
21
|
+
"import": "./dist/esm/loader.js",
|
|
22
|
+
"require": "./dist/cjs/loader.cjs.js"
|
|
23
|
+
}
|
|
24
|
+
},
|
|
25
|
+
"scripts": {
|
|
26
|
+
"build": "stencil build --prod --docs && node convert-markdown-to-mdx.js",
|
|
27
|
+
"dev": "stencil build --watch --serve"
|
|
28
|
+
},
|
|
29
|
+
"dependencies": {
|
|
30
|
+
"@stencil/core": "^4.0.0"
|
|
31
|
+
}
|
|
32
|
+
}
|