このプロジェクトについて
Bubblesは、GoのBubble Teaフレームワークでターミナルユーザーインターフェースを構築するための再利用可能なプリミティブのコレクションを提供します。これらのコンポーネントは、CharmのCrushやその他の多くのアプリケーションで本番環境で使用されており、Charmエコシステムの一部としてMITライセンスで公開されています。
含まれるコンポーネント:
- Spinner:進行中の操作を示すアニメーション付きインジケーター。複数のデフォルト設定とカスタムフレームのサポートに対応。
- Text Input:HTMLのテキスト入力と同様の単一行入力フィールド。Unicode、ペースト、値が要素幅を超える場合のインプレース水平スクロール、および広範なカスタマイズに対応。
- Text Area:HTMLのtextareaと同様の複数行入力。Unicodeとペーストのサポートに加え、コンテンツが要素の寸法を超える場合の垂直スクロールに対応。
- Table:列と行で表形式のデータを表示・ナビゲート。垂直スクロールとカスタマイズオプションに対応。
- Progress:Harmonicaによるオプションのアニメーション、ソリッドまたはグラデーションの塗りつぶし、設定可能な塗りつぶし/空のルーン、オプションのパーセンテージ表示を備えたカスタマイズ可能なプログレスメーター。
- Paginator:ページネーションロジックを処理し、オプションでページネーションUIをレンダリング。ドットスタイル(iOS風)と数値ページインジケーターをサポート。ロジックはカスタムビジュアライゼーションと組み合わせることも可能。
- Viewport:オプションの標準ページャーキーバインディングとマウスホイールサポートを備えた垂直スクロール可能なコンテンツエリア。代替画面バッファを使用するアプリ向けの高パフォーマンスモードにも対応。ANSI対応のインデントとラップにはReflowとの組み合わせが推奨。
- List:アイテムセットの閲覧に使用できるオールインワンコンポーネント。ページネーション、あいまいフィルタリング、自動生成ヘルプ、アクティビティスピンナー、ステータスメッセージを備え、それぞれをオン/オフに切り替え可能。元々はGlowから派生。
- File Picker:ディレクトリをナビゲートしてファイルを選択。ファイル拡張子によるオプションのフィルタリングに対応。
- Timer and Stopwatch:カスタマイズ可能な更新頻度と出力を備えた柔軟なカウントダウンおよびカウントアップコンポーネント。
- Help:キーバインディングから自動生成される水平ミニヘルプビュー。単行モードと複数行モードに対応し、狭いターミナルでは適切に切り詰められる。
- Key:キーバインディングを管理するための非可視コンポーネント。ユーザーのリマッピングと、それらのバインディングに紐づくヘルプビューの生成を可能にする。
本プロジェクトは、v1からの移行用アップグレードガイド、Bubble Teaのexamplesディレクトリにある各コンポーネントのサンプルコードへのリンク、およびコミュニティが管理する追加のbubblesコレクション(Charm & Friends)へのリンクを提供しています。フィードバックチャネルにはTwitter、Fediverse、Discordがあります。
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.