LinkButton
実際の anchor としてレンダリングされ、ボタンのように見えるナビゲーションです。6 つの intent、3 つの appearance、3 つのサイズを備えています。
主なプロパティ
| 軸 | 値 | 既定値 | 用途 |
|---|---|---|---|
intent | neutral, primary, info, success, warning, danger | neutral | 移動先の意味や結果を伝えます。 |
appearance | solid, outline, ghost | solid | intent を変えずに視覚的な強調を調整します。 |
uiSize | md, lg | md | 周囲のコントロールのサイズに合わせます。 |
disabled | boolean | false | 移動先を削除し、ナビゲーションを無効化します。 |
インストール
pnpm add @tinyrack/ui長い行はコード領域を横にスクロールして確認できます。
スタイル
@import '@tinyrack/ui/components/link-button.css';長い行はコード領域を横にスクロールして確認できます。
インポート
import { TRLinkButton } from '@tinyrack/ui/components/link-button';長い行はコード領域を横にスクロールして確認できます。
プレイグラウンド
使用方法
ボタンのように見えるナビゲーション パーマリンク
ナビゲーションをボタンのように見せたいときに TRLinkButton を使用します。role=link の実際の anchor としてレンダリングされ、ネイティブリンクの動作を保ちます。
例
Solid の intent パーマリンク
最も強い強調が必要な移動先には solid のリンクボタンを使用してください。
Outline の intent パーマリンク
表示は残しつつ強調を抑えたい移動先には outline のリンクボタンを使用してください。
Ghost の intent パーマリンク
すっきりした面での強調が低いナビゲーションには ghost のリンクボタンを使用してください。
サイズ パーマリンク
移動先の重要度ではなく、近くのコントロールに合うサイズを選んでください。
状態と移動先 パーマリンク
disabled は移動先を削除し、ナビゲーションを無効化します。外部の移動先は、新しい閲覧コンテキストが開くことを表示テキストで示します。
API
ボタンのように見えるナビゲーションには TRLinkButton を、コマンドには TRButton を使用します。実際の anchor を role="link" としてレンダリングするため、Enter で起動し、Space は native anchor と同様に scroll し、native の href、target、rel、download がすべて動作します。無効なリンクボタンは aria-disabled を公開し、href と tab stop を削除して、pointer と keyboard による起動を防ぎます。外部の移動先は、新しい browsing context が開くことを表示テキストで示し、target="_blank" と適切な rel を併用してください。
| プロパティ | 型 / 既定値 | 用途 |
|---|---|---|
intent | neutral | primary | info | success | warning | danger / neutral | 意味と色の役割を選びます。 |
appearance | solid | outline | ghost / solid | intent を変えずに視覚的な強調を選びます。 |
uiSize | md | lg / md | コントロールのサイズを選びます。 |
disabled | boolean / false | 移動先を削除し、ナビゲーションを無効化します。 |
href | native anchor href | 移動先を設定し、disabled の間は省略されます。 |
render | Base UI render element または callback | anchor を入れ子にせず React Router などの link を合成します。 |
| native props | anchor attributes、events、className、style、ref | 外部/download 属性、handler、style、React 19 ref を転送します。 |
TRLinkButton は TRButton のスタイル契約(data-appearance、data-intent、
data-ui-size を備えた tr-btn クラス)をそのまま使うため、link の意味を保ち
ながらボタンと視覚的に同一になります。