Tinyrack

NavigationMenu

サイトレベルのリンクと任意のリッチなフライアウトを提供します。

主なプロパティ

プロパティ選択肢
移動先直接移動は Link、関連リンク群は TriggerContent を使います。
方向horizontal または vertical。デフォルトは horizontal です。
位置side は top/right/bottom/left、align は start/center/end です。
狭い画面同じ移動先を持つ drawer にデスクトップ構成を置き換えます。

タスク中心のフライアウトを作り、直接移動する項目はリンクにします。サイトナビゲーション用であり、アプリケーションコマンドのメニューバーではありません。

インストール

pnpm add @tinyrack/ui

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

スタイル

@import '@tinyrack/ui/components/navigation-menu.css';

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

インポート

import { TRNavigationMenu } from '@tinyrack/ui/components/navigation-menu';

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

プレイグラウンド

使用方法

移動先の状態を示す

操作方向を選ぶ

フライアウトを配置する

狭い画面でも移動先を保つ

キーボードモデルに従う

API

全パーツは RootListItemTriggerIconContentPortalBackdropPositionerPopupArrowViewportLink です。すべてのパーツと prop・状態型を名前付きで公開します。

RootvalueonValueChange による制御状態、defaultValue による非制御状態、orientation、ポインターの delaycloseDelay を所有します。Trigger は無効にできます。Icon はデフォルトで ChevronDown を表示し、カスタムの子を受け取ります。Link.activearia-current="page" を設定し、closeOnClick はフライアウトを閉じます。

Positioner.sidetoprightbottomleftalignstartcenterend を受け取ります。sideOffset のデフォルトは 8 です。衝突回避は配置を移動または反転します。Portal はカスタムコンテナを受け取り、Popup が面を所有し、Viewport が有効な Content を受け取ります。

公開 CSS パスを読み込んでください。トークンには --tr-navigation-menu-popup-max-width があります。構成は SSR とハイドレーションをサポートし、portal 内容はハイドレーション後にコンテナへマウントされます。狭い画面では同じ移動先をタッチサイズの drawer に表示します。