@thetaskforge/design-system

中文文档
0.6.1发布于 2026/11/02UNLICENSEDES Module零依赖

Taskforge设计系统(基于未命名的UI):每个Taskforge前端共享的组件、钩子、utils和样式。

中文使用文档
文档目录10 节
  1. 在应用程序中使用它
  2. 向npm发布新版本
  3. 方法一:终端单行命令(推荐)
  4. 方法2:来自GitHub Actions Web UI
  5. 方法3:直接发布npm
  6. 共享库(模块联合)
  7. 应用程序(全屏片)
  8. 基础(小型积木)
  9. 钩子/ utils
  10. 规则

Taskforge设计系统(基于未命名的UI)

@thetaskforge/design-system 是每个Taskforge前端使用的单一副本。在这里更改一个组件,标记一个版本,然后把它放到应用程序中。 文件夹: src/components/<group>/<name>/.

在应用程序中使用它

  1. 从npm安装:
    npm install @thetaskforge/design-system
    
  2. 通过混叠保持导入的原样 @/design-system 来 node_modules/@thetaskforge/design-system/src 在 tsconfig.json (paths)和webpack resolve.alias.
  3. 让webpack编译这个包的TypeScript: include node_modules/@thetaskforge/design-system 在TS/babel规则。
  4. 在应用程序中 index.scss、进口 @thetaskforge/design-system/styles/globals.css 并添加 @source "../node_modules/@thetaskforge/design-system/src"; 顺风看到了这些课程。
  5. 添加对等依赖项 package.json 标记它们 singleton 在模块联盟中 shared.

注意:因为这个包被发布到公共的npm注册表 @thetaskforge 范围,不需要特殊的Git令牌或存储库凭证 npm install 在Docker, CI/CD或Vercel中。

向npm发布新版本

执行以下命令:

npm run release:patch    # e.g. 0.3.24 -> 0.3.25
npm run release:minor    # e.g. 0.3.24 -> 0.4.0
npm run release:major    # e.g. 0.3.24 -> 1.0.0

这就会自动碰撞 package.json,提交,创建git标签,并推送到GitHub。GitHub Actions工作流(.github/workflows/publish.yml)直接运行类型检查、测试和发布到npm。

方法2:来自GitHub Actions Web UI

  1. 去 行动 选项卡。
  2. 选择 发布到npm 从左侧栏。
  3. 点击 运行工作流,选择 patch, minor,或者 major,并按 运行工作流.

方法3:直接发布npm

npm publish

共享库(模块联合)

每个应用程序列表 react-aria-components, react-aria, react-stately 和 @internationalized/date 作为 singleton 共享库,紧挨着React和React Router。这样可以让一个库的副本保存设计系统的上下文,这样主机的路由器和覆盖上下文就可以到达来自另一个应用程序的组件。在应用程序之间保持它们的版本相同。

应用程序(全屏片)

组件用它来
app-navigation侧边栏、页眉和移动导航
breadcrumbs/Breadcrumbs当前页面上方的页面轨迹
page-header/PageHeader页面标题,描述,徽章,面包屑和操作按钮
steps/Steps过程的各个阶段(水平或垂直)
metrics/MetricCard带有标签(和注释、图标)的数字
table/Table数据表(scrollClassName, scrollOrientation 选项)
tabs, pagination, date-picker, empty-state, loading-indicator, file-upload, carousel, charts作为命名
modals/ModalShell, modals/ConfirmActionModal对话和“Are you sure?”确认
slideout-menus/SlideoutMenu, slideout-menus/Drawer侧板。 Drawer 保持安装,所以它可以滑动,标题,副标题和页脚
toast诸如“链接已复制”之类的通知
slideout-menus/DockedPanel页面旁边的非模态面板(没有背景),用于设置所选内容
floating-toolbar/FloatingToolbar, FloatingToolbarButton, FloatingToolbarDivider浮动在画布上的图标动作的可折叠药丸
floating-action-button/FloatingActionButton, AnchoredPopup一个大的圆形可拖拽按钮和在它旁边打开的弹出窗口,翻转以停留在屏幕上
command-menu/CommandMenu具有固定搜索和滚动体的可搜索分段列表
workflow-canvas/PalettePanel, PaletteItem带有工具提示的图标可拖动快捷方式
workflow-canvas/WorkflowNodeCard, NodeHandle, CanvasGroup, EdgeLabel, CanvasPanel, ZoomControls流程画布:步骤卡,阶段组,连接器标签,缩放
workflow-canvas/CanvasGroup (国家 default / new / drop, isEditingName, menu), GroupMenu, CollapsedGroupCard阶段:盒子,命名,拉高亮,它的菜单(重命名,颜色,折叠,取消组)和折叠卡片
workflow-canvas/SelectionBox, SelectionBar, SelectionBarButton, SelectionBarDivider选中的步骤上方的矩形和它们上方的黑色条(分组步骤,对齐,删除)
sortable-list/SortableList通过拖动手柄或键盘重新排序的行
condition-row/ConditionRow, ConditionJoin作为句子的条件,带有And / Or
problem-card/ProblemCard从检查中找到一个,有一个跳转按钮
version-row/VersionRow实时,草稿,过去和分组自动保存历史记录的行
timeline/Timeline沿着一条时间线的彩色事件
rich-text-editor/RichTextEditor小HTML消息编辑器:粗体,斜体,链接,列表

基础(小型积木)

组件用它来
accordion/Accordion打开显示内容的标题
badges/Badge, badges/StatusBadge标签。 StatusBadge 将状态字映射到颜色(用覆盖) tones)
buttons/Button, ButtonUtility, CloseButton动作、图标按钮
input/Input, InputNumber, InputDate, PinInput, InputTags, CopyField字段。 CopyField 是灰色的只读字段与复制图标
select/Select, ComboBox, MultiSelect, TagSelect, SelectNative器。 ComboBox 是可搜索的吗
segmented/Segmented二到四选项切换(画布/列表,和/或)
reference-chip/ReferenceChip作为芯片显示的值、目的地或缺失的引用
code-block/CodeBlock带副本的只读代码
toggle/Toggle, toggle/ToggleRow开/关开关,一个带有标题和说明的开关
avatar, card, checkbox, dropdown, radio-buttons, slider, textarea, tags, tooltip, banner, button-group, progress-indicators, skeleton, scroll-area, form作为命名

钩子/ utils

use-breakpoint, use-clipboard, use-persisted-state, cx, timezones, anchored-placement/computeBesidePlacement, group-bounds/getGroupBounds, isCentreInside.

规则

  • 在编写本地组件之前,请先了解这些内容。如果缺少了什么,在这里添加。
  • 光模式仅适用于模拟;在构建器和公共页面中使用容器查询,而不是viewport变体。

版本与发布记录

@thetaskforge/design-system 共发布 6 个版本,首次发布于 2026/10/26;过去 12 个月发布了 6 个版本。

版本发布日期距今
0.6.1latest2026/11/02今天
0.6.02026/10/304 天前
0.5.02026/10/285 天前
0.4.02026/10/267 天前
0.3.252026/10/267 天前
0.0.0-stage2026/10/267 天前

关于 @thetaskforge/design-system 的常见问题

@thetaskforge/design-system 是什么?

Taskforge设计系统(基于未命名的UI):每个Taskforge前端共享的组件、钩子、utils和样式。

如何安装 @thetaskforge/design-system?

在项目目录运行 npm install @thetaskforge/design-system,或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖:react(^18.2.0)、motion(^12.43.0)、recharts(^3.10.1)、input-otp(^1.5.0)、react-dom(^18.2.0)、react-aria(^3.52.1)、tailwindcss(^4.3.3)、react-stately(^3.50.0)、@iconify/react(^5.0.2)、tailwind-merge(^3.6.0)、qr-code-styling(^1.9.2)、react-router-dom(^6.30.0)、@react-aria/utils(^3.34.1)、@untitledui/icons(^0.0.22)、@react-types/shared(^3.36.1)、tailwindcss-animate(^1.0.7)、@react-stately/utils(^3.12.1)、embla-carousel-react(^8.6.0)、@react-types/overlays(^3.10.0)、react-aria-components(^1.21.1)、@untitledui/file-icons(^0.0.9)、@internationalized/date(^3.12.4)、@tailwindcss/typography(^0.5.20)、@radix-ui/react-scroll-area(^1.2.18)、tailwindcss-react-aria-components(^2.2.0)。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖,Yarn 需要手动安装。

@thetaskforge/design-system 支持 TypeScript 吗?

该包的 package.json 没有声明类型入口。需要类型提示时,可以在 npm 上查找社区维护的 @types/thetaskforge__design-system 是否存在。

@thetaskforge/design-system 支持 ESM 还是 CommonJS?

以 ES Module 形式发布,推荐使用 import 引入。在 CommonJS 项目中,Node.js 20.19+ / 22.12+ 可以直接 require() 不含顶层 await 的 ES Module,更早的版本需要改用动态 import()。

@thetaskforge/design-system 可以商用吗?

@thetaskforge/design-system 使用 UNLICENSED 许可。作者声明为 UNLICENSED,即不授予公开使用许可(与公共领域的 Unlicense 不同)。使用前需获得作者授权。以上为概括,不构成法律意见,请以许可原文为准。

@thetaskforge/design-system 还在维护吗?

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