Skip to content

darkmice/talon-ui

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

145 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Talon UI

React component library and design tokens for the Talon Pilot design system.

commits tag license

Mirror URL
GitHub https://github.com/darkmice/talon-ui
x.xgit.pro https://x.xgit.pro/dark/talon-ui

Packages

Package Version Purpose
@talon-ui/tokens 0.1.1 Design tokens — CSS vars, JSON, Tailwind preset
@talon-ui/react 0.5.0 React components — 45 / 45 Phase 1 shipped
@talon-ui/vue Vue components — Phase 2 placeholder

Components — 45 / 45 Phase 1

All Ant-Design-parity targets met across four blocks:

  • Block 1 (0.2.0): Button, Input, Textarea, Tag, Avatar (+ AvatarGroup), Card, Badge, Divider, Space, Typography (Title / Text / Paragraph / Link)
  • Block 2 (0.3.0): Form (react-hook-form), Checkbox, Radio, Switch, Slider, NumberInput, Rate, Select, Combobox, DatePicker, TimePicker, Upload, ColorPicker
  • Block 3 (0.4.0): Tabs, Tooltip, Popover, Popconfirm, Menu, Modal, Drawer, Banner, Toast, Pagination, Stepper, Breadcrumb
  • Block 4 (0.5.0): Skeleton, Spin, Empty, Result, Statistic, Progress (linear + circular), Descriptions, Collapse, KanbanCard, BusinessRows (FileRefRow / RoleRow / RuntimeRow / RiskRow)

Install

pnpm add @talon-ui/react @talon-ui/tokens

Quick usage

With Tailwind CSS

Add the Talon UI preset to your Tailwind config:

// tailwind.config.js
const { talonPreset } = require('@talon-ui/tokens/tailwind.preset.cjs');

module.exports = {
  presets: [talonPreset],
  content: ['./src/**/*.{ts,tsx}'],
};

Then import the component stylesheet once at your app entry:

import '@talon-ui/react/styles.css';

Without Tailwind (CSS variables only)

Import the token stylesheet directly — components will render with Talon design tokens but without Tailwind utility classes:

import '@talon-ui/tokens/tokens.css';
import '@talon-ui/react/styles.css';

Example

import { Button, Tag, Avatar } from '@talon-ui/react';

export default function App() {
  return (
    <div>
      <Avatar alt="Ada Lovelace" fallback="AL" />
      <Tag tone="done">Online</Tag>
      <Button variant="primary">Get started</Button>
    </div>
  );
}

Development quickstart

pnpm install
pnpm dev          # watch mode, all packages in parallel
pnpm test         # run all tests
pnpm build        # production build, all packages
pnpm preflight    # publish audit — run before any release
pnpm docs:dev     # start dumi docs dev server (apps/docs)
pnpm docs:build   # build dumi docs site to apps/docs/dist/
pnpm test:visual  # visual regression against built docs site (Playwright, 0.1% threshold)

Docs deployment

apps/docs 支持 Cloudflare 自动发布。接入说明见 docs/DEPLOYMENT.md

配置完成后:

  • 推送到 main 会发布生产站点
  • Pull Request 会生成预览站点

Source of truth

Tokens live only in packages/tokens/src/. skills/talon-ui/assets/ are reverse-symlinks; do not edit them directly.

Skills live only in skills/. .claude/, .codex/, .agents/ (and any future agent runtime) must reference them via skills symlink. CI enforces this.

Spec / plans / changelog

  • Design spec: docs/superpowers/specs/2026-05-11-talon-ui-library-design.md
  • Foundation plan: docs/superpowers/plans/2026-05-11-talon-ui-foundation.md
  • Aggregated changelog: CHANGELOG.md
  • Per-package changelogs: packages/react/CHANGELOG.md, packages/tokens/CHANGELOG.md

License

MIT. See LICENSE.

TODO before first public publish

  • Reserve the @talon-ui npm scope (if not already done).
  • Add NPM_TOKEN secret to the GitHub repository so release.yml can publish.
  • Decide whether to make the GitHub repo public.

About

Talon Pilot design system + @talon-ui component library (tokens + React; Phase 1 = 45 components, Antd parity).

Topics

Resources

License

Contributing

Security policy

Stars

Watchers

Forks

Packages

 
 
 

Contributors