导航与展开@neumorphism-ui/tooltip

Tooltip

基于 Base UI Tooltip,组合 Provider、Root、Trigger、Portal、Positioner 和 Popup。默认 provider 延迟为 250ms,popup 会自动避开 trigger 周围的碰撞边界。

@neumorphism-ui/tooltip
Registry JSON

预览

将鼠标悬停在按钮上,或把焦点移到按钮。

安装

安装: tooltipnpx shadcn@latest add @neumorphism-ui/tooltip

CLI 会依次处理 npm 依赖、base token、utils 和组件源码。

首次使用此 Registry?请先完成 namespace 配置 。

用法

用法: 安装npx shadcn@latest add @neumorphism-ui/button @neumorphism-ui/tooltip

Import

Tooltip import 代码
import { Button } from "@/components/ui/button"
import {
  Tooltip,
  TooltipContent,
  TooltipProvider,
  TooltipTrigger,
} from "@/components/ui/tooltip"

Example

Tooltip 用法代码
<TooltipProvider>
  <Tooltip>
    <TooltipTrigger
      render={<Button size="icon" aria-label="打开设置" />}
    >
      ⚙
    </TooltipTrigger>
    <TooltipContent side="top">
      设置
    </TooltipContent>
  </Tooltip>
</TooltipProvider>

API 参考

组件属性类型默认值说明
TooltipProviderdelaynumber250pointer hover 后打开 tooltip 的延迟时间(ms)。
Tooltipopen / defaultOpenbooleanfalse受控的打开状态或非受控初始状态。
TooltiponOpenChange(open: boolean) => void—打开状态变化时调用。
TooltipTriggerrenderReactElement | (props, state) => ReactElement—将 tooltip trigger 行为组合到按钮或链接上。
TooltipContentside / align"top" | "right" | "bottom" | "left" / "start" | "center" | "end""top" / "center"相对于 trigger 设置 popup 的位置。
TooltipContentsideOffsetnumber8设置 trigger 与 popup 之间的间距。

无障碍

  • 01

    Tooltip 不能替代 trigger 的无障碍名称,因此图标按钮仍需单独提供 aria-label。

  • 02

    内容应简短且仅作辅助,不要把必要说明或错误消息只放在 Tooltip 中。

  • 03

    Base UI 会让 Tooltip 在 hover 和 keyboard focus 时打开,并支持用 Escape 关闭。