@canva/app-ui-kit

中文文档
5.15.0发布于 2026/10/07SEE LICENSE IN LICENSE.mdTypeScriptESM + CJS近 30 天下载 10.9万

Canva 开发者 SDK UI 组件库用于 Canva 内部的应用程序

中文使用文档
文档目录13 节
  1. 目录
  2. 导言
  3. 特征
  4. 安装
  5. 使用量
  6. 组件和图标
  7. 设计符号
  8. CSS 变量
  9. JavaScript 变量
  10. 设计符号列表
  11. 更改日志
  12. 捐款
  13. 许可证

@canva/ app- ui- kit (英语)

基于反应的组件库用于创建Canva Apps来模仿Canva的外观和感觉.

目录

导言

App UI Kit 是一个基于反应的组件库,用于设计和开发 Canva 应用程序 模仿着外表和感觉 彩绘。 。 。 .

要更多地了解Canva上的应用开发情况,请参见: Canva dev
要浏览App UI Kit中的所有组件,请参见: Canva dev

说明: 如果你打算向公众发布一个 Canva App, 我们强烈建议使用 App UI Kit我们期望应用软件能达到某些设计标准 没有组件就很难做到.

特征

  • 基于Canva自己的工程师所使用的组件.
  • 以可访问性,可使用性,和跨平台相容而建.
  • 包括用于创建自定义组件的设计符号 .

安装

npm install @canva/app-ui-kit

使用量

说明: 如果你在用的话 启动工具箱这些步骤已经为你做了.

应用的基础,例如: index.tsx 文件 :

  1. 导入样式表 :

    import '@canva/app-ui-kit/styles.css';
    
  2. 导入 AppUiProvider 组件 :

    import { AppUiProvider } from '@canva/app-ui-kit';
    
  3. 将应用程序包入 AppUiProvider 组件 :

    <AppUiProvider>
      <App />
    </AppUiProvider>
    

    此组件只应在应用程序组件树上使用一次 .

完成这些步骤后,从 @canva/app-ui-kit 软件包 :

import { Button, Rows, Text, Title } from '@canva/app-ui-kit';
import * as React from 'react';

export function App() {
  return (
    <Rows spacing="2u">
      <Rows spacing="1u">
        <Title>Hello world</Title>
        <Text>This is a paragraph of text.</Text>
      </Rows>
      <Button variant="primary">Click me</Button>
    </Rows>
  );
}

这些组成部分必须作为土著人民后裔存在 AppUiProvider 组件.

组件和图标

App UI Kit 输出一些 构成部分 (例如:. Button, (中文(简体) ), Text, (中文(简体) ), Rows等)和 (中文(简体) ) 图标 (例如:. PlusIcon, (中文(简体) ), SearchIcon用于您的应用程序 .

关于所有组件和图标的完整列表和文件,见我们的故事书实例:

设计符号

设计符是用于存储与设计相关的数值如颜色等的变量. 它们作为设计属性的单一真理来源,使得UI更加容易保持一致性和可维护性.

App UI Kit将设计符号暴露为JavaScript和CSS变量. Apps可以使用这些符号来创建或自定义符合Canva外观和感觉的组件. 如果 Canva 更改了令牌的值, 这些更改会自动反映在应用程序中 .

CSS 变量

您可以使用全局样式表中的 CSS 变量, CSS 模块, 或者应用的源代码 :

.button {
  background-color: var(--ui-kit-color-primary);
}

变量以 kebab 大小写,并带有前缀 --ui-kit-。 。 。 .

JavaScript 变量

您可以使用应用程序源代码中的 JavaScript 变量 :

import { tokens } from '@canva/app-ui-kit';

function App() {
  return <div style={{ backgroundColor: tokens.colorPrimary }}>Hello world.</div>;
}

变量用骆驼案来写出,没有前缀.

设计符号列表

您可以在 Canva 开发者文档网站上找到设计符的参考文档 :

更改日志

见 CHANGELOG.md 文档或查看到我们 文档网站。 。 。 .

捐款

我们正在积极开发这个一揽子计划,但目前不接受第三方的捐款. 如果您想要求修改或添加软件包,请通过 Canva 开发者社区。 。 。 .

许可证

见 LICENSE.md 文档.

版本与发布记录

@canva/app-ui-kit 共发布 55 个版本,首次发布于 2023/06/08;过去 12 个月发布了 19 个版本。

版本发布日期距今
5.15.0latest2026/10/071 个月前
5.14.32026/09/032 个月前
5.14.22026/09/022 个月前
5.14.12026/08/272 个月前
5.14.02026/07/293 个月前
5.13.02026/07/153 个月前

其他发布通道:beta → 6.0.0-beta.1。

关于 @canva/app-ui-kit 的常见问题

@canva/app-ui-kit 是什么?

Canva 开发者 SDK UI 组件库用于 Canva 内部的应用程序

如何安装 @canva/app-ui-kit?

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

@canva/app-ui-kit 支持 TypeScript 吗?

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

@canva/app-ui-kit 支持 ESM 还是 CommonJS?

同时提供 ES Module 与 CommonJS 入口,import 和 require() 都可以使用,打包工具会自动选择合适的版本。

@canva/app-ui-kit 可以商用吗?

@canva/app-ui-kit 使用 SEE LICENSE IN LICENSE.md 许可。许可条款写在包内的独立文件中,请阅读该文件确认可否商用。以上为概括,不构成法律意见,请以许可原文为准。

@canva/app-ui-kit 的下载量有多少?

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

@canva/app-ui-kit 还在维护吗?

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