Visão geral da diretiva Ripple Angular
O componente Ignite UI for Angular Ripple cria uma animação em resposta a um toque ou clique do mouse.
Angular Ripple Example
Gostou deste exemplo? Tenha acesso ao nosso kit de ferramentas de Angular completo e comece a criar seus próprios aplicativos em minutos. Faça o download gratuitamente.
Getting Started with Ignite UI for Angular Ripple Directive
Para começar a usar a diretiva Ignite UI for Angular Ripple, 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 o IgxRippleModule
no arquivo app.module.ts.
// app.module.ts
import { IgxRippleModule } from 'igniteui-angular';
// import { IgxRippleModule } from '@infragistics/igniteui-angular'; for licensed package
@NgModule({
imports: [
...
IgxRippleModule,
...
]
})
export class AppModule {}
Como alternativa, a partir da 16.0.0
você pode importar o IgxRippleDirective
como dependências autônomas.
// home.component.ts
import { IgxRippleDirective, IgxButtonDirective } from 'igniteui-angular';
// import { IgxRippleDirective, IgxButtonDirective } from '@infragistics/igniteui-angular'; for licensed package
@Component({
selector: 'app-home',
template: '<button igxButton="contained" igxRipple>Click Me</button>',
styleUrls: ['home.component.scss'],
standalone: true,
imports: [IgxRippleDirective, IgxButtonDirective],
})
export class HomeComponent {}
Agora que você importou o módulo ou a diretiva Ignite UI for Angular Ripple, você pode começar a usar a diretiva igxRipple
.
Warning
O igxRipple
usa a Web Animation API e roda nativamente em navegadores que o suportam. O polyfill web-animations.min.js
está disponível para outros navegadores.
Using the Angular Ripple Directive
Adding Ripple Effect
Use a diretiva igxRipple
para adicionar um efeito cascata ao elemento especificado:
<button igxButton="contained" igxRipple>Click Me</button>
Examples
Custom Color
Você pode alterar facilmente a cor padrão do ripple usando o igxRipple
:
<button igxButton="contained" igxRipple="white">White</button>
Centered Ripple Effect
Por padrão, o efeito ripple começa na posição do evento de clique. Você pode alterar esse comportamento usando a propriedade igxRippleCentered
e definindo o centro do elemento como origem.
<button igxButton="contained" igxRipple="white" [igxRippleCentered]="true">
Centered
</button>
Ripple Duration
Podemos usar a propriedade igxRippleDuration
para alterar a duração da animação ripple, que, por padrão, é definida como 600 milissegundos.
<button igxButton="contained" igxRipple [igxRippleDuration]="2000">
Click Me
</button>
Ripple Target
Use a propriedade igxRippleTarget
para anexar um efeito cascata a um elemento específico dentro de um elemento pai.
<div class="parent" igxRipple="white" igxRippleTarget=".child" [igxRippleCentered]="true">
...
<button class="sample-button child" igxButton="contained">Read More</button>
</div>
Observe que não importa se você clica no elemento pai ou filho, o efeito cascata aparecerá apenas no botão.
Note
O elemento filho, que você deseja atingir com a propriedade igxRippleTarget
, deve estar posicionado relativamente.
Estilização
Primeiro, para usar as funções expostas pelo mecanismo de tema, precisamos importar o arquivo index
, onde todas as funções de estilo e mixins estão localizados, para nosso arquivo de estilo:
@use "igniteui-angular/theming" as *;
// IMPORTANT: Prior to Ignite UI for Angular version 13 use:
// @import '~igniteui-angular/lib/core/styles/themes/index';
Você pode facilmente criar um novo tema que estenda o ripple-theme
e aceite os parâmetros necessários para personalizar o ripple conforme desejado.
$custom-ripple-theme: ripple-theme(
$color: #383779,
);
O próximo passo é passar o tema ripple personalizado:
@include css-vars($custom-ripple-theme);
Note
Um conjunto de cores usando a diretiva igxRiple
teria precedência sobre um conjunto definido por um tema personalizado.
Demo
API References
Additional Resources
Nossa comunidade é ativa e sempre acolhedora para novas ideias.