djm-ui 0.67.4 → 0.72.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.
Files changed (39) hide show
  1. package/CHANGELOG.md +103 -0
  2. package/README.md +38 -2
  3. package/dist/djm-ui.cjs +1032 -347
  4. package/dist/djm-ui.cjs.map +4 -4
  5. package/dist/djm-ui.css +752 -17
  6. package/dist/djm-ui.esm.js +1105 -420
  7. package/dist/djm-ui.esm.js.map +4 -4
  8. package/dist/djm-ui.esm.min.js +373 -227
  9. package/dist/djm-ui.min.cjs +373 -227
  10. package/dist/djm-ui.min.css +2 -2
  11. package/dist/djm-ui.umd.js +944 -259
  12. package/dist/djm-ui.umd.min.js +373 -227
  13. package/dist/mcp/manifest.json +12195 -0
  14. package/dist/mcp/server.js +90 -0
  15. package/package.json +12 -4
  16. package/src/components/icon/index.js +13 -1
  17. package/src/components/rich-editor/index.js +724 -61
  18. package/src/index.js +1 -1
  19. package/src/locale/en-US.js +33 -1
  20. package/src/locale/zh-CN.js +33 -1
  21. package/src/styles/base.css +2 -3
  22. package/src/styles/components/button.css +2 -1
  23. package/src/styles/components/console.css +5 -0
  24. package/src/styles/components/content.css +517 -0
  25. package/src/styles/components/form.css +5 -0
  26. package/src/styles/components/layout.css +326 -0
  27. package/src/styles/components/media-picker.css +3 -3
  28. package/src/styles/components/menu.css +2 -1
  29. package/src/styles/components/org-picker.css +1 -1
  30. package/src/styles/components/responsive.css +86 -0
  31. package/src/styles/components/rich-editor.css +206 -7
  32. package/src/styles/components/skin.css +54 -0
  33. package/src/styles/components/template.css +5 -0
  34. package/src/styles/index.css +1 -0
  35. package/src/styles/theme-dark.css +2 -0
  36. package/src/styles/tokens.css +8 -0
  37. package/src/theme/index.js +40 -0
  38. package/src/utils/sanitize-html.js +44 -6
  39. package/types/index.d.ts +8 -0
package/CHANGELOG.md CHANGED
@@ -1,5 +1,108 @@
1
1
  # 更新日志
2
2
 
3
+ ## 0.72.0
4
+
5
+ 组件库接入 AI 助手(MCP):
6
+
7
+ - 新增 MCP 服务 `djm-ui-mcp`:AI 助手可直接查询组件清单、props、事件、插槽、示例与 DSL
8
+ - 提供 8 个工具:组件清单、组件文档、属性表、关键词搜索、使用示例、组件 DSL、安装接入、版本信息
9
+ - manifest 由文档页在构建时生成,随包版本发布,避免文档和代码脱节
10
+ - 新增 `npm run build:mcp` / `check:mcp` / `test:mcp`,`npm test` 增加 MCP 数据校验
11
+ - 文档站新增「AI 助手 · MCP」页,含 Cursor / Trae / Claude Code 配置示例;快速开始补第 9 节
12
+ - README 与文档里的 CDN 示例版本号同步到当前版本
13
+
14
+ ## 0.71.3
15
+
16
+ - 双列菜单模式下 logo 在 104px 一级列内居中,和下方菜单图标对齐;窄屏退回单列时恢复左对齐与品牌文字
17
+
18
+ ## 0.71.2
19
+
20
+ - 预设「深蓝侧栏」更名为「深色侧栏」,不再和可自定义的主题色冲突
21
+ - 深色侧栏 / 暗色主题下,侧栏选中态按当前主色推导底色与文字:青碧、紫罗兰、朱砂红、墨绿各呈现本色调,不再统一压成近黑
22
+ - 选中底色按色相自动下压明度,五种预设主色实测对比度均在 4.6:1 以上
23
+
24
+ ## 0.71.1
25
+
26
+ - 双列菜单收窄:侧栏由 344px 调到 296px,二级列 192px,内容区多出 48px;超长菜单名截断时 hover 可看全称
27
+
28
+ ## 0.71.0
29
+
30
+ 应用外壳支持主题组合与多种导航形态:
31
+
32
+ - 皮肤面板新增「主题预设」:经典浅色、深海夜色、深蓝侧栏、混合导航、顶部通栏、双列菜单,一键切换
33
+ - 侧栏配色与全局明暗解耦,可选跟随 / 浅色 / 深色 / 品牌色,实现「左深右浅」「左浅右深」;侧栏色阶按当前主色推导,换主色同步变化
34
+ - 新增混合导航:顶部通栏放一级菜单,左侧只放当前一级的二级菜单
35
+ - 新增双列菜单:左侧一级一列、二级一列,三层菜单用分组标题展示;平板宽度自动退回单列
36
+ - 顶部通栏收紧一级菜单内边距,8 个分组不再被省略号截断
37
+ - 皮肤面板补键盘焦点样式;各组合在浅色 / 深色下 axe 扫描均 0 违规
38
+
39
+ ## 0.70.2
40
+
41
+ 全局体检一轮,修掉几处隐藏的样式与无障碍问题:
42
+
43
+ - 补上 `--djm-tooltip-bg` 令牌。此前变量名写了但没定义,Tooltip 背景是透明的,白字直接浮在页面上;暗色主题单独给一个略亮的灰
44
+ - 新增 `--djm-font-sans` / `--djm-font-mono` 令牌,宿主页面改这两个变量就能换字体
45
+ - 文字按钮改用品牌深色档,批量操作条的「全选 / 取消」在暗色底上恢复 4.5:1
46
+ - 菜单角标底色改用 `--djm-red-strong`,暗色下白字不再发虚
47
+ - 数据字典选中项的编码文字跟随标题变深;登录分栏模板暗色改为深蓝渐变,白字可读
48
+ - 去掉不存在的 `--djm-radius-md`、`--djm-brand-400`,统一使用 `--djm-radius` 与 `--djm-brand-500`
49
+ - 143 个路由浅色 / 暗色 axe 扫描 0 违规,142 项组件单测通过,390 宽无横向溢出
50
+
51
+ ## 0.70.1
52
+
53
+ - 参数设置页「版权信息」默认值由「东吴科技」改为「多聚米科技」,「恢复默认」也同步生效
54
+
55
+ ## 0.70.0
56
+
57
+ 示例覆盖面与新编辑器能力:
58
+
59
+ - 富文本工具栏拆出「插入单图」「插入多图」两个按钮,`multiple` 关闭时多图按钮自动隐藏
60
+ - 新增 `media` 属性与「从素材库选择」:复用媒体库选择器(搜索、分页、多选),选中后按顺序插到光标处,地址同样校验协议
61
+ - 新增示例页「文件管理器」:目录切换、搜索、全选、上传、重命名、下载、删除与图片预览
62
+ - 新增示例页「图片相册」:相册分类、多选、上传、批量删除、大图预览与上一张 / 下一张
63
+ - 应用菜单加「内容管理」分组,文档站「示例应用」补两个入口;相册素材使用本地 SVG,离线也能正常显示
64
+ - 新增 1 项编辑器单测(单图 / 多图按钮与素材库插入),浏览器单测 142 项全部通过
65
+
66
+ ## 0.69.0
67
+
68
+ 富文本编辑器补上可配置工具条,并做了一轮安全加固:
69
+
70
+ - 新增 `toolbar` 预设:`simple` / `basic` / `full`,也可传分组数组(history / format / inline / color / align / list / insert / view)自行组合
71
+ - 文档站提供三档在线示例,并补充工具条配置与安全说明
72
+ - 输出默认开启白名单清洗(`sanitize` 默认 true),内容完全可信时可显式关闭
73
+ - 链接只允许 http(s) / mailto / tel / 站内相对地址;上传接口返回的地址校验协议,拒绝 `javascript:` 等
74
+ - 图片与链接改用 DOM 节点插入,文件名、地址不再拼进 HTML 字符串,避免属性注入
75
+ - `sanitizeHtml` 协议改为白名单(http/https/mailto/tel,图片额外放行 data:image / blob),样式仍按排版白名单过滤
76
+ - 新增 5 项编辑器单测:工具条预设、默认清洗、上传地址校验、文件名注入,浏览器单测 141 项全部通过
77
+
78
+ ## 0.68.1
79
+
80
+ - 「局部刷新分页 1」页按 DWZ 习惯补上表格工具栏:添加检测、编辑、删除、导出放在表格上方,勾选行后才能操作
81
+ - 表格增加勾选列与选中高亮,新增单行编辑弹窗(改用检测医生 / 结果 / 状态);删除分单条与批量确认
82
+ - 导出当前筛选结果为 CSV(带 BOM,Excel 直接打开不乱码),切换检测类型、查询、翻页都会清空选择
83
+
84
+ ## 0.68.0
85
+
86
+ 富文本编辑器升级为完整版,对齐主流编辑器的基础能力:
87
+
88
+ - 工具条补齐段落格式(标题 1–3 / 引用 / 代码块)、字号、文字颜色与背景色、四种对齐、有序 / 无序列表与缩进、行内代码、链接 / 取消链接、分割线、清除格式
89
+ - 图片上传:支持单图与多图,可点击选择、粘贴、拖拽进来;`uploadImage` 接自己的上传接口,不传则转 dataURL 本地预览;带类型与体积校验,失败通过 `upload-error` 抛出
90
+ - 新增全屏编辑、字数统计与上传中占位;工具栏宽屏一行、窄屏自动换行
91
+ - `sanitizeHtml` 增加内联样式白名单(颜色 / 字号 / 对齐 / 缩进等),其余样式、脚本与事件属性仍会被过滤
92
+ - 图标库补充 undo / redo / 对齐 / 列表 / 缩进 / 取消链接
93
+
94
+ ## 0.67.6
95
+
96
+ - 文档站侧栏改成菜单自己吸顶:品牌行跟菜单一起滚走,不再固定;分组标题(指南 / 基础 / 表单…)滚动时贴在顶部
97
+ - 主题切换由整行按钮收成品牌行右侧 26×26 图标按钮,侧栏顶部占高从 111px 降到 50px,一屏能看到更多菜单
98
+ - 视觉回归脚本支持 `--only=docs`,改局部时只截相关页面,不必整站截图
99
+
100
+ ## 0.67.5
101
+
102
+ - 用户管理页按 DWZ 的习惯重排操作:把「添加 / 编辑 / 重置密码 / 删除」收进表格上方工具栏,勾选行后才能点,删除按钮显示选中数量
103
+ - 去掉行内操作与整列「操作」,表格多出一列宽度,操作入口只保留工具栏一处;导出仍在工具栏右侧
104
+ - 单行选中时删除走单条确认文案,多选才是批量删除;窄屏隐藏工具栏提示,避免多占一行
105
+
3
106
  ## 0.67.4
4
107
 
5
108
  - 自动填充清理加严:挂载后按 200 / 600 / 1200 / 2400ms 多次校验,输入框聚焦时再清一次,晚到的自动填充也能清干净
package/README.md CHANGED
@@ -65,9 +65,9 @@ import DjmCol from 'djm-ui/components/grid/col'
65
65
  UMD 产物复用全局 Vue,不会重复打包 Vue。Vue 必须先加载:
66
66
 
67
67
  ```html
68
- <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/djm-ui@0.67.4/dist/djm-ui.min.css" />
68
+ <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/djm-ui@0.72.0/dist/djm-ui.min.css" />
69
69
  <script src="https://cdn.jsdelivr.net/npm/vue@3/dist/vue.global.prod.js"></script>
70
- <script src="https://cdn.jsdelivr.net/npm/djm-ui@0.67.4/dist/djm-ui.umd.min.js"></script>
70
+ <script src="https://cdn.jsdelivr.net/npm/djm-ui@0.72.0/dist/djm-ui.umd.min.js"></script>
71
71
 
72
72
  <script>
73
73
  Vue.createApp({
@@ -106,6 +106,42 @@ setPrimaryColor('#12855a') // 自定义主色,自动推导整套色阶
106
106
  resetPrimaryColor() // 回到默认蓝
107
107
  ```
108
108
 
109
+ ## 外观与导航
110
+
111
+ 示例应用右上角「皮肤」面板可以自由组合,选择写入 localStorage,刷新后保留:
112
+
113
+ | 项目 | 可选值 |
114
+ |---|---|
115
+ | 主题预设 | 经典浅色 / 深海夜色 / 深色侧栏 / 混合导航 / 顶部通栏 / 双列菜单 |
116
+ | 导航布局 | 侧边、顶部通栏、混合(顶部一级 + 侧栏二级) |
117
+ | 侧栏配色 | 跟随主题、浅色、深色、品牌色,可与全局明暗相反(左深右浅 / 左浅右深) |
118
+ | 菜单样式 | 单列内嵌、双列(一级一列、二级一列,三层菜单用分组标题展示) |
119
+
120
+ 侧栏单独配色时会按当前主色重新推导一套色阶,换主色侧栏同步变化。空间不够时自动降级:≤1320px 混合布局收起顶部一级菜单改抽屉,≤1100px 双列菜单退回单列,≤960px 统一变成抽屉。
121
+
122
+ ## AI 助手(MCP)
123
+
124
+ 组件库内置 MCP(Model Context Protocol)服务,AI 编程助手可以在写页面前查询当前版本的组件清单、props、事件、插槽、示例与 DSL:
125
+
126
+ ```bash
127
+ npm i -D djm-ui
128
+ npx djm-ui-mcp
129
+ ```
130
+
131
+ 在 Cursor / Trae / Claude Code 的 MCP 配置里加入:
132
+
133
+ ```json
134
+ {
135
+ "mcpServers": {
136
+ "djm-ui": { "command": "npx", "args": ["djm-ui-mcp"] }
137
+ }
138
+ }
139
+ ```
140
+
141
+ 提供 8 个工具:`get_component_list`、`get_component_doc`、`get_component_props`、`search_components`、`get_component_examples`、`get_component_dsl`、`get_installation_guide`、`get_library_info`。
142
+
143
+ manifest 在每次构建时由文档页生成,随包版本发布;`npm test` 校验数据完整性,`npm run test:mcp` 校验 stdio 服务与工具调用。
144
+
109
145
  ## 国际化
110
146
 
111
147
  ```js