更新日志
v1.3.2
2026-10-09
性能与长列表优化
- ChatMessage 视口外渲染优化:引入现代浏览器原生
content-visibility: auto与contain-intrinsic-size: auto 80px,大幅降低长对话列表渲染压力与布局重排负担,并支持contentVisibility属性配置。 - ConversationList 流式滚动与历史锚点补偿:采用
requestAnimationFrame合并 MutationObserver 与 ResizeObserver 滚动触发;在历史消息前插时记录旧滚动位置与内容高度差,实现平滑视口锚点补偿,消除加载更多消息时的视口跳动。
AI 核心组件与安全增强
- StreamingText Unicode 字素簇支持:采用
Intl.Segmenter(grapheme 粒度)进行文本切分并缓存切分结果,防止复杂 Emoji(如 ZWJ、肤色修饰符)和复合字符截断乱码,并提供安全的无孤立代理项降级保证。 - MarkdownRenderer 安全迁移至 markdown-it:底层解析引擎从 marked 迁移至 markdown-it,补充
@types/markdown-it开发依赖;支持 GFM 表格与任务列表;构建严格的安全 URL 协议白名单,禁止不受信任的协议与恶意 SVG data URL,防范 XSS 注入。 - PromptInput 无障碍与事件契约健全:支持独立
id、aria-label与aria-labelledby属性;修复外部监听器调用e.preventDefault()无法拦截 Enter 提交的缺陷;完善中文/IME 拼音合成输入边界判断;将属性更正为stoppable(同时向后兼容保留已废弃的旧属性stopable)。
交互质感与视觉体系升级
- AI 设计变量与深色模式:扩展
--vk-ai-*与--vk-code-*设计 Token,打磨聊天气泡阴影、圆角、层次与 Markdown 表格排版,全面优化深色模式(Dark Mode)视觉对比度。 - 动效打磨:升级 ThinkingIndicator 流光呼吸渐变动画;完善 ReasoningBlock 思维链折叠过渡与耗时/Token 元数据展示;打磨流式文本光标动效细节。
架构清理与代码重构
- 死代码与孤立文件清理:清理重构遗留的旧
src/components/孤立类型与方法文件、旧脚手架测试代码(VNode.tsx、App2.vue)及冗余的src/core/styles/样式。 - React 组件完善:React
Button接入useButtonLogichook,补齐size、plain、round、circle支持;修复 ReactInput未绑定handleChange导致onChange回调无法触发的问题。 - 规范导出与全量类型对齐:Vue 入口补充导出所有组件的 Props、Emits 与 Instance 类型;React 入口补齐
AlertType、NativeType等类型定义;收敛内部无用函数导出。 - 代码规范达标:全面清理各组件未使用的 import 与变量,ESLint 达到 0 错误 0 警告纯净通过。
工程化与开发脚本
- 拆分
package.json中的lint(只读检查)与lint:fix(自动修复)命令,避免 CI 检查时误改写文件。 - 完善 UMD 外部依赖打包配置,避免 JSX classic 模式潜在报错。
- 扩展测试套件至 37 个测试文件、271 项测试用例,100% 通过验证。
v1.3.1
2026-06-10
发布
- 调整 npm 发布版本号,避免覆盖已发布的
1.3.0。 - 更新 npm 包描述、关键词和 README,补充 AI 原生组件、Vue / React 子路径导出和对话组件组合示例。
v1.3.0
2026-06-10
新增
- 新增 9 个 AI 原生组件:ThinkingIndicator、StreamingText、CodeBlock、PromptInput、ReasoningBlock、ChatMessage、TokenBadge、MarkdownRenderer、ConversationList。
- 首页新增 AI 原生组件展示区,组合演示流式输出、思维链、代码块、聊天气泡和 Token 信息。
- 组件总览新增 AI 组件分组,并置顶展示 AI 组件能力。
- ConversationList 新增
height属性,便于构建固定高度的对话滚动区域。 - PromptInput 新增尺寸、填充样式和清除按钮能力。
- TokenBadge 新增尺寸和 filled 样式。
- ThinkingIndicator 新增状态色支持。
优化
- StreamingText 支持光标样式配置,并保证同一段文本的完成事件只触发一次。
- CodeBlock 支持亮色主题、自动换行、滚动控制和高亮行。
- ChatMessage 支持复制文本内容和自定义 loading 插槽。
- ConversationList 优化自动滚动逻辑,避免新消息插入后误判是否贴底。
- MarkdownRenderer 统一 Vue 与 React API,移除不一致的
tag参数。 - VitePress 示例统一切换到
src/vue/components路径,适配 Vue / React 分目录后的源码结构。 npm run type-check改为检查发布源码配置tsconfig.build.json。
修复
- 修复 React MarkdownRenderer 类型与实现不一致导致 type-check 失败的问题。
- 修复 ConversationList 文档示例中使用
max-height与组件属性不一致的问题。 - 修复 ThinkingIndicator 默认 primary 颜色未生效的问题。
- 修复 PromptInput 清除按钮在表单中可能触发 submit 的问题。
- 修复部分文档 demo 中文字符串损坏导致文档构建失败的问题。
清理
- 移除旧的
src/components组件实现、旧安装入口和旧测试文件。 - 保留
src/components作为共享样式、类型和工具目录。 - 移除旧的
src/App.vue、src/indexold.ts、src/test.plugin.ts。 - 新增轻量本地开发入口
src/DevApp.vue,src/main.ts改为使用该入口。
v1.2.0
2026-04-23
工具链升级
- TypeScript 4.7 升级到 5.7,支持
satisfies、const 类型参数、装饰器等新特性。 - Vite 4.x 升级到 6.x,基于 Rollup 4 的构建引擎,提升构建速度。
- Vitest 0.29 升级到 3.x,测试框架全面升级。
- @vitejs/plugin-vue、@vitejs/plugin-vue-jsx、@vitejs/plugin-react、vite-plugin-dts、vue-tsc 等核心工具升级。
Vue 组件补齐
- Vue 侧补齐 Input、Switch、Form、FormItem、Select、Message、Notification、Tooltip 等组件能力。
- 补齐表单校验、远程搜索、命令式消息通知、Popper 定位等基础能力。
修复
- 修复 Dropdown 组件引用不存在的 core 文件导致构建失败的问题。
- 修复 VitePress 文档配置中引用已移除插件的问题。
清理
- 移除不再需要的 unplugin-vue-macros、@vue-macros/volar、vite-plugin-eslint、@vue/tsconfig、jest-environment-jsdom。
- tsconfig 迁移到 TypeScript 5 兼容配置。
v1.1.0
2025-12-20
新增
- 新增 React 组件支持,包括 Button、Collapse、Alert、Icon、Tooltip、Dropdown 等。
- 支持子路径导出:
@bobocn/element/vue和@bobocn/element/react。 - 样式统一通过
@bobocn/element/style.css引入。
变更
- 重构打包方案,Vue 和 React 独立打包,互不干扰。
- 框架依赖 Vue 和 React 改为可选 peerDependencies,按需安装。
- 移除全局注册方式,改为按需引入。
v1.0.2
2025-10-15
新增
- Select 组件新增远程搜索能力。
- Select 组件新增自定义渲染能力。
- Input 组件新增复合型输入框插槽。
修复
- 修复 Message 组件 offset 计算偏移问题。
- 修复 Tooltip 在手动模式下快速切换导致的闪烁问题。
- 修复 Switch 组件自定义 value 类型时绑定值异常的问题。
优化
- 优化 Dropdown 组件动画过渡效果。
- 优化 Form 表单校验错误信息展示。
v1.0.1
2024-06-05
新增
- 新增 Notification 通知组件。
- 新增 Alert 提示组件。
- Dropdown 组件新增手动控制模式。
- Tooltip 组件新增 click-outside 事件。
修复
- 修复 Collapse 手风琴模式下展开异常的问题。
- 修复 Button 组件 loading 状态下仍可点击的问题。
- 修复 Input 密码框切换时光标位置重置的问题。
优化
- 优化 Message 组件层级管理。
- 优化组件库整体 TypeScript 类型导出。
v1.0.0
2024-01-20
新增
- 发布 Bobo-Elements 组件库首个正式版本。
- 支持 Button、Form、FormItem、Input、Select、Switch、Collapse、Tooltip、Dropdown、Message 等基础组件。
- 支持全局注册和按需引入。
- 基于 Vue 3 Composition API + TypeScript 开发。
- 提供完整类型定义文件。
