@opendesign-plus-test/components 0.0.1-rc.19 → 0.0.1-rc.21
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/dist/chunk-OElCookieNotice.cjs.js +1 -1
- package/dist/chunk-OElCookieNotice.es.js +2 -6
- package/dist/components/OSourceCode.vue.d.ts +2 -0
- package/dist/components/events/config.d.ts +1 -0
- package/dist/components.cjs.js +3 -3
- package/dist/components.css +1 -1
- package/dist/components.es.js +1247 -1240
- package/npmcachae/_cacache/content-v2/sha512/05/f7/dd881de8b21208ea65cfce17c65f29964c3897505819f81151b9798a3a6ab1a1114324192354ead15cd2c8d93f76cc9929af168066ec9cc7878d0fd87578 +1 -0
- package/npmcachae/_cacache/content-v2/sha512/08/b7/879230f8c2f3765920a6fd6113f4687141f1f645f96af7d95a0dee9113d1095d000fb78a5dd55c1860bbfb9b698ef6281b3874b03b2384222f61fe055fc4 +1 -0
- package/npmcachae/_cacache/content-v2/sha512/10/a0/a6626613c03ee052925a762e8675878efdf83dac64fafea43beb2a875f7d7c3907bb0ee30761253cd16021fd58911449594e1d3358675cbb7c48e62f220a +1 -0
- package/npmcachae/_cacache/content-v2/sha512/2e/a6/7cbcf55a98bbe2ca881d10e982ebf59211a0ec051eaf46eb1914df66cc35ae502ed6888850e51d8f45cd92695bac16961a642bc41508f8d5160a9ab617ab +1 -0
- package/npmcachae/_cacache/content-v2/sha512/92/8d/e5259c5d5cc2a625247f3c4d809192ca9482467e23683d74924a11e91a7997ad890b3d26adaf34df66d5329cc7a5fbde6713110cad05107a0b504e4fd4e8 +1 -0
- package/npmcachae/_cacache/content-v2/sha512/e9/45/9597d870127c35681155cec5fe52fde4e1aa0f778b996ee371e856aca850ee4c13aba74b0c3d3a89ff0ea4c9e1d33e64e53c31dc9cede0b31012695ee659 +1 -0
- package/npmcachae/_cacache/index-v5/16/4a/7195fcc6857299c4ab7e26014a8ae6e3c396507a2c8db3da1b74b005d574 +3 -0
- package/npmcachae/_cacache/index-v5/58/f0/4fe556f104b09be642895a82afa463fe560d9a0dc8f507efeef825a6905e +3 -0
- package/npmcachae/_cacache/index-v5/67/7d/0b50dc4c09555fc922ccf43c46994f1a0a5ff47dc0a5d5cf41437ac2d3e6 +3 -0
- package/npmcachae/_cacache/index-v5/8f/28/353f8839e030ab11aab3e7d9f1b8c053403e9f593cf6d4aa6ec8fdd7610d +3 -0
- package/npmcachae/_cacache/index-v5/97/10/0fcf20eb29d0726bd820822f6729718464b591b0e6901217c956740e943c +3 -0
- package/npmcachae/_cacache/index-v5/db/89/a0a4f35f593105624ab39339962d9e9b5cc65ed0c346b0732fb8dd73721d +3 -0
- package/npmcachae/_logs/2026-03-26T14_10_35_885Z-debug-0.log +171 -0
- package/npmcachae/_logs/2026-03-26T14_10_38_617Z-debug-0.log +4227 -0
- package/npmcachae/_logs/2026-03-26T14_10_45_316Z-debug-0.log +4228 -0
- package/npmcachae/_logs/2026-03-26T14_10_48_169Z-debug-0.log +4228 -0
- package/npmcachae/_logs/2026-03-26T14_10_51_306Z-debug-0.log +464 -0
- package/npmcachae/_logs/2026-03-26T14_10_53_911Z-debug-0.log +464 -0
- package/npmcachae/_logs/2026-03-26T14_10_56_398Z-debug-0.log +464 -0
- package/npmcachae/_logs/2026-03-26T14_10_58_861Z-debug-0.log +464 -0
- package/npmcachae/_logs/2026-03-26T14_11_01_337Z-debug-0.log +464 -0
- package/npmcachae/_logs/2026-03-26T14_11_03_851Z-debug-0.log +464 -0
- package/npmcachae/_logs/2026-03-26T14_11_08_024Z-debug-0.log +464 -0
- package/npmcachae/_update-notifier-last-checked +0 -0
- package/package.json +3 -3
- package/src/components/OFooter.vue +45 -19
- package/src/components/OHeader.vue +2 -1
- package/src/components/OHeaderMoblie.vue +3 -3
- package/src/components/OSourceCode.vue +35 -6
- package/src/components/common/HeaderEulerNav.vue +16 -10
- package/src/components/common/HeaderNavMoblie.vue +9 -9
- package/src/components/common/HeaderUbmcNav.vue +1 -1
- package/src/components/events/OEventsList.vue +3 -3
- package/src/components/events/config.ts +3 -1
- package/vite.config.ts +1 -1
|
@@ -94,11 +94,12 @@ const mobileClick = () => {
|
|
|
94
94
|
z-index: 999;
|
|
95
95
|
box-shadow: 0 3px 9px 0 rgba(0, 18, 85, 0.08);
|
|
96
96
|
backdrop-filter: blur(5px);
|
|
97
|
+
--o-header-height: 56px;
|
|
97
98
|
}
|
|
98
99
|
.header-wrap {
|
|
99
100
|
display: flex;
|
|
100
101
|
align-items: center;
|
|
101
|
-
height:
|
|
102
|
+
height: var(--o-header-height);
|
|
102
103
|
justify-content: space-between;
|
|
103
104
|
position: relative;
|
|
104
105
|
}
|
|
@@ -119,11 +120,10 @@ const mobileClick = () => {
|
|
|
119
120
|
.header-title {
|
|
120
121
|
color: var(--o-color-info1);
|
|
121
122
|
font-weight: 500;
|
|
122
|
-
font-size: 16px;
|
|
123
|
-
line-height: 24px;
|
|
124
123
|
overflow: hidden;
|
|
125
124
|
white-space: nowrap;
|
|
126
125
|
text-overflow: ellipsis;
|
|
126
|
+
@include text2;
|
|
127
127
|
}
|
|
128
128
|
}
|
|
129
129
|
.simple-header-right {
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
<script setup lang="ts">
|
|
2
|
+
import { ref } from 'vue';
|
|
2
3
|
import { OIcon, ODropdown, ODropdownItem } from '@opensig/opendesign';
|
|
3
4
|
|
|
4
5
|
import IconChevronDown from '~icons/components/icon-chevron-down.svg';
|
|
@@ -14,6 +15,7 @@ interface CodePropsT {
|
|
|
14
15
|
options?: CodeItemT[];
|
|
15
16
|
url?: string;
|
|
16
17
|
icon?: string;
|
|
18
|
+
justify?: string;
|
|
17
19
|
}
|
|
18
20
|
|
|
19
21
|
withDefaults(defineProps<CodePropsT>(), {
|
|
@@ -21,11 +23,17 @@ withDefaults(defineProps<CodePropsT>(), {
|
|
|
21
23
|
options: undefined,
|
|
22
24
|
url: undefined,
|
|
23
25
|
icon: undefined,
|
|
26
|
+
justify: 'center',
|
|
24
27
|
});
|
|
25
28
|
|
|
26
29
|
const itemChange = (data: any) => {
|
|
27
30
|
window.open(data.url, '_blank');
|
|
28
31
|
};
|
|
32
|
+
|
|
33
|
+
const dropdownVisible = ref(false);
|
|
34
|
+
const visibleChange = (val: boolean) => {
|
|
35
|
+
dropdownVisible.value = val;
|
|
36
|
+
};
|
|
29
37
|
</script>
|
|
30
38
|
|
|
31
39
|
<template>
|
|
@@ -36,13 +44,20 @@ const itemChange = (data: any) => {
|
|
|
36
44
|
<component :is="icon" class="icon" />
|
|
37
45
|
</OIcon>
|
|
38
46
|
</div>
|
|
39
|
-
<ODropdown
|
|
47
|
+
<ODropdown
|
|
48
|
+
v-else
|
|
49
|
+
trigger="hover"
|
|
50
|
+
optionPosition="bottom"
|
|
51
|
+
option-wrap-class="dropdown"
|
|
52
|
+
:class="{ 'dropdown-active': dropdownVisible }"
|
|
53
|
+
@visible-change="visibleChange"
|
|
54
|
+
>
|
|
40
55
|
<div class="info-wrap hover-icon-rotate">
|
|
41
56
|
<span class="title">{{ title }}</span>
|
|
42
57
|
<OIcon class="icon"><IconChevronDown /></OIcon>
|
|
43
58
|
</div>
|
|
44
59
|
<template #dropdown>
|
|
45
|
-
<ODropdownItem v-for="item in options" @click="itemChange(item)" :key="item.url" class="list">
|
|
60
|
+
<ODropdownItem v-for="item in options" @click="itemChange(item)" :key="item.url" class="list" :style="{ '--dropdown-item-justify': justify }">
|
|
46
61
|
{{ item.label }}
|
|
47
62
|
<OIcon v-if="item.icon">
|
|
48
63
|
<component :is="item.icon" class="icon" />
|
|
@@ -65,7 +80,7 @@ const itemChange = (data: any) => {
|
|
|
65
80
|
color: var(--o-color-info1);
|
|
66
81
|
cursor: pointer;
|
|
67
82
|
|
|
68
|
-
|
|
83
|
+
@include hover {
|
|
69
84
|
color: var(--o-color-primary1);
|
|
70
85
|
}
|
|
71
86
|
|
|
@@ -105,18 +120,32 @@ const itemChange = (data: any) => {
|
|
|
105
120
|
.o-dropdown {
|
|
106
121
|
height: 100%;
|
|
107
122
|
}
|
|
123
|
+
.dropdown-active {
|
|
124
|
+
.info-wrap {
|
|
125
|
+
color: var(--o-color-primary1);
|
|
126
|
+
}
|
|
127
|
+
.o-icon {
|
|
128
|
+
transform: rotate(-180deg);
|
|
129
|
+
}
|
|
130
|
+
}
|
|
108
131
|
.o-dropdown-item {
|
|
109
132
|
background: var(--o-color-fill2);
|
|
110
133
|
cursor: pointer;
|
|
111
134
|
border-radius: var(--o-radius_control-xs);
|
|
112
|
-
padding: var(--o-gap-1);
|
|
135
|
+
padding: var(--o-gap-1) 12px;
|
|
113
136
|
min-width: 144px;
|
|
114
|
-
height:
|
|
137
|
+
height: 32px;
|
|
138
|
+
@include tip1;
|
|
115
139
|
|
|
116
140
|
@include hover {
|
|
117
|
-
color: var(--o-color-primary1);
|
|
118
141
|
background: var(--o-color-control2-light);
|
|
119
142
|
}
|
|
143
|
+
|
|
144
|
+
&:active {
|
|
145
|
+
color: var(--o-color-primary1);
|
|
146
|
+
background: var(--o-color-control3-light);
|
|
147
|
+
font-weight: 600;
|
|
148
|
+
}
|
|
120
149
|
}
|
|
121
150
|
.dropdown {
|
|
122
151
|
--dropdown-list-radius: var(--o-radius-xs);
|
|
@@ -16,7 +16,7 @@ const props = defineProps({
|
|
|
16
16
|
});
|
|
17
17
|
|
|
18
18
|
const { locale } = useLocale();
|
|
19
|
-
const { theme } = useTheme();
|
|
19
|
+
const { theme, isDark } = useTheme();
|
|
20
20
|
|
|
21
21
|
const navRef = ref();
|
|
22
22
|
const navListRef = ref();
|
|
@@ -32,9 +32,9 @@ const navShortcut = ref<any>([]);
|
|
|
32
32
|
const isPicture = ref(false);
|
|
33
33
|
const toggleDebounced = useDebounceFn(function (item: any | null) {
|
|
34
34
|
if (item === null) {
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
35
|
+
navActive.value = '';
|
|
36
|
+
isShow.value = false;
|
|
37
|
+
isPicture.value = false;
|
|
38
38
|
} else {
|
|
39
39
|
navActive.value = item.id;
|
|
40
40
|
isShow.value = true;
|
|
@@ -103,7 +103,7 @@ onUnmounted(() => {
|
|
|
103
103
|
<div class="right-icon" v-if="navVisibleLeft">
|
|
104
104
|
<OIcon @click="scrollNavLeft"><IconCaretLeft /></OIcon>
|
|
105
105
|
</div>
|
|
106
|
-
<nav ref="navRef" class="o-nav" :class="{ 'o-nav-scroll': navVisibleLeft || !navVisibleRight }">
|
|
106
|
+
<nav ref="navRef" class="o-nav" :class="{ 'o-nav-scroll': navVisibleLeft || !navVisibleRight, dark: isDark }">
|
|
107
107
|
<ul ref="navListRef" class="o-nav-list">
|
|
108
108
|
<li v-for="item in navData" :key="item.id" @mouseenter="toggleDebounced(item)" @mouseleave="toggleDebounced(null)">
|
|
109
109
|
<span :id="'tour_headerNav_' + item.ID" class="nav-item">{{ item.label }}</span>
|
|
@@ -126,7 +126,7 @@ onUnmounted(() => {
|
|
|
126
126
|
</OIcon>
|
|
127
127
|
<OTag v-if="subItem.tag" round="pill" color="danger" size="small" class="content-tag">{{ subItem.tag }}</OTag>
|
|
128
128
|
</a>
|
|
129
|
-
<div class="desc-container">
|
|
129
|
+
<div v-if="subItem.description" class="desc-container">
|
|
130
130
|
<p class="item-desc" :title="showDesc ? subItem.description : null" @mouseenter="descMouseenter($event)">
|
|
131
131
|
{{ subItem.description }}
|
|
132
132
|
</p>
|
|
@@ -214,6 +214,11 @@ onUnmounted(() => {
|
|
|
214
214
|
&::-webkit-scrollbar {
|
|
215
215
|
display: none;
|
|
216
216
|
}
|
|
217
|
+
&.dark {
|
|
218
|
+
&::after {
|
|
219
|
+
background-image: linear-gradient(90deg, rgba(var(--o-mixedgray-4), 0) 0%, rgba(var(--o-mixedgray-4), 1) 100%);
|
|
220
|
+
}
|
|
221
|
+
}
|
|
217
222
|
|
|
218
223
|
.o-nav-list {
|
|
219
224
|
display: flex;
|
|
@@ -285,7 +290,7 @@ onUnmounted(() => {
|
|
|
285
290
|
}
|
|
286
291
|
.nav-dropdown {
|
|
287
292
|
position: fixed;
|
|
288
|
-
top:
|
|
293
|
+
top: var(--o-header-height);
|
|
289
294
|
left: 0;
|
|
290
295
|
right: 0;
|
|
291
296
|
background: var(--o-color-fill2);
|
|
@@ -358,6 +363,7 @@ onUnmounted(() => {
|
|
|
358
363
|
}
|
|
359
364
|
.content-tag {
|
|
360
365
|
margin-left: var(--o-gap-2);
|
|
366
|
+
border-radius: var(--o-radius-xs);
|
|
361
367
|
@include respond-to('<=laptop') {
|
|
362
368
|
display: none;
|
|
363
369
|
}
|
|
@@ -918,9 +924,9 @@ onUnmounted(() => {
|
|
|
918
924
|
}
|
|
919
925
|
|
|
920
926
|
.icon {
|
|
921
|
-
|
|
922
|
-
|
|
923
|
-
padding-left:
|
|
927
|
+
width: 24px;
|
|
928
|
+
height: 24px;
|
|
929
|
+
padding-left: 8px;
|
|
924
930
|
}
|
|
925
931
|
}
|
|
926
932
|
.content-label {
|
|
@@ -132,7 +132,6 @@ watch(
|
|
|
132
132
|
justify-content: center;
|
|
133
133
|
height: 48px;
|
|
134
134
|
color: var(--o-color-info1);
|
|
135
|
-
font-weight: 500;
|
|
136
135
|
|
|
137
136
|
&.active {
|
|
138
137
|
color: var(--o-color-primary1);
|
|
@@ -142,7 +141,7 @@ watch(
|
|
|
142
141
|
|
|
143
142
|
.header-content-mb {
|
|
144
143
|
position: fixed;
|
|
145
|
-
top:
|
|
144
|
+
top: var(--o-header-height);
|
|
146
145
|
bottom: 0;
|
|
147
146
|
left: 0;
|
|
148
147
|
right: 0;
|
|
@@ -157,8 +156,8 @@ watch(
|
|
|
157
156
|
position: fixed;
|
|
158
157
|
left: 0;
|
|
159
158
|
overflow: hidden;
|
|
160
|
-
top:
|
|
161
|
-
height: calc(100vh -
|
|
159
|
+
top: var(--o-header-height);
|
|
160
|
+
height: calc(100vh - var(--o-header-height));
|
|
162
161
|
transform: translateX(-130%);
|
|
163
162
|
|
|
164
163
|
transition-duration: 0.333s;
|
|
@@ -186,12 +185,12 @@ watch(
|
|
|
186
185
|
padding: 0;
|
|
187
186
|
margin: 0;
|
|
188
187
|
height: auto;
|
|
189
|
-
@include h4;
|
|
190
188
|
|
|
191
189
|
> li {
|
|
192
190
|
position: relative;
|
|
193
|
-
@include nav-item;
|
|
194
191
|
text-align: center;
|
|
192
|
+
@include tip1;
|
|
193
|
+
@include nav-item;
|
|
195
194
|
}
|
|
196
195
|
}
|
|
197
196
|
}
|
|
@@ -228,7 +227,7 @@ watch(
|
|
|
228
227
|
.content-label {
|
|
229
228
|
color: var(--o-color-info3);
|
|
230
229
|
font-weight: 500;
|
|
231
|
-
@include
|
|
230
|
+
@include tip1;
|
|
232
231
|
}
|
|
233
232
|
|
|
234
233
|
.item-not-children {
|
|
@@ -277,6 +276,7 @@ watch(
|
|
|
277
276
|
|
|
278
277
|
.container-mobile {
|
|
279
278
|
color: var(--o-color-primary1);
|
|
279
|
+
margin-top: 8px;
|
|
280
280
|
@include text2;
|
|
281
281
|
|
|
282
282
|
.icon {
|
|
@@ -299,7 +299,7 @@ watch(
|
|
|
299
299
|
color: var(--o-color-primary1);
|
|
300
300
|
display: flex;
|
|
301
301
|
align-items: center;
|
|
302
|
-
@include
|
|
302
|
+
@include tip1;
|
|
303
303
|
}
|
|
304
304
|
|
|
305
305
|
.content-tag {
|
|
@@ -316,7 +316,7 @@ watch(
|
|
|
316
316
|
margin-top: var(--o-gap-1);
|
|
317
317
|
text-align: justify;
|
|
318
318
|
word-break: normal;
|
|
319
|
-
@include
|
|
319
|
+
@include tip2;
|
|
320
320
|
@include text-truncate(2);
|
|
321
321
|
}
|
|
322
322
|
}
|
|
@@ -419,7 +419,7 @@ const handelHref = (href: string) => {
|
|
|
419
419
|
align-items: center;
|
|
420
420
|
height: 100%;
|
|
421
421
|
padding: 0 var(--o-gap-4);
|
|
422
|
-
color: var(--o-color-
|
|
422
|
+
color: var(--o-color-info1);
|
|
423
423
|
word-break: keep-all;
|
|
424
424
|
position: relative;
|
|
425
425
|
font-weight: normal;
|
|
@@ -14,8 +14,8 @@ import { computed, ref } from 'vue';
|
|
|
14
14
|
import { type EventsCardItemT, EventsStatusT, type EventsListPropsT, SearchParamsT } from './types';
|
|
15
15
|
import { compareDate } from './utils.ts';
|
|
16
16
|
import { useI18n } from '@/i18n';
|
|
17
|
-
|
|
18
|
-
import { CITY_MAP } from './config.ts';
|
|
17
|
+
|
|
18
|
+
import { CITY_MAP, DEFAULT_COVER } from './config.ts';
|
|
19
19
|
import { useScreen } from '@opendesign-plus/composables';
|
|
20
20
|
|
|
21
21
|
const { t } = useI18n();
|
|
@@ -100,7 +100,7 @@ const list = computed(() => {
|
|
|
100
100
|
cover = CITY_MAP[city];
|
|
101
101
|
}
|
|
102
102
|
if (!cover) {
|
|
103
|
-
cover =
|
|
103
|
+
cover = DEFAULT_COVER;
|
|
104
104
|
}
|
|
105
105
|
return {
|
|
106
106
|
...v,
|
|
@@ -30,4 +30,6 @@ export const CITY_MAP = {
|
|
|
30
30
|
西安: 'https://infrastructure-website.osinfra.cn/picture/city/xian.jpg',
|
|
31
31
|
郑州: 'https://infrastructure-website.osinfra.cn/picture/city/zhengzhou.jpg',
|
|
32
32
|
武汉: 'https://infrastructure-website.osinfra.cn/picture/city/wuhan.jpg',
|
|
33
|
-
};
|
|
33
|
+
};
|
|
34
|
+
|
|
35
|
+
export const DEFAULT_COVER = 'https://infrastructure-website.osinfra.cn/picture/city/default-cover.jpg';
|
package/vite.config.ts
CHANGED
|
@@ -91,7 +91,7 @@ export default defineConfig(({ mode }) => {
|
|
|
91
91
|
events: FileSystemIconLoader(path.resolve(__dirname, './src/assets/events/svg-icons')),
|
|
92
92
|
},
|
|
93
93
|
}),
|
|
94
|
-
ElementPlus({ useSource: true })
|
|
94
|
+
...(isLibraryMode ? [] : [ElementPlus({ useSource: true })])
|
|
95
95
|
],
|
|
96
96
|
assetsInclude: ['**/*.md'],
|
|
97
97
|
server: {
|