@exsto/ds

中文文档
0.0.1-rc.6发布于 2026/11/01Apache-2.0TypeScriptES Module

The eDynamix design system: React components and design tokens.

原始使用文档
文档目录7 节
  1. Install
  2. Use
  3. If you use Tailwind
  4. Dark mode
  5. Entry points
  6. Status
  7. Licence

@exsto/ds

The eDynamix design system: React components and design tokens.

Install

npm install @exsto/ds

React 19 is a peer dependency.

Use

import { Button, Card, CardContent } from '@exsto/ds';
import '@exsto/ds/styles.css';

export const Example = () => (
  <Card>
    <CardContent>
      <Button>Save</Button>
    </CardContent>
  </Card>
);

That is the whole setup. You do not need Tailwind. styles.css ships precompiled: it carries the design tokens plus every utility the components themselves use.

If you use Tailwind

styles.css is compiled output, so it only contains the utilities the components themselves use. To write bg-card or text-muted-foreground in your own markup, import the token layer as well and let your Tailwind build generate the whole vocabulary:

@import "@exsto/ds/styles.css";
@import "tailwindcss";
@import "@exsto/ds/theme.css";

The order matters, and styles.css has to come first. It is a compiled Tailwind build, so its utilities land in the same cascade layer as yours, and at equal specificity the later rule wins. Import it after your Tailwind entry and its unconditional .hidden beats your .md:table-cell: responsive columns vanish, widths collapse. Library CSS before app CSS, as with any CSS dependency.

Nothing else is needed. theme.css also points your build at the components' shipped code, so your build emits their classes too, each responsive variant after its own base. That is what keeps a design system class such as the sidebar's hidden md:block working when your own markup uses hidden as well: one build decides the order for both sides. Earlier releases needed a @source line in the app to get this, and that line can be removed.

theme.css is uncompiled on purpose. It carries the tokens, the .dark scope, the brand layer (Inter, text-2xs) and the @theme mapping Tailwind needs to turn them into utilities. Do not copy that block into your app, or it will drift from the design system.

Without it some token utilities still work, because our components happen to use them, but the coverage is incidental: roughly half of bg-* and nearly every border-* is absent.

Dark mode

Put dark on any ancestor. The tokens are re-scoped by class, not by media query, so a subtree can be dark inside a light page.

<div className="dark">
  <Button>Dark</Button>
</div>

Entry points

ImportWhat it is
@exsto/dsReact components
@exsto/ds/styles.cssPrecompiled tokens and component styles
@exsto/ds/theme.cssUncompiled tokens, brand layer, and the Tailwind @theme mapping

Status

Release candidates (0.0.1-rc.N). The API is not stable yet; treat minor versions as breaking until 0.1.0.

0.0.1-rc.5 removed the @exsto/ds/elements entry point (the <edx-*> web components) and with it Angular support. The design system is React only. Stay on 0.0.1-rc.4 if you depend on the elements.

Licence

Apache-2.0. See LICENSE.

版本与发布记录

@exsto/ds 共发布 7 个版本,首次发布于 2026/10/13;过去 12 个月发布了 7 个版本。

版本发布日期距今
0.0.1-rc.6latest2026/11/012 天前
0.0.1-rc.52026/11/012 天前
0.0.1-rc.42026/10/312 天前
0.0.1-rc.32026/10/1321 天前
0.0.1-rc.22026/10/1321 天前
0.0.1-rc.12026/10/1321 天前

关于 @exsto/ds 的常见问题

@exsto/ds 是什么?

ydynamix设计系统:React组件和设计令牌。

如何安装 @exsto/ds?

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

@exsto/ds 支持 TypeScript 吗?

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

@exsto/ds 支持 ESM 还是 CommonJS?

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

@exsto/ds 可以商用吗?

@exsto/ds 使用 Apache-2.0 许可。宽松许可:允许商业使用、修改和再分发,并附带明确的专利授权;分发时需保留许可与 NOTICE 文件,修改过的文件要注明改动。以上为概括,不构成法律意见,请以许可原文为准。

@exsto/ds 还在维护吗?

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