更新日志

ReUI 后台组件库版本更新记录

当前发布版本:v0.6.8(@reglow/reui)。

0.6.8 (2026-10-25)

新增

  • Calendar:新增 showTimeAxis 属性(默认 true)。设为 false 时隐藏左侧时间列与时间横线,日视图整日展示为一格、周视图 / 多日视图每天展示为一格,事件按天在格内堆叠展示

修复与优化

  • PageTable:空状态行不再显示 hover 背景
  • @reglow/reui-mcp 0.3.8:Skills COMPONENTS.md 版本基线更新至 0.6.8

0.6.7 (2026-10-24)

修复与优化

  • PageTable 搜索框:开启 searchable 时搜索输入框支持一键清空(allow-clear);清空后前端筛选立即恢复全量数据,回车触发 update:search 的行为不变
  • @reglow/reui-mcp 0.3.7:Skills COMPONENTS.md 版本基线更新至 0.6.7

0.6.6 (2026-10-24)

修复与优化

  • TreeSelect 选中态回填(重要):modelValue 存的是节点 value,而内部选中集合按节点 key 维护;此前直接用 modelValue 回填集合,key 与 value 不一致的数据(如 key="0-0" / value="China")会丢失选中态。现按 value → key 映射还原,找不到映射时按 key 兼容处理
  • TreeSelect 尺寸与多选布局:size 新增 medium 并作为默认值(default 保留为旧写法别名),尺寸复用 formFieldSizeClass;多选改用 min-h-*,标签换行时容器自动撑开,长标签 truncate 且删除图标不被挤压
  • TimePicker 禁用态:disabled 时不再展开浮层(拦截 update:open);内部禁用时间集合改名为 disabledOptions,修复与 disabled prop 重名的问题
  • Upload:新增 size(small / medium / large),上传按钮高度与 Input 统一为 32 / 36 / 44px;图片墙与文件列表的缩略图在缺少 thumbUrl 时回退使用 url
  • AutoComplete:size 新增 medium 并作为默认值(default 保留为旧写法别名),尺寸复用 formFieldSizeClass
  • Cascader:尺寸样式复用 formFieldSizeClass,触发器统一 px-3 内边距,移除内部输入框重复的尺寸类
  • 文档:components/ui 下 16 个基础组件补齐 README(目录总览 + 组件文档),标注「本地实现 / 转发 reui」两类来源,并说明 ui/table 的 Table(基础表格)与 reui/table 通用 Table 的命名差异;AutoComplete / Cascader / TreeSelect / Upload README 同步新尺寸与行为
  • @reglow/reui-mcp 0.3.6:Skills COMPONENTS.md 版本基线更新至 0.6.6

0.6.5 (2026-10-23)

变更

  • 组件层级迁移(重要):button / combobox / native-select / tags-input 由 components/ui 迁移至 components/reui,并在 ui/* 保留映射(export *)。旧引入路径 @/components/ui/button、@reglow/reui/ui/button 继续可用;新主路径为 @reglow/reui/reui/button 等
  • 尺寸体系统一(重要):按钮与输入类控件高度统一为 small 32px / medium(默认)36px / large 44px
    • Button:size="lg" 由 40px 调整为 44px(icon-lg 同步),与 Input size="large" 对齐;default / sm 不变
  • SelectTrigger:新增 large 尺寸,size 支持 small / medium / large(兼容旧写法 sm / default / lg),字号随尺寸切换(text-xs / text-sm / text-base)
  • InputSelect:新增 size(small / medium / large),复用 formFieldSizeClass,内部输入文本字号同步
  • TagsInput:新增 size(small / medium / large),使用 min-h-* 保证空态高度与 Input 一致,内容换行时仍可撑开
  • NativeSelect:新增 size(small / medium / large),高度与字号对齐 Input
  • Combobox / EditableCombobox:新增 size(small / medium / large);Combobox 触发按钮同步 Button 三档尺寸,EditableCombobox 改用统一尺寸映射
  • TimePicker:尺寸样式改为复用 formFieldSizeClass,左右内边距与 Input 对齐
  • Combobox:内部 Button 改为从 @/components/reui/button 引入
  • @reglow/reui-mcp 0.3.5:Skills COMPONENTS.md 版本基线更新至 0.6.5,组件目录子路径同步为 reui/button / reui/combobox / reui/native-select / reui/tags-input;SKILL.md / BEST_PRACTICES.md 子路径示例与迁移说明同步

0.6.4 (2026-10-22)

修复与优化

  • Spin 独立使用(重要):不包裹内容(<Spin /> / <Spin spinning />)时,加载层不再使用 absolute inset-0 落在 0 尺寸容器里,改为 inline-flex 流式布局,图标与进度条不再溢出错位;包裹内容时行为不变
  • Splitter 弹性面板自适应(重要):新增 ResizeObserver 监听容器尺寸,侧边栏折叠 / 展开、窗口缩放时重新分配弹性面板(未指定尺寸 / 1fr / auto),修复容器变宽留白、变窄溢出的问题;拖拽过程中不重算,避免抖动
  • Modal:centered 默认值由 false 改为 true;关闭按钮移到右上角绝对定位(top-4 right-4),与 Dialog 间距统一;全屏模式补充 maxHeight: none
  • Upload:自定义触发内容不再被外层强制套上边框 / 背景,默认触发器自带样式;拖拽高亮只作用于默认触发器,避免自定义内容出现双层套框
  • Combobox:改用 v-model:open 控制浮层,修复点击选项或输入搜索时浮层异常关闭
  • PopConfirm:图标尺寸调整为 size-3.5 并去掉顶部偏移,与标题垂直对齐
  • Carousel:箭头图标由 Chevron* 改为 Arrow*(方向箭头样式)
  • @reglow/reui-mcp 0.3.3:Skills COMPONENTS.md 版本基线更新至 0.6.4

0.6.3 (2026-10-15)

修复与优化

  • PageTable 空状态文案:默认文案由 common.noContent(暂无内容)改为 common.noData(暂无数据),与 Table / Empty 组件及其他位置的空态文案保持一致(empty prop 与 #empty 插槽仍可覆盖)
  • @reglow/reui-mcp:Skills COMPONENTS.md 版本基线更新至 0.6.3

0.6.2 (2026-10-15)

修复与优化

  • Empty 空状态(重要):默认占位图由内置灰色示意 SVG 换成插画 empty.svg(沿用 150×150 尺寸),image prop 与 #image 插槽覆盖能力不变。Empty 被大量页面直接使用(如数据分析各看板卡片),此项会让这些位置的「暂无数据」统一换成插画形态
  • PageTable 空状态:补齐插画占位(empty.svg),无数据时展示「插图 + 文案」;新增 empty prop 与 #empty 插槽
  • 插画资源去重:empty.svg 统一收在 components/reui/empty/,Table / PageTable 改为复用它(table/ 下原有一份完全相同的副本已删除)

0.6.1 (2026-10-15)

修复与优化

  • ChatPrompt naked 变体不再注入聚焦环(重要):naked 变体由调用方自绘输入框(根容器无边框 / 底色),此前仍会注入 focus-within 聚焦环,导致输入框之外多出一圈描边(如 AI 助手输入框上方的多余蓝边);现 naked 变体跳过聚焦环,其余变体行为不变
  • DateRangePicker 触发器(重要):PopoverTrigger 改为 as-child,不再额外渲染一层 button 包裹触发器——避免外层多出一层焦点环与样式错位(与 DatePicker 单面板形态对齐),禁用态由 aria-disabled 表达
  • Table 空状态:内置插画占位(empty.svg),无数据时展示「插图 + 文案」;仍可通过 #empty 插槽完全覆盖
  • PageTable:新增 filters-after 插槽(渲染在搜索区之后,用于放置刷新等自定义操作);未配置 rowActions 时回退渲染自定义 actions 列的 cell,不再只显示空文案
  • @reglow/reui-mcp 0.3.2:Skills COMPONENTS.md 版本基线更新至 0.6.1

0.6.0 (2026-10-11)

新增

  • ChinaMap 中国地图:chart 系列新增中国地图组件,用标准 GeoJSON(FeatureCollection,省 / 市级均可)自包含渲染省级色阶地图——内置墨卡托投影与等比适配,不依赖 TopoJSON 与额外投影库。data 优先按 adcode 匹配、其次按名称(兼容「广东」「广东省」两种写法);按数值生成单色色阶(透明度插值),支持悬浮高亮 + 浮层提示、可选名称标签与值域图例,无数据区域置灰
  • DatePicker 季度选择:picker 新增 quarter,日历面板补齐季度视图(2 列网格,选中 / 悬浮 / 在范围等样式对齐月份、年份视图)
  • DateRangePicker 选择器类型:新增 picker(date / week / month / quarter / year)——date / week 用双面板、其余用单面板(对齐 Ant Design);范围比较与视图滚动按 picker 单位归一化,两侧面板步进随类型变化(月 / 季 / 年)

修复与优化

  • DatePicker / DateRangePicker v-model 回读(重要):week / quarter 的展示文案(如「2026 第 3 季度」)无法被 dayjs 解析,此前直接回写 v-model 会把选中的值清空;现按 picker 输出可解析的稳定日期串(YYYY / YYYY-MM / YYYY-wo / YYYY-[Q]Q …),change 的第二个参数仍是本地化文案,语义与 Ant Design 一致
  • Chart 浮层(重要):ChartTooltip 默认不再注入 triggers,完全由 ChartCrosshair 驱动——浮层「粘」住指针持续显示(默认 hideWhenFarFromPointer: false + skipRangeCheck: true),不再在柱子 / 面积之间的空隙处消失;同时清空 Unovis 外层 tooltip 盒子样式(透明 / 无边框 / 无阴影 / 无内边距),避免「内外两层卡片」
  • GaugeChart:默认 270° 仪表改为左下 7:30 起、缺口位于正下方(1.25π → 2.75π);显式把像素高度传给 VisSingleContainer,避免容器退回默认 300px 导致 SVG 溢出、中心文案跑到可视区外
  • MiniChart:仅在显式传入 color 时写内联颜色,否则交给 currentColor——修复内联样式覆盖 text-chart-N / text-primary 等主题色工具类导致主题色不生效的问题
  • CalendarPanel:月份 / 年份视图补齐悬浮反馈与选中态样式;周选择整行高亮(weekCellClass);日期网格改为行间距(gap-y-1)避免跨周选中被分隔;修正年视图翻页(非越界时不再隐藏下一页)
  • @reglow/reui-mcp 0.3.1:组件目录与 Skills COMPONENTS.md 补齐 ChinaMap,版本基线更新至 0.6.0

0.5.0 (2026-10-10)

新增

  • Chart 图表:新增 chart 组件,基于 Unovis,组合方式与 shadcn-vue Charts 一致(不封装底层,直接用 VisArea / VisGroupedBar / VisStackedBar / VisScatter / VisDonut … 组合)。核心提供 ChartContainer(ChartConfig 上下文 + 作用域主题)、ChartTooltip / ChartTooltipContent、ChartCrosshair(十字准线 + 浮层)、ChartLegend / ChartLegendContent 与 componentToString 等工具;并扩展 Unovis 未内置的 FunnelChart(转化漏斗)、GaugeChart(指标仪表盘)、RadarChart(雷达)、MiniChart(迷你趋势 line/area/bar)。主题通过 --chart-1..5 与 --vis-* CSS 变量映射设计 token,明暗主题自动跟随
  • Icon 图标:新增 icon 组件。name 支持名称字符串(内置图标集 / lucide:* / radix:* / local:*,- 与 : 分隔、大小写不敏感)、Vue 组件(lucide-vue-next、@radix-icons/vue 或本地 SVG,可摇树)与原始 SVG 字符串;内置约 55 个后台常用图标(布局导航 / 操作 / 用户权限 / 数据文件 / 图表状态 / 通讯分类);size(默认 1em)/ color / label,并提供 registerIcons 注册本地图标

新增(组件能力)

  • PageTable 可展开行:新增 renderExpandedRow(返回 VNode)与 #expanded="{ row, tableRow }" 插槽渲染行内补充内容,v-model:expanded 受控、expandChange 事件;展开箭头位于首列
  • PageTable 树表:新增 tree(按 childrenKey 递归)/ childrenKey / defaultExpandAll / indentSize / rowKey(稳定行 id,展开态跨分页保持),首列展开箭头 + 按层级缩进
  • Timeline variant:新增 filled(实心圆点,默认)/ outlined(空心描边圆点);父级透传子项、TimelineItem 可单独覆盖,自定义 color 按变体用作填充色 / 描边色
  • Upload 图片墙:缩略图与上传占位合并到同一行(空间不足自动换行),新增 columns 控制每行个数(默认 3,仅 listType="picture" 生效)
  • DatePicker 选择器类型:补齐 picker(月 / 年 / 周 / 季)及 minDate / maxDate / disabledDate / presets 等 props 透传;按类型设置默认占位(请选择日期 / 周 / 月份 / 季度 / 年份)

修复与优化

  • Watermark 水印变形(重要):平铺单元尺寸与画布尺寸统一(内容 + gap 在画布内绘制),background-size 不再二次缩放,文字与图片不再被非等比拉伸;图片水印由强制拉满改为等比(contain)居中绘制,保持原始宽高比
  • Tabs type="line":补齐横向底部滑动指示条(纵向为右侧高亮线)与切换位移动画,TabsTrigger 不再各自绘制边框线
  • Steps 点状与省略:type="dot" 自动调整标题位置(水平置底 / 垂直置右),连接线按圆点尺寸居中,圆点与标题不再错位;maxCount 省略逻辑重写(始终保留首 / 尾 / 当前步骤,缺口插入省略号并可居中、可多个)
  • Radio 选中态:由「单个大圆点」改为「主色圆环 + 中心留间距的圆点」,外圈随选中变主色
  • ChatPrompt 聚焦样式:补充 focus-within 聚焦环(复用表单控件规范,错误态用 destructive 环),对内置 textarea 与 #body 插槽均生效
  • Editor:初始 markdown 内容首屏即解析(此前需切换后才转换);行拖拽手柄下拉的尺寸 / 点击与禁用态样式修复
  • @reglow/reui-mcp 0.3.0:组件目录补齐 icon / chart;Skills COMPONENTS.md 版本基线更新至 0.5.0

0.4.1 (2026-10-03)

新增

  • List 拖拽排序:新增 sortable prop(基于 sortablejs / vuedraggable,仅非虚拟且未分组时生效)。传 true 整行可拖,传对象可配置 handle(拖拽把手选择器)/ animation / ghostClass / dragClass;拖拽结束触发 sort 事件({ oldIndex, newIndex, item }),配合 v-model:items 同步最新顺序
  • List 行交互样式:行增加 hover 背景(对齐 antd controlItemBgHover)、拖拽中/占位状态类(re-list-drag-active / re-list-drag-ghost)

修复与优化

  • List 虚拟滚动行重叠(重要回归):行高测量改用 offsetHeight(border-box),修复行高被低估、offsets 错位、行与行重叠、列表拥挤无留白的问题
  • List 虚拟模式分组吸顶失效:吸顶分组标题移至滚动容器直接子元素并让 top 跟随 scrollTop,滚动时标题吸附在视口顶部
  • @reglow/reui-mcp 0.2.0:组件目录补齐 list / steps(0.4.0 新增)及 carousel / collapse(0.2.0 遗漏);Skills COMPONENTS.md 同步新增 List / Steps 选型并更新版本基线至 0.4.0

0.4.0 (2026-10-03)

新增

  • List 虚拟列表:高性能列表,支持分组与虚拟滚动(仅渲染视口内的行),API 参考 Ant Design Listy。items + 默认插槽(作用域 { item, index })或 itemRender 渲染单行;virtual + height 开启虚拟滚动(ResizeObserver 自动测量行高,支持行高不一致);group + sticky 分组标题吸顶;onScroll 接近底部可按需加载下一页;ref 调用 scrollTo 命令式滚动(像素坐标 / rowKey / 分组标题);classNames / styles 提供 root / item / groupHeader 语义化结构
  • ListItemMeta 行内容布局辅助:avatar / title / description 三个区域,可与 itemRender 搭配快速排版列表行
  • Steps 步骤条:对齐 Ant Design Steps。配置式(items)与复合式(StepsItem)两种用法;type 支持 default / dot / navigation / inline / panel,titlePlacement 标签位置、size、variant(filled / outlined)、percent 当前步骤进度、responsive 窄屏自动转垂直、maxCount(>=3)限量展示超出的步骤聚合为省略号并可点击跳转;可点击步骤支持键盘(Enter / Space)与 role="button" 无障碍语义

修复与优化

  • Splitter:折叠 / 展开支持折叠方向,两侧行为对称——start 折叠时空间并入右侧相邻面板、end 折叠时并入左侧相邻面板,左右两侧折叠均不再留白
  • ChatPrompt:底部操作区拆分——新增 footerLeading 插槽(底部左侧附件 / 图片等操作区),footer 插槽固定渲染在底部右侧(内联 margin-left:auto 推送,不受宿主 CSS 影响)
  • Divider:垂直分割线补充 self-stretch + min-h-[1em],在 flex 布局 / 无固定高度父容器下不再塌陷
  • FloatButtonGroup:子项 icon 支持组件图标(component :is 渲染),可传 lucide-vue-next 等图标组件
  • Radio:card / pureCard 卡片类型补齐选中态——选中项高亮边框(border-primary)+ 浅色背景(bg-primary/5)+ 标题主色
  • Nuxt 组件清单:全局注册补充 List / ListItemMeta / Steps / StepsItem,Nuxt 项目可直接使用

0.3.0 (2026-09-29)

新增

  • Editor 富文本编辑器:开箱即用——未传默认插槽时自动启用顶部工具栏、斜杠命令(输入 /)、行拖拽手柄(hover 行最左侧显示,点击弹出「转为/复制/上移/下移/删除」块操作菜单),并提供 toolbar / suggestion / mentionItems / emojiItems props 控制;传默认插槽时保持完全自定义(向后兼容)
  • Editor 内容格式自动推断:未显式传 content-type 时,字符串若含 markdown 语法(标题/列表/引用/代码围栏/表格/链接/粗斜体等)且不含 HTML 标签,自动按 markdown 解析,不再需要手动 content-type="markdown"
  • Editor 斜杠命令 / @提及 / :emoji 下拉 UI:EditorSuggestionMenu / EditorMentionMenu / EditorEmojiMenu 由仅注册插件(无界面)补全为可见候选下拉列表(跟随光标定位、键盘 ↑↓/Enter/Esc、鼠标点击),新增 EditorSuggestionList 通用列表组件
  • Editor 拖拽手柄 Vue 化:由手写非 Vue 插件迁移至 @tiptap/extension-drag-handle-vue-3(EditorDragHandle),hover 行最左侧出现手柄并支持块操作菜单
  • Chat 双向对话增强(参考 Nuxt UI / Semi aiChatDialogue):ChatMessage 新增 role / name / time / avatar / actions——默认渲染圆形头像、姓名+时间(气泡上方)、内容下方操作栏(复制/点赞/删除等);ChatMessages 支持 messages 数据渲染(按 role 分左右并叠加 user/assistant 默认样式)、status + #indicator 加载指示、shouldAutoScroll / shouldScrollToBottom / autoScroll / compact
  • ChatPrompt 完整化(参考 Nuxt UI):内置 textarea + v-model、submit-on-enter(Enter 提交 / Shift+Enter 换行,或 Ctrl+Enter)、Esc 关闭触发 close、autoresize / maxrows / error / disabled / loading、#body 插槽(暴露 submit / close,可替换为编辑器)、#header / #footer / #leading / #trailing 插槽、expose textareaRef;ChatPromptSubmit 新增 status(submitted/streaming 显示停止按钮)
  • Demo 示例:新增 demo/EditorDemo.vue(开箱即用 / 自定义组合 / 只读),reglow-docs 补充 CodeEditor 工具栏插槽、禁用态、实例方法 demo

修复与优化

  • ImageViewer:minScale 默认由 1 调整为 0.5(可缩到比原图小),scaleStep 默认由 0.5 调整为 0.1(缩放步进更细腻),均仍可通过 prop 覆盖
  • 测试环境:vitest setup 补齐 jsdom 缺失的 localStorage 内存实现,修复 i18n 等模块在单测环境初始化报错

0.2.4 (2026-09-28)

修复与优化

  • ImageViewer:恢复默认遮罩磨砂效果——0.1.5 起 backdrop-blur-md 被改为需显式 mask.blur: true 才生效,默认 mask: true 时磨砂失效,属回归;现恢复「默认开启磨砂」,对象配置仍可 mask: { blur: false } 单独关闭
  • ImageViewer:浅色遮罩背景由 bg-white/30 提升至 bg-white/50——此前 30% 白过透,即使开启磨砂仍能透出页面轮廓;配合默认磨砂,预览时背景更聚焦
  • Textarea:class 现在同时合并到根容器与原生 <textarea>——此前只作用于原生元素,表单网格布局类(如 col-span-3)失效导致宽度只占一列;现与 Input 行为一致,外层布局类直接生效
  • Select:补充 SelectRoot 为 reka-ui renderless 虚拟组件的说明——class 不会落到 DOM,布局类应写在 SelectTrigger 上

0.2.3 (2026-09-28)

修复与优化

  • AutoComplete:修复点击右侧下拉箭头时下拉「闪一下即关闭」的问题——点击箭头这类不可聚焦元素会让输入框先失焦并排期 150ms 的延迟关闭,随后刚展开的下拉被这个残留定时器关掉;现抽出 cancelBlurClose(),在 onArrowClick / onFocus 中先清除排期,首次点击箭头即可稳定展开
  • AutoComplete:修复面板 ref 挂载位置不当导致 onBlur 抛 contains is not a function 的问题——此前 ref="panelRef" 直接挂在 PopoverContent 组件上,拿到的是组件实例(无 contains 方法);现改挂到面板内真实 DOM 元素,聚焦判定恢复正常

0.2.2 (2026-09-24)

修复与优化

  • Tag:预设/状态色全面适配暗色主题——此前 16 种颜色(blue / green / purple / success / error 等)写死浅色底+深色字,暗色主题下底过亮、对比失衡。现为每种颜色补充暗色配色(半透明深色底 + 亮色文字,沿用 Ant Design dark 同色系),通过监听 <html> 上的 .dark 类实时切换,无需刷新;solid 实心变体保持原样
  • Watermark:修复暗色主题下默认水印不可见的问题——默认文字色由写死的黑色(rgba(0,0,0,0.15))改为按主题解析(浅色黑字 / 暗色白字),并在主题切换时自动重绘
  • Editor:富文本 mark 高亮适配暗色主题——暗色下由亮黄 #fef08a 改为半透明琥珀底(rgba(250,173,20,.35)),保证高亮可见且文字可读;浅色模式不变

0.2.1 (2026-09-24)

修复与优化

  • Splitter:修复折叠面板后相邻面板不接管释放空间的问题——折叠/展开时会把当前面板的宽度同步并入/退回相邻面板(1fr/auto 弹性面板先按剩余空间转为像素),右侧不再留下大片空白,且两侧宽度变化随折叠动画同步过渡
  • Splitter:折叠按钮与拖拽把手图标 hover 直接显示——移除此前为「延迟显示」引入的 300ms 过渡延迟(改用内联 transition-delay/transition-duration,规避 Tailwind 工具类因生成顺序被 transition-opacity 默认值覆盖导致延迟不生效的问题)

0.2.0(2026-09-22)

新增

  • Table 通用表格:新增基于 TanStack Table 的通用表格组件(与 PageTable 同目录、共用同一套 ColumnDef):不传 columns 时按首行数据自动生成列,支持自定义列与列级 / 行级样式(meta)、排序、行选择、可展开行、加载与空状态、表头表尾吸顶(sticky)、行密度(size)、斑马纹与边框、列插槽,并 expose TanStack 实例 tableApi 作为深度定制逃生舱
  • Collapse 折叠面板:对齐 Ant Design Collapse。支持配置式(items)与复合式(CollapsePanel)、accordion 手风琴、activeKey 受控(v-model:active-key)、ghost / bordered / size / expandIconPosition / collapsible(header / icon / disabled)、destroyOnHidden、自定义 expandIcon 与高度过渡动画
  • Carousel 轮播图:对齐 Ant Design Carousel,零依赖实现。effect="scrollx" | "fade"、autoplay(悬浮暂停)、dots 与 dotPosition 四向、arrows(支持自定义)、draggable 拖拽切换、infinite(首尾克隆无缝循环)、adaptiveHeight,以及 goTo / next / prev 方法与 beforeChange / change 事件
  • CodeEditor 代码编辑器:内置零依赖语法高亮(python / typescript / java / rust)且可编辑:Tab 缩进、Shift+Tab 反缩进、回车自动缩进、高亮层与输入层滚动同步;含行号、语言下拉、复制(含降级)、wrap 自动换行、height / tabSize;highlightCode / tokenizeLines 可独立使用
  • AvatarGroup 头像组:新增头像组(重叠排列 + +N 折叠列表,支持 max / maxCount、maxStyle、气泡方向与触发方式);Avatar 对齐 antd 补充 src / srcSet / alt / icon / size / shape / gap / draggable / crossOrigin 便捷 props 与 load / error 事件
  • Avatar 迁移:头像由 components/ui/avatar 迁移至 components/reui/avatar(ui/avatar 保留 @deprecated 转发,既有 @/components/ui/avatar、@reglow/reui/ui/avatar 引用无需改动)
  • PageTable 服务端排序:新增 manualSorting 与受控 sorting(v-model:sorting),并新增 update:sorting / sortChange 事件。默认仍是当前页本地排序;置 manualSorting 后不做本地排序,点击表头只更新 / 上报排序状态(SortingState),由父组件带排序参数重新请求。配合 @reglow/design 内置后端统一的 sort_by(snake_case 字段名)与 sort_order(asc / desc,默认 asc)使用
  • PageTable 多列排序:新增 multiSort 开关(默认 false,单列行为不变)。开启后按住 Shift 点击表头可累加多列,普通点击仍只保留当前列,多列时表头显示优先级序号(1、2、3…)。请求参数扩展为 sort_by=nickname:asc,created_at:desc(最多 3 列,顺序即优先级;非法 / 敏感列逐项跳过,全部非法则回落该接口默认排序),单列时仍是 sort_by=created_at&sort_order=desc

修复与优化

  • Splitter:修复三面板场景下 showCollapsibleIcon 只取单侧面板配置的问题——同一拖拽条两侧同时处于「可折叠」与「可展开」状态时,相邻面板的 showCollapsibleIcon: false 会把另一侧设成 true / 'auto' 的展开按钮一并隐藏,导致面板折叠后无法展开;现按 antd getShowCollapsibleIcon 合并两侧配置(true > 'auto' > false)
  • Textarea:allowClear 清除按钮移至文本框右上角,并为 textarea 预留右侧内边距,避免文字被图标遮挡
  • Avatar(SSR):修复漏导入 Vue 运行时 Comment 导致 Nuxt SSR 报 Comment is not defined 崩溃的问题(浏览器下因 DOM 全局 Comment 存在而未暴露)
  • 测试基建:test/setup.ts 的 Element.prototype.* 补丁增加存在性判断,支持 node 环境下的 SSR 测试

其他

  • i18n:补 reui.avatar.more、reui.carousel.* 文案(zh-CN / zh-TW / en-US),并新增三语言 key 结构一致性与组件文案完整性自动校验
  • SSR / Nuxt:新增基于 vue/server-renderer 的 SSR 冒烟测试;Nuxt 组件注册清单同步(含新增组件)
  • AI 能力:新增仓库内独立子包 @reglow/reui-mcp(MCP 服务器 + Skills 知识包 + reui-setup 一键配置 Trae / CodeBuddy / Qoder),独立发布,不影响组件库依赖树
  • 发布内容:files 纳入 components/**/*.{md,vue,ts}(排除 __tests__)与 guide.md,使按版本查询文档与源码可行
  • 表格目录统一:基础表格原子组件(TableRoot / TableHeader / TableBody / TableRow / TableHead / TableCell)由 components/ui/table 迁入 components/reui/table,ui/table 保留 @deprecated 转发;主入口的 Table 以 reui/table 的通用表格为准(ui/table 的 Table 仍指 TableRoot)

0.1.10(2026-09-10)

  • 根 README(README.md / README.en.md)改为组件库整体介绍、安装与使用方法;组件级文档保留在各组件目录的 README.md

0.1.9(2026-09-10)

  • Splitter:折叠按钮交互对齐 antd——start / end 分别对应面板起始边 / 结束边拖拽条,按钮位于分割线两侧、图标指向收缩方向,折叠后展开按钮出现在另一侧,始终可达不被边缘裁剪
  • Alert:文字改为中性色(浅色深灰黑、暗色近白),背景/边框/图标保留语义色,修复暗色下文字不清的问题

0.1.8(2026-09-09)

  • Alert:修复暗色主题下背景过深(偏咖啡色)且文字同色系导致对比不足的问题,暗色统一为淡色背景 + 近白文字 + 半透明同色边框

0.1.7(2026-09-09)

  • Input:外部 class 同时合并到根容器,使栅格类(如 col-span-3)在 flex/grid 布局中生效;内层 input 仍保留该 class,兼容旧用法
  • PageTable:搜索框改用 Input 的 prefix 插槽展示搜索图标,宽度约束移交 Input 的 class

0.1.6(2026-09-09)

  • 表单控件聚焦环主题色回归修复:Input / Textarea / DatePicker / DateRangePicker 聚焦环不再回退黑色(改为完整字面量类,随主题 token 定制)
  • Input / Textarea / DatePicker:outlined 变体底色与 SelectTrigger 对齐(透明 + 暗色 dark:bg-input/30)
  • 弹窗内输入框宽度回归修复:补充 min-w-0,避免 grid/flex 布局下被内容撑破错位
  • Tailwind @source 增加 ../lib 扫描,保证 lib/form-field.ts 中拼装的类名被打入 style.css

0.1.5(2026-09-09)

新增

  • DateRangePicker:日期范围选择器,支持双面板日历、范围快捷项、起止日期与时间,补充三语言文案
  • InputPassword:密码输入框,支持明文/密文切换、受控显隐与自定义图标
  • Input / Textarea 迁移升级:由 components/ui 迁移至 components/reui(ui 层保留 @deprecated 转发);新增 lib/form-field.ts 统一 size / variant / status / bordered 外观映射
  • MasonryGrid 重构:由图片瀑布流重构为通用数据驱动瀑布流(响应式列数、gutter、itemRender、懒加载、无限滚动、空态/加载态等)
  • 单元测试基础设施:引入 vitest + jsdom,统一 test/setup.ts

修复与优化

  • DatePicker:接入统一表单主题,新增 size / variant / status / bordered
  • ImageViewer:mask 支持 opacity,blur 改为独立开关
  • Splitter:修复面板动态增删后 isLast / 计数判断错误;未指定尺寸的 1fr 面板按剩余空间等分
  • Tooltip:修复箭头与内容背景重叠、样式错位

0.1.4(2026-08-23)

  • PageTable:修复选中行背景色被全局样式覆盖的问题(选中行含固定列增加优先级)

0.1.3(2026-08-18)

  • AutoComplete:修复下拉面板交互问题(点击输入框不再一闪而过、焦点移入面板保持展开、清除后不再误关下拉)

0.1.2(2026-08-17)

  • Splitter:对齐 ant.design 完整示例能力——新增 orientation、draggerIcon、collapsible: { motion, icon }、destroyOnHidden、classNames / styles;折叠后可用 min 限制拖拽展开、双击拖拽条重置相邻面板
  • DatePicker:showTime 时间选择改为底部操作栏(此刻 / 时分秒 / 确定)+ 覆盖式选择浮层
  • BorderBeam:改为与 ant.design 一致的 CSS Motion Path 实现,新增 count / duration / size / lineWidth
  • Tree:懒加载与搜索过滤增强(匹配节点 + 祖先链路 + 子树,自动展开并触发懒加载)
  • PageTable:列设置面板支持解析函数 / 组件类型列头的显示名称
  • Tooltip:修复单元测试缺少外层 TooltipProvider 导致的注入异常

0.1.1(2026-08-15)

  • 根入口聚合重构:index.ts 统一经 components/index.ts 导出 ui 基础组件与 reui 高级组件,支持根导入

0.1.0(2026-08-14)

  • 初始发布:包含 ui 基础组件与 reui 高级组件,支持国际化(zh-CN / zh-TW / en-US)、主题定制与 Nuxt 模块
  • 新增 PricingTable 定价表、TagsInput 标签输入组件,新增 merge-css.mjs 构建脚本
  • 修复多个组件的样式与行为问题,补充组件文档(README)与单元测试