Material Plus
一个直接遵循 Material Design 3 规范的 React 库,补上了其他 Material 库没有提供的组件。它会读取页面上已有的令牌,因此可以与现有的 Material 配置并存。
关于这个项目
Material Plus 是一个直接实现 Material Design 3 规范的 React 组件库,而不是包装别处已有的实现,所以它的颜色角色、字号阶梯和形状就是规范所定义的那些。它补上的,是任何一个 Material 项目最终都会自己写一遍的那堆组件:能正确处理中日韩输入法组字的输入框、与你自己那套图标相合的图标包装——把它们抽出来,配上文档和测试。在应用需要的地方,它还会越过规范:既有 Material 已列出的组件的扩展版本,也有规范完全没有提到的图表、数据表格和命令面板。
主题只需一行:设定一个源色,所有颜色角色就随之而来,正如 Material 从一个源色生成配色那样。库里没有任何属于页面层面的东西——没有重置样式,没有 Provider,没有全局样式——它读取页面上已有的 Material 系统令牌。因此一个已经在用 Material 的项目可以保留原有配置,只补上缺少的组件。中文、日文和韩文的组字输入,无论你的变更处理函数对值做了什么都不会被打断,而这正是多数 Material 输入框悄悄带着的毛病。
这个包仅提供 ESM,附带 TypeScript 类型定义,并且是真正可摇树的:单个组件 gzip 后只有 3.8 kB,而一百二十多个全部加起来是 130.6 kB,样式表也按同样的方式拆分。它无需任何配置即可在 Next.js 服务端组件中工作,在各主流打包器中都能解析,翻译则以启动时交出一次的模块形式接收。
功能
文档站点
TypeScript 类型
多语言支持
经测试验证
内置无障碍支持
深色模式
支持摇树优化
