@robot-admin/naive-ui-components 0.19.0 → 0.21.0
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 +20 -0
- package/README.md +5 -5
- package/README_EN.md +5 -5
- package/SECURITY.md +39 -0
- package/dist/C_AntV.css +31 -31
- package/dist/C_AntV2.cjs +1 -1
- package/dist/C_AntV2.js +1 -1
- package/dist/C_Breadcrumb.css +308 -20
- package/dist/C_Breadcrumb.d.cts +2 -2
- package/dist/C_Breadcrumb.d.ts +2 -2
- package/dist/C_Breadcrumb2.cjs +1 -1
- package/dist/C_Breadcrumb2.js +1 -1
- package/dist/C_Chat.css +90 -90
- package/dist/C_Chat2.cjs +1 -1
- package/dist/C_Chat2.js +1 -1
- package/dist/C_CollapsePanel2.cjs +1 -1
- package/dist/C_CollapsePanel2.js +1 -1
- package/dist/C_Draggable.css +53 -53
- package/dist/C_Draggable2.cjs +1 -1
- package/dist/C_Draggable2.js +1 -1
- package/dist/C_FilePreview.css +98 -98
- package/dist/C_FilePreview.d.cts +2 -2
- package/dist/C_FilePreview.d.ts +2 -2
- package/dist/C_FilePreview2.cjs +1 -1
- package/dist/C_FilePreview2.js +1 -1
- package/dist/C_Form.base.css +9 -9
- package/dist/C_Form.css +9 -9
- package/dist/C_FormSearch.css +52 -52
- package/dist/C_FormSearch2.cjs +1 -1
- package/dist/C_FormSearch2.js +1 -1
- package/dist/C_Language.css +2 -2
- package/dist/C_Language2.cjs +1 -1
- package/dist/C_Language2.js +1 -1
- package/dist/C_Login.css +79 -79
- package/dist/C_Login2.cjs +1 -1
- package/dist/C_Login2.js +1 -1
- package/dist/C_Menu.css +1 -1
- package/dist/C_Menu.d.cts +2 -2
- package/dist/C_Menu.d.ts +2 -2
- package/dist/C_Menu2.cjs +1 -1
- package/dist/C_Menu2.js +1 -1
- package/dist/C_NotificationCenter.css +124 -124
- package/dist/C_NotificationCenter.d.cts +2 -2
- package/dist/C_NotificationCenter.d.ts +2 -2
- package/dist/C_NotificationCenter2.cjs +1 -1
- package/dist/C_NotificationCenter2.js +1 -1
- package/dist/C_Skeleton.css +2 -2
- package/dist/C_Skeleton2.cjs +1 -1
- package/dist/C_Skeleton2.js +1 -1
- package/dist/C_SplitPane.css +66 -66
- package/dist/C_SplitPane2.cjs +1 -1
- package/dist/C_SplitPane2.js +1 -1
- package/dist/C_Table.base.css +9 -9
- package/dist/C_Table.css +9 -9
- package/dist/C_Table.d.ts +1 -0
- package/dist/C_Theme2.cjs +1 -1
- package/dist/C_Theme2.js +1 -1
- package/dist/C_Timeline.css +46 -46
- package/dist/C_Timeline2.cjs +1 -1
- package/dist/C_Timeline2.js +1 -1
- package/dist/C_Transfer.css +26 -26
- package/dist/C_Transfer2.cjs +1 -1
- package/dist/C_Transfer2.js +1 -1
- package/dist/C_Tree.css +23 -23
- package/dist/C_Tree.d.ts +1 -0
- package/dist/C_Tree2.cjs +1 -1
- package/dist/C_Tree2.js +1 -1
- package/dist/C_Upload2.cjs +1 -1
- package/dist/C_Upload2.js +1 -1
- package/dist/C_VideoPlayer.d.cts +2 -2
- package/dist/C_VideoPlayer.d.ts +2 -2
- package/dist/C_VideoPlayer2.cjs +2 -2
- package/dist/C_VideoPlayer2.js +2 -2
- package/dist/C_WaterFall.css +31 -29
- package/dist/C_WaterFall2.cjs +1 -1
- package/dist/C_WaterFall2.js +1 -1
- package/dist/C_WorkFlow.css +111 -111
- package/dist/C_WorkFlow2.cjs +1 -1
- package/dist/C_WorkFlow2.js +1 -1
- package/dist/config.cjs +1 -0
- package/dist/config.d.cts +8 -0
- package/dist/config.d.ts +8 -0
- package/dist/config.js +1 -0
- package/dist/constants3.d.cts +34 -11
- package/dist/constants3.d.ts +34 -11
- package/dist/constants4.d.cts +14 -3
- package/dist/constants4.d.ts +14 -3
- package/dist/constants5.d.cts +24 -20
- package/dist/constants5.d.ts +24 -20
- package/dist/data.d.cts +6 -6
- package/dist/data.d.ts +6 -6
- package/dist/dateRange.d.cts +2 -0
- package/dist/dateRange.d.ts +2 -0
- package/dist/feedback.cjs +1 -1
- package/dist/feedback.js +1 -1
- package/dist/helpers.cjs +1 -1
- package/dist/helpers.js +1 -1
- package/dist/index.cjs +1 -1
- package/dist/index.d.cts +8 -7
- package/dist/index.d.ts +9 -7
- package/dist/index.js +1 -1
- package/dist/index.vue.d.cts +4 -4
- package/dist/index.vue.d.ts +4 -4
- package/dist/index10.vue.d.cts +5 -5
- package/dist/index10.vue.d.ts +3 -3
- package/dist/index11.vue.d.cts +3 -3
- package/dist/index12.vue.d.ts +2 -2
- package/dist/index13.vue.d.cts +2 -2
- package/dist/index13.vue.d.ts +6 -6
- package/dist/index14.vue.d.cts +6 -6
- package/dist/index14.vue.d.ts +0 -1
- package/dist/index15.vue.d.cts +0 -1
- package/dist/index16.vue.d.ts +2 -2
- package/dist/index17.vue.d.cts +2 -2
- package/dist/index17.vue.d.ts +1 -1
- package/dist/index18.vue.d.cts +1 -1
- package/dist/index18.vue.d.ts +44 -40
- package/dist/index19.vue.d.cts +2 -2
- package/dist/index19.vue.d.ts +2 -2
- package/dist/index2.vue.d.cts +1 -1
- package/dist/index2.vue.d.ts +1 -1
- package/dist/index20.vue.d.cts +1 -1
- package/dist/index20.vue.d.ts +1 -1
- package/dist/index21.vue.d.cts +1 -1
- package/dist/index21.vue.d.ts +1 -1
- package/dist/index22.vue.d.cts +2 -2
- package/dist/index22.vue.d.ts +2 -2
- package/dist/index25.vue.d.cts +2 -3
- package/dist/index25.vue.d.ts +2 -3
- package/dist/index26.vue.d.cts +3 -3
- package/dist/index26.vue.d.ts +3 -3
- package/dist/index3.vue.d.cts +4 -4
- package/dist/index3.vue.d.ts +4 -4
- package/dist/index4.vue.d.cts +44 -40
- package/dist/index4.vue.d.ts +26 -12
- package/dist/index5.vue.d.cts +26 -12
- package/dist/index6.vue.d.ts +0 -2
- package/dist/index7.vue.d.cts +0 -2
- package/dist/index8.vue.d.ts +4 -4
- package/dist/index9.vue.d.cts +4 -4
- package/dist/index9.vue.d.ts +5 -5
- package/dist/mapUtils.d.cts +3 -3
- package/dist/mapUtils.d.ts +3 -3
- package/dist/presets.d.cts +1 -1
- package/dist/presets.d.ts +1 -1
- package/dist/public.d.ts +3 -1
- package/dist/style.css +1154 -864
- package/dist/types.d.cts +3 -1
- 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/useComponentLocale.cjs +1 -1
- package/dist/useComponentLocale.js +1 -1
- package/dist/useCropperCore.d.cts +4 -4
- package/dist/useCropperCore.d.ts +4 -4
- package/dist/useDraggableLayout.d.cts +1 -0
- package/dist/useDraggableLayout.d.ts +1 -0
- package/dist/useEdgeInteraction.d.cts +2 -2
- package/dist/useEdgeInteraction.d.ts +2 -2
- package/dist/useFullscreen.d.cts +41 -23
- package/dist/useFullscreen.d.ts +41 -23
- package/dist/useInfiniteScroll.d.cts +6 -4
- package/dist/useInfiniteScroll.d.ts +6 -4
- package/dist/useQRCode.d.cts +4 -4
- package/dist/useQRCode.d.ts +4 -4
- package/dist/useSignatureHistory.d.cts +2 -2
- package/dist/useSignatureHistory.d.ts +2 -2
- package/dist/useSplitResize.d.cts +6 -7
- package/dist/useSplitResize.d.ts +6 -7
- package/dist/useTableQuery.cjs +1 -1
- package/dist/useTableQuery.d.cts +6 -10
- package/dist/useTableQuery.d.ts +6 -10
- package/dist/useTableQuery.js +1 -1
- package/dist/useWorkflowValidation.d.cts +11 -3
- package/dist/useWorkflowValidation.d.ts +11 -3
- package/dist/verification.d.cts +1 -1
- package/dist/verification.d.ts +1 -1
- package/docs/architecture.en.md +3 -1
- package/docs/architecture.md +3 -1
- package/docs/guides/usage.en.md +22 -0
- package/docs/guides/usage.md +73 -0
- package/package.json +27 -10
- package/dist/context.cjs +0 -1
- package/dist/context.js +0 -1
package/docs/guides/usage.md
CHANGED
|
@@ -64,6 +64,25 @@ app.mount('#app')
|
|
|
64
64
|
|
|
65
65
|
> 子路径导入提供完整的 TypeScript 类型支持(`.d.ts`),IDE 可自动补全 props / emits / slots。组件相关工具函数(如 `createMenuOptions`)也从对应组件子路径导出,避免为了单个工具加载组件库根入口。
|
|
66
66
|
|
|
67
|
+
### 按需配置语言与反馈
|
|
68
|
+
|
|
69
|
+
独立 `/config` 入口只导出注入键和协议类型,不加载组件、路由或 Naive UI 适配器。与根入口使用相同的注入键,可以直接配置按需使用的组件:
|
|
70
|
+
|
|
71
|
+
```ts
|
|
72
|
+
import {
|
|
73
|
+
COMPONENT_LOCALE_KEY,
|
|
74
|
+
COMPONENT_FEEDBACK_KEY,
|
|
75
|
+
} from '@robot-admin/naive-ui-components/config'
|
|
76
|
+
|
|
77
|
+
app.provide(COMPONENT_LOCALE_KEY, { locale: 'en-US' })
|
|
78
|
+
app.provide(COMPONENT_FEEDBACK_KEY, {
|
|
79
|
+
success: message.success,
|
|
80
|
+
error: text => message.error(text),
|
|
81
|
+
})
|
|
82
|
+
```
|
|
83
|
+
|
|
84
|
+
默认中文,内置支持 `zh-CN` / `en-US`,自定义 `messages` 或 `t` 沿用现有协议。需要动态切换时提供响应式对象或 `locale` getter。Tree、Transfer、SplitPane、Chat、NotificationCenter、Theme、Language、Skeleton、Timeline 的内置文案与已有 Form/Table/Search/Breadcrumb 一起使用该上下文;业务标题、菜单名称和显式传入的文案由宿主管理。
|
|
85
|
+
|
|
67
86
|
### Composables 单独使用
|
|
68
87
|
|
|
69
88
|
```typescript
|
|
@@ -754,3 +773,57 @@ loading.finish(id)
|
|
|
754
773
|
CRUD 控制器只需满足结构契约;`@robot-admin/request-core` 0.6.3 起可直接接收组件列,无需应用内列转换器。组件库与请求包保持独立依赖关系。
|
|
755
774
|
|
|
756
775
|
明确业务模型启用动态增行时,提供已有 `dynamicRows.defaultRowData` 工厂返回完整记录和合法唯一主键;`false` 仍可直接关闭。工厂主键不会被组件改成字符串。复制使用字符串主键时保留原业务字段、从工厂取得新主键;函数主键场景由工厂接收可选原行副本并返回完整新记录。缺失、重复或无效主键会反馈失败并保持原数据。宽松动态记录继续支持原有空行简写。
|
|
776
|
+
|
|
777
|
+
## 面包屑与目录导航
|
|
778
|
+
|
|
779
|
+
`C_Breadcrumb` 默认根据当前路由生成路径;父级点击展开目录,末项标识当前页。可选 `menus` 直接接收宿主已授权的菜单(`path/key`、`label/meta.title`、`children`),无需转换成 Naive UI 菜单选项。
|
|
780
|
+
|
|
781
|
+
```vue
|
|
782
|
+
<C_Breadcrumb
|
|
783
|
+
:menus="permissionStore.showMenuListGet"
|
|
784
|
+
:label-formatter="translateRouteTitle"
|
|
785
|
+
:show-icon="settingsStore.showBreadcrumbIcon"
|
|
786
|
+
@select="navigateTo"
|
|
787
|
+
/>
|
|
788
|
+
```
|
|
789
|
+
|
|
790
|
+
组件只发出 `select(path)`,不执行路由跳转或权限请求。传入 `menus`(包括空数组)后,目录仅使用这份数据;隐藏项、无标题占位和不可直接跳转的动态参数叶页不进入快捷导航。隐藏详情页仍保留当前路径,显式 `meta.breadcrumb: false` 可隐藏对应层级。未传 `menus` 时继续使用路由子项;原生路由表并非权限边界,业务项目应传入与侧栏同源的授权菜单。
|
|
791
|
+
|
|
792
|
+
已有 `items` 手动路径继续优先,标签沿用传入值并接受只读嵌套数据,`disabled` 对目录整支生效。完整路径在窄容器中自动收拢,保留当前页;目录支持方向键、Home/End、Enter/Space 和 Escape。颜色跟随 Naive 主题,浮层中的通用文案使用既有组件国际化服务。组件不保存菜单快照、不读取应用 Store,也不改写传入数据。
|
|
793
|
+
|
|
794
|
+
## 状态一致性与资源边界(0.21)
|
|
795
|
+
|
|
796
|
+
- 表单 `action` / `action-extra` 插槽直接提供当前业务模型,字段名 `value` 没有特殊含义。
|
|
797
|
+
- 搜索折叠仅隐藏字段,字段保持挂载及校验;失败自动展开。`show: false` 才移除该字段的渲染与校验注册。大型自定义控件会在折叠状态初始化,应按业务配置实际需要的字段。
|
|
798
|
+
- 表格全部展开在换数据或卸载后失效;子表禁选、父级数量上限、strict 联动与选择事件保持同一约束。
|
|
799
|
+
- Menu 的路由模式事件仍为字符串路径;原生 `options` 支持字符串和数字 key,`0` 有效,`1` 与 `'1'` 不合并。
|
|
800
|
+
- Chat 按会话保留草稿,发送后清空当前草稿;移除联系人清理旧草稿,最多缓存最近 50 个非空会话。
|
|
801
|
+
- ER 的节点拖动与 Workflow 的拖动、连接、删除会同步外部快照;父级回填不再次触发用户变更事件。
|
|
802
|
+
- Login 的人机验证门禁适用于密码模式;短信模式使用自己的字段规则及验证码提交事件。
|
|
803
|
+
|
|
804
|
+
### 上传、文档和长列表
|
|
805
|
+
|
|
806
|
+
`C_Upload.concurrency` 统一限制普通上传与分片上传请求。取消、移除和卸载会停止后续哈希读取并释放排队任务;已经开始的单次 Blob 读取完成后不再处理结果。业务自行提供的校验、合并回调仍由业务负责其网络生命周期。
|
|
807
|
+
|
|
808
|
+
Excel 保留原始值、单元格类型和工作簿格式,不把文本编号转换为数值,也不自行舍入小数。工作表数据在首次打开时展开,默认文件预算 32 MiB、每表 100000 格;超限明确提示下载原文件,不静默截断。可使用一个配置调整预算:
|
|
809
|
+
|
|
810
|
+
```vue
|
|
811
|
+
<C_FilePreview
|
|
812
|
+
:file="file"
|
|
813
|
+
:preview-limits="{ maxBytes: 64 * 1024 * 1024, maxCells: 200000 }"
|
|
814
|
+
/>
|
|
815
|
+
```
|
|
816
|
+
|
|
817
|
+
预算必须是有限安全正整数;这是预览资源限制,不是压缩文件解压后内存的绝对保证。
|
|
818
|
+
|
|
819
|
+
WaterFall 会在哨兵持续可见时继续补页,每轮最多自动请求 5 页,避免空响应循环。达到上限后可点击“继续加载”;自定义 `footer` 插槽获得 `paused` 和 `loadMore`。使用侧继续维护 `loading` 和 `noMore`。
|
|
820
|
+
|
|
821
|
+
Draggable 默认只在自身排序。需要跨列表拖动时,在相关实例上显式设置相同 `group`;此前依赖隐式 `default` 分组的页面应补上该属性。
|
|
822
|
+
|
|
823
|
+
### 视频协议与通知预览
|
|
824
|
+
|
|
825
|
+
视频默认支持 MP4/HLS。DASH/FLV 需要通过 `sourceAdapters` 提供按需加载、兼容 xgplayer 接口的播放器构造器;缺少适配器会进入错误状态并发出 `error`,不再尝试当作普通 MP4 播放。协议 SDK 的依赖与授权由使用该协议的项目管理。
|
|
826
|
+
|
|
827
|
+
`C_NotificationCenter.categoryOptions` 只定制已有 `all/system/business/alarm` 分类的标签和顺序,不扩展消息领域协议。`filters` 插槽提供 `{ controller }`,`item` / `item-actions` 提供 `{ message, index, busy, select, read, remove }`,可组合独立筛选和业务操作。异步操作应沿用提供的回调以保留 busy/错误处理。
|
|
828
|
+
|
|
829
|
+
审批命令、租户、权限和后端协议由宿主管理。Robot_Admin 的企业消息使用领域 Store 与自己的通知铃铛;本包提供可复用的通知展示与交互,二者的能力边界不同。
|
package/package.json
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
"publishConfig": {
|
|
4
4
|
"access": "public"
|
|
5
5
|
},
|
|
6
|
-
"version": "0.
|
|
6
|
+
"version": "0.21.0",
|
|
7
7
|
"description": "基于 Naive UI 的 Vue 3 组件库",
|
|
8
8
|
"packageManager": "bun@1.3.14",
|
|
9
9
|
"engines": {
|
|
@@ -25,6 +25,16 @@
|
|
|
25
25
|
"default": "./dist/index.cjs"
|
|
26
26
|
}
|
|
27
27
|
},
|
|
28
|
+
"./config": {
|
|
29
|
+
"import": {
|
|
30
|
+
"types": "./dist/config.d.ts",
|
|
31
|
+
"default": "./dist/config.js"
|
|
32
|
+
},
|
|
33
|
+
"require": {
|
|
34
|
+
"types": "./dist/config.d.cts",
|
|
35
|
+
"default": "./dist/config.cjs"
|
|
36
|
+
}
|
|
37
|
+
},
|
|
28
38
|
"./style.css": "./dist/style.css",
|
|
29
39
|
"./resolver": {
|
|
30
40
|
"import": {
|
|
@@ -96,7 +106,7 @@
|
|
|
96
106
|
"check:dist": "node scripts/check-dist-entries.js",
|
|
97
107
|
"check:size": "node scripts/check-size-budget.js",
|
|
98
108
|
"check:consumer-size": "node scripts/check-consumer-size.js",
|
|
99
|
-
"check:audit": "
|
|
109
|
+
"check:audit": "node scripts/check-dependency-security.js",
|
|
100
110
|
"check:package": "node scripts/check-package-contract.js",
|
|
101
111
|
"check:quality": "node scripts/check-source-quality.js",
|
|
102
112
|
"check:consumer-types": "vue-tsc --noEmit -p tests/consumer/tsconfig.json",
|
|
@@ -115,12 +125,13 @@
|
|
|
115
125
|
"commitlint": "commitlint",
|
|
116
126
|
"format": "prettier --write src/",
|
|
117
127
|
"test:components": "vitest run --config vitest.config.ts",
|
|
118
|
-
"type-check:components": "vue-tsc --noEmit -p tests/components/tsconfig.json"
|
|
128
|
+
"type-check:components": "vue-tsc --noEmit -p tests/components/tsconfig.json",
|
|
129
|
+
"check:audit:raw": "bun audit --json"
|
|
119
130
|
},
|
|
120
131
|
"peerDependencies": {
|
|
121
|
-
"vue": "^3.5.
|
|
132
|
+
"vue": "^3.5.3",
|
|
122
133
|
"naive-ui": "^2.35.0",
|
|
123
|
-
"vue-router": "^4.6.4",
|
|
134
|
+
"vue-router": "^4.6.4 || ^5.3.1",
|
|
124
135
|
"sortablejs": "^1.15.7"
|
|
125
136
|
},
|
|
126
137
|
"peerDependenciesMeta": {
|
|
@@ -150,7 +161,7 @@
|
|
|
150
161
|
"@wangeditor-next/editor": "6.2.0",
|
|
151
162
|
"@wangeditor-next/editor-for-vue": "6.2.0",
|
|
152
163
|
"altcha": "3.2.2",
|
|
153
|
-
"dompurify": "^3.4.
|
|
164
|
+
"dompurify": "^3.4.17",
|
|
154
165
|
"driver.js": "^1.8.0",
|
|
155
166
|
"highlight.js": "^11.12.0",
|
|
156
167
|
"html2canvas": "^1.4.1",
|
|
@@ -209,10 +220,12 @@
|
|
|
209
220
|
"unocss": "66.10.5",
|
|
210
221
|
"unplugin-vue": "^7.2.0",
|
|
211
222
|
"unplugin-vue-components": "^31.1.0",
|
|
212
|
-
"vite": "
|
|
213
|
-
"vitest": "
|
|
223
|
+
"vite": "8.2.4",
|
|
224
|
+
"vitest": "4.1.12",
|
|
214
225
|
"vue": "^3.5.42",
|
|
215
|
-
"vue-tsc": "^3.3.11"
|
|
226
|
+
"vue-tsc": "^3.3.11",
|
|
227
|
+
"vue-router": "^5.3.1",
|
|
228
|
+
"sortablejs": "1.15.7"
|
|
216
229
|
},
|
|
217
230
|
"overrides": {
|
|
218
231
|
"@xmldom/xmldom": "0.8.15",
|
|
@@ -224,7 +237,8 @@
|
|
|
224
237
|
"minimist": "1.2.8",
|
|
225
238
|
"protocol-buffers-schema": "3.6.1",
|
|
226
239
|
"tmp": "0.2.7",
|
|
227
|
-
"yaml": "2.9.0"
|
|
240
|
+
"yaml": "2.9.0",
|
|
241
|
+
"markdown-it": "14.3.3"
|
|
228
242
|
},
|
|
229
243
|
"config": {
|
|
230
244
|
"commitizen": {
|
|
@@ -243,5 +257,8 @@
|
|
|
243
257
|
"*.{json,md,yml,yaml}": [
|
|
244
258
|
"prettier --write"
|
|
245
259
|
]
|
|
260
|
+
},
|
|
261
|
+
"patchedDependencies": {
|
|
262
|
+
"braces@3.0.3": "patches/braces@3.0.3.patch"
|
|
246
263
|
}
|
|
247
264
|
}
|
package/dist/context.cjs
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
const e=Symbol(`robot-component-feedback`),t=Symbol(`robot-component-locale`);Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return t}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return e}});
|
package/dist/context.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
const e=Symbol(`robot-component-feedback`),t=Symbol(`robot-component-locale`);export{t as n,e as t};
|