Visão geral do botão do ícone Angular

    A diretriz Ignite UI for Angular Botão de Ícone tem como objetivo transformar qualquer ícone em um botão totalmente funcional. EleigxIconButton vem em três tipos - plano, contornado e contido, que é o padrão.

    Angular Icon Button Example

    Getting Started with Ignite UI for Angular Icon Button

    Para começar a usar a diretiva Ignite UI for Angular Icon Button, primeiro você precisa instalar Ignite UI for Angular. Em um aplicativo Angular existente, digite o seguinte comando:

    ng add igniteui-angular
    

    Para obter uma introdução completa ao Ignite UI for Angular, leia o tópico de introdução.

    O próximo passo é importar oIgxIconButtonDirective como uma dependência independente:

    // home.component.ts
    
    ...
    import { IgxIconButtonDirective } from 'igniteui-angular/directives';
    // import { IgxIconButtonDirective } from '@infragistics/igniteui-angular'; for licensed package
    
    @Component({
        selector: 'app-home',
        template: `
            <button igxIconButton="outlined">
                <igx-icon>home</igx-icon>
            </button>`,
        styleUrls: ['home.component.scss'],
        standalone: true,
        imports: [IgxIconButtonDirective]
    })
    export class HomeComponent {}
    

    Agora que você importou a diretiva Ignite UI for Angular Icon Button, pode começar a usar aigxIconButton diretiva nos elementos.

    Angular Icon Button Types

    Flat Icon Button

    Use aigxIconButton diretiva para adicionar um botão simples de ícone plano no seu modelo de componente:

    <button igxIconButton="flat">
        <igx-icon>edit</igx-icon>
    </button>
    

    Botão de Ícone Contido

    Tudo o que você precisa fazer para criar um ícone contido é alterar o valor daigxIconButton propriedade. Note que, se você não escolher um tipo, por padrão ele também será definido paracontained.

    <button igxIconButton>
        <igx-icon>favorite</igx-icon>
    </button>
    

    Botão de Ícone Contornado

    Analogicamente, podemos mudar para o tipo de contorno:

    <button igxIconButton="outlined">
        <igx-icon>more_vert</igx-icon>
    </button>
    

    Examples

    Disabled Icon Button

    Se quiser desativar um botão de ícone, pode usar adisabled propriedade. Neste exemplo, também demonstramos como usar ícones de diferentes famílias com aigxIconButton diretiva:

    <button igxIconButton="flat" disabled>
        <igx-icon family="fa" name="fa-home"></igx-icon>
    </button>
    

    SVG Icons

    Além dos ícones de material, aigxIconButton diretiva também suporta o uso de imagens SVG como ícones. Para isso, primeiro devemos injetar aIgxIconService dependência e depois usar oaddSvgIcon método para importar o arquivo SVG no cache. Para mais informações, você pode ler a seção SVG no tópico de ícones.

    constructor(private _iconService: IgxIconService) { }
    
    public ngOnInit() {
        // register custom SVG icon
        this._iconService.addSvgIcon('rain', 'assets/images/card/icons/rain.svg', 'weather-icons');
    }
    
    <button igxIconButton>
        <igx-icon family="weather-icons" name="rain"></igx-icon>
    </button>
    

    Tamanho

    Os usuários podem escolher um dos três tamanhos predefinidosigxIconButton usando a--ig-size propriedade CSS personalizada. Por padrão, o tamanho do componente é definido como médio.

    Como você pode ver no exemplo acima, também podemos usar aigxIconButton diretiva para transformar elementos comospan ediv em botões de ícones com Ignite UI for Angular estilo.

    Icon Button Styling

    Icon Button Theme Property Map

    Quando você modifica uma propriedade primária, todas as propriedades dependentes relacionadas são atualizadas automaticamente:

    Flat Icon Button

    Propriedade primáriaPropriedade dependenteDescrição
    $foreground
    $hover-primeiro planoCor do ícone flutuante
    $focus-primeiro planoCor de ícones focados
    $focus-pairar-primeiro planoFoco + cor do ícone de passagem do mouse
    $active-primeiro planoCor ativa do ícone
    $hover-contextoContexto sobre o hover
    $focus-contextoContexto sobre o foco
    $focus-hover-backgroundContexto sobre foco + hover
    $active-contextoContexto sobre ativos

    Botão de Ícone Contido

    Propriedade primáriaPropriedade dependenteDescrição
    $background
    $foregroundCor do ícone
    $hover-contextoContexto sobre o hover
    $focus-contextoContexto sobre o foco
    $focus-primeiro planoCor de ícones focados
    $focus-hover-backgroundContexto sobre foco + hover
    $active-contextoContexto sobre ativos
    $hover-primeiro planoCor do ícone flutuante
    $focus-pairar-primeiro planoFoco + cor do ícone de passagem do mouse
    $active-primeiro planoCor ativa do ícone
    $shadow corSombra no foco
    $focus-cor da bordaCor da borda de foco
    $disabled-contextoAntecedentes com deficiência
    $disabled em primeiro planoCor do ícone desativada

    Botão de Ícone Contornado

    Propriedade primáriaPropriedade dependenteDescrição
    $foreground
    $hover-primeiro planoCor do ícone flutuante
    $focus-primeiro planoCor de ícones focados
    $focus-pairar-primeiro planoFoco + cor do ícone de passagem do mouse
    $active-primeiro planoCor ativa do ícone
    $hover-contextoContexto sobre o hover
    $focus-contextoContexto sobre o foco
    $focus-hover-backgroundContexto sobre foco + hover
    $active-contextoContexto sobre ativos
    $border corCor padrão da borda
    $focus-cor da bordaCor da borda de foco

    Flat Icon Button

    Propriedade primáriaPropriedade dependenteDescrição
    $foreground
    $hover-primeiro planoCor do ícone ao passar o mouse
    $focus-primeiro planoCor dos ícones quando focado
    $focus-pairar-primeiro planoCor dos ícones quando focado e flutuando
    $active-primeiro planoCor dos ícones quando ativa
    $hover-contextoCor de fundo no hover
    $focus-contextoCor de fundo no foco
    $focus-hover-backgroundCor de fundo no foco e no passar o mouse
    $active-contextoCor de fundo quando ativa

    Botão de Ícone Contido

    Propriedade primáriaPropriedade dependenteDescrição
    $background
    $foregroundCor do ícone
    $hover-contextoCor de fundo no hover
    $focus-contextoCor de fundo no foco
    $focus-primeiro planoCor dos ícones quando focado
    $focus-hover-backgroundCor de fundo no foco e no passar o mouse
    $active-contextoCor de fundo quando ativa
    $hover-primeiro planoCor do ícone ao passar o mouse
    $focus-pairar-primeiro planoCor dos ícones quando focado e flutuando
    $active-primeiro planoCor dos ícones quando ativa
    $shadow corCor da sombra no foco
    $focus-cor da bordaCor da borda no foco
    $disabled-contextoCor de fundo quando desativado
    $disabled em primeiro planoCor dos ícones quando desativado

    Botão de Ícone Contornado

    Propriedade primáriaPropriedade dependenteDescrição
    $foreground
    $hover-primeiro planoCor do ícone ao passar o mouse
    $focus-primeiro planoCor dos ícones quando focado
    $focus-pairar-primeiro planoCor dos ícones quando focado e flutuando
    $active-primeiro planoCor dos ícones quando ativa
    $hover-contextoCor de fundo no hover
    $focus-contextoCor de fundo no foco
    $focus-hover-backgroundCor de fundo no foco e no passar o mouse
    $active-contextoCor de fundo quando ativa
    $border corBorder color
    $focus-cor da bordaCor da borda no foco

    Flat Icon Button

    Propriedade primáriaPropriedade dependenteDescrição
    $foreground
    $hover-primeiro planoCor do ícone ao passar o mouse
    $focus-primeiro planoCor dos ícones quando focado
    $focus-pairar-primeiro planoCor dos ícones quando focado e flutuando
    $active-primeiro planoCor dos ícones quando ativa
    $disabled em primeiro planoCor dos ícones quando desativado
    $shadow corA cor da sombra do botão de ícone

    Botão de Ícone Contido

    Propriedade primáriaPropriedade dependenteDescrição
    $background
    $foregroundCor do ícone
    $hover-contextoCor de fundo no hover
    $focus-contextoCor de fundo no foco
    $focus-primeiro planoCor dos ícones quando focado
    $focus-hover-backgroundCor de fundo no foco e no passar o mouse
    $active-contextoCor de fundo quando ativa
    $hover-primeiro planoCor do ícone ao passar o mouse
    $focus-pairar-primeiro planoCor dos ícones quando focado e flutuando
    $active-primeiro planoCor dos ícones quando ativa
    $shadow corCor das sombras
    $focus-cor da bordaCor da borda no foco
    $disabled-contextoCor de fundo quando desativado
    $disabled em primeiro planoCor dos ícones quando desativado

    Botão de Ícone Contornado

    Propriedade primáriaPropriedade dependenteDescrição
    $foreground
    $hover-primeiro planoCor do ícone ao passar o mouse
    $focus-primeiro planoCor dos ícones quando focado
    $focus-pairar-primeiro planoCor dos ícones quando focado e flutuando
    $active-primeiro planoCor dos ícones quando ativa
    $hover-contextoCor de fundo no hover
    $focus-contextoCor de fundo no foco
    $focus-hover-backgroundCor de fundo no foco e no passar o mouse
    $active-contextoCor de fundo quando ativa
    $border corBorder color
    $focus-cor da bordaCor da borda no foco
    $shadow corCor das sombras
    $disabled em primeiro planoCor dos ícones quando desativado
    $disabled-cor-bordaA borda do botão de ícone quando desativada

    Flat Icon Button

    Propriedade primáriaPropriedade dependenteDescrição
    $foreground
    $hover-primeiro planoCor do ícone ao passar o mouse
    $focus-primeiro planoCor dos ícones quando focado
    $focus-pairar-primeiro planoCor dos ícones quando focado e flutuando
    $active-primeiro planoCor dos ícones quando ativa
    $disabled em primeiro planoCor dos ícones quando desativado
    $hover-contextoCor de fundo no hover
    $focus-contextoCor de fundo no foco
    $focus-hover-backgroundCor de fundo no foco e no passar o mouse
    $active-contextoCor de fundo quando ativa
    $focus-cor da bordaCor da borda no foco

    Botão de Ícone Contido

    Propriedade primáriaPropriedade dependenteDescrição
    $background
    $foregroundCor do ícone
    $hover-contextoCor de fundo no hover
    $focus-contextoCor de fundo no foco
    $focus-primeiro planoCor dos ícones quando focado
    $focus-hover-backgroundCor de fundo no foco e no passar o mouse
    $active-contextoCor de fundo quando ativa
    $hover-primeiro planoCor do ícone ao passar o mouse
    $focus-pairar-primeiro planoCor dos ícones quando focado e flutuando
    $active-primeiro planoCor dos ícones quando ativa
    $shadow corCor das sombras
    $focus-cor da bordaCor da borda no foco
    $disabled-contextoCor de fundo quando desativado
    $disabled em primeiro planoCor dos ícones quando desativado

    Botão de Ícone Contornado

    Propriedade primáriaPropriedade dependenteDescrição
    $foreground
    $hover-primeiro planoCor do ícone ao passar o mouse
    $focus-primeiro planoCor dos ícones quando focado
    $focus-pairar-primeiro planoCor dos ícones quando focado e flutuando
    $active-primeiro planoCor dos ícones quando ativa
    $hover-contextoCor de fundo no hover
    $border corBorder color
    $focus-cor da bordaCor da borda no foco

    Seguindo a abordagem mais simples, usamos variáveis CSS para personalizar a aparência do botão de ícone:

    [igxIconButton="contained"] {
      --background: #011627;
      --foreground: #fefefe;
      --hover-foreground: #011627dc;
      --hover-background: #ecaa53;
      --focus-foreground: #011627dc;
      --focus-background: #ecaa53;
      --focus-border-color: #0116276c;
      --active-foreground: #011627dc;
      --active-background: #ecaa53;
    }
    

    Dê uma olhada naicon-button-theme seção para uma lista completa dos parâmetros disponíveis para estilizar qualquer tipo de botão de ícone.

    Você também pode escolher estilizar apenas botões de um tipo específico -flat,outlined oucontained. Para isso, você pode usar as novas funções de tema específicas para tipo:flat-icon-button-theme,outlined-icon-button-theme econtained-icon-button-theme

    Aqui está um exemplo de como usar acontained-icon-button-theme função para definir um tema personalizado no SCSS:

    @use "igniteui-angular/theming" as *;
    
    $custom-contained: contained-icon-button-theme(
        $background: #ECAA53,
    );
    

    Isso gerará um tema totalmente definidocontained icon button, incluindo cores de primeiro plano e fundo apropriadas para seus vários estados, como flutuação, foco e ativo.

    Styling with Tailwind

    Você pode estilizar o botão de ícone usando nossas classes utilitárias personalizadas do Tailwind. Certifique-se de configurar o Tailwind primeiro.

    Junto com a importação de vento de cauda em sua folha de estilo global, você pode aplicar os utilitários de tema desejados da seguinte maneira:

    @import "tailwindcss";
    ...
    @use 'igniteui-theming/tailwind/utilities/material.css';
    

    O arquivo utilitário inclui tantolight as variantes quantodark as do tema.

    • Uselight-* as aulas para o tema da luz.
    • Usedark-* classes para o tema sombrio.
    • Adicione o nome do componente após o prefixo, por exemplo,light-icon-button,dark-icon-button.

    Uma vez aplicadas, essas classes possibilitam cálculos dinâmicos de temas. A partir daí, você pode sobrescrever as variáveis CSS geradas usandoarbitrary properties. Após os dois-pos, forneça qualquer formato de cor CSS válido (HEX, variável CSS, RGB, etc.).

    Você pode encontrar a lista completa de propriedades no tema do botão com ícones. A sintaxe é a seguinte:

    <button igxIconButton class="!light-icon-button ![--icon-color:#FF4E00]">
      <igx-icon>edit</igx-icon>
    </button>
    
    Note

    O ponto de exclamação(!) é necessário para garantir que a classe utilitária tenha prioridade. O Tailwind aplica estilos em camadas e, sem marcar esses estilos como importantes, eles serão substituídos pelo tema padrão do componente.

    No final, seus botões de ícone devem ficar assim:

    API References

    Additional Resources

    Nossa comunidade é ativa e sempre acolhedora para novas ideias.