@calcom/cal-sans-ui

中文文档
1.3.0发布于 2026/03/18OFL-1.1TypeScriptES Module零依赖近 30 天下载 1.4万

Cal Sans UI, Cal Sans Text, and Cal Sans Geo typefaces for Cal.com interfaces

原始使用文档
文档目录9 节
  1. Installation
  2. Using with Next.js
  3. Next.js config (required for Next.js < 15)
  4. App Router
  5. Pages Router
  6. With Tailwind CSS
  7. Non-Next.js (Vite, CRA, etc.)
  8. Exports
  9. License

@calcom/cal-sans-ui

Cal Sans UI, Cal Sans Text, and Cal Sans Geo typefaces for Cal.com.

Installation

npm install @calcom/cal-sans-ui

Next.js: peer dependency Next.js 13.2+

Using with Next.js

Next.js config (required for Next.js < 15)

Add transpilePackages to next.config.js or next.config.mjs:

/** @type {import('next').NextConfig} */
const nextConfig = {
  transpilePackages: ["@calcom/cal-sans-ui"],
};

export default nextConfig;

App Router

In app/layout.js or app/layout.tsx:

import { CalSansUI } from "@calcom/cal-sans-ui/ui";
import { CalSansText } from "@calcom/cal-sans-ui/text";
import { CalSansGeo } from "@calcom/cal-sans-ui/geo";

export default function RootLayout({ children }) {
  return (
    <html lang="en" className={`${CalSansUI.variable} ${CalSansText.variable} ${CalSansGeo.variable}`}>
      <body>{children}</body>
    </html>
  );
}

Pages Router

In pages/_app.js:

import { CalSansUI } from "@calcom/cal-sans-ui/ui";

export default function MyApp({ Component, pageProps }) {
  return (
    <main className={CalSansUI.className}>
      <Component {...pageProps} />
    </main>
  );
}

With Tailwind CSS

Map Cal Sans to Tailwind's theme variables so you can use font-sans (body), font-heading (headings), and font-display (geo):

Tailwind v4 – tailwind.css:

@theme {
  --font-sans: var(--font-cal-sans-ui), ui-sans-serif, sans-serif;
  --font-heading: var(--font-cal-sans-text), ui-sans-serif, sans-serif;
  --font-display: var(--font-cal-sans-geo), ui-sans-serif, sans-serif;
}

Tailwind v3 – tailwind.config.js:

module.exports = {
  theme: {
    extend: {
      fontFamily: {
        sans: ["var(--font-cal-sans-ui)", "sans-serif"],
        heading: ["var(--font-cal-sans-text)", "sans-serif"],
        display: ["var(--font-cal-sans-geo)", "sans-serif"],
      },
    },
  },
};

Usage in components:

<p className="font-sans">Body text uses Cal Sans UI</p>
<h1 className="font-heading">Headings use Cal Sans Text</h1>
<h1 className="font-display">Display text uses Cal Sans Geo</h1>

For the GEOM axis (e.g. subheadings):

<h2 className="font-heading" style={{ fontVariationSettings: '"GEOM" 50' }}>
  Subheading
</h2>

Non-Next.js (Vite, CRA, etc.)

import "@calcom/cal-sans-ui/ui.css";
import "@calcom/cal-sans-ui/text.css";
import "@calcom/cal-sans-ui/geo.css";
h1 {
  font-family: "Cal Sans Text", sans-serif;
  font-variation-settings: "GEOM" 50;
}

p {
  font-family: "Cal Sans UI", sans-serif;
  font-variation-settings: "GEOM" 0;
}

For browsers that don't support variable fonts: import "@calcom/cal-sans-ui/ui-non-variable.css"

Exports

ImportDescription
@calcom/cal-sans-uiNext: CalSansUI, CalSansUINonVariable, CalSansText, CalSansGeo (all in one). Preferred.
@calcom/cal-sans-ui/uiNext: CalSansUI (variable).
@calcom/cal-sans-ui/ui-non-variableNext: CalSansUINonVariable (static UI).
@calcom/cal-sans-ui/textNext: CalSansText (variable subheadings).
@calcom/cal-sans-ui/geoNext: CalSansGeo (variable).
@calcom/cal-sans-ui/ui.cssCSS: variable font.
@calcom/cal-sans-ui/ui-non-variable.cssCSS: static UI weights.
@calcom/cal-sans-ui/text.cssCSS: Cal Sans Text.
@calcom/cal-sans-ui/geo.cssCSS: Cal Sans Geo.

License

SIL Open Font License 1.1. See OFL.txt.

版本与发布记录

@calcom/cal-sans-ui 共发布 4 个版本,首次发布于 2026/02/05;过去 12 个月发布了 4 个版本。

版本发布日期距今
1.3.0latest2026/03/187 个月前
1.2.02026/03/048 个月前
1.0.22026/02/059 个月前
1.0.12026/02/059 个月前

关于 @calcom/cal-sans-ui 的常见问题

@calcom/cal-sans-ui 是什么?

Cal Sans UI, Cal Sans Text, and Cal Sans Geo typefaces for Cal.com interfaces

如何安装 @calcom/cal-sans-ui?

在项目目录运行 npm install @calcom/cal-sans-ui,或使用 pnpm add / yarn add / bun add。

@calcom/cal-sans-ui 支持 TypeScript 吗?

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

@calcom/cal-sans-ui 支持 ESM 还是 CommonJS?

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

@calcom/cal-sans-ui 可以商用吗?

@calcom/cal-sans-ui 使用 OFL-1.1 许可。声明的许可为 OFL-1.1,请阅读许可原文确认使用条件。以上为概括,不构成法律意见,请以许可原文为准。

@calcom/cal-sans-ui 的下载量有多少?

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

@calcom/cal-sans-ui 还在维护吗?

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