Saltar al contenido
EspañolEnglish
Todos los componentes (204)

Resaltar coincidencias

Tipografía · Highlight

Qué es y cuándo usarlo

Resalta dentro de un texto lo que coincide con lo buscado. Para los resultados de un buscador: sin esto, quien mira una lista de veinte nombres no ve por qué ha salido cada uno.

Cuándo usarlo

  • Los resultados de un buscador, de un filtro de tabla o de las opciones de un selector con búsqueda, mientras se escribe.
  • children es el texto entero, en texto plano (lo que se resalta hay que poder recortarlo), y match, lo que se busca. Se marcan TODAS las apariciones, no solo la primera.
  • La comparación no distingue tildes ni mayúsculas: «jose» resalta «José», y «nino», «niño». Lo buscado se recorta de espacios por los extremos, y vacío o en blanco no resalta nada, que es lo que hace falta mientras se escribe.
  • tone es el mismo que el de Mark: highlight (por defecto), accent, secondary o tertiary.

Cuándo no

  • Un resalte a mano, de una parte que tú eliges: Mark.
  • Un texto con formato (negritas, enlaces) dentro: Highlight solo trabaja sobre texto plano.

Teclado: no participa. No es interactivo.

Accesibilidad: cada coincidencia es un Mark, o sea un <mark> de verdad: el resalte no se queda solo en el color. El texto se lee entero y en su orden, porque se parte por el índice del texto ORIGINAL: buscar sobre el texto sin tildes y cortar con ese índice desplazaría el corte una letra por cada tilde anterior. Las letras que van con una marca aparte (un emoji, una letra con su tilde combinada) no se parten por la mitad.

Aspecto fino: el de Mark, --amset-mark-background y --amset-mark-color. La raíz es un <span> sin estilo propio, para que siga al texto que lo rodea.

Cómo se ve

José Pérez Martín

José Pérez Martín

<Highlight match="perez" tone="highlight">José Pérez Martín</Highlight>

Props

Se importa con import { Highlight } from '@amset/ui'. Las obligatorias van marcadas.

PropTipoPara qué sirve
childrenobligatoriastringEl texto completo. Texto plano: lo que se resalta hay que poder recortarlo.
matchobligatoriastringLo que se busca. Sin tildes ni mayusculas: «jose» resalta «José». Vacio o en blanco no resalta nada, que es lo que hace falta mientras se escribe.
classNamestringSe une a las clases de la biblioteca, no las sustituye.
tone"accent" | "secondary" | "tertiary" | "highlight"—

Acepta además los atributos del elemento que pinta: className, style, data-*, aria-* y sus eventos.

En el banco de pruebas

Cada estado y cada variante, para tocarlos de uno en uno, en su ficha de ui.amset.tech: