首页
/ Carbon Design System v11.78.0 版本深度解析

Carbon Design System v11.78.0 版本深度解析

2025-06-07 20:47:08作者:宣海椒Queenly

Carbon Design System 是 IBM 推出的开源设计系统,它为构建企业级应用提供了一套完整的 UI 组件、设计指南和开发工具。该系统遵循 IBM 设计语言,强调可访问性、一致性和现代化用户体验。最新发布的 v11.78.0 版本带来了多项重要更新,包括新组件引入、现有组件功能增强以及多项问题修复。

核心组件更新与功能增强

1. 新增组件系列

本次版本引入了三个重要的新组件,丰富了 Carbon 的组件生态系统:

Badge Indicator(徽章指示器):这是一个全新的视觉指示组件,可用于 UI Shell 和 Tab 组件中,为用户提供状态或数量的直观反馈。该组件支持多种使用场景,包括通知计数、状态标识等。

Shape Indicator(形状指示器):作为另一个新增组件,Shape Indicator 通过不同的几何形状提供视觉提示,特别适合需要区分多个项目或状态的场景。该组件已集成到主题系统中,确保与整体设计语言的一致性。

Callout 组件正式稳定:经过一段时间的测试和完善,Callout 组件现已从实验状态转为稳定版本。这个组件用于突出显示重要信息或提示,在用户引导和关键信息展示方面非常有用。

2. 现有组件功能扩展

Breadcrumb(面包屑导航)新增小尺寸支持:为满足不同设计场景的需求,Breadcrumb 组件现在支持 sm(小)尺寸,为空间受限的界面提供了更紧凑的导航方案。

Menu 组件功能增强:Menu 组件的 props.mode 属性已被弃用,现在所有菜单都默认支持完整功能集和图标显示。这一变更简化了 API 并提高了组件的一致性。

Toggletip 和 Tooltip 组件支持多态属性:这两个提示类组件现在支持多态属性(polymorphic props),这意味着开发者可以更灵活地控制组件的渲染行为和样式表现。

技术优化与问题修复

1. 类型系统与可访问性改进

类型定义完善:多个组件(如 MultiSelect 和 OperationalTag)的类型定义得到了更新和完善,提高了 TypeScript 支持的质量。特别是为 OperationalTag 添加了 forwardRef 支持,增强了组件的可组合性。

Combobox 控制逻辑优化:修复了 Combobox 组件在受控模式下的行为问题,确保 onInputChange 回调的正确触发,同时改进了与 downshiftProps 的集成方式。

Select 组件交互优化:修复了 Select 组件在悬停时显示无效标题/工具提示的问题,提升了用户体验的一致性。

2. 数值处理与布局修正

NumberInput 浮点精度处理:针对数值输入组件中可能出现的浮点精度问题进行了修复,确保数值计算的准确性。

Definition Tooltip 大文本支持:解决了 Definition Tooltip 在显示大段文本时的布局问题,现在能够正确处理长内容的显示。

Dropdown 和 MultiSelect 标签交互:更新了这两个组件对交互式标签的处理逻辑,提高了表单控件的可访问性和用户体验。

架构与工具链更新

1. 代码重构与现代化

FloatingMenu 和 TextDirectionContext 重写:这两个核心功能模块已从 JavaScript 迁移到 TypeScript,提高了代码的类型安全性和可维护性。

Web Components 构建优化:为 Web Components 新增了 ES 模块构建输出,支持更现代的模块化开发方式。

2. 样式系统改进

类型令牌优化:调整了类型相关 CSS 自定义属性的生成策略,默认不再自动生成这些属性,减少了不必要的样式输出。

Tooltip 颜色定制:移除了 Tooltip 组件中硬编码的文本颜色,使其能够更好地适应不同的主题配置。

开发者体验提升

1. 文档与示例更新

按钮文档重构:根据最新的设计指南更新了按钮相关的文档和示例,确保开发者能够遵循最佳实践。

Web Components 文档完善:更新了 Web Components 的 README 文件,提供了更全面的使用指南和入门信息。

2. 升级工具增强

结构化列表图标迁移工具:新增了 codemod 工具,帮助开发者将结构化列表迁移到 v12 版本中支持可见图标的新模式。

总结

Carbon Design System v11.78.0 版本通过引入新组件、增强现有功能和修复关键问题,进一步提升了系统的完整性和稳定性。特别是 Badge Indicator 和 Shape Indicator 的加入,为开发者提供了更多表达界面状态的视觉工具。类型系统的持续完善和组件 API 的优化,则显著提升了开发体验和代码质量。这些更新共同推动 Carbon 向着更成熟、更灵活的企业级设计系统迈进。

登录后查看全文
热门项目推荐
相关项目推荐

项目优选

收起
ohos_react_nativeohos_react_native
React Native鸿蒙化仓库
C++
176
261
RuoYi-Vue3RuoYi-Vue3
🎉 (RuoYi)官方仓库 基于SpringBoot,Spring Security,JWT,Vue3 & Vite、Element Plus 的前后端分离权限管理系统
Vue
860
511
ShopXO开源商城ShopXO开源商城
🔥🔥🔥ShopXO企业级免费开源商城系统,可视化DIY拖拽装修、包含PC、H5、多端小程序(微信+支付宝+百度+头条&抖音+QQ+快手)、APP、多仓库、多商户、多门店、IM客服、进销存,遵循MIT开源协议发布、基于ThinkPHP8框架研发
JavaScript
93
15
openGauss-serveropenGauss-server
openGauss kernel ~ openGauss is an open source relational database management system
C++
129
182
openHiTLSopenHiTLS
旨在打造算法先进、性能卓越、高效敏捷、安全可靠的密码套件,通过轻量级、可剪裁的软件技术架构满足各行业不同场景的多样化要求,让密码技术应用更简单,同时探索后量子等先进算法创新实践,构建密码前沿技术底座!
C
259
300
kernelkernel
deepin linux kernel
C
22
5
cherry-studiocherry-studio
🍒 Cherry Studio 是一款支持多个 LLM 提供商的桌面客户端
TypeScript
595
57
CangjieCommunityCangjieCommunity
为仓颉编程语言开发者打造活跃、开放、高质量的社区环境
Markdown
1.07 K
0
HarmonyOS-ExamplesHarmonyOS-Examples
本仓将收集和展示仓颉鸿蒙应用示例代码,欢迎大家投稿,在仓颉鸿蒙社区展现你的妙趣设计!
Cangjie
398
371
Cangjie-ExamplesCangjie-Examples
本仓将收集和展示高质量的仓颉示例代码,欢迎大家投稿,让全世界看到您的妙趣设计,也让更多人通过您的编码理解和喜爱仓颉语言。
Cangjie
332
1.08 K