## ツールチップ
マウスホバーのプロンプト情報を表示します。
### 基本的な使い方
ツールチップの配置は9箇所です。
:::demo ホバー時の表示内容を設定するには、属性 `content` を用いる。属性 `placement` はツールチップの位置を決める。値は `[orientation]-[alignment]` で、方向は `top`, `left`, `right`, `bottom` の4つ、アライメントは `start`, `end`, `null` の3つで、デフォルトのアライメントはnullです。例えば、`placement="left-end"` を例にとると、ツールチップはホバリングしている要素の左側に表示され、ツールチップの下端は要素の下端に合わせて配置されます。
```html
top-start
top
top-end
left-start
left
left-end
right-start
right
right-end
bottom-start
bottom
bottom-end
```
:::
### テーマ
ツールチップには、`dark` と `light` の2つのテーマがあります。
:::demo テーマを変更するには `effect` を設定します。デフォルト値は`dark`です。
```html
Dark
Light
```
:::
### コンテンツを追加します。
複数行のテキストを表示し、そのフォーマットを設定します。
:::demo `el-tooltip` の `content` という名前のスロットを追加して `el-tooltip` の `content` 属性をオーバーライドします。
```html
multiple lines
second line
Top center
```
:::
### 高度な使用法
基本的な使い方に加えて、自分でカスタマイズできる属性がいくつかあります。:
`transition` 属性はツールチップの表示・非表示のアニメーションをカスタマイズすることができ、デフォルト値は el-fade-in-linear です。
デフォルト値は el-faade-in-linear です。 `disabled` 属性は `tooltip` を無効にします。`true`に設定すればよいだけです。
実際、ツールチップは[Vue-popper](https://github.com/element-component/vue-popper)をベースにした拡張機能なので、Vue-popperで許可されている属性なら何でも使えます。
:::demo
```html
click to {{disabled ? 'active' : 'close'}} tooltip function
```
:::
:::tip
ツールチップでは `router-link` コンポーネントはサポートされていないので、`vm.$router.push` を使用してください。
無効化されたフォーム要素は、Tooltipではサポートされていません。詳細は[Mdn](https://developer.mozilla.org/en-US/docs/Web/Events/mouseenter)を参照してください。Tooltipが動作するためには、無効化されたフォーム要素をコンテナ要素で包む必要があります。
:::
### 属性
| Attribute | Description | Type | Accepted Values | Default |
|----------------|---------|-----------|-------------|--------|
| append-to-body | dialog自身をボディに追加するかどうかを指定します。入れ子になったdialogは、この属性を `true` に設定しなければなりません。 | boolean | — | true |
| effect | ツールチップのテーマ | string | dark/light | dark |
| content | コンテンツを表示、`slot#content` で上書きすることができます。 | String | — | — |
| placement | ツールチップの位置 | string | top/top-start/top-end/bottom/bottom-start/bottom-end/left/left-start/left-end/right/right-start/right-end | bottom |
| model-value / v-model | ツールチップの可視性 | boolean | — | false |
| disabled | ツールチップが無効になっているかどうか | boolean | — | false |
| offset | ツールチップのオフセット | number | — | 0 |
| transition | アニメーション名 | string | — | el-fade-in-linear |
| visible-arrow | 矢印が表示されているかどうかを指定します。詳しくは、[Vue-popper](https://github.com/element-component/vue-popper)のページを参照してください。 | boolean | — | true |
| popper-options | [popper.js](https://popper.js.org/documentation.html) parameters | Object | refer to [popper.js](https://popper.js.org/documentation.html) doc | `{ boundariesElement: 'body', gpuAcceleration: false }` |
| show-after | ミリ秒単位の出現の遅延 | number | — | 0 |
| hide-after | ミリ秒単位の消えるの遅延 | number | — | 0 |
| auto-close | ツールチップを非表示にするタイムアウト(ミリ秒単位) | number | — | 0 |
| manual | ツールチップを手動で制御するかどうかを指定します。`true` に設定すると `mouseenter` と `mouseleave` は効果を持ちません。 | boolean | — | false |
| popper-class | ツールチップのポッパーのカスタムクラス名 | string | — | — |
| enterable | マウスがツールチップに入るかどうか | Boolean | — | true |
| tabindex | [tabindex](https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/tabindex) のツールチップ | number | — | 0 |