Descripción general del icono React
El componente React Icon le permite mostrar fácilmente la fuente o elegir entre un gran conjunto de íconos SVG predefinidos, pero también le brinda la posibilidad de crear íconos de fuente personalizados para su proyecto. Beneficiándose de una serie de atributos, puede definir o cambiar el tamaño del icono en uso o aplicarle diferentes estilos.
React Icon Example
Usage
Antes de utilizar IgrIcon
, debe registrarlo de la siguiente manera:
Primero, debe instalar el paquete Ignite UI for React npm correspondiente ejecutando el siguiente comando:
npm install igniteui-react
Luego necesitarás importar IgrIcon
, su CSS necesario y registrar su módulo, así:
import { IgrIcon, IgrIconModule } from 'igniteui-react';
import 'igniteui-webcomponents/themes/light/bootstrap.css';
IgrIconModule.register();
IgrIcon
no contiene ningún ícono por sí solo. Es un conducto para mostrar cualquier imagen SVG registrada.
Adding Icons
Para registrar una imagen como ícono, todo lo que necesita hacer es llamar a uno de los 2 métodos de "registro" en un único elemento IgrIcon
que le permite agregar íconos a una colección de íconos en su página.
El método registerIcon
le permite registrar una imagen SVG como un icono desde un archivo 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");
}
El método anterior agregará un ícono llamado search
a una colección en caché llamada material
.
Para utilizar el icono recién registrado, todo lo que tienes que hacer es pasar el nombre y la colección al elemento IgrIcon
:
<IgrIcon name="search" collection="material" />
El segundo método para registrar iconos es pasar una cadena SVG al método registerIconFromText
:
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");
}
Luego lo usaría de la misma manera que se describe en el ejemplo de componente anterior.
Tamaño
El componente de ícono admite tres tamaños de ícono: small
, medium
(predeterminado) y large
. Para cambiar el tamaño del icono, puede utilizar la variable CSS--ig-size
de la siguiente manera:
igc-icon {
--ig-size: var(--ig-size-large);
}
<IgrIcon size="large" />
Mirrored
Algunos íconos deben verse un poco diferentes cuando se usan en el modo De derecha a izquierda (RTL). Por ese motivo, proporcionamos un atributo mirrored
que, cuando se configura, voltea el ícono horizontalmente.
<IgrIcon name="search" collection="material" mirrored={true} />
Styling
Se puede aplicar estilo al componente de icono aplicando estilos directamente al elemento IgrIcon
;
igc-icon {
--size: 48px;
color: olive;
}