VadavoComboboxElement

Un campo de texto con un panel filtrado debajo, navegable por teclado: la forma que comparte todo elemento que ofrece una lista mientras se escribe. Extiende VadavoFormElement.

Qué posee

El campo y el panel, que genera en su shadow root. El filtrado contra lo escrito, la apertura y el cierre, las flechas, Enter y Escape, el botón que vacía el campo, y la cabecera del panel, que dice cuántos resultados quedan y que las flechas se mueven por ellos.

El atributo open fuerza el panel abierto desde el marcado.

Qué deja a quien la extiende

MiembroQué decide
readEntries()Cómo se leen las opciones del DOM ligero como datos.
entryMatches(entry, query)Si una entrada coincide con lo escrito.
renderRow(entry, query)El elemento que representa una fila.
onSelect(entry)Qué significa elegir una fila, más allá de tomar su valor.
updateVisualState()Qué piezas del campo se muestran para el valor actual.
fieldType()El type que toma el campo interno.
fieldContent()El marcado que va en los huecos del campo: un icono en el hueco icon, un añadido en el hueco affix.

Una fila puede ser un enlace: Enter la activa pulsándola, igual que haría el puntero, y un clic con modificador la deja navegar a otro sitio sin tocar el valor ni cerrar el panel.

El CSS compartido

_combobox.scss lleva el campo y el panel, iguales en todos los componentes que extienden la clase, y cada uno lo compone en su hoja antes que la propia. El contenido de una fila y la forma del campo quedan en cada componente.