@jx3box/jx3box-ui 2.3.25 → 2.3.27
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/package.json
CHANGED
package/src/header/alternate.vue
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
append-to-body
|
|
4
4
|
v-model="visible"
|
|
5
5
|
custom-class="c-alternate"
|
|
6
|
-
width="
|
|
6
|
+
width="360px"
|
|
7
7
|
:title="$jx3boxT('jx3boxUi.commonHeader.alternate.title', '切换马甲')"
|
|
8
8
|
>
|
|
9
9
|
<div class="c-alternate__content">
|
|
@@ -218,33 +218,40 @@ export default {
|
|
|
218
218
|
<style lang="less">
|
|
219
219
|
/* src/header/alternate.vue */
|
|
220
220
|
.c-alternate {
|
|
221
|
+
border-radius: 6px;
|
|
222
|
+
|
|
221
223
|
.el-dialog__title {
|
|
222
|
-
|
|
224
|
+
color: #303133;
|
|
225
|
+
.fz(16px);
|
|
226
|
+
font-weight: 600;
|
|
223
227
|
}
|
|
224
228
|
.el-dialog__body {
|
|
225
229
|
padding: 0;
|
|
226
230
|
}
|
|
227
231
|
.el-dialog__header {
|
|
228
|
-
|
|
229
|
-
|
|
232
|
+
margin-right: 0;
|
|
233
|
+
padding: 16px 20px;
|
|
234
|
+
border-bottom: 1px solid #ebeef5;
|
|
230
235
|
}
|
|
231
236
|
}
|
|
232
237
|
|
|
233
238
|
.c-alternate__content {
|
|
234
|
-
max-height: 600px;
|
|
239
|
+
max-height: min(600px, calc(100vh - 120px));
|
|
235
240
|
overflow-y: auto;
|
|
236
241
|
|
|
237
242
|
.c-alternate-item {
|
|
238
243
|
.flex;
|
|
239
|
-
|
|
244
|
+
align-items: center;
|
|
245
|
+
gap: 12px;
|
|
240
246
|
.pointer;
|
|
241
|
-
padding:
|
|
247
|
+
padding: 12px 16px;
|
|
242
248
|
.pr;
|
|
243
|
-
border-bottom: 1px solid #
|
|
249
|
+
border-bottom: 1px solid #ebeef5;
|
|
244
250
|
.fz(13px);
|
|
251
|
+
transition: background-color 0.15s ease;
|
|
245
252
|
|
|
246
253
|
&:hover {
|
|
247
|
-
background-color: @bg-
|
|
254
|
+
background-color: @bg-gray;
|
|
248
255
|
|
|
249
256
|
.u-remove {
|
|
250
257
|
display: block;
|
|
@@ -254,11 +261,12 @@ export default {
|
|
|
254
261
|
|
|
255
262
|
.u-remove {
|
|
256
263
|
.pa;
|
|
257
|
-
right:
|
|
258
|
-
top:
|
|
259
|
-
color: #
|
|
264
|
+
right: 14px;
|
|
265
|
+
top: 50%;
|
|
266
|
+
color: #909399;
|
|
260
267
|
.pointer;
|
|
261
268
|
font-size: 16px;
|
|
269
|
+
transform: translateY(-50%);
|
|
262
270
|
|
|
263
271
|
&:hover {
|
|
264
272
|
color: #333;
|
|
@@ -270,9 +278,12 @@ export default {
|
|
|
270
278
|
.pr;
|
|
271
279
|
}
|
|
272
280
|
.u-avatar {
|
|
281
|
+
display: block;
|
|
273
282
|
width: 50px;
|
|
274
283
|
height: 50px;
|
|
284
|
+
background-color: #fff;
|
|
275
285
|
border-radius: 50%;
|
|
286
|
+
object-fit: cover;
|
|
276
287
|
}
|
|
277
288
|
.u-active {
|
|
278
289
|
.pa;
|
|
@@ -280,18 +291,26 @@ export default {
|
|
|
280
291
|
top: -6px;
|
|
281
292
|
width: 20px;
|
|
282
293
|
height: 20px;
|
|
283
|
-
// fill: #fff;
|
|
284
294
|
color: #0dbc19;
|
|
295
|
+
background-color: #fff;
|
|
296
|
+
border-radius: 50%;
|
|
297
|
+
box-shadow: 0 0 0 2px #fff;
|
|
285
298
|
}
|
|
286
299
|
|
|
287
300
|
.m-misc {
|
|
301
|
+
min-width: 0;
|
|
288
302
|
.flex;
|
|
289
303
|
flex-direction: column;
|
|
290
|
-
gap:
|
|
304
|
+
gap: 4px;
|
|
305
|
+
}
|
|
306
|
+
.u-name,
|
|
307
|
+
.u-time {
|
|
308
|
+
color: #606266;
|
|
309
|
+
line-height: 20px;
|
|
291
310
|
}
|
|
292
311
|
.u-label {
|
|
293
312
|
font-size: 12px;
|
|
294
|
-
color: #
|
|
313
|
+
color: #909399;
|
|
295
314
|
}
|
|
296
315
|
|
|
297
316
|
.u-extra {
|
|
@@ -306,17 +325,16 @@ export default {
|
|
|
306
325
|
}
|
|
307
326
|
|
|
308
327
|
.c-alternate-btn {
|
|
309
|
-
// padding: 10px;
|
|
310
328
|
text-align: center;
|
|
311
329
|
.pointer;
|
|
312
|
-
// width: 100%;
|
|
313
|
-
// border-radius: 0;
|
|
314
330
|
.size(100%,74px);
|
|
315
331
|
.fz(40px,74px);
|
|
316
|
-
color: #
|
|
332
|
+
color: #909399;
|
|
333
|
+
transition: background-color 0.15s ease, color 0.15s ease;
|
|
334
|
+
|
|
317
335
|
&:hover {
|
|
318
|
-
background-color: @bg-
|
|
319
|
-
color: #
|
|
336
|
+
background-color: @bg-gray;
|
|
337
|
+
color: #606266;
|
|
320
338
|
}
|
|
321
339
|
}
|
|
322
340
|
}
|
package/src/header/manage.vue
CHANGED
|
@@ -219,13 +219,20 @@ export default {
|
|
|
219
219
|
.flex;
|
|
220
220
|
align-items: center;
|
|
221
221
|
gap: 4px;
|
|
222
|
+
transition: background-color 0.15s ease;
|
|
222
223
|
|
|
223
224
|
&:hover {
|
|
224
225
|
.u-menu-icon {
|
|
225
226
|
filter: invert(100%) sepia(0%) saturate(5658%) hue-rotate(215deg) brightness(114%) contrast(106%);
|
|
226
227
|
}
|
|
227
228
|
.u-new {
|
|
228
|
-
color: #fff;
|
|
229
|
+
background-color: #fff;
|
|
230
|
+
color: @v4primary-dark;
|
|
231
|
+
box-shadow: inset 0 0 0 1px fade(@v4primary-dark, 20%);
|
|
232
|
+
}
|
|
233
|
+
.u-new--important {
|
|
234
|
+
color: #f56c6c;
|
|
235
|
+
box-shadow: inset 0 0 0 1px fade(#f56c6c, 20%);
|
|
229
236
|
}
|
|
230
237
|
}
|
|
231
238
|
}
|
|
@@ -260,11 +267,14 @@ export default {
|
|
|
260
267
|
}
|
|
261
268
|
|
|
262
269
|
.u-new {
|
|
263
|
-
font-size:
|
|
270
|
+
font-size: 11px;
|
|
271
|
+
line-height: 18px;
|
|
264
272
|
margin-left: 4px;
|
|
265
273
|
background-color: @v4primary-dark;
|
|
266
274
|
color: #fff;
|
|
267
|
-
padding:
|
|
275
|
+
padding: 0 5px;
|
|
276
|
+
border-radius: 2px;
|
|
277
|
+
transition: color 0.15s ease, background-color 0.15s ease, box-shadow 0.15s ease;
|
|
268
278
|
}
|
|
269
279
|
|
|
270
280
|
.u-new--important {
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import ManagePanelStage from "./ManagePanelStage.vue";
|
|
2
|
+
|
|
3
|
+
export default {
|
|
4
|
+
title: "Layout/CommonHeader/ManagePanel",
|
|
5
|
+
component: ManagePanelStage,
|
|
6
|
+
parameters: {
|
|
7
|
+
layout: "fullscreen",
|
|
8
|
+
},
|
|
9
|
+
};
|
|
10
|
+
|
|
11
|
+
export const Refined = {
|
|
12
|
+
render: () => ({
|
|
13
|
+
components: { ManagePanelStage },
|
|
14
|
+
template: "<ManagePanelStage />",
|
|
15
|
+
}),
|
|
16
|
+
};
|
|
@@ -0,0 +1,135 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<div class="manage-preview">
|
|
3
|
+
<div class="manage-preview__header">
|
|
4
|
+
<div class="manage-preview__brand">JX3BOX</div>
|
|
5
|
+
<div class="manage-preview__tools">
|
|
6
|
+
<span class="manage-preview__tool">◯</span>
|
|
7
|
+
<span class="manage-preview__tool">◇</span>
|
|
8
|
+
<span class="manage-preview__tool">♢</span>
|
|
9
|
+
<Manage
|
|
10
|
+
ref="manage"
|
|
11
|
+
:header-config-loaded="false"
|
|
12
|
+
:account-ready-incomplete="true"
|
|
13
|
+
:account-ready-issues="['contact']"
|
|
14
|
+
/>
|
|
15
|
+
<span class="manage-preview__tool">文</span>
|
|
16
|
+
<span class="manage-preview__avatar">侠</span>
|
|
17
|
+
</div>
|
|
18
|
+
</div>
|
|
19
|
+
<main class="manage-preview__body">
|
|
20
|
+
<div class="manage-preview__eyebrow">COMMON HEADER</div>
|
|
21
|
+
<h1>公共头扩展菜单</h1>
|
|
22
|
+
<p>重新梳理信息密度、状态层级与悬浮反馈后的实际组件预览。</p>
|
|
23
|
+
</main>
|
|
24
|
+
</div>
|
|
25
|
+
</template>
|
|
26
|
+
|
|
27
|
+
<script>
|
|
28
|
+
import Manage from "../../header/manage.vue";
|
|
29
|
+
|
|
30
|
+
export default {
|
|
31
|
+
name: "ManagePanelStage",
|
|
32
|
+
components: { Manage },
|
|
33
|
+
mounted() {
|
|
34
|
+
this.$refs.manage.panel = [
|
|
35
|
+
{
|
|
36
|
+
key: "featureUpdate",
|
|
37
|
+
label: "功能更新",
|
|
38
|
+
link: "javascript:;",
|
|
39
|
+
icon: "feature.svg",
|
|
40
|
+
remark: "feature",
|
|
41
|
+
meta: "storybook-preview",
|
|
42
|
+
},
|
|
43
|
+
];
|
|
44
|
+
this.$refs.manage.showPop = true;
|
|
45
|
+
},
|
|
46
|
+
};
|
|
47
|
+
</script>
|
|
48
|
+
|
|
49
|
+
<style lang="less">
|
|
50
|
+
.manage-preview {
|
|
51
|
+
min-height: 100vh;
|
|
52
|
+
background:
|
|
53
|
+
radial-gradient(circle at 72% 8%, rgba(79, 70, 229, 0.09), transparent 26rem),
|
|
54
|
+
#f5f7fa;
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
.manage-preview__header {
|
|
58
|
+
height: 64px;
|
|
59
|
+
display: flex;
|
|
60
|
+
align-items: center;
|
|
61
|
+
justify-content: space-between;
|
|
62
|
+
box-sizing: border-box;
|
|
63
|
+
padding: 0 32px;
|
|
64
|
+
color: #fff;
|
|
65
|
+
background: #202124;
|
|
66
|
+
box-shadow: 0 4px 18px rgba(15, 23, 42, 0.2);
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
.manage-preview__brand {
|
|
70
|
+
font-size: 14px;
|
|
71
|
+
font-weight: 800;
|
|
72
|
+
letter-spacing: 0.12em;
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
.manage-preview__tools {
|
|
76
|
+
height: 100%;
|
|
77
|
+
display: flex;
|
|
78
|
+
align-items: center;
|
|
79
|
+
gap: 8px;
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
.manage-preview__tool {
|
|
83
|
+
width: 38px;
|
|
84
|
+
height: 38px;
|
|
85
|
+
display: flex;
|
|
86
|
+
align-items: center;
|
|
87
|
+
justify-content: center;
|
|
88
|
+
color: rgba(255, 255, 255, 0.88);
|
|
89
|
+
font-size: 19px;
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
.manage-preview__avatar {
|
|
93
|
+
width: 34px;
|
|
94
|
+
height: 34px;
|
|
95
|
+
display: flex;
|
|
96
|
+
align-items: center;
|
|
97
|
+
justify-content: center;
|
|
98
|
+
margin-left: 4px;
|
|
99
|
+
border: 2px solid rgba(255, 255, 255, 0.75);
|
|
100
|
+
border-radius: 50%;
|
|
101
|
+
color: #7c2d12;
|
|
102
|
+
background: #fef3c7;
|
|
103
|
+
font-size: 13px;
|
|
104
|
+
font-weight: 700;
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
.manage-preview .c-header-manage .u-pop-content {
|
|
108
|
+
visibility: visible;
|
|
109
|
+
opacity: 1;
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
.manage-preview__body {
|
|
113
|
+
padding: 112px 9vw;
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
.manage-preview__eyebrow {
|
|
117
|
+
color: #4f46e5;
|
|
118
|
+
font-size: 12px;
|
|
119
|
+
font-weight: 800;
|
|
120
|
+
letter-spacing: 0.14em;
|
|
121
|
+
}
|
|
122
|
+
|
|
123
|
+
.manage-preview__body h1 {
|
|
124
|
+
margin: 12px 0 0;
|
|
125
|
+
color: #111827;
|
|
126
|
+
font-size: 34px;
|
|
127
|
+
line-height: 1.2;
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
.manage-preview__body p {
|
|
131
|
+
margin: 14px 0 0;
|
|
132
|
+
color: #6b7280;
|
|
133
|
+
font-size: 15px;
|
|
134
|
+
}
|
|
135
|
+
</style>
|