djm-ui 0.67.3 → 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 (40) hide show
  1. package/CHANGELOG.md +108 -0
  2. package/README.md +38 -2
  3. package/dist/djm-ui.cjs +1051 -356
  4. package/dist/djm-ui.cjs.map +4 -4
  5. package/dist/djm-ui.css +752 -17
  6. package/dist/djm-ui.esm.js +1127 -432
  7. package/dist/djm-ui.esm.js.map +4 -4
  8. package/dist/djm-ui.esm.min.js +375 -229
  9. package/dist/djm-ui.min.cjs +375 -229
  10. package/dist/djm-ui.min.css +2 -2
  11. package/dist/djm-ui.umd.js +967 -272
  12. package/dist/djm-ui.umd.min.js +375 -229
  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/input/index.js +17 -6
  18. package/src/components/rich-editor/index.js +724 -61
  19. package/src/index.js +1 -1
  20. package/src/locale/en-US.js +33 -1
  21. package/src/locale/zh-CN.js +33 -1
  22. package/src/styles/base.css +2 -3
  23. package/src/styles/components/button.css +2 -1
  24. package/src/styles/components/console.css +5 -0
  25. package/src/styles/components/content.css +517 -0
  26. package/src/styles/components/form.css +5 -0
  27. package/src/styles/components/layout.css +327 -1
  28. package/src/styles/components/media-picker.css +3 -3
  29. package/src/styles/components/menu.css +2 -1
  30. package/src/styles/components/org-picker.css +1 -1
  31. package/src/styles/components/responsive.css +86 -0
  32. package/src/styles/components/rich-editor.css +206 -7
  33. package/src/styles/components/skin.css +54 -0
  34. package/src/styles/components/template.css +5 -0
  35. package/src/styles/index.css +1 -0
  36. package/src/styles/theme-dark.css +2 -0
  37. package/src/styles/tokens.css +8 -0
  38. package/src/theme/index.js +40 -0
  39. package/src/utils/sanitize-html.js +44 -6
  40. package/types/index.d.ts +8 -0
package/src/index.js CHANGED
@@ -345,7 +345,7 @@ const components = [
345
345
  DjmPageTabs
346
346
  ]
347
347
 
348
- export const version = '0.67.3'
348
+ export const version = '0.72.0'
349
349
 
350
350
  export function install (app, options = {}) {
351
351
  if (options.locale) setLocale(options.locale)
@@ -128,7 +128,6 @@ export default {
128
128
  'richEditor.italic': 'Italic',
129
129
  'richEditor.underline': 'Underline',
130
130
  'richEditor.strike': 'Strikethrough',
131
- 'richEditor.heading': 'Heading 2',
132
131
  'richEditor.paragraph': 'Paragraph',
133
132
  'richEditor.bulletList': 'Bullet list',
134
133
  'richEditor.numberList': 'Numbered list',
@@ -139,6 +138,39 @@ export default {
139
138
  'richEditor.redo': 'Redo',
140
139
  'richEditor.source': 'Source',
141
140
  'richEditor.visual': 'Visual',
141
+ 'richEditor.toolbar': 'Formatting toolbar',
142
+ 'richEditor.block': 'Paragraph style',
143
+ 'richEditor.heading1': 'Heading 1',
144
+ 'richEditor.heading2': 'Heading 2',
145
+ 'richEditor.heading3': 'Heading 3',
146
+ 'richEditor.quote': 'Quote',
147
+ 'richEditor.codeBlock': 'Code block',
148
+ 'richEditor.fontSize': 'Font size',
149
+ 'richEditor.defaultSize': 'Default',
150
+ 'richEditor.inlineCode': 'Inline code',
151
+ 'richEditor.textColor': 'Text color',
152
+ 'richEditor.bgColor': 'Background color',
153
+ 'richEditor.alignLeft': 'Align left',
154
+ 'richEditor.alignCenter': 'Align center',
155
+ 'richEditor.alignRight': 'Align right',
156
+ 'richEditor.alignJustify': 'Justify',
157
+ 'richEditor.outdent': 'Decrease indent',
158
+ 'richEditor.indent': 'Increase indent',
159
+ 'richEditor.unlink': 'Remove link',
160
+ 'richEditor.image': 'Insert image',
161
+ 'richEditor.singleImage': 'Insert single image',
162
+ 'richEditor.multiImage': 'Insert multiple images',
163
+ 'richEditor.mediaLibrary': 'Choose from media library',
164
+ 'richEditor.hr': 'Divider',
165
+ 'richEditor.fullscreen': 'Fullscreen',
166
+ 'richEditor.exitFullscreen': 'Exit fullscreen',
167
+ 'richEditor.wordCount': '{count} characters',
168
+ 'richEditor.uploading': 'Uploading {count} image(s)…',
169
+ 'richEditor.uploadFailed': 'Image upload failed',
170
+ 'richEditor.imageTypeError': 'Only image files are allowed',
171
+ 'richEditor.imageSizeError': 'Image must be smaller than {size}MB',
172
+ 'richEditor.imageUrlInvalid': 'Invalid image URL, insertion rejected',
173
+ 'richEditor.linkInvalid': 'Only http(s), mailto, tel or relative URLs are allowed',
142
174
 
143
175
  'approval.start': 'Started',
144
176
  'approval.cc': 'CC',
@@ -128,7 +128,6 @@ export default {
128
128
  'richEditor.italic': '斜体',
129
129
  'richEditor.underline': '下划线',
130
130
  'richEditor.strike': '删除线',
131
- 'richEditor.heading': '二级标题',
132
131
  'richEditor.paragraph': '正文',
133
132
  'richEditor.bulletList': '无序列表',
134
133
  'richEditor.numberList': '有序列表',
@@ -139,6 +138,39 @@ export default {
139
138
  'richEditor.redo': '重做',
140
139
  'richEditor.source': '源码',
141
140
  'richEditor.visual': '可视化',
141
+ 'richEditor.toolbar': '编辑工具栏',
142
+ 'richEditor.block': '段落格式',
143
+ 'richEditor.heading1': '标题 1',
144
+ 'richEditor.heading2': '标题 2',
145
+ 'richEditor.heading3': '标题 3',
146
+ 'richEditor.quote': '引用',
147
+ 'richEditor.codeBlock': '代码块',
148
+ 'richEditor.fontSize': '字号',
149
+ 'richEditor.defaultSize': '默认',
150
+ 'richEditor.inlineCode': '行内代码',
151
+ 'richEditor.textColor': '文字颜色',
152
+ 'richEditor.bgColor': '背景色',
153
+ 'richEditor.alignLeft': '左对齐',
154
+ 'richEditor.alignCenter': '居中',
155
+ 'richEditor.alignRight': '右对齐',
156
+ 'richEditor.alignJustify': '两端对齐',
157
+ 'richEditor.outdent': '减少缩进',
158
+ 'richEditor.indent': '增加缩进',
159
+ 'richEditor.unlink': '取消链接',
160
+ 'richEditor.image': '插入图片',
161
+ 'richEditor.singleImage': '插入单图',
162
+ 'richEditor.multiImage': '插入多图',
163
+ 'richEditor.mediaLibrary': '从素材库选择',
164
+ 'richEditor.hr': '分割线',
165
+ 'richEditor.fullscreen': '全屏',
166
+ 'richEditor.exitFullscreen': '退出全屏',
167
+ 'richEditor.wordCount': '共 {count} 字',
168
+ 'richEditor.uploading': '正在上传 {count} 张图片…',
169
+ 'richEditor.uploadFailed': '图片上传失败',
170
+ 'richEditor.imageTypeError': '只能上传图片文件',
171
+ 'richEditor.imageSizeError': '图片不能超过 {size}MB',
172
+ 'richEditor.imageUrlInvalid': '图片地址不合法,已拒绝插入',
173
+ 'richEditor.linkInvalid': '链接只支持 http(s)、mailto、tel 或站内相对地址',
142
174
 
143
175
  'approval.start': '发起',
144
176
  'approval.cc': '抄送',
@@ -13,8 +13,7 @@ body {
13
13
  body {
14
14
  background: var(--djm-bg);
15
15
  color: var(--djm-text);
16
- font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC",
17
- "Hiragino Sans GB", "Microsoft YaHei", sans-serif;
16
+ font-family: var(--djm-font-sans);
18
17
  font-size: 13px;
19
18
  line-height: 1.5;
20
19
  -webkit-font-smoothing: antialiased;
@@ -95,7 +94,7 @@ a {
95
94
  }
96
95
 
97
96
  .djm-mono {
98
- font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
97
+ font-family: var(--djm-font-mono);
99
98
  font-size: 11.5px;
100
99
  font-variant-numeric: tabular-nums;
101
100
  }
@@ -141,7 +141,8 @@
141
141
  background: none;
142
142
  padding: 0;
143
143
  font-size: 12px;
144
- color: var(--djm-brand-600);
144
+ /* 品牌深色档:浅色底与暗色底都能过 4.5:1 */
145
+ color: var(--djm-brand-700);
145
146
  white-space: nowrap;
146
147
  }
147
148
 
@@ -204,6 +204,11 @@
204
204
  font-weight: 600;
205
205
  }
206
206
 
207
+ .djm-dict-item.djm-is-active .djm-dict-key {
208
+ /* 选中底色是浅蓝,灰字对比不够,跟着标题一起换成品牌深色 */
209
+ color: var(--djm-brand-700);
210
+ }
211
+
207
212
  .djm-dict-item.djm-is-active .djm-dict-count {
208
213
  border: 1px solid var(--djm-brand-200);
209
214
  background: var(--djm-surface);
@@ -0,0 +1,517 @@
1
+ /* DJM UI · 内容管理:文件管理器 / 图片相册 */
2
+
3
+ /* ---------------- 文件管理器 ---------------- */
4
+
5
+ .djm-fm {
6
+ display: grid;
7
+ grid-template-columns: 208px minmax(0, 1fr);
8
+ border: 1px solid var(--djm-border);
9
+ border-radius: var(--djm-radius-lg);
10
+ overflow: hidden;
11
+ background: var(--djm-surface);
12
+ }
13
+
14
+ .djm-fm-side {
15
+ display: flex;
16
+ flex-direction: column;
17
+ gap: 2px;
18
+ padding: 10px;
19
+ border-right: 1px solid var(--djm-border);
20
+ background: var(--djm-surface-2);
21
+ }
22
+
23
+ .djm-fm-side-title {
24
+ padding: 4px 8px 8px;
25
+ color: var(--djm-text-3);
26
+ font-size: 10.5px;
27
+ letter-spacing: 0.5px;
28
+ }
29
+
30
+ .djm-fm-folder {
31
+ display: flex;
32
+ align-items: center;
33
+ gap: 8px;
34
+ height: 32px;
35
+ padding: 0 8px;
36
+ border: 0;
37
+ border-radius: 4px;
38
+ background: none;
39
+ color: var(--djm-text-2);
40
+ font-size: 12.5px;
41
+ text-align: left;
42
+ cursor: pointer;
43
+ }
44
+
45
+ .djm-fm-folder:hover {
46
+ background: var(--djm-brand-soft);
47
+ color: var(--djm-brand-700);
48
+ }
49
+
50
+ .djm-fm-folder.djm-is-active {
51
+ background: var(--djm-brand-50);
52
+ color: var(--djm-brand-700);
53
+ font-weight: 600;
54
+ }
55
+
56
+ .djm-fm-folder-count {
57
+ margin-left: auto;
58
+ color: var(--djm-text-3);
59
+ font-size: 10.5px;
60
+ }
61
+
62
+ .djm-fm-storage {
63
+ margin-top: auto;
64
+ padding: 12px 8px 4px;
65
+ border-top: 1px solid var(--djm-border);
66
+ color: var(--djm-text-3);
67
+ font-size: 11px;
68
+ }
69
+
70
+ .djm-fm-storage-head {
71
+ display: flex;
72
+ justify-content: space-between;
73
+ gap: 6px;
74
+ margin-bottom: 6px;
75
+ color: var(--djm-text-2);
76
+ }
77
+
78
+ .djm-fm-bar {
79
+ height: 5px;
80
+ overflow: hidden;
81
+ border-radius: 3px;
82
+ background: var(--djm-surface-3);
83
+ }
84
+
85
+ .djm-fm-bar i {
86
+ display: block;
87
+ height: 100%;
88
+ background: linear-gradient(90deg, var(--djm-brand-500), var(--djm-brand-600));
89
+ }
90
+
91
+ .djm-fm-storage p {
92
+ margin: 8px 0 0;
93
+ line-height: 1.6;
94
+ }
95
+
96
+ .djm-fm-main {
97
+ display: flex;
98
+ flex-direction: column;
99
+ min-width: 0;
100
+ }
101
+
102
+ .djm-fm-path {
103
+ display: flex;
104
+ align-items: center;
105
+ justify-content: space-between;
106
+ gap: 10px;
107
+ padding: 8px 14px;
108
+ border-bottom: 1px solid var(--djm-border);
109
+ background: var(--djm-surface-2);
110
+ }
111
+
112
+ .djm-fm-crumb {
113
+ display: flex;
114
+ align-items: center;
115
+ gap: 6px;
116
+ color: var(--djm-text);
117
+ font-size: 12.5px;
118
+ font-weight: 600;
119
+ }
120
+
121
+ .djm-fm-crumb em {
122
+ color: var(--djm-text-3);
123
+ font-size: 11px;
124
+ font-style: normal;
125
+ font-weight: 400;
126
+ }
127
+
128
+ .djm-fm-search {
129
+ display: flex;
130
+ align-items: center;
131
+ gap: 6px;
132
+ height: 28px;
133
+ padding: 0 8px;
134
+ border: 1px solid var(--djm-border);
135
+ border-radius: 4px;
136
+ background: var(--djm-surface);
137
+ color: var(--djm-text-3);
138
+ }
139
+
140
+ .djm-fm-search:focus-within {
141
+ border-color: var(--djm-brand-500);
142
+ }
143
+
144
+ .djm-fm-search input {
145
+ width: 160px;
146
+ border: 0;
147
+ outline: none;
148
+ background: none;
149
+ color: var(--djm-text-2);
150
+ font-size: 12px;
151
+ }
152
+
153
+ .djm-fm-all {
154
+ display: inline-flex;
155
+ align-items: center;
156
+ gap: 6px;
157
+ padding-right: 2px;
158
+ color: var(--djm-text-2);
159
+ font-size: 12px;
160
+ cursor: pointer;
161
+ }
162
+
163
+ .djm-fm-grid {
164
+ display: grid;
165
+ grid-template-columns: repeat(auto-fill, minmax(168px, 1fr));
166
+ gap: 12px;
167
+ padding: 14px;
168
+ }
169
+
170
+ .djm-fm-card {
171
+ position: relative;
172
+ display: flex;
173
+ flex-direction: column;
174
+ gap: 4px;
175
+ padding: 8px;
176
+ border: 1px solid var(--djm-border);
177
+ border-radius: 6px;
178
+ background: var(--djm-surface);
179
+ }
180
+
181
+ .djm-fm-card.djm-is-selected {
182
+ border-color: var(--djm-brand-500);
183
+ box-shadow: 0 0 0 2px var(--djm-brand-soft);
184
+ }
185
+
186
+ .djm-fm-check {
187
+ position: absolute;
188
+ top: 8px;
189
+ left: 8px;
190
+ z-index: 1;
191
+ padding: 2px;
192
+ border-radius: 4px;
193
+ background: var(--djm-surface);
194
+ }
195
+
196
+ .djm-fm-thumb {
197
+ display: flex;
198
+ align-items: center;
199
+ justify-content: center;
200
+ height: 96px;
201
+ padding: 0;
202
+ overflow: hidden;
203
+ border: 0;
204
+ border-radius: 4px;
205
+ background: var(--djm-surface-3);
206
+ cursor: zoom-in;
207
+ }
208
+
209
+ .djm-fm-thumb img {
210
+ width: 100%;
211
+ height: 100%;
212
+ object-fit: cover;
213
+ }
214
+
215
+ .djm-fm-doc {
216
+ color: var(--djm-text-3);
217
+ font-size: 11px;
218
+ font-weight: 600;
219
+ letter-spacing: 0.4px;
220
+ }
221
+
222
+ .djm-fm-name {
223
+ margin-top: 2px;
224
+ overflow: hidden;
225
+ color: var(--djm-text);
226
+ font-size: 12.5px;
227
+ font-weight: 500;
228
+ text-overflow: ellipsis;
229
+ white-space: nowrap;
230
+ }
231
+
232
+ .djm-fm-meta {
233
+ color: var(--djm-text-3);
234
+ font-size: 11px;
235
+ }
236
+
237
+ .djm-fm-empty {
238
+ margin: 40px 14px;
239
+ }
240
+
241
+ .djm-fm-loading {
242
+ display: flex;
243
+ align-items: center;
244
+ gap: 8px;
245
+ padding: 10px 14px;
246
+ color: var(--djm-text-3);
247
+ font-size: 12px;
248
+ }
249
+
250
+ /* 上传用的隐藏输入 */
251
+ .djm-fm-file {
252
+ display: none;
253
+ }
254
+
255
+ .djm-fm-preview-img {
256
+ display: block;
257
+ width: 100%;
258
+ max-height: 420px;
259
+ border-radius: 6px;
260
+ background: var(--djm-surface-3);
261
+ object-fit: contain;
262
+ }
263
+
264
+ .djm-fm-preview-empty {
265
+ display: flex;
266
+ flex-direction: column;
267
+ align-items: center;
268
+ gap: 8px;
269
+ padding: 40px;
270
+ border-radius: 6px;
271
+ background: var(--djm-surface-2);
272
+ color: var(--djm-text-3);
273
+ font-size: 12px;
274
+ }
275
+
276
+ .djm-fm-preview-meta {
277
+ display: grid;
278
+ grid-template-columns: repeat(4, minmax(0, 1fr));
279
+ gap: 10px;
280
+ margin-top: 12px;
281
+ }
282
+
283
+ .djm-fm-preview-meta div {
284
+ display: flex;
285
+ flex-direction: column;
286
+ gap: 2px;
287
+ color: var(--djm-text-3);
288
+ font-size: 11.5px;
289
+ }
290
+
291
+ .djm-fm-preview-meta b {
292
+ color: var(--djm-text-2);
293
+ font-size: 12px;
294
+ font-weight: 500;
295
+ }
296
+
297
+ /* ---------------- 图片相册 ---------------- */
298
+
299
+ .djm-album-head {
300
+ display: flex;
301
+ align-items: center;
302
+ justify-content: space-between;
303
+ gap: 12px;
304
+ flex-wrap: wrap;
305
+ padding: 10px 14px;
306
+ border-bottom: 1px solid var(--djm-border);
307
+ background: var(--djm-surface-2);
308
+ }
309
+
310
+ .djm-album-tabs {
311
+ display: flex;
312
+ flex-wrap: wrap;
313
+ gap: 6px;
314
+ }
315
+
316
+ .djm-album-tab {
317
+ display: inline-flex;
318
+ align-items: center;
319
+ gap: 6px;
320
+ height: 28px;
321
+ padding: 0 10px;
322
+ border: 1px solid var(--djm-border);
323
+ border-radius: 14px;
324
+ background: var(--djm-surface);
325
+ color: var(--djm-text-2);
326
+ font-size: 12px;
327
+ cursor: pointer;
328
+ }
329
+
330
+ .djm-album-tab span {
331
+ color: var(--djm-text-3);
332
+ font-size: 10.5px;
333
+ }
334
+
335
+ .djm-album-tab:hover {
336
+ border-color: var(--djm-brand-500);
337
+ color: var(--djm-brand-700);
338
+ }
339
+
340
+ .djm-album-tab.djm-is-active {
341
+ border-color: var(--djm-brand-500);
342
+ background: var(--djm-brand-soft);
343
+ color: var(--djm-brand-700);
344
+ font-weight: 600;
345
+ }
346
+
347
+ .djm-album-tab.djm-is-active span {
348
+ color: var(--djm-brand-700);
349
+ }
350
+
351
+ .djm-album-actions {
352
+ display: flex;
353
+ align-items: center;
354
+ gap: 10px;
355
+ }
356
+
357
+ .djm-album-grid {
358
+ display: grid;
359
+ grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
360
+ gap: 14px;
361
+ padding: 14px;
362
+ }
363
+
364
+ .djm-album-card {
365
+ position: relative;
366
+ margin: 0;
367
+ overflow: hidden;
368
+ border: 1px solid var(--djm-border);
369
+ border-radius: 6px;
370
+ background: var(--djm-surface);
371
+ }
372
+
373
+ .djm-album-card.djm-is-selected {
374
+ border-color: var(--djm-brand-500);
375
+ box-shadow: 0 0 0 2px var(--djm-brand-soft);
376
+ }
377
+
378
+ .djm-album-thumb {
379
+ position: relative;
380
+ display: block;
381
+ width: 100%;
382
+ aspect-ratio: 4 / 3;
383
+ padding: 0;
384
+ overflow: hidden;
385
+ border: 0;
386
+ background: var(--djm-surface-3);
387
+ cursor: zoom-in;
388
+ }
389
+
390
+ .djm-album-thumb img {
391
+ width: 100%;
392
+ height: 100%;
393
+ object-fit: cover;
394
+ transition: transform 0.2s ease;
395
+ }
396
+
397
+ .djm-album-thumb:hover img {
398
+ transform: scale(1.04);
399
+ }
400
+
401
+ .djm-album-zoom {
402
+ position: absolute;
403
+ left: 50%;
404
+ top: 50%;
405
+ display: inline-flex;
406
+ align-items: center;
407
+ gap: 4px;
408
+ padding: 4px 8px;
409
+ border-radius: 12px;
410
+ background: rgba(15, 23, 32, 0.62);
411
+ color: #fff;
412
+ font-size: 11px;
413
+ opacity: 0;
414
+ pointer-events: none;
415
+ transform: translate(-50%, -50%);
416
+ transition: opacity 0.2s ease;
417
+ }
418
+
419
+ .djm-album-thumb:hover .djm-album-zoom {
420
+ opacity: 1;
421
+ }
422
+
423
+ .djm-album-check {
424
+ position: absolute;
425
+ top: 8px;
426
+ left: 8px;
427
+ padding: 3px;
428
+ border-radius: 4px;
429
+ background: rgba(255, 255, 255, 0.9);
430
+ }
431
+
432
+ .djm-album-card figcaption {
433
+ display: flex;
434
+ flex-direction: column;
435
+ gap: 2px;
436
+ padding: 8px 10px 10px;
437
+ }
438
+
439
+ .djm-album-card figcaption strong {
440
+ overflow: hidden;
441
+ font-size: 12.5px;
442
+ font-weight: 500;
443
+ text-overflow: ellipsis;
444
+ white-space: nowrap;
445
+ }
446
+
447
+ .djm-album-card figcaption span {
448
+ color: var(--djm-text-3);
449
+ font-size: 11px;
450
+ }
451
+
452
+ .djm-album-empty {
453
+ padding: 60px 20px;
454
+ }
455
+
456
+ .djm-album-viewer img {
457
+ display: block;
458
+ width: 100%;
459
+ max-height: 520px;
460
+ border-radius: 6px;
461
+ background: var(--djm-surface-3);
462
+ object-fit: contain;
463
+ }
464
+
465
+ .djm-album-viewer-meta {
466
+ display: flex;
467
+ justify-content: space-between;
468
+ gap: 10px;
469
+ margin-top: 8px;
470
+ color: var(--djm-text-3);
471
+ font-size: 11.5px;
472
+ }
473
+
474
+ @media (max-width: 860px) {
475
+ .djm-fm {
476
+ grid-template-columns: 1fr;
477
+ }
478
+
479
+ .djm-fm-side {
480
+ border-right: 0;
481
+ border-bottom: 1px solid var(--djm-border);
482
+ }
483
+
484
+ .djm-fm-folder {
485
+ height: 30px;
486
+ }
487
+
488
+ /* 窄屏:路径与搜索各占一行,避免文字被挤成两行 */
489
+ .djm-fm-path {
490
+ flex-wrap: wrap;
491
+ }
492
+
493
+ .djm-fm-search {
494
+ flex: 1 1 100%;
495
+ }
496
+
497
+ .djm-fm-search input {
498
+ width: 100%;
499
+ }
500
+
501
+ .djm-fm-crumb em {
502
+ display: none;
503
+ }
504
+
505
+ .djm-fm-storage {
506
+ display: none;
507
+ }
508
+
509
+ .djm-fm-grid,
510
+ .djm-album-grid {
511
+ grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
512
+ }
513
+
514
+ .djm-fm-preview-meta {
515
+ grid-template-columns: repeat(2, minmax(0, 1fr));
516
+ }
517
+ }
@@ -432,6 +432,11 @@ input[type="date"] {
432
432
  font-size: 11.5px;
433
433
  margin-right: 2px;
434
434
  }
435
+
436
+ /* 表格工具栏的操作提示:选中行后自动隐藏 */
437
+ .djm-toolbar-tip {
438
+ font-size: 11.5px;
439
+ }
435
440
  /* ---------------- 表单 ---------------- */
436
441
 
437
442
  .djm-form-grid {