Web Components Tooltip (ツールチップ)

    Ignite UI for Web Components Tooltip コンポーネントは、特定の要素のツールチップを表示する方法を提供します。ツールチップは、通常、要素がキーボード フォーカスを受け取ったとき、またはマウスを要素の上に置いたときに、要素に関連する情報を表示するポップアップです。

    Ignite UI for Web Components Tooltip の例

    EXAMPLE
    TS
    HTML
    CSS

    このサンプルが気に入りましたか? 完全な Ignite UI for Web Componentsツールキットにアクセスして、すばやく独自のアプリの作成を開始します。無料でダウンロードできます。

    作業の開始

    IgcTooltipComponent の使用を開始するには、最初に次のコマンドを実行して Ignite UI for Web Components をインストールする必要があります。

    npm install igniteui-webcomponents
    cmd

    次に、以下のように、IgcTooltipComponent とそれに必要な CSS をインポートし、そのモジュールを登録する必要があります:

    import { defineComponents, IgcTooltipComponent } from 'igniteui-webcomponents';
    import 'igniteui-webcomponents/themes/light/bootstrap.css';
    
    defineComponents(IgcTooltipComponent);
    ts

    これで、Web Components IgcTooltipComponent の基本構成から始めることができます。

    <igc-tooltip anchor="hover-button">
      Congrats you've hovered the button!
    </igc-tooltip>
    
    <igc-button id="hover-button">Hover me</igc-button>
    html

    Ignite UI for Web Components の完全な概要については、作業の開始トピックを参照してください。

    使用方法

    ツールチップ ターゲット

    目的の要素にツールチップを添付するには、<igc-tooltip> 要素の anchor プロパティを使用します。このプロパティは、要素 ID または要素への直接参照のいずれかを受け入れます。ID 参照を使用する場合は、anchor プロパティをターゲット要素の ID に設定するだけです。

    <igc-button id="target-button">Hover me</igc-button>
    <igc-tooltip anchor="target-button">
      Congrats you've hovered the button!
    </igc-tooltip>
    html

    要素インスタンスを直接渡すことでターゲットを指定することもできます。

    <igc-tooltip id="tooltip">
      Congrats you've hovered the button!
    </igc-tooltip>
    <igc-button id="hover-button">Hover me</igc-button>
    html
    constructor() {
      const anchor = document.querySelector('#hover-button') as IgcButtonComponent;
      const tooltip = document.querySelector('#tooltip') as IgcTooltipComponent;
      tooltip.anchor = anchor;
    }
    ts

    ツールチップのコンテンツ

    ツールチップのコンテンツは、<igc-tooltip> 要素の開始タグと終了タグの間にカスタム コンテンツを配置することによって定義されます。

    <igc-tooltip>
      This is my custom content here.
    </igc-tooltip>
    html

    あるいは、単純なテキストを設定するには、message プロパティを使用できます。

    <igc-tooltip message="This is my custom content here."></igc-tooltip>
    html

    両方の方法 (スロット化されたコンテンツと message プロパティ) を使用する場合、スロット化されたコンテンツが優先され、message 値は無視されます。

    <igc-button id="target-button">Hover me</igc-button>
    <igc-tooltip anchor="target-button" message="I will be hidden.">
      I will be shown!
    </igc-tooltip>
    html

    この例では、スロット化されたコンテンツ 「I will be shown!」 が message プロパティ値の代わりに表示されます。

    IgcTooltipComponent のコンテンツは単なるテキスト以上のものになります。ツールチップはマークアップ内の通常の要素であるため、必要な要素を追加し、それに応じてスタイルを設定することで、そのコンテンツを強化できます。

    EXAMPLE
    TS
    HTML
    CSS

    設定の表示/非表示

    IgcTooltipComponent を表示および非表示にする前の遅延を制御する場合は、showDelay プロパティと hideDelay プロパティを使用できます。どちらのプロパティも、時間をミリ秒単位で表す数値を受け入れます。

    <igc-tooltip show-delay="600" hide-delay="800">
      Her name is Madelyn James.
    </igc-tooltip>
    html

    Tooltip API メソッド (show、hide、toggle) では、showDelay プロパティと hideDelay プロパティが考慮されないことに注意することが重要です。呼び出されるとすぐに動作します。

    配置

    IgcTooltipComponent は、ターゲット要素を基準にして簡単に配置することもできます。必要なのは、placement プロパティを、toptop-starttop-endbottombottom-startbottom-end rightright-startright-endleftleft-startleft-end のいずれかの位置オプションとともに使用するだけです。

    placement プロパティが設定されていない場合、デフォルト値は "top" となり、IgcTooltipComponent はターゲット要素の上に配置されます。

    さらに、sticky プロパティを使用して IgcTooltipComponent を固定することができます。これにより、閉じるボタンが追加され、ユーザーが閉じるボタンをクリックするか、Esc キーを押して手動で閉じるまで、IgcTooltipComponent が表示されたままになります。この動作はデフォルトのホバー動作をオーバーライドし、ユーザーがターゲット要素上でホバーを停止したときに IgcTooltipComponent が消えないようにします。

    <igc-button id="target-button">Hover me</igc-button>
    <igc-tooltip anchor="target-button" placement="top-start" sticky>
      Congrats you've hovered the button!
    </igc-tooltip>
    html

    次の例では、すべての位置オプションと sticky プロパティの動作のデモを見ることができます。

    EXAMPLE
    TS
    HTML
    CSS

    トリガー

    デフォルトでは、IgcTooltipComponent はターゲット要素の上にマウスを移動したときにのみトリガーされます。ただし、showTriggers プロパティと hideTriggers プロパティを使用してこの動作を変更し、IgcTooltipComponent が表示されるタイミングと消えるタイミングを制御できます。これらのプロパティは、clickfocuskeypress などのイベント名を値として受け入れ、さまざまなシナリオで IgcTooltipComponent をトリガーできるようにします。

    EXAMPLE
    TS
    HTML
    CSS

    追加のプロパティ

    これまでに説明したプロパティの他に、IgcTooltipComponent コンポーネントには、動作、位置、外観をさらに構成できるさまざまな追加プロパティが用意されています。

    名前 タイプ 説明
    open boolean ツールチップの表示/非表示を決定します。
    disableArrow boolean true に設定すると、ツールチップの矢印インジケーターが無効になります。
    offset number ツールチップとその anchor 間のピクセル距離を設定します。

    メソッド

    構成可能なプロパティに加えて、IgcTooltipComponent では次の 3 つのメソッドも使用できます。

    名前 説明
    show ツールチップが表示されていない場合は表示します。ターゲットが指定されている場合は、ターゲットを一時的な anchor として設定します。
    hide ツールチップがまだ非表示になっていない場合は非表示にします。
    toggle ツールチップの表示状態と非表示状態を切り替えます。
    Ignite UI for Web Components | CTA Banner

    アクセシビリティと ARIA サポート

    IgcTooltipComponent はアクセシビリティを考慮して構築されており、次の ARIA 属性が含まれています。

    • role - ツールチップがデフォルトの動作になっている場合、role="tooltip" が適用されます。sticky プロパティが有効な場合、ロールは status に変更されます。
    • inert - 可視性に基づいて動的に切り替えられます。ツールチップが非表示になると、ツールチップは非アクティブになります。
    • aria-atomic - true に設定すると、ツールチップのコンテンツ全体が変更時に通知されるようになります。
    • aria-live - polite に設定して、ユーザーがアイドル状態のときにのみ更新を通知することをスクリーン リーダーに示します。

    スタイル設定

    IgcTooltipComponent コンポーネントは、スタイル設定に使用できる 2 つの CSS パーツを公開します。

    名前 説明
    base ツールチップ コンポーネントの基本ラッパー。
    bottom ツールチップ矢印を含む領域。
    igc-tooltip::part(base) {
      background-color: var(--ig-primary-500);
      color: var(--ig-primary-500-contrast);
    }
    
    igc-tooltip::part(bottom) {
      border-bottom-color: var(--ig-primary-500);
    }
    css

    EXAMPLE
    TS
    HTML
    index.css
    Styling.css

    API リファレンス

    その他のリソース