Sobre o projeto
Bubbles fornece uma coleção de primitivos reutilizáveis para construir interfaces de usuário de terminal (TUI) com o framework Bubble Tea em Go. Os componentes são usados em produção no Charm's Crush e em muitas outras aplicações, e o projeto é licenciado sob MIT como parte do ecossistema Charm.
Componentes incluídos:
- Spinner: indicadores animados para operações em andamento, com várias predefinições e suporte a quadros personalizados.
- Text Input: um campo de entrada de linha única comparável a um input de texto HTML, suportando Unicode, colar, rolagem horizontal in-place quando o valor excede a largura do elemento e extensa personalização.
- Text Area: uma entrada multilinha comparável a um textarea HTML, com suporte a Unicode e colar, além de rolagem vertical quando o conteúdo excede as dimensões do elemento.
- Table: exibe e navega por dados tabulares em colunas e linhas, com rolagem vertical e opções de personalização.
- Progress: um medidor de progresso personalizável com animação opcional via Harmonica, preenchimentos sólidos ou em gradiente, runas configuráveis para preenchido/vazio e uma leitura opcional de porcentagem.
- Paginator: lida com a lógica de paginação e pode opcionalmente renderizar a UI de paginação, suportando indicadores de página estilo ponto (como iOS) e numéricos; a lógica também pode ser combinada com visualizações personalizadas.
- Viewport: área de conteúdo com rolagem vertical, com vinculações de teclas de paginador padrão opcionais e suporte à roda do mouse, além de um modo de alto desempenho para apps que usam o buffer de tela alternativo. Combina bem com Reflow para indentação e quebra de linha conscientes de ANSI.
- List: um componente completo para navegar conjuntos de itens, apresentando paginação, filtragem fuzzy, ajuda gerada automaticamente, um spinner de atividade e mensagens de status, cada um dos quais pode ser ativado ou desativado. Originalmente extrapolado do Glow.
- File Picker: navega por diretórios e seleciona arquivos, com filtragem opcional por extensão de arquivo.
- Timer and Stopwatch: componentes flexíveis de contagem regressiva e contagem crescente com frequência de atualização e saída personalizáveis.
- Help: uma mini vista de ajuda horizontal gerada automaticamente a partir das vinculações de teclas, com modos de linha única e multilinha e truncamento gracioso em terminais estreitos.
- Key: um componente não visual para gerenciar vinculações de teclas, permitindo remapeamento pelo usuário e geração de vistas de ajuda vinculadas a essas teclas.
O projeto oferece um guia de atualização para migração da v1, links para código de exemplo para cada componente no diretório de exemplos do Bubble Tea e aponta para uma coleção mantida pela comunidade de bubbles adicionais (Charm & Friends) que aceita contribuições. Os canais de feedback incluem Twitter, Fediverse e Discord.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.