@box-kite/react

中文文档
2.4.0发布于 2026/11/07MITTypeScriptESM + CJS构建来源已验证近 30 天下载 3654

一个反应组件将 CSS 属性作为打入道具,并在运行时生成原子 CSS ——没有 CSS 文件,没有构建步骤,在服务器组件中生成.

中文使用文档
文档目录12 节
  1. AI- First, 为 React 完全输入的样式库
  2. 快速启动
  3. 为什么是黑盒基特
  4. 🤖为AI代理所建
  5. 键入到值
  6. * 比例表
  7. 组件
  8. XQ 服务器组件
  9. • 软件包
  10. {\fn华文楷体\fs16\1cHE0E0E0}学习更多
  11. 捐款
  12. 许可证
Box Kite — every CSS property is a typed prop. The React styling library your AI already knows.

AI- First, 为 React 完全输入的样式库

npm version Tests TypeScript: every value is typed No third-party dependencies AGENTS.md ships in the package MCP server MIT license

文档 • 妇女 从AI开始 • 妇女 游戏场 • 妇女 显示大小写 • 妇女 博客 • 妇女 释放


框键 在 TypeScript 中反应样式。 每个CSS财产都是一个道具 Box,每个值都是类型,CSS是 在运行时为您编写 —— 每个值共享一个类, 不导入样式表, 不创建类名, 没有构建插件 .

它的建造是 由大赦国际撰写: 从包件内的发动机船测量的规则和参考文献, MCP 服务器对照真实的引擎检查道具包,编译器拒绝库不会渲染的值.

import Button from '@box-kite/react/components/button';
import Flex from '@box-kite/react/components/flex';
import { H2, P } from '@box-kite/react/components/semantics';

export function PlanCard() {
  return (
    <Flex d="column" gap={3} p={6} md={{ p: 8 }} borderRadius={3} shadow="md"
          bgColor="white" theme={{ dark: { bgColor: 'slate-900' } }}>
      <H2 fontSize={20} fontWeight={600}>Pro plan</H2>
      <P color="slate-600">Every value on this card is checked by the compiler.</P>
      <Button hover={{ bgColor: 'indigo-600' }}>Upgrade</Button>
    </Flex>
  );
}

每个道具成为一个共享的类: p={6} 实值 padding: 1.5rem, (中文(简体) ), md 在媒体查询中包裹它, theme 把它放大到黑暗中 子树,和应用程序中其它任何地方的同值重用相同的规则.

快速启动

启动一个新的 Vite + React app , 并附带一个设计, 样本页和其中已经设置的代理 :

npm create @box-kite@latest

或者把它添加到你的应用程序中:

npm install @box-kite/react

反应 18 或更新,以及 无第三方依赖关系:安装是Box Kite和自己的引擎,别无其他. 类型脚本 可选的,但它是图书馆发光的地方.

为什么是黑盒基特

* AI-First

包装的是自己的 AGENTS.md页:1 docs/ 文件夹和技能,全部来自道具 注册,所以他们永远不能 是一个版本后。 一个 MCP 服务器回答中任务 .

键入到值

每个道具都接受一个已关闭的集:调色板符号,比例阶,关键词. typo 是一个编译错误 “你是说”而不是默默缺失的风格.

零配置,零依赖

没有 CSS 文件, 没有 PostCSS , 没有捆绑插件, 没有提供者 —— 也没有在您的锁文件中的第三方包 。 样式是 按要求生成,并因内容而繁复.

XQ 服务器组件

在反演服务器组件中的渲染器没有 'use client': 每项规则都以加分为标准 <style> 反应出19架起重机和起重机.

• 无障碍组件

对话框、 菜单、 Tabs、 Combobox、 DatePicker、 DataGrid 等, 每个都带有 ARIA 和 APG 模式的键盘 用斧头在CI.

作为道具的现代CSS

OKLCH调色板,主题,容器查询, @starting-style,锁定定位,视图过渡,滚动 时间表——和顶层,而不是 z-index。 。 。 .

🤖为AI代理所建

一个模型对一个CSS-in-JS API的记忆通常是对一个 不同 API — 这里的道具名称与 Tailwind 相撞 和查克拉的 而数字意味着别的东西。 所以Box Kite并不依赖于模型所记得的:

什麽或т
AGENTS.md + 键 docs/ npm 包内自动 - node_modules/@box-kite/react/AGENTS.md,每道道具 和CSS 它写
项目线路 (单位:千美元)AGENTS.md, (中文(简体) ), CLAUDE.md, MCP) (中文(简体) )npm create @box-kite@latest -- --agents-only ——合并到已有的重播,并在重播时更新
技能 克劳德代码,光标,代码,副驾驶..npx skills add box-kite/box-kite
MCP 服务器 - 没有钥匙,没有网络claude mcp add box-kite -- npx -y @box-kite/mcp (或你的编辑所接受的stdio配置)
页:1 和下标记文件box-kite.dev/llms.txt (英语) — 附录 .md 到任何文件 URL

check_styles 通过真正的引擎运行你的道具. 库不接受的值不写规则和类 名称——通过设计,所以一个打字机从不发出破损的宣告. MCP工具使这一点在任何事情之前变得明显:

✅ p         → .p-4{padding:1rem}
❌ bgColor   does not accept "blue-550" — no rule and no class name were written.
✅ fontSize  → .fontSize-14{font-size:0.875rem}
⚠️ href      an HTML attribute, not a style prop. Written at the top level it typechecks
             and is then dropped — it goes in props={{ "href": … }}.

Dev控制台被写成快取. 每条警告都写了什么 写什么的台词 测试运行修正自身 :

[box-kite] bgColor="bleu-500" wrote no CSS: bgColor does not take that value, so the prop
           was dropped along with its class. Did you mean "blue-500"?
[box-kite] fontSize={4} is 4px text: fontSize's divider is 16, not the spacing scale's 4,
           so the number is the pixel size. For 16px write fontSize={16}.

一个UI在跑步时间写作是一等公民. catalog() 转换每个组件和每个值的道具 加入JSON Schema——形状结构输出,json-render和A2UI想要——和 <SpecRenderer> 使什么回来, 检查每个节点和您控制的允许列表. toolPart() 财务报告和审定财务报表 a2uiToSpec() 读取AI SDK,助理-i,副驾驶Kit, AG-UI和A2UI,以及 <ToolCallCard>, (中文(简体) ), <ApprovalCard>, (中文(简体) ), <Reasoning> 财务报告和审定财务报表 <StreamingText> 画出一个代理. → 遗传性UI • 妇女 代理组件 • 妇女 间接

键入到值

道具没有 string颜色为调色板符号(带有可选的符号) /opacity),相距是尺度,关键词是结合——所以 编辑器自动完成它们,而编译器抓住其余的:

<Box bgColor="bleu-500" />
//   ~~~~~~~ ts(2820): Type '"bleu-500"' is not assignable… Did you mean '"blue-500"'?

<Box display="flexx" />
//   ~~~~~~~ ts(2820): … Did you mean '"flex"'?

<Box opacity={50} />
//   ~~~~~~~ ts(2322): Type '50' is not assignable to type '0 | 1 | 0.1 | 0.2 | …'

<Button variant="primaryy">Save</Button>
//      ~~~~~~~ ts(2322): a component's variants are typed too

<Box css={{ mixBlendMod: 'multiply' }} />
//          ~~~~~~~~~~~ ts(2561): … Did you mean to write 'mixBlendMode'?
  • 过道具,看看它的CSS. 每个道具的JSDoc都有一个例子,比如: p={4} → padding: 1rem ——通过运行生成 引擎,所以编辑器永远不能教授库停止使用的大小.
  • 你自己的信物也加入了这些类型. Box.extend() 添加变量、道具和值; 1 declare module 让他们 自动完成像内置. Box.components() 变体的打法相同.
  • 逃生舱口也是打字的. css={{ … }} 检查对象 csstype 并且仍然编译为共享的类——从不 style 属性.

* 比例表

值得从心底中吸取教训的一件事——划分者是每个道克:

Prop缩放示例
p, (中文(简体) ), m, (中文(简体) ), gap, (中文(简体) ), width, (中文(简体) ), borderRadius4(季度雷姆)p={4} → 1rem (16px) (英语)
fontSize页:1fontSize={14} → 0.875rem (14px) (中文(简体) )
b (边界宽度), lineHeightưμ㼯ab={1} → 1px
animationDuration, (中文(简体) ), transitionDelay.分钟transitionDuration={150} → 150ms
颜色符号 + /opacitybgColor="blue-500/40" → color-mix(…)

3个常规从"每个视觉值都是道具"中遵循: 元素来自元件 (<Flex>, (中文(简体) ), <Button>, (中文(简体) ), <H1>, (中文(简体) ), <Path>, HTML 属性进入 props (单位:千美元)<Link props={{ href: '/about' }}>),没有 style={{ }}。 。 。 .

组件

每个组件都是 Box 下同道具, 相同的主题,相同的 variants——每个入口都是自己的,所以 Textbox 从不拉 DataGrid 在你的捆绑.

区域构成部分
版图内容( C)Flex, (中文(简体) ), Grid, (中文(简体) ), H1– 说吧 –H6, (中文(简体) ), P, (中文(简体) ), Link, (中文(简体) ), Nav. List, (中文(简体) ), Svg + 每个 SVG 元素, (中文(简体) ), Icon, (中文(简体) ), Skeleton
表单Button, (中文(简体) ), Textbox, (中文(简体) ), Checkbox, (中文(简体) ), Switch, (中文(简体) ), RadioGroup, (中文(简体) ), Combobox, (中文(简体) ), Slider, (中文(简体) ), Form
日期DateField, (中文(简体) ), Calendar, (中文(简体) ), DatePicker, (中文(简体) ), TimeZoneSelect 安全地带 日期模块
重叠Dialog, (中文(简体) ), Popover, (中文(简体) ), Menu, (中文(简体) ), Tooltip, (中文(简体) ), Toaster 在顶层,没有传送门,没有 z-index
披露Tabs, (中文(简体) ), Accordion, (中文(简体) ), Progress
数据仪表板( T)DataGrid (类型、过滤器、组、编辑、粘贴、虚拟化), DashboardGrid, (中文(简体) ), Sparkline, (中文(简体) ), Gauge, (中文(简体) ), ChartContainer
大赦国际ToolCallCard, (中文(简体) ), ApprovalCard, (中文(简体) ), Reasoning, (中文(简体) ), StreamingText, (中文(简体) ), markdownComponents, (中文(简体) ), SpecRenderer

舰只背后的行为 @box-kite/react/a11y ——重点回放,巡回重点回放,解聘和可控 状态——用于您自己构建的部件.

XQ 服务器组件

// app/page.tsx — a Server Component. No 'use client', no provider, no CSS import.
import Flex from '@box-kite/react/components/flex';
import { H1 } from '@box-kite/react/components/semantics';

export default function Page() {
  return (
    <Flex d="column" gap={2} p={6}>
      <H1 fontSize={24}>Rendered on the server</H1>
    </Flex>
  );
}

这个 react-server 导出条件决定了“框”的无钩构建; 每项规则都作为 <style href precedence> 将19个吊杆重置到 <head> 和装饰,所以它是安全的,级联由 @layer,而不是按元素 命令 —— 如何运作 • 妇女 根据中央支助系统模块计量 • 妇女 一个完整的 Next.js app

• 软件包

软件包这是什么
@box-kite/reactBox,每个组件和钩;取决于 @box-kite/core 没有别的了
@box-kite/core没有框架和依赖性的造型引擎—— createStyleEngine().classNames(props) (单位:千美元)实例(中文(简体) )
@box-kite/mcpmCP 服务器: Docs 搜索、道具、组件、规则和 check_styles
@box-kite/createnpm create @box-kite – 一个Vite + React app 有设计和代理设置的应用程序

{\fn华文楷体\fs16\1cHE0E0E0}学习更多

捐款

欢迎提出问题和拉动请求——首先 捐款额,涵盖建筑和 框架无核心边界。 问: 支助脆弱性 警卫。 。 。 .

如果Box Kite能节省你的时间, 打开一个QQ GitHub 图像 帮助其他人找到它.

许可证

麻省理工学院 马克西姆·普罗开科

版本与发布记录

@box-kite/react 共发布 27 个版本,首次发布于 2026/08/25;过去 12 个月发布了 27 个版本。最新版本附带 npm provenance 构建来源证明,可追溯到公开的 CI 构建记录。

版本发布日期距今
2.4.0latest2026/11/071 天前
2.3.12026/11/061 天前
2.3.02026/11/044 天前
2.2.182026/11/044 天前
2.2.172026/11/034 天前
2.2.162026/11/035 天前

关于 @box-kite/react 的常见问题

@box-kite/react 是什么?

一个反应组件将 CSS 属性作为打入道具,并在运行时生成原子 CSS ——没有 CSS 文件,没有构建步骤,在服务器组件中生成.

如何安装 @box-kite/react?

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

@box-kite/react 支持 TypeScript 吗?

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

@box-kite/react 支持 ESM 还是 CommonJS?

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

@box-kite/react 可以商用吗?

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

@box-kite/react 的下载量有多少?

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

@box-kite/react 还在维护吗?

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