Tooltip ツールチップ
マウスホバー時の通知情報を表示するによく使われます。
基本的な使い方
方位とトリガー方式
import { LhButton, LhTooltip } from '@lh-ui/react'
export default function Demo() {
return (
<>
<LhTooltip content="上方の通知" placement="top">
<LhButton>上</LhButton>
</LhTooltip>
<LhTooltip content="クリックでトリガー" trigger="click">
<LhButton>クリック</LhButton>
</LhTooltip>
<LhTooltip content="セマンティックカラーの通知" type="success">
<LhButton>セマンティックカラー</LhButton>
</LhTooltip>
</>
)
}
Tooltip Props
| プロパティ | 説明 | 型 | 使用可能な値 | デフォルト値 |
|---|---|---|---|---|
| content | 通知の内容 | string | — | — |
| placement | 表示位置 | LhTooltipPlacement | top / bottom / left / right(-start / -end を含む) | 'top' |
| trigger | トリガー方式 | 'hover' | 'click' | 'focus' | — | 'hover' |
| disabled | 通知を無効化 | boolean | — | false |
| visible | 制御された表示状態 | boolean | — | — |
| defaultVisible | 非制御のデフォルト表示 | boolean | — | false |
| showAfter / openDelay | 表示の遅延(ms。互いにエイリアス) | number | — | 0 |
| hideAfter / closeDelay | 非表示の遅延(ms。互いにエイリアス) | number | — | 0 |
| effect | テーマ | 'dark' | 'light' | — | 'dark' |
| type | セマンティックカラータイプ(effect の背景色を上書き) | 'primary' | 'success' | 'warning' | 'danger' | 'info' | — | — |
| bgColor | カスタム背景色(effect と type を上書き) | string | — | — |
| maxWidth | 最大幅 | string | number | — | '200px' |
| themeVars | コンポーネントレベルのテーマ変数 | Record<string, string> | — | — |
| sx | クイックレイアウトプロパティ(トリガーに作用) | SxProps | — | — |
Tooltip イベント
| イベント | 説明 | コールバックシグネチャ | Vue 対応 |
|---|---|---|---|
| onVisibleChange | 表示状態の変化(制御・非制御どちらでも発火) | (visible: boolean) => void | update:visible |
ref
forwardRef<HTMLDivElement> —— トリガーのルート要素です。LhTooltipInstance は show() / hide() / toggle() を公開します。
制御の簡素化
plus とは異なり、本ライブラリは**manual スイッチを持ちません**:visible を渡すと制御になり、onVisibleChange が外部に通知します。詳しくは移行ガイドを参照してください。
スクロール時に閉じる
トリガーがビューポートからスクロールアウトすると通知は自動的に閉じます(onScrollOut)。fixed のポップアップレイヤーがページの内容の上に浮いたままになるのを防ぎます。
スタイル
import '@lh-ui/react/style/tooltip'