You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: src/cookbook/editable-svg-icons.md
+8-8Lines changed: 8 additions & 8 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -40,9 +40,9 @@ Vamos criar um componente de ícone base (`IconBase.vue`) que usa um `slot`.
40
40
</template>
41
41
```
42
42
43
-
Você pode usar essa base de ícones como está – a única coisa que você pode precisar atualizar é a e `viewBox` dependendo da `viewBox` dos ícones que for utilizar. Na base, vamos usar propriedades para `width`, `height`, `iconColor`, e `iconColor`, para que possam ser atualizados dinamicamente. O nome será usado tanto para o conteúdo do `<title>` como para o `id` para acessilibidade.
43
+
Você pode usar esse ícone base como está – a única coisa que você pode precisar atualizar é a `viewBox` dependendo da `viewBox` dos ícones que for utilizar. Na base, vamos usar propriedades `width`, `height`, `iconColor` e `iconName`, para que possam ser atualizados dinamicamente. O nome será usado tanto para o conteúdo do `<title>` como para o `id` para acessibilidade.
44
44
45
-
Nosso script ficará assim, teremos alguns valores padrão para que nosso ícone seja renderizado de forma consistente, a menos que declaremos o contrário:
45
+
Nosso *script* ficará assim, teremos alguns valores padrão para que nosso ícone seja renderizado de forma consistente, a menos que declaremos o contrário:
46
46
47
47
```js
48
48
exportdefault {
@@ -69,7 +69,7 @@ export default {
69
69
70
70
A propriedade `currentColor` , usada como padrão para o preenchimento, irá permitir ao ícone herdar a cor do texto que o rodeia. Também poderíamos passar uma cor diferente como `prop` se quisermos.
71
71
72
-
Podemos usá-lo assim, com o único conteúdo de `IconWrite.vue`contendo os `path`dentro do ícone:
72
+
Podemos usá-lo assim, bastando que o conteúdo do componente `IconWrite.vue`seja um conjunto de `path`referente ao desenho desejado:
@@ -92,7 +92,7 @@ Agora, se quisermos fazer vários tamanhos para o ícone, podemos fazer isso fac
92
92
93
93
## Ícones Animáveis
94
94
95
-
Manter os ícones como componentes é muito útil quando você deseja animá-los, especialmente em uma interação. Os SVGs embutidos (*inline*) têm o maior suporte para interação de qualquer método. Eis um exemplo básico de um ícone animado no evento `@click`:
95
+
Manter os ícones como componentes é muito útil quando você deseja animá-los, especialmente em uma interação. Os SVGs embutidos (*inline*) têm maior suporte a interações, seja através de *script* ou de *style*. Eis um exemplo básico de um ícone animado no evento `@click`:
96
96
97
97
```html
98
98
<template>
@@ -105,7 +105,7 @@ Manter os ícones como componentes é muito útil quando você deseja animá-los
<titleid="scissors"lang="en">Ícone de Tesoura Animado</title>
109
109
<pathid="bk"fill="#fff"d="M0 0h100v100H0z" />
110
110
<gref="leftscissor">
111
111
<pathd="M..." />
@@ -143,15 +143,15 @@ export default {
143
143
144
144
Estamos aplicando `refs` aos grupos de caminhos que precisamos mover e, como ambos os lados da tesoura devem mover-se em conjunto, criamos uma função que permite a reutilização em ambas as `refs`. O uso da biblioteca GreenSock ajuda a resolver questões de suporte às animações e problemas de `transform-origin` entre os navegadores.
145
145
146
-
<pdata-height="300"data-theme-id="0"data-slug-hash="dJRpgY"data-default-tab="result"data-user="Vue"data-embed-version="2"data-pen-title="Editable SVG Icon System: Animated icon"class="codepen">See the Pen <ahref="https://codepen.io/team/Vue/pen/dJRpgY/">Editable SVG Icon System: Animated icon</a> by Vue (<ahref="https://codepen.io/Vue">@Vue</a>) on <ahref="https://codepen.io">CodePen</a>.</p><scriptasyncsrc="https://production-assets.codepen.io/assets/embed/ei.js"></script>
146
+
<pdata-height="300"data-theme-id="0"data-slug-hash="dJRpgY"data-default-tab="result"data-user="Vue"data-embed-version="2"data-pen-title="Editable SVG Icon System: Animated icon"class="codepen">Veja o Exemplo <ahref="https://codepen.io/team/Vue/pen/dJRpgY/">Sistema de Ícones SVG Editáveis: Ícone Animado</a> by Vue (<ahref="https://codepen.io/Vue">@Vue</a>) no <ahref="https://codepen.io">CodePen</a>.</p><scriptasyncsrc="https://production-assets.codepen.io/assets/embed/ei.js"></script>
147
147
148
-
<pstyle="margin-top:-30px">Um resultado atingido facilmente! E fácil de se atualizar sempre que necessário.</p>
148
+
Um resultado atingido facilmente! E fácil de se atualizar sempre que necessário.
149
149
150
150
Pode ver mais exemplos de animações [neste repositório](https://github.com/sdras/vue-sample-svg-icons/)
151
151
152
152
## Notas Adicionais
153
153
154
-
Os *designers* podem mudar de ideias. Ou podem ocorrer mudanças nos requisitos do produto. Manter todo o seu sistema de ícones baseados em componentes garante a possibilidade de atualizá-los todos, e os ter automaticamente aplicados em todo o sistema. Mesmo com o uso de uma ferramenta do tipo icon loader, algumas situações irão requerer que você recrie ou edite todos os SVG, para fazer alterações globais. O presente método pode ainda poupar-lhe tempo e dor.
154
+
Os *designers* podem mudar de ideias. Ou podem ocorrer mudanças nos requisitos do produto. Manter a lógica para todo o sistema de ícones em um componente base garante a possibilidade de atualizá-los todos, e ter isso automaticamente propagado por todo o sistema. Mesmo com o uso de uma ferramenta do tipo *icon loader*, algumas situações irão requerer que você recrie ou edite todos os SVG, para fazer alterações globais. O presente método pode ainda poupar-lhe tempo e dor.
0 commit comments