# Icons V2
O componente c-icon
permite inserir ícones facilmente em outros componentes ou em qualquer outra área de suas páginas
Essa é uma nova versão do componente considerada como V2. Ela usa como base a biblioteca de ícones open source Remix Icon (opens new window). Isso faz com que seja possível acessar por volta de 1700 ícones (tanto outline como fill).
Veja na aba API como instalar e utilizar esse componente!
# Simples
<c-icon />
# Ícones
A maioria dos ícones possui ambas as versões (outline e fill) disponíveis (o que pode ser checado na nossa lista de ícones abaixo). Por padrão os ícones sem o sufixo -fill
serão renderizados como outline, e com o sufixo como fill.
Para os nomes, basta copiar da nossa lista aqui no site ou do Figma (opens new window).
<c-icon name="code-box" /> <c-icon name="code-box-fill" /> <c-icon name="github" /> <c-icon name="github-fill" /> <c-icon name="emotion-laugh" /> <c-icon name="emotion-laugh-fill" /> <c-icon name="fire" /> <c-icon name="fire-fill" />
# Cor
Por padrão o componente já respeita a cor atual do texto pai usando a keyword currentColor
(opens new window).
Ainda é possível passar qualquer valor CSS válido, como variáveis de cor do próprio DS (--c-color-primary), RGBs, Hexadecimais, etc.
<div style="color: var(--c-color-primary)"> <c-icon /> </div> <c-icon color="var(--c-color-red-500)" /> <c-icon color="#000" /> <div style="color: pink;"> <c-icon /> </div>
# Tamanhos diferentes
É possível tanto passar um tamanho padrão como small
, medium
e large
, como também especificar o tamanho necessário com um número.
<c-icon size="small" /> <c-icon :size="100" />
# Hover automático entre outline <=> fill
Com a prop de reverse-hover
é possível automáticamente já ter um efeito de hover entre outline e fill, facilitando alguns use cases.
<c-icon name="bank" reverse-hover /> <c-icon name="bank-fill" reverse-hover />
# Acessibilidade
Para a melhor experiência possível nos leitores de tela...(em progresso)
# Lista de Ícones
# API
Para utilizar os ícones da V2 realizar o import do nosso icon font (o que é uma icon font? (opens new window)). Essa instalação é opcional e só é necessária em caso de uso desse componente, não prejudicando quem não utilizar.
Existem duas opções de import:
- Localmente na página onde o novo componente de CIcon for ser utilizado
- Globalmente para a aplicação, como no nuxt.config
// Localmente
import '@estrategiahq/coruja-web-ui/dist/icons/DesignSystemIcons.css'
2
// nuxt.config
// css prop
css: [
...
'@estrategiahq/coruja-web-ui/dist/icons/DesignSystemIcons.css'
...
],
2
3
4
5
6
7
Depois basta importar o componente de CIcon
:
import { CIcon } from '@estrategiahq/coruja-web-ui'
# Props
A props disponíveis para configurar o componente são:
Nome | Tipo | Default | Descrição |
---|---|---|---|
name* | string | coruja-educacional-fill | Definirá o ícone que será utilizado. |
size | string | number | medium | Tamanho do ícone, pode ser usado uma string padrão small , medium e large ou um tamanho da sua preferência do tipo float em pixels. Ele será convertido automaticamente para rem no fim. |
color | string | var(--c-color-primary) | Permite customizar a cor do ícone, aceita qualquer string válida de cor CSS. |
ariaHidden | boolean | true | Define se o ícone estará escondido para leitores de tela. |
reverseHover | boolean | false | Permite que o ícone automaticamente inverta de outline para fill e vice versa no hover. |
# CIconSize - tamanhos
Os tamanhos pré definidos são:
small
: 16 pixelsmedium
: 24 pixelslarge
: 32 pixels