@robot-admin/naive-ui-components 0.24.1 → 0.24.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +21 -0
- package/README.md +6 -2
- package/README_EN.md +6 -2
- package/SECURITY.md +12 -2
- package/dist/C_AntV2.cjs +1 -1
- package/dist/C_AntV2.js +3 -3
- package/dist/C_Form.base.css +41 -143
- package/dist/C_Form.css +41 -143
- package/dist/C_FormModal.css +25 -12
- package/dist/C_FormModal2.cjs +1 -1
- package/dist/C_FormModal2.js +1 -1
- package/dist/C_Map2.cjs +1 -1
- package/dist/C_Map2.js +1 -1
- package/dist/C_Table.base.css +151 -253
- package/dist/C_Table.css +110 -110
- package/dist/C_Table2.cjs +2 -2
- package/dist/C_Table2.js +2 -2
- package/dist/C_Upload2.cjs +1 -1
- package/dist/C_Upload2.js +1 -1
- package/dist/C_VideoPlayer.css +30 -20
- package/dist/C_VideoPlayer2.cjs +2 -2
- package/dist/C_VideoPlayer2.js +3 -3
- package/dist/Steps.cjs +1 -1
- package/dist/Steps.js +1 -1
- package/dist/Tabs.cjs +1 -1
- package/dist/Tabs.js +1 -1
- package/dist/constants2.d.cts +4 -4
- package/dist/constants2.d.ts +4 -4
- package/dist/constants3.d.cts +3 -3
- package/dist/constants3.d.ts +3 -3
- package/dist/data2.cjs +1 -1
- package/dist/data2.d.cts +5 -5
- package/dist/data2.d.ts +5 -5
- package/dist/data2.js +1 -1
- package/dist/density.cjs +1 -1
- package/dist/density.js +1 -1
- package/dist/index.cjs +1 -1
- package/dist/index.js +1 -1
- package/dist/index.vue.d.cts +1 -1
- package/dist/index.vue.d.ts +1 -1
- package/dist/index10.vue.d.cts +2 -2
- package/dist/index10.vue.d.ts +5 -5
- package/dist/index11.vue.d.cts +5 -5
- package/dist/index13.vue.d.ts +2 -2
- package/dist/index14.vue.d.cts +2 -2
- package/dist/index15.vue.d.ts +8 -8
- package/dist/index16.vue.d.cts +8 -8
- package/dist/index17.vue.d.ts +2 -2
- package/dist/index18.vue.d.cts +2 -2
- package/dist/index18.vue.d.ts +2 -2
- package/dist/index19.vue.d.cts +2 -2
- package/dist/index19.vue.d.ts +3 -3
- package/dist/index20.vue.d.cts +3 -3
- package/dist/index22.vue.d.ts +1 -1
- package/dist/index23.vue.d.cts +1 -1
- package/dist/index23.vue.d.ts +2 -2
- package/dist/index26.vue.d.cts +4 -4
- package/dist/index26.vue.d.ts +4 -4
- package/dist/index28.vue.d.cts +3 -3
- package/dist/index28.vue.d.ts +3 -3
- package/dist/index3.vue.d.cts +4 -4
- package/dist/index3.vue.d.ts +4 -4
- package/dist/index5.vue.d.cts +2 -2
- package/dist/index9.vue.d.ts +2 -2
- package/dist/mapUtils.d.cts +2 -2
- package/dist/mapUtils.d.ts +2 -2
- package/dist/presets.d.cts +1 -1
- package/dist/presets.d.ts +1 -1
- package/dist/serializeSearch.cjs +1 -1
- package/dist/serializeSearch.js +1 -1
- package/dist/style.css +206 -285
- package/dist/useCalendarEvents.d.cts +1 -1
- package/dist/useCalendarEvents.d.ts +1 -1
- package/dist/useCollapsePanel.d.cts +3 -3
- package/dist/useCollapsePanel.d.ts +3 -3
- package/dist/useCropperCore.d.cts +3 -3
- package/dist/useCropperCore.d.ts +3 -3
- package/dist/useDictionary.cjs +1 -1
- package/dist/useDictionary.js +1 -1
- package/dist/useDynamicFormState.d.cts +4 -4
- package/dist/useDynamicFormState.d.ts +4 -4
- package/dist/useEdgeInteraction.d.cts +2 -2
- package/dist/useEdgeInteraction.d.ts +2 -2
- package/dist/useFullscreen.d.cts +2 -2
- package/dist/useFullscreen.d.ts +2 -2
- package/dist/useGlobalSearch.d.cts +1 -1
- package/dist/useGlobalSearch.d.ts +1 -1
- package/dist/useInfiniteScroll.d.cts +2 -2
- package/dist/useInfiniteScroll.d.ts +2 -2
- package/dist/useQRCode.d.cts +5 -5
- package/dist/useQRCode.d.ts +5 -5
- package/dist/useSignatureHistory.d.cts +4 -4
- package/dist/useSignatureHistory.d.ts +4 -4
- package/dist/useSplitResize.d.cts +3 -3
- package/dist/useSplitResize.d.ts +3 -3
- package/dist/useWorkflowValidation.d.cts +3 -3
- package/dist/useWorkflowValidation.d.ts +3 -3
- package/dist/verification.d.cts +2 -2
- package/dist/verification.d.ts +2 -2
- package/docs/engineering.en.md +1 -1
- package/docs/engineering.md +1 -1
- package/docs/guides/form-density.md +11 -5
- package/docs/stability-review-20261031.md +46 -0
- package/package.json +4 -2
package/dist/verification.d.ts
CHANGED
|
@@ -77,16 +77,16 @@ declare const __VLS_export: vue.DefineComponent<CaptchaProps, {
|
|
|
77
77
|
show: () => void;
|
|
78
78
|
}, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {} & {
|
|
79
79
|
change: (valid: boolean) => any;
|
|
80
|
-
success: (data: CaptchaSuccessPayload) => any;
|
|
81
80
|
reset: () => any;
|
|
81
|
+
success: (data: CaptchaSuccessPayload) => any;
|
|
82
82
|
fail: (error: string) => any;
|
|
83
83
|
"verify-error": (error: unknown) => any;
|
|
84
84
|
"load-error": (error: unknown) => any;
|
|
85
85
|
"visible-change": (visible: boolean) => any;
|
|
86
86
|
}, string, vue.PublicProps, Readonly<CaptchaProps> & Readonly<{
|
|
87
87
|
onChange?: ((valid: boolean) => any) | undefined;
|
|
88
|
-
onSuccess?: ((data: CaptchaSuccessPayload) => any) | undefined;
|
|
89
88
|
onReset?: (() => any) | undefined;
|
|
89
|
+
onSuccess?: ((data: CaptchaSuccessPayload) => any) | undefined;
|
|
90
90
|
onFail?: ((error: string) => any) | undefined;
|
|
91
91
|
"onVerify-error"?: ((error: unknown) => any) | undefined;
|
|
92
92
|
"onLoad-error"?: ((error: unknown) => any) | undefined;
|
package/docs/engineering.en.md
CHANGED
|
@@ -43,7 +43,7 @@ dist/
|
|
|
43
43
|
|
|
44
44
|
## Development
|
|
45
45
|
|
|
46
|
-
The environment
|
|
46
|
+
The maintenance environment uses Node.js 20.19.0+ and pinned Bun 1.4.2. `.node-version`, `packageManager` and the frozen lockfile align local and CI installs. The minimum Bun version for consumers remains 1.3.14; maintenance checks verify that conditional overrides affect actual resolutions.
|
|
47
47
|
|
|
48
48
|
```bash
|
|
49
49
|
bun install --frozen-lockfile # Install exactly from the lockfile
|
package/docs/engineering.md
CHANGED
|
@@ -44,7 +44,7 @@ dist/
|
|
|
44
44
|
|
|
45
45
|
## 开发
|
|
46
46
|
|
|
47
|
-
|
|
47
|
+
维护环境为 Node.js 20.19.0+ 与固定的 Bun 1.4.2;仓库通过 `.node-version`、`packageManager` 和冻结锁文件保持本地/CI 一致。消费者 Bun 最低版本仍为 1.3.14;维护环境使用能真实应用条件 overrides 的版本,并校验实际解析结果。
|
|
48
48
|
|
|
49
49
|
```bash
|
|
50
50
|
bun install --frozen-lockfile # 严格按锁文件安装依赖
|
|
@@ -15,11 +15,11 @@ import type { ComponentDensity } from '@robot-admin/naive-ui-components/C_Form'
|
|
|
15
15
|
const density = ref<ComponentDensity>('compact')
|
|
16
16
|
```
|
|
17
17
|
|
|
18
|
-
| 密度 | 字段与操作按钮 | 布局间距
|
|
19
|
-
| ------------- | -------------- |
|
|
20
|
-
| `default` | `medium` | 16px
|
|
21
|
-
| `compact` | `small` | 8px
|
|
22
|
-
| `comfortable` | `large` | 20px
|
|
18
|
+
| 密度 | 字段与操作按钮 | 布局间距 | 卡片留白 | 表单反馈预留高度 |
|
|
19
|
+
| ------------- | -------------- | --------------- | -------- | ---------------- |
|
|
20
|
+
| `default` | `medium` | 16px | 24px | 24px |
|
|
21
|
+
| `compact` | `small` | 横 8px / 纵 4px | 12px | 2px |
|
|
22
|
+
| `comfortable` | `large` | 20px | 28px | 28px |
|
|
23
23
|
|
|
24
24
|
反馈预留高度是最小值,校验错误可自然撑开。密度支持响应式切换,切换不会清空表单值、搜索草稿、折叠条件或分组展开状态;不同实例可以使用不同密度。
|
|
25
25
|
|
|
@@ -110,3 +110,9 @@ const fields = [
|
|
|
110
110
|
```
|
|
111
111
|
|
|
112
112
|
`focusTarget` 上下文还提供 `field`、字段表单项的 `element`(可能为空)和当前 `model`。即使异步适配器忽略取消,库也会拒绝旧元素;没有可聚焦目标时诚实返回 `false`,由使用侧保留错误摘要或提示导航限制。
|
|
113
|
+
|
|
114
|
+
## 密集录入与性能
|
|
115
|
+
|
|
116
|
+
紧凑表单与搜索默认纵向行距 4px,空反馈预留 2px;校验文案使用自然高度,多行错误不裁切、不盖住下一行。C_FormModal 的紧凑壳同步收紧,内容过高时在弹窗内部滚动,页脚保留可操作空间。显式的 grid.yGap / gutter 仍优先。
|
|
117
|
+
|
|
118
|
+
Grid 和 Dynamic 字段不再执行逐字段入场或布局尺寸动画,Inline 不再对尺寸设置 transition: all。保留控件自身的焦点、悬停及校验反馈。配置与字段定义稳定时,表单控件按自身响应式依赖更新;400 字段回归检查单字段输入不会重绘其余 399 个控件。v-model 仍按既有契约输出独立的完整模型快照,成本随模型大小增长;大量字段建议按业务使用现有 Tabs/Steps 分区,明细数据继续交给虚拟表格。
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
# 0.24.3 稳定性复核
|
|
2
|
+
|
|
3
|
+
日期:2026-10-31。基线:0.24.2。本轮保留现有组件、主题、精简配置和公开接口,通过复现处理真实边界问题,不建立新的状态框架、全局缓存或通用虚拟化层。
|
|
4
|
+
|
|
5
|
+
## 范围与发现
|
|
6
|
+
|
|
7
|
+
公共值工具、字典与工作流入口,以及表单、搜索、表格、图、地图、上传、媒体等高风险组件是本轮重点。其他资源组件结合源码检查和现有生命周期回归复核;这不等同于所有第三方引擎和业务环境都完成压力测试。
|
|
8
|
+
|
|
9
|
+
| 范围 | 已复现问题 | 修复边界与回归 |
|
|
10
|
+
| -------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------- |
|
|
11
|
+
| 数据路径与快照 | 继承分支被修改;回退克隆压缩稀疏索引、把原型键当 setter;数组比较不对称 | 仅沿自有分支访问,保留 Vue HAS/GET 依赖和 literal dotted key;稀疏快照、循环对象及修改检测回归 |
|
|
12
|
+
| 字典 | 初次同步销毁遗漏清理,批量重载继续分发,abort/响应式通知重入后控制器失去归属 | 提前注册销毁、沿用视图和控制器身份;初读、订阅、请求、状态通知和销毁共 7 项边界回归 |
|
|
13
|
+
| Tabs / Steps | 旧校验写到替换后的区域或覆盖新结果 | 稳定 key、既有状态与请求代次共同确认归属;删除从未读取的 Tabs 状态 Map |
|
|
14
|
+
| 搜索历史 | 小数数量触发数组长度异常,旧记录含 null 时抛错 | 有限正整数边界;存储按未知输入处理,仅恢复限定数量的有效文本 |
|
|
15
|
+
| 表格展示 | 编辑模式绕过状态/字典展示 | 复用只读展示路径,删除重复 formatter 分支和两处 any |
|
|
16
|
+
| 列拖拽 | 辅助列使 DOM 下标错位,外部更新与 Sortable 同时改 DOM | 最终列身份映射,辅助列不移动,先还原 DOM 再提交;统一单一初始化 watch,普通内容/测宽更新保留实例 |
|
|
17
|
+
| 编辑会话 | 公开 hook 的旧校验污染新草稿,scope 结束后继续保存 | 沿用 revision 失效化,hook 自身拥有清理责任 |
|
|
18
|
+
| 视频小窗 | 配置不能动态启停、重复观察与迟到回调;观察 fixed 元素可能回跳,固定高度被宽度适配覆盖 | 唯一 observer、当前身份判断、文档流锚点及原位高度;固定与流式尺寸分离,小窗约束媒体容器,无轮询、额外 RO 或全局监听 |
|
|
19
|
+
| X6 图实例 | 等待 DOM 时无法取消初始化,并发创建多余实例 | 初始化代次取消;删除被正值尺寸兜底遮蔽、不可达的重试分支 |
|
|
20
|
+
| 高德加载器 | 失败或超时后遗留本加载器写入的宿主安全配置 | 仅在仍持有同一对象时归还旧配置,保留宿主后续接管 |
|
|
21
|
+
| 高亮与上传 | 诊断异常改变任务结果;删除 UID 在私有 Map 驻留 | 复用观察通知隔离;删除已移除 UID,既有取消和迟到上传契约继续验证 |
|
|
22
|
+
|
|
23
|
+
上述主要问题均先在原实现复现,再验证修复。源码检查另外覆盖地图实例/标记、富文本与 Markdown、代码加载、分片上传和对象 URL、甘特、瀑布流、工作流、签名和图片资源等已有保护;没有证据需要扩大重构的路径保持原架构。
|
|
24
|
+
|
|
25
|
+
## 性能与复杂度
|
|
26
|
+
|
|
27
|
+
- 字典仅在选项快照更新时创建索引,表格单元格按索引解析;不添加共享网络缓存,身份与租户隔离仍由应用 Provider 持有。
|
|
28
|
+
- 列拖拽只有开启时追踪列结构,使用组件内惰性列 Map;不按数据行扫描,不因内容测宽变化重建实例。
|
|
29
|
+
- 数据比较保留短路、循环处理和 O(N) 稠密数组遍历,不创建额外数组键列表。既有大表单比较缓存和集合线性查询回归继续通过。
|
|
30
|
+
- 400 字段普通表单与弹窗仍验证仅被编辑控件更新。完整模型快照仍有与模型大小相关的成本;大量重复明细使用虚拟表格,异构大表单使用已有 Tabs/Steps 分区。
|
|
31
|
+
- 单个小窗锚点只在进入小窗时记录一次原高度,没有持续测量任务;第三方实例继续使用浅引用,未增加运行时依赖。
|
|
32
|
+
- 显式 any 从 108 降至 106,并把总预算从 117 收紧到 106;没有把第三方边界强行改为错误类型,也没有用忽略注释隐藏类型错误。
|
|
33
|
+
|
|
34
|
+
对外的 deprecated 类型或兼容入口仍有公开消费契约,不把“已标记废弃”当成“无人使用”。补丁仅删除已确认的死状态、重复渲染逻辑和不可达分支,避免破坏已有使用侧。
|
|
35
|
+
|
|
36
|
+
本轮新增路径没有新增 lint 警告。当前仍有 18 条既有提示,主要是公式/Cron 解析器分支、表格渲染分派和旧参数数量;没有为降低统计数字而拆散解析状态机或改变公开参数。本次不是“零技术债”的声明,后续按可验证收益渐进收敛。
|
|
37
|
+
|
|
38
|
+
## 依赖与实际验证
|
|
39
|
+
|
|
40
|
+
维护者工具及全部 CI 已固定到能真实应用条件依赖覆盖的 Bun 1.4.2,冻结安装及实际解析结果通过验证;消费者最低版本不变。现代工具链的 glob/minimatch 已按新公告修复;legacy glob 7 与 minimatch 3 保持成套接口。维护者公告与聚合数据库的范围差异、实际不可达代码路径、源码指纹和行为证据见 [SECURITY](../SECURITY.md)。原始审计命中保留并单独分类,不宣称零告警。
|
|
41
|
+
|
|
42
|
+
- `bun run verify`:485 项逻辑测试、495 项组件测试,TypeScript/Vue/消费者类型、lint、旧 API 扫描、导出、vendor、构建、ESM/CJS、Node16/NodeNext 和可选 peer 契约全部通过。
|
|
43
|
+
- 原有发布体积和消费者 gzip 预算全部通过,没有放宽限额;完整可用包约 5.13 MiB(含单列预算的 SheetJS)。
|
|
44
|
+
- 发布候选包在 Chromium、Firefox、WebKit 共 9 项专项回归通过:400 字段表单 3 项,fixed/fluid 视频小窗 6 项;真实媒体保持固定高度及 320×180 小窗,持续观察不回跳,动态开关、卸载和页面错误检查通过。Robot_Admin 正式依赖的最终结果见应用提交与交付记录。
|
|
45
|
+
|
|
46
|
+
真人读屏、多业务 UAT 与真实后端仍按已有交付约定留待人工环境验收,不计入自动测试通过项。
|
package/package.json
CHANGED
|
@@ -3,9 +3,9 @@
|
|
|
3
3
|
"publishConfig": {
|
|
4
4
|
"access": "public"
|
|
5
5
|
},
|
|
6
|
-
"version": "0.24.
|
|
6
|
+
"version": "0.24.3",
|
|
7
7
|
"description": "基于 Naive UI 的 Vue 3 组件库",
|
|
8
|
-
"packageManager": "bun@1.
|
|
8
|
+
"packageManager": "bun@1.4.2",
|
|
9
9
|
"engines": {
|
|
10
10
|
"node": ">=20.19.0",
|
|
11
11
|
"bun": ">=1.3.14"
|
|
@@ -252,6 +252,8 @@
|
|
|
252
252
|
"xlsx": "file:vendor/xlsx-0.20.3.tgz"
|
|
253
253
|
},
|
|
254
254
|
"overrides": {
|
|
255
|
+
"glob@13.0.6": "14.0.2",
|
|
256
|
+
"minimatch@10.2.6": "11.0.1",
|
|
255
257
|
"@xmldom/xmldom": "0.8.15",
|
|
256
258
|
"defu": "6.1.7",
|
|
257
259
|
"fast-uri": "3.1.9",
|