Tip
Tipは、アイコンボタンをトリガーとして補足情報を表示するコンポーネントです。
<HStack gap="xs">
<Text as="span" whiteSpace="nowrap">
煉獄杏寿郎
</Text>
<Tip content="俺は俺の責務を全うする!!" />
</HStack>
使い方
import { Tip } from "@yamada-ui/react"
import { Tip } from "@/components/ui"
import { Tip } from "@workspaces/ui"
<Tip />
ステータスを変更する
ステータスを変更する場合は、statusに"help"や"info"などを指定します。デフォルトでは"help"が設定されています。
<VStack>
<For each={["help", "info", "success", "warning", "error"]}>
{(status) => (
<HStack key={status} gap="xs">
<Text as="span" whiteSpace="nowrap">
{toTitleCase(status)}
</Text>
<Tip content="俺は俺の責務を全うする!!" status={status} />
</HStack>
)}
</For>
</VStack>
カラースキームを変更する
<VStack>
<For each={["help", "info", "success", "warning", "error"]}>
{(status) => (
<HStack key={status} gap="xs">
<Text as="span" whiteSpace="nowrap">
{toTitleCase(status)}
</Text>
<Tip
colorScheme={status === "help" ? "mono" : status}
content="俺は俺の責務を全うする!!"
status={status}
/>
</HStack>
)}
</For>
</VStack>
所要時間を変更する
所要時間を変更する場合は、durationに数値(秒)を設定します。
<HStack gap="xs">
<Text as="span" whiteSpace="nowrap">
煉獄杏寿郎
</Text>
<Tip content="俺は俺の責務を全うする!!" duration={0.7} />
</HStack>
遅延させる
表示または非表示を遅延させる場合は、openDelayまたはcloseDelayに数値(ミリ秒)を設定します。
<VStack>
<HStack gap="xs">
<Text as="span" whiteSpace="nowrap">
Delay Open 1000ms
</Text>
<Tip content="俺は俺の責務を全うする!!" openDelay={1000} />
</HStack>
<HStack gap="xs">
<Text as="span" whiteSpace="nowrap">
Delay Close 1000ms
</Text>
<Tip content="俺は俺の責務を全うする!!" closeDelay={1000} />
</HStack>
</VStack>
オフセットを変更する
オフセットを変更する場合は、gutterまたはoffsetに値を設定します。
gutterは、単純な要素との差を設定でき、offsetは、[横軸, 縦軸]を設定できます。
<VStack>
<HStack gap="xs">
<Text as="span" whiteSpace="nowrap">
煉獄杏寿郎
</Text>
<Tip content="俺は俺の責務を全うする!!" gutter={32} />
</HStack>
<HStack gap="xs">
<Text as="span" whiteSpace="nowrap">
煉獄杏寿郎
</Text>
<Tip content="俺は俺の責務を全うする!!" offset={[16, 16]} />
</HStack>
</VStack>
アニメーションを変更する
表示または非表示のアニメーションを変更する場合は、animationSchemeに"scale"や"block-end"などを設定します。デフォルトでは、"scale"が設定されています。
<VStack>
<For
each={["scale", "block-end", "inline-start", "inline-end", "block-start"]}
>
{(animationScheme) => (
<HStack key={animationScheme} gap="xs">
<Text as="span" whiteSpace="nowrap">
{toTitleCase(animationScheme)}
</Text>
<Tip
animationScheme={animationScheme}
content="俺は俺の責務を全うする!!"
/>
</HStack>
)}
</For>
</VStack>
配置を変更する
配置を変更する場合は、placementに"end"や"center-start"などを設定します。デフォルトでは、"start"が設定されています。
<VStack>
<For
each={[
"start",
"start-start",
"start-end",
"start-center",
"end",
"end-start",
"end-end",
"end-center",
"center-start",
"center-end",
]}
>
{(placement) => (
<HStack key={placement} gap="xs">
<Text as="span" whiteSpace="nowrap">
{toTitleCase(placement)}
</Text>
<Tip content="俺は俺の責務を全うする!!" placement={placement} />
</HStack>
)}
</For>
</VStack>
無効にする
ツールチップを無効にする場合は、disabledをtrueに設定します。
<HStack gap="xs">
<Text as="span" whiteSpace="nowrap">
煉獄杏寿郎
</Text>
<Tip content="俺は俺の責務を全うする!!" disabled />
</HStack>
常に表示する
ツールチップを常に表示する場合は、openをtrueに設定します。
<HStack gap="xs">
<Text as="span" whiteSpace="nowrap">
煉獄杏寿郎
</Text>
<Tip content="俺は俺の責務を全うする!!" open />
</HStack>
アイコンをカスタマイズする
アイコンをカスタマイズする場合は、iconにアイコンを設定します。
<HStack gap="xs">
<Text as="span" whiteSpace="nowrap">
煉獄杏寿郎
</Text>
<Tip content="俺は俺の責務を全うする!!" icon={<MessageCircleWarningIcon />} />
</HStack>
制御する
const { open, onClose, onOpen } = useDisclosure()
return (
<HStack gap="xs">
<Text as="span" whiteSpace="nowrap">
煉獄杏寿郎
</Text>
<Tip
content="俺は俺の責務を全うする!!"
open={open}
onClose={onClose}
onOpen={onOpen}
/>
</HStack>
)
"use client"をファイルの上部に追加する必要があります。Props
類似のコンポーネント
Snacks
Snacksは、フォームなどで使用される通知を制御するコンポーネントです。
Alert
Alertは、ユーザーに情報を伝達するコンポーネントです。
Loading
Loadingは、データの読み込み中などの待機時間に表示するコンポーネントです。
EmptyState
EmptyStateはリソースが空または利用できない場合に表示するために使用されるコンポーネントです。