@aphrody/m3-tokens

中文文档
1.4.7发布于 2026/10/23Apache-2.0TypeScriptES Module近 30 天下载 4978

Material 3 design tokens (--md-sys-*) for the @aphrody/material-web fork: MUI-theme → M3 token CSS generation and runtime Material You dynamic colour via material-color-utilities.

原始使用文档

@aphrody/m3-tokens

Material 3 design tokens (--md-sys-*) as Bun-native TypeScript and CSS, with seed-based dynamic colour.

bun add @aphrody/m3-tokens
import "@aphrody/m3-tokens/m3-tokens.css";
import {
  applyDynamicColor,
  cssFromSeed,
} from "@aphrody/m3-tokens/dynamic-color";

applyDynamicColor("#6750a4"); // sets the --md-sys-color-* roles on <html>
const sheet = cssFromSeed("#6750a4"); // light and dark role sheet, e.g. for SSR

License: Apache-2.0 (LICENSE). Install guide: docs/material/m3/INSTALL.md.

ExportWhat
. / ./theme-to-tokensMUI theme to --md-sys-* CSS (muiThemeToTokens, normalizeHex)
./dynamic-colorMaterial You roles from a seed: schemeFromSeed, cssFromSeed, applyDynamicColor (7 variants, contrast level)
./breakpoints, ./breakpoints.cssWindow size classes: width 600/840/1200/1600, height compact <480, medium 480-899, expanded >=900; navigation kinds bar, rail-collapsed, rail-expanded (same names as adaptive.rs)
./expressive, ./expressive.css15 emphasized type styles, Expressive spatial springs (fast 0.6/800, default 0.8/380, slow 0.8/200) and directional shapes (extra-small-top, large-top, large-start, large-end, extra-large-top)
./m3-tokens.cssStatic shape, typescale, motion, elevation and state-layer tokens (generated from crates/ui/m3-tokens)
./platform-contractplatformState(widthDp): size class, navigation, panes, margin

expressive.css is generated: bun run generate:expressive (a test fails when it drifts).

State layers: focus and pressed stay at 0.10 (Compose); Material Web v0_192 uses 0.12. See docs/architecture/DECISIONS.md.

bun test test/      # tokens, contrast, variants, breakpoints, expressive
bun run typecheck
bun run build       # build.ts (Bun.build) + bun check -p tsconfig.build.json

版本与发布记录

@aphrody/m3-tokens 共发布 15 个版本,首次发布于 2026/06/04;过去 12 个月发布了 15 个版本。

版本发布日期距今
1.4.7latest2026/10/2315 天前
1.4.42026/10/1820 天前
3.3.112026/10/1028 天前
3.3.92026/10/1029 天前
3.3.82026/10/0929 天前
3.3.72026/10/071 个月前

关于 @aphrody/m3-tokens 的常见问题

@aphrody/m3-tokens 是什么?

Material 3 design tokens (--md-sys-*) for the @aphrody/material-web fork: MUI-theme → M3 token CSS generation and runtime Material You dynamic colour via material-color-utilities.

如何安装 @aphrody/m3-tokens?

在项目目录运行 npm install @aphrody/m3-tokens,或使用 pnpm add / yarn add / bun add。

@aphrody/m3-tokens 支持 TypeScript 吗?

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

@aphrody/m3-tokens 支持 ESM 还是 CommonJS?

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

@aphrody/m3-tokens 可以商用吗?

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

@aphrody/m3-tokens 的下载量有多少?

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

@aphrody/m3-tokens 还在维护吗?

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