Descripción general del componente Angular Avatar

    El componente Angular Avatar ayuda a agregar iniciales, imágenes o íconos de materiales a su aplicación.

    Angular Avatar Example

    Getting Started with Ignite UI for Angular Avatar

    Para comenzar con el componente Ignite UI for Angular Avatar, primero debe instalar Ignite UI for Angular. En una aplicación Angular existente, escriba el siguiente comando:

    ng add igniteui-angular
    

    Para obtener una introducción completa a la Ignite UI for Angular, lea el tema de introducción.

    El siguiente paso es importar IgxAvatarModule en su archivo app.module.ts.

    // app.module.ts
    
    ...
    import { IgxAvatarModule } from 'igniteui-angular';
    // import { IgxAvatarModule } from '@infragistics/igniteui-angular'; for licensed package
    
    @NgModule({
        ...
        imports: [..., IgxAvatarModule],
        ...
    })
    export class AppModule {}
    

    Alternativamente, a partir de 16.0.0 puede importar IgxAvatarComponent como una dependencia independiente.

    // home.component.ts
    
    ...
    import { IgxAvatarComponent } from 'igniteui-angular';
    // import { IgxAvatarComponent } from '@infragistics/igniteui-angular'; for licensed package
    
    @Component({
        selector: 'app-home',
        template: '<igx-avatar shape="circle"></igx-avatar>',
        styleUrls: ['home.component.scss'],
        standalone: true,
        imports: [IgxAvatarComponent]
    })
    export class HomeComponent {}
    

    Ahora que ha importado el módulo o componente Ignite UI for Angular Avatar, puede comenzar con una configuración básica del componente igx-avatar.

    Using the Angular Avatar Component

    El componente Ignite UI for Angular Avatar viene en tres formas (cuadrada, redondeada y circular) y tres opciones de tamaño (pequeño, mediano y grande). Se puede utilizar para mostrar iniciales, imágenes o iconos.

    Avatar Shape

    Podemos cambiar la forma del avatar a través del atributo de shape estableciendo su valor en square, rounded o circle. Por defecto, la forma del avatar es square.

    <igx-avatar shape="circle"></igx-avatar>
    

    Avatar displaying initials

    Para obtener un avatar simple con initials (es decir, JS para 'Jack Sock'), agregue el siguiente código dentro de la plantilla del componente:

    <igx-avatar initials="JS" shape="circle"></igx-avatar>
    

    Mejoremos nuestro avatar haciéndolo circular y de mayor tamaño.

    <igx-avatar size="medium" initials="JS" shape="circle"></igx-avatar>
    

    También podemos cambiar el fondo a través de la propiedad background o establecer un color en las iniciales a través de la propiedad color.

    // avatar.component.scss
    
    igx-avatar {
        background: #e41c77;
        color: #000000;
    }
    
    
    Warning

    La propiedad roundShape del componente igx-avatar ha quedado obsoleta. En su lugar, se debe utilizar el atributo shape.

    Si todo ha ido bien deberías ver algo como lo siguiente en el navegador:

    Avatar displaying image

    Para obtener un avatar que muestre una imagen, todo lo que tienes que hacer es configurar la fuente de la imagen a través de la propiedad src.

    <igx-avatar src="https://randomuser.me/api/portraits/men/1.jpg"
                shape="rounded"
                size="large">
    </igx-avatar>
    

    Si todo ha ido bien deberías ver algo como lo siguiente en el navegador:

    Avatar displaying icon

    De manera análoga, el avatar puede mostrar un ícono a través de la propiedad icon. Actualmente se admiten todos los iconos del conjunto de iconos de materiales.

    <igx-avatar icon="person"
                shape="rounded"
                size="small">
    </igx-avatar>
    

    Debería ver algo como esto:

    Estilismo

    Para comenzar a diseñar el avatar, necesitamos importar el archivo index, donde se encuentran todas las funciones del tema y los mixins de componentes:

    @use "igniteui-angular/theming" as *;
    
    // IMPORTANT: Prior to Ignite UI for Angular version 13 use:
    // @import '~igniteui-angular/lib/core/styles/themes/index';
    

    Siguiendo el enfoque más simple, creamos un nuevo tema que extiende el avatar-theme y acepta los parámetros $background, $color y $border-radius.

    Dado el siguiente marcado:

    <div class="initials-avatar">
        <igx-avatar>BA</igx-avatar>
    </div>
    

    Necesitamos crear un tema:

    $custom-avatar-theme: avatar-theme(
        $background: #72da67,
        $color: #000000,
        $border-radius: 16px
    );
    

    Using CSS variables

    El último paso es pasar el tema de avatar personalizado:

    .initials-avatar {
        @include css-vars($custom-avatar-theme);
    }
    

    Using mixins

    Para diseñar componentes para Internet Explorer 11 y navegadores anteriores, tenemos que utilizar un enfoque diferente, ya que no admite variables CSS.

    Si el componente utiliza una ViewEncapsulation Emulated, es necesario penetrate esta encapsulación usando::ng-deep. Por otro lado, para evitar que el tema personalizado se filtre a otros componentes, asegúrese de incluir el selector:host antes de::ng-deep:

    :host {
        ::ng-deep {
            // Pass the custom avatar theme to the `igx-avatar` mixin
            .initials-avatar {
                @include avatar($custom-avatar-theme);
            }
        }
    }
    

    Si todo ha ido bien deberías ver algo como lo siguiente en el navegador:

    Custom sizing

    Puede utilizar la variable, dirigiéndose directamente a la--size​ ​igx-avatar variable :

    igx-avatar {
      --size: 200px;
    }
    

    O bien, puede utilizar la variable universal--igx-avatar-size para dirigirse a todas las instancias:

    <div class="my-app">
      <igx-avatar></igx-avatar>
    </div>
    
    .my-app {
      --igx-avatar-size: 200px;
    }
    

    También puede utilizar uno de los tamaños predefinidos, asignándolo a la--ig-size variable, si no se aplica ningún atributo size. Los valores disponibles para--ig-size son--ig-size-small,,--ig-size-medium y--ig-size-large:

    igx-avatar {
        --ig-size: var(--ig-size-small);
    }
    

    Obtén más información al respecto en el artículo Talla.

    API References

    Theming Dependencies

    Additional Resources

    Nuestra comunidad es activa y siempre da la bienvenida a nuevas ideas.