Visão geral do ícone React

    O componente Ícone React permite exibir facilmente a fonte ou escolher entre um grande conjunto de ícones SVG predefinidos, mas também oferece a capacidade de criar ícones de fonte personalizados para o seu projeto. Beneficiando-se de vários atributos, você pode definir ou alterar o tamanho do ícone em uso ou aplicar estilos diferentes a ele.

    React Icon Example

    Usage

    Antes de usar o IgrIcon, você precisa registrá-lo da seguinte forma:

    Primeiro, você precisa instalar o pacote npm Ignite UI for React correspondente executando o seguinte comando:

    npm install igniteui-react
    

    Você precisará importar o IgrIcon CSS necessário e registrar seu módulo, assim:

    import { IgrIcon, IgrIconModule } from 'igniteui-react';
    import 'igniteui-webcomponents/themes/light/bootstrap.css';
    
    IgrIconModule.register();
    

    O IgrIcon não contém nenhum ícone por conta própria. É um canal para exibir qualquer imagem SVG registrada.

    Adding Icons

    Para registrar uma imagem como um ícone, tudo o que você precisa fazer é chamar um dos 2 métodos "register" em um único IgrIcon elemento que permite adicionar ícones a uma coleção de ícones em sua página.

    O registerIcon método permite que você registre uma imagem SVG como um ícone de um arquivo externo:

    
    <IgrIcon ref={this.iconRef} name="search" collection="material" />
    
    public iconRef(icon: IgrIcon) {
        if (!icon) {
            return;
        }
    
        icon.registerIcon("search", "https://unpkg.com/material-design-icons@3.0.1/action/svg/production/ic_build_24px.svg", "material");
    }
    

    O método acima adicionará um ícone chamado search a uma coleção em cache chamada material.

    Para usar o ícone recém-registrado, tudo o que você precisa fazer é passar o nome e a coleção para o IgrIcon elemento:

    <IgrIcon name="search" collection="material" />
    

    O segundo método para registrar ícones é passar uma string SVG para o registerIconFromText método:

    const searchIcon =
      '<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path d="M15.5 14h-.79l-.28-.27C15.41 12.59 16 11.11 16 9.5 16 5.91 13.09 3 9.5 3S3 5.91 3 9.5 5.91 16 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19l-4.99-5zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14z"/></svg>';
    
    registerIconFromText("search", searchIcon, "material");
    
    
    <IgrIcon ref={this.iconRef} name="search" collection="material" />
    
    public iconRef(icon: IgrIcon) {
        if (!icon) {
            return;
        }
    
        const searchIcon =
          '<svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 0 24 24" width="24px" fill="#000000"><path d="M0 0h24v24H0z" fill="none"/><path d="M15.5 14h-.79l-.28-.27C15.41 12.59 16 11.11 16 9.5 16 5.91 13.09 3 9.5 3S3 5.91 3 9.5 5.91 16 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19l-4.99-5zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14z"/></svg>';
    
        icon.registerIconFromText("search", searchIcon, "material");
    }
    

    Então você o usaria da mesma maneira descrita no exemplo de componente acima.

    Tamanho

    O componente icon suporta três tamanhos de ícone -small, medium (padrão) e large. Para alterar o tamanho do ícone, você pode utilizar a variável CSS--ig-size da seguinte forma:

    igc-icon {
      --ig-size: var(--ig-size-large);
    }
    
    <IgrIcon size="large" />
    

    Mirrored

    Alguns ícones precisam parecer um pouco diferentes quando usados no modo Right-to-Left (RTL). Por esse motivo, fornecemos um atributo mirrored que, quando definido, inverte o ícone horizontalmente.

    <IgrIcon name="search" collection="material" mirrored={true} />
    

    Styling

    O componente de ícone pode ser estilizado aplicando estilos diretamente ao IgrIcon elemento;

    igc-icon {
      --size: 28px;
      color: var(--ig-primary-500);
    }
    

    API References

    Additional Resources