Tinyrack

Menubar

デスクトップ形式のキーボード操作でアプリケーションメニューを連携します。

主なプロパティ

プロパティ選択肢
合成1つの TRMenubar 内に TRMenu.Root を配置します。
方向horizontal は左右キー、vertical は上下キーを使います。
利用可否1つの TRMenu.Root またはメニューバー全体を無効にします。
境界loopFocus は端で循環し、デフォルトは true です。

常時表示するアプリケーションコマンドに使います。サイトナビゲーションには使いません。

インストール

pnpm add @tinyrack/ui

長い行はコード領域を横にスクロールして確認できます。

スタイル

@import '@tinyrack/ui/components/menubar.css';

長い行はコード領域を横にスクロールして確認できます。

インポート

import { TRMenubar } from '@tinyrack/ui/components/menubar';
import { TRMenu } from '@tinyrack/ui/components/menu';

長い行はコード領域を横にスクロールして確認できます。

プレイグラウンド

使用方法

利用可否を決める

操作方向を選ぶ

境界動作を選ぶ

API

TRMenubar は Base UI ルート prop を受け取ります。orientation'horizontal' | 'vertical'、デフォルトは 'horizontal' です。loopFocus は boolean でデフォルト truedisabled は boolean でデフォルト false です。アクセシブルな名前を付けてください。1つのロービング tab stop を保ち、無効な子を飛ばし、フォーカス移動時に開くメニューを切り替え、Escape 後にトリガーへフォーカスを戻します。

@tinyrack/ui/components/menuTRMenu.Root とオーバーレイパーツを合成します。Base UI の render、ルート ref、ネイティブ prop、イベント、関数形式の className / style、状態 data 属性を保ちます。@tinyrack/ui/components/menubar.css は合成するメニューパーツのスタイルを含むため、menu CSS は別途読み込みません。

TRMenubarTRMenubarPropsTRMenubarState を公開します。