Sobre el proyecto
Bubbles ofrece una colección de primitivas reutilizables para construir interfaces de usuario de terminal con el marco Bubble Tea en Go. Los componentes se usan en producción en Charm's Crush y muchas otras aplicaciones, y el proyecto está bajo licencia MIT como parte del ecosistema Charm.
Componentes incluidos:
- Spinner: indicadores animados para operaciones en curso, con varias opciones predeterminadas y soporte para fotogramas personalizados.
- Text Input: un campo de entrada de una sola línea comparable a una entrada de texto HTML, que admite Unicode, pegado, desplazamiento horizontal en el lugar cuando el valor supera el ancho del elemento y una amplia personalización.
- Text Area: una entrada multilínea comparable a un textarea HTML, con soporte para Unicode y pegado, además de desplazamiento vertical cuando el contenido excede las dimensiones del elemento.
- Table: muestra y navega datos tabulares en columnas y filas, con desplazamiento vertical y opciones de personalización.
- Progress: un medidor de progreso personalizable con animación opcional mediante Harmonica, rellenos sólidos o de degradado, runas configurables para lleno/vacío y una lectura opcional de porcentaje.
- Paginator: maneja la lógica de paginación y puede renderizar opcionalmente la interfaz de paginación, admitiendo indicadores de página de estilo de puntos (similar a iOS) y numéricos; la lógica también se puede combinar con visualizaciones personalizadas.
- Viewport: un área de contenido desplazable verticalmente con combinaciones de teclas de paginación estándar opcionales y soporte para rueda de ratón, además de un modo de alto rendimiento para aplicaciones que usan el búfer de pantalla alternativo. Funciona bien con Reflow para sangrado y ajuste consciente de ANSI.
- List: un componente completo para navegar por conjuntos de elementos, que presenta paginación, filtrado difuso, ayuda generada automáticamente, un spinner de actividad y mensajes de estado, cada uno de los cuales se puede activar o desactivar. Originalmente extraído de Glow.
- File Picker: navega por directorios y selecciona archivos, con filtrado opcional por extensión de archivo.
- Timer and Stopwatch: componentes flexibles de cuenta atrás y cuenta adelante con frecuencia de actualización y salida personalizadas.
- Help: una mini vista de ayuda horizontal generada automáticamente a partir de las combinaciones de teclas, con modos de una y varias líneas y truncamiento elegante en terminales estrechas.
- Key: un componente no visual para gestionar combinaciones de teclas, permitiendo la reasignación por parte del usuario y la generación de vistas de ayuda vinculadas a esas combinaciones.
El proyecto ofrece una guía de actualización para migrar desde v1, enlaces a código de ejemplo para cada componente en el directorio de ejemplos de Bubble Tea, y apunta a una colección mantenida por la comunidad de bubbles adicionales (Charm & Friends) que acepta contribuciones. Los canales de retroalimentación incluyen Twitter, el Fediverse y Discord.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.