@aircall/blocks

中文文档
0.52.0发布于 2026/11/02ISCTypeScriptES Module近 30 天下载 2903

Aircall Blocks — higher-level UI compositions built on @aircall/ds

原始使用文档

@aircall/blocks

Higher-level UI compositions built on @aircall/ds — page shells (DashboardPage / DashboardStandalonePage), the form layer (useForm + the Form*Field TanStack Form wrappers), empty states, and more.

pnpm add @aircall/blocks @aircall/ds

Import the precompiled CSS once from your entry. @aircall/blocks/globals.css already bundles the entire @aircall/ds/globals.css — do not import both or you duplicate all of DS's compiled output (Preflight, theme tokens, all DS utilities):

// ✅ Correct — blocks already includes DS
import '@aircall/blocks/globals.css';

// ❌ Wrong — duplicates all of DS's compiled output
// import '@aircall/ds/globals.css';
// import '@aircall/blocks/globals.css';

If you author your own Tailwind utility classes, use a CSS entry instead of a JS import:

/* style.css */
@layer theme, base, components, utilities;
@import 'tailwindcss/theme.css' layer(theme);
@import 'tailwindcss/utilities.css' layer(utilities);
@import '@aircall/blocks/globals.css';
@source "./src/**/*.{ts,tsx}";

For module-federation consumers (your app runs as a remote inside a host that already loads DS/blocks globals), omit both globals imports entirely.

Importing @aircall/blocks registers a blocks i18n namespace on @aircall/ds's shared i18next instance. To make block strings follow the user's language, mount DsI18nProvider (from @aircall/ds) under your react-i18next provider, fed the active language. See the @aircall/ds README and the aircall-ds/setup skill for the full provider tree.

For AI agents — migrating off @dashboard/library?

This package ships TanStack Intent migration skills in its skills/ directory (published in the npm tarball): aircall-blocks/migrate-dashboard (+ per-area recipes) for moving @dashboard/library screens to @aircall/blocks / @aircall/ds, plus aircall-blocks/setup. Enable them (one-time, same as @aircall/ds):

pnpm add @aircall/blocks@latest @aircall/ds@latest @aircall/react-icons@latest # react-icons >= 0.4.0
npx @tanstack/intent install   # writes the discovery block into CLAUDE.md / AGENTS.md
# allowlist in package.json: { "intent": { "skills": ["@aircall/ds", "@aircall/blocks"] } }

Then the agent loads guidance on demand:

npx @tanstack/intent load "@aircall/blocks#aircall-blocks/migrate-dashboard"

aircall-blocks/setup builds on aircall-ds/setup, so the DS providers, globals.css, and jsdom test shims documented there apply here too.

版本与发布记录

@aircall/blocks 共发布 54 个版本,首次发布于 2026/06/03;过去 12 个月发布了 54 个版本。

版本发布日期距今
0.52.0latest2026/11/025 天前
0.51.12026/11/025 天前
0.49.02026/10/1226 天前
0.47.02026/09/301 个月前
0.46.02026/09/301 个月前
0.45.02026/09/251 个月前

关于 @aircall/blocks 的常见问题

@aircall/blocks 是什么?

Aircall Blocks — higher-level UI compositions built on @aircall/ds

如何安装 @aircall/blocks?

在项目目录运行 npm install @aircall/blocks,或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖:react(^18.0.0 || ^19.0.0)、date-fns(^4.0.0)、react-dom(^18.0.0 || ^19.0.0)、@aircall/ds(*)、@aircall/hooks(*)、@base-ui/react(*)、@aircall/numbers(*)、react-day-picker(^9.0.0)、@aircall/react-icons(*)、class-variance-authority(*)。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖,Yarn 需要手动安装。

@aircall/blocks 支持 TypeScript 吗?

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

@aircall/blocks 支持 ESM 还是 CommonJS?

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

@aircall/blocks 可以商用吗?

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

@aircall/blocks 的下载量有多少?

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

@aircall/blocks 还在维护吗?

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