@ai-matrx/tap-target

中文文档
0.2.91发布于 2026/10/12MITTypeScriptESM + CJS近 30 天下载 2.9万

AI Matrx自拍目标按钮系统:每个按键上锁一个38px脚印(32px药丸,16px glyph,6px在药丸之间,28px宽外形,粗指针打出打出打出打出打出打出打出打出打出打出打出打出打出打出打出打出打出打出打出打出打出打出打出打出打出打出打出打出打出打出打出打出打出打出打出打出打出打出打出打出打出打出打出打出打出打出打出打出打出打出打出打出打出打出打出打出打出打出打出打出打出打出打出打出打出打出打出打出打出打出打出打出打出打出打出打出打出打出打出打出打出打出打出打出打出打出打出打出出打出打出出出打出打出出打出出出出出出出出出出出出

中文使用文档
文档目录5 节
  1. 设置——两个一次性步骤
  2. 链接部分注册
  3. 使用量
  4. 子路径
  5. 样式笔记

@ai-matrx/tap-目标

AI Matrx 启动目标按钮系统:每个按钮占用 一个固定的38px 脚印 持有 32px圆药和16px甘油,所以相邻按钮 完全坐在6px相隔,没有包装(宽的形状——胶囊,有标签的药丸) 高28px; 24px 避孕药在瘦小组几何; a 在粗指针上,通过隐形的击打斜口向44px移动的区域,加 TapTargetSearchGroup ——macOS工具栏搜索,并附有媒体反馈,移动自带卫生(无300ms延迟,无iOS灰色) 闪光),并正确 radix 的转发 asChild 触发。 。 。 .

  • 初级 —— 说 TapTargetButton (眼镜), TapTargetButtonTransparent, (中文(简体) ), TapTargetButtonSolid, (中文(简体) ), TapTargetButtonDestructive, (中文(简体) ), TapTargetButtonForGroup + 键 TapTargetButtonGroup,则 TapTargetLabeled 字幕包装.
  • ~60 预组合按钮 —— 说 BugTapButton, (中文(简体) ), PlusTapButton, (中文(简体) ), TrashTapButton,... 一个导入, 一个标记, 零配置, 所有格言 内入. 透过 ./buttons 子路径.
  • 每个按钮都可以是 按钮、标签或链接 (单位:千美元)as="label", (中文(简体) ), href, (中文(简体) ), 自动携带 工具提示线条 从 ariaLabel,并支持 内入行标题( i)label使药丸扩大.
npm install @ai-matrx/tap-target

端点 : react >= 18. 犬科原始、几何和工具提示行为 从普通的 @ai-matrx/design-system 依赖性.

设置——两个一次性步骤

1. 在您的应用根导入样式表一次 。 中央支助系统是 产品 ——"几何"和"新闻反馈"都活在其中,没有任何东西使得 没有它是正确的。 在您的根 CSS 中首先声明其锁层 (单位:千美元)@layer matrx-tap-lock; 因此,没有阶级可以弯曲它 发展过程中的滥用警戒enableTapTargetGuard():

// app/layout.tsx (or your root entry)
import "@ai-matrx/tap-target/styles.css";

这条线就够了,因为本表0.2.1 @import编号 @ai-matrx/design-system/styles.css,它需要 QUIRES —— 装载按钮的 旋转器穿设计系统 matrx-spin,其中定义了关键框架 (从来没有) animate-spin,此软件包不能运出。 如果你的应用 已导入设计- 系统工作表, 没有重复 .

2. 在根上挂载工具提示提供者 (如果您的应用程序已经挂载) @radix-ui/react-tooltip提供者 :

import { TooltipProvider } from "@ai-matrx/tap-target";

<TooltipProvider delayDuration={300}>{children}</TooltipProvider>

href 任何启动按钮上都会有一个链接。 外部资源http(s):, (中文(简体) ), mailto:, (中文(简体) ), tel:总是使 <a target="_blank" rel="noopener noreferrer">内部 通过您路由器的链接组件生成 hrefs 渲染——一次注册 启动 :

import Link from "next/link";
import { setTapTargetLinkComponent } from "@ai-matrx/tap-target";

setTapTargetLinkComponent(Link); // e.g. in a client boot component

没有登记,内脏就会掉回平地 <a> (仍然是a) 工作链接——没有前置,没有客户端的路由. 单人覆盖 还提供: <TapTargetButton href="/tasks" linkComponent={Link} />。 。 。 .

使用量

import { TapTargetButton, TapTargetButtonGroup, TapTargetButtonForGroup } from "@ai-matrx/tap-target";
import { PlusTapButton, TrashTapButton } from "@ai-matrx/tap-target/buttons";

// Pre-composed (preferred): one tag, tooltip auto-derives from ariaLabel
<PlusTapButton onClick={add} ariaLabel="Add a task" />

// Variants: glass (default) | transparent | solid | group
<TrashTapButton variant="solid" bgColor="bg-destructive" iconColor="text-destructive-foreground" />

// Links
<PlusTapButton href="/tasks/new" ariaLabel="New task" />

// Inline caption (widens the pill, tooltip off — the label self-describes)
<PlusTapButton label="Add" />

// Grouped slim buttons in one shared glass shell
<TapTargetButtonGroup>
  <TapTargetButtonForGroup ariaLabel="Undo" icon={<UndoIcon />} />
  <TapTargetButtonForGroup ariaLabel="Redo" icon={<RedoIcon />} />
</TapTargetButtonGroup>

// Custom glyph via the primitive
<TapTargetButton ariaLabel="Custom" icon={<MyIcon className="h-4 w-4" />} />

参考基础 <button>,所以每个按钮都像拉迪克斯 asChild 触发器( Dropdown Menu, Popover, Tooltip,...):

<DropdownMenuTrigger asChild>
  <MoreHorizontalTapButton />
</DropdownMenuTrigger>

子路径

子路径这是什么
.初学者, TapTargetLabeled,链接注册,工具提示再出口.
./buttons~60预编成的按钮(重-每个格子内衬;选入).
./styles.cssREQUIRED 几何/ feedback 样式表——在应用根导入一次 .
./package.json名单.

样式笔记

  • 几何和新闻反馈来自 styles.css (单位:千美元).matrx-tap-*) (中文(简体) ). 改为: 重调每个调试按钮, 该文件是真理的唯一来源—— 永远 每个按钮大小覆盖.
  • 备选案文 装饰 在避孕药上使用 Tailwind 风格的实用类 (单位:千美元)bg-primary, (中文(简体) ), hover:bg-muted, (中文(简体) ), text-foreground和马特克斯 matrx-glass-thin-border 编号 : matrx-glass-interactive 玻璃课). 在一个 Tailwind 应用这些针对您主题符号的解析度; 确保您 Tailwind 构建扫描此软件包( Tailwind v4 : @source "../node_modules/@ai-matrx/tap-target";和提供两者 matrx-glass-* 类(或接受无装饰玻璃药丸).
  • 永远不要多包一个水龙头按钮 p-*编号 :m-*编号 :gap-* - 已经装好了 保留间隔。 有了警卫,这样的按钮就成了红盒子.
  • 放出时间探测器 (2026-10-09):此行为一行变化而存在以测量推向npm.

版本与发布记录

@ai-matrx/tap-target 共发布 95 个版本,首次发布于 2026/08/29;过去 12 个月发布了 95 个版本。

版本发布日期距今
0.2.91latest2026/10/1225 天前
0.2.902026/10/1225 天前
0.2.892026/10/1125 天前
0.2.882026/10/1125 天前
0.2.872026/10/1125 天前
0.2.862026/10/1126 天前

关于 @ai-matrx/tap-target 的常见问题

@ai-matrx/tap-target 是什么?

AI Matrx自拍目标按钮系统:每个按键上锁一个38px脚印(32px药丸,16px glyph,6px在药丸之间,28px宽外形,粗指针打出打出打出打出打出打出打出打出打出打出打出打出打出打出打出打出打出打出打出打出打出打出打出打出打出打出打出打出打出打出打出打出打出打出打出打出打出打出打出打出打出打出打出打出打出打出打出打出打出打出打出打出打出打出打出打出打出打出打出打出打出打出打出打出打出打出打出打出打出打出打出打出打出打出打出打出打出打出打出打出打出打出打出打出打出打出打出打出出打出打出出出打出打出出打出出出出出出出出出出出出

如何安装 @ai-matrx/tap-target?

在项目目录运行 npm install @ai-matrx/tap-target,或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖:react(>=18.0.0)。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖,Yarn 需要手动安装。

@ai-matrx/tap-target 支持 TypeScript 吗?

支持。包内自带 TypeScript 类型声明(package.json 声明了 types 入口),安装后即可获得类型提示,无需再安装 @types 包。

@ai-matrx/tap-target 支持 ESM 还是 CommonJS?

同时提供 ES Module 与 CommonJS 入口,import 和 require() 都可以使用,打包工具会自动选择合适的版本。

@ai-matrx/tap-target 需要什么版本的 Node.js?

package.json 的 engines 字段要求 Node.js >=20。版本不符时 npm 默认只给出警告,开启 engine-strict 后会拒绝安装。

@ai-matrx/tap-target 可以商用吗?

@ai-matrx/tap-target 使用 MIT 许可。宽松许可:允许商业使用、修改和再分发,通常只需在分发时保留原版权与许可声明。以上为概括,不构成法律意见,请以许可原文为准。

@ai-matrx/tap-target 的下载量有多少?

根据 npm 官方下载统计,@ai-matrx/tap-target 在 2026/10/05 – 2026/11/03 这 30 天内被下载 29,179 次,日均约 973 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@ai-matrx/tap-target 还在维护吗?

最新版本 0.2.91 发布于 2026/10/12(25 天前);至今共发布 95 个版本,其中过去 12 个月发布了 95 个;首次发布于 2026/08/29。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。