vdesign-ui 0.1.22 → 0.1.24-beta
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/components/activityviews/index.vue +13 -11
- package/dist/components/button/index.vue +1 -1
- package/dist/components/checkbox/index.vue +0 -26
- package/dist/components/dropdown/index.vue +72 -69
- package/dist/components/dropdown/style.less +23 -1
- package/dist/components/empty/404-dark.png +0 -0
- package/dist/components/empty/404.png +0 -0
- package/dist/components/empty/index.vue +30 -2
- package/dist/components/empty/network-dark.png +0 -0
- package/dist/components/empty/network.png +0 -0
- package/dist/components/empty/nocoupons-dark.png +0 -0
- package/dist/components/empty/nocoupons.png +0 -0
- package/dist/components/empty/nodata-dark.png +0 -0
- package/dist/components/empty/nodata.png +0 -0
- package/dist/components/empty/nomargin-dark.png +0 -0
- package/dist/components/empty/nomargin.png +0 -0
- package/dist/components/empty/nonotice-dark.png +0 -0
- package/dist/components/empty/nonotice.png +0 -0
- package/dist/components/empty/noocomments-dark.png +0 -0
- package/dist/components/empty/noocomments.png +0 -0
- package/dist/components/empty/noorders-dark.png +0 -0
- package/dist/components/empty/noorders.png +0 -0
- package/dist/components/empty/noposition-dark.png +0 -0
- package/dist/components/empty/noposition.png +0 -0
- package/dist/components/empty/nosearch-dark.png +0 -0
- package/dist/components/empty/nosearch.png +0 -0
- package/dist/components/footer/index.vue +1 -1
- package/dist/components/footnav/footnav-item/index.vue +2 -6
- package/dist/components/icon/font/iconfont.css +59 -949
- package/dist/components/icon/font/iconfont.js +1 -1
- package/dist/components/input/index.vue +31 -8
- package/dist/components/input/style.less +0 -1
- package/dist/components/loading/img_status_loading_white_ani.svg +155 -0
- package/dist/components/loading/img_status_refresh_ani.svg +158 -0
- package/dist/components/loading/index.vue +4 -3
- package/dist/components/loading/style.less +1 -1
- package/dist/components/mixins/clickoutside.js +81 -81
- package/dist/components/pagebreak/index.vue +11 -5
- package/dist/components/radio/index.vue +3 -7
- package/dist/components/radio/style.css +213 -0
- package/dist/components/radio/style.less +5 -0
- package/dist/components/result/index.vue +1 -2
- package/dist/components/selector/index.vue +64 -31
- package/dist/components/selector/style.less +10 -0
- package/dist/components/slider/index.vue +0 -6
- package/dist/components/title/index.vue +1 -1
- package/dist/components/upload/index.vue +67 -189
- package/dist/img/img_status_loading_white_ani.b56fcfae.svg +155 -0
- package/dist/img/img_status_refresh_ani.d0e59f12.svg +158 -0
- package/dist/token.css +10 -2
- package/dist/vdesign-ui.common.js +888 -795
- package/dist/vdesign-ui.css +1 -1
- package/dist/vdesign-ui.umd.js +888 -795
- package/dist/vdesign-ui.umd.min.js +3 -3
- package/package.json +1 -1
- package/dist/components/loading/loading.png +0 -0
- package/dist/components/loading/refresh.png +0 -0
- package/dist/img/404-dark.775df5bb.png +0 -0
- package/dist/img/network-dark.11a147bb.png +0 -0
- package/dist/img/nodata-dark.b0ea0e39.png +0 -0
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
<vd-icon v-if="closeIcon" class="vd-activityviews__close" :name="currentCloseIcon" svg
|
|
14
14
|
@click="onCancel"></vd-icon>
|
|
15
15
|
<vd-button v-if="closeBtn" class="vd-activityviews__done" type="primary_text" size="large"
|
|
16
|
-
|
|
16
|
+
@click="onCancel">{{ closeBtn }}</vd-button>
|
|
17
17
|
</slot>
|
|
18
18
|
</div>
|
|
19
19
|
<p v-if="description" class="vd-activityviews__description">{{ description }}</p>
|
|
@@ -23,8 +23,9 @@
|
|
|
23
23
|
<div v-if="actionSheet" class="vd-activityviews__action">
|
|
24
24
|
<p v-if="title" class="vd-activityviews__action-title vd-hairline--bottom">{{ title }}</p>
|
|
25
25
|
<div class="vd-activityviews__actions">
|
|
26
|
-
<vd-button v-for="(item, index) in actions" block size="large" :type="item.type"
|
|
27
|
-
:
|
|
26
|
+
<vd-button v-for="(item, index) in actions" block size="large" :type="item.type"
|
|
27
|
+
:key="index" :class="{ 'vd-hairline--bottom': index !== actions.length - 1 }"
|
|
28
|
+
:disabled="item.disabled" @click.stop="onSelect(item)">{{ item.name }}</vd-button>
|
|
28
29
|
</div>
|
|
29
30
|
<div v-if="cancelText" class="vd-activityviews__gap"></div>
|
|
30
31
|
<div v-if="cancelText" class="vd-activityviews__cancel" @click="onCancel">
|
|
@@ -47,7 +48,7 @@ export default {
|
|
|
47
48
|
props: {
|
|
48
49
|
value: Boolean,
|
|
49
50
|
title: String,
|
|
50
|
-
backDefault:Boolean,
|
|
51
|
+
backDefault: Boolean,
|
|
51
52
|
closeIcon: Boolean,
|
|
52
53
|
closeBtn: String,
|
|
53
54
|
description: String,
|
|
@@ -69,7 +70,7 @@ export default {
|
|
|
69
70
|
default: true
|
|
70
71
|
},
|
|
71
72
|
disabled: Boolean,
|
|
72
|
-
closeOnOverlay:{
|
|
73
|
+
closeOnOverlay: {
|
|
73
74
|
type: Boolean,
|
|
74
75
|
default: true
|
|
75
76
|
},
|
|
@@ -79,7 +80,7 @@ export default {
|
|
|
79
80
|
}
|
|
80
81
|
},
|
|
81
82
|
computed: {
|
|
82
|
-
visible(){
|
|
83
|
+
visible() {
|
|
83
84
|
return this.value
|
|
84
85
|
},
|
|
85
86
|
currentCloseIcon() {
|
|
@@ -121,20 +122,21 @@ export default {
|
|
|
121
122
|
|
|
122
123
|
.vd-activityviews-fade-enter-active,
|
|
123
124
|
.vd-activityviews-fade-leave-active {
|
|
124
|
-
|
|
125
|
+
transition: opacity 0.3s;
|
|
125
126
|
}
|
|
127
|
+
|
|
126
128
|
.vd-activityviews-fade-enter,
|
|
127
129
|
.vd-activityviews-fade-leave-to {
|
|
128
|
-
|
|
130
|
+
opacity: 0;
|
|
129
131
|
}
|
|
130
132
|
|
|
131
133
|
.vd-activityviews-slide-up-enter-active,
|
|
132
134
|
.vd-activityviews-slide-up-leave-active {
|
|
133
|
-
|
|
135
|
+
transition: transform 0.3s;
|
|
134
136
|
}
|
|
137
|
+
|
|
135
138
|
.vd-activityviews-slide-up-enter,
|
|
136
139
|
.vd-activityviews-slide-up-leave-to {
|
|
137
|
-
|
|
140
|
+
transform: translateY(100%);
|
|
138
141
|
}
|
|
139
|
-
|
|
140
142
|
</style>
|
|
@@ -37,31 +37,6 @@
|
|
|
37
37
|
<slot></slot>
|
|
38
38
|
</span>
|
|
39
39
|
</template>
|
|
40
|
-
<!-- <div class="vd-checkbox-button__icon">
|
|
41
|
-
<vd-icon
|
|
42
|
-
v-if="icon"
|
|
43
|
-
:name="icon"
|
|
44
|
-
class="vd-checkbox-button__icon--large"
|
|
45
|
-
:class="{ 'vd-checkbox-button__icon-mb': iconDescriptionText }"
|
|
46
|
-
></vd-icon>
|
|
47
|
-
<vd-icon
|
|
48
|
-
v-if="LeftIcon"
|
|
49
|
-
:name="LeftIcon"
|
|
50
|
-
class="vd-checkbox-button__icon--small"
|
|
51
|
-
></vd-icon>
|
|
52
|
-
<span
|
|
53
|
-
v-if="iconText"
|
|
54
|
-
class="vd-checkbox-button__text"
|
|
55
|
-
:class="{ 'vd-checkbox-button__text-mb': descriptionText }"
|
|
56
|
-
>{{ iconText }}</span
|
|
57
|
-
>
|
|
58
|
-
</div>
|
|
59
|
-
<span class="vd-checkbox-button-descript" v-if="descriptionText">{{
|
|
60
|
-
descriptionText
|
|
61
|
-
}}</span>
|
|
62
|
-
<span class="vd-checkbox-button__icon-descript" v-if="iconDescriptionText">{{
|
|
63
|
-
iconDescriptionText
|
|
64
|
-
}}</span> -->
|
|
65
40
|
</label>
|
|
66
41
|
</template>
|
|
67
42
|
<script>
|
|
@@ -97,7 +72,6 @@ export default {
|
|
|
97
72
|
currentValue: this.value,
|
|
98
73
|
group: false,
|
|
99
74
|
parent: findComponentUpward(this, "vd-checkbox-group"),
|
|
100
|
-
// name: "",
|
|
101
75
|
};
|
|
102
76
|
},
|
|
103
77
|
computed: {
|
|
@@ -1,44 +1,36 @@
|
|
|
1
1
|
<template>
|
|
2
2
|
<div class="vd-dropdown" :class="wrapClasses" v-show="isMask">
|
|
3
|
-
<transition :name="isAnimation ? 'vd-dropdown-fade' : ''">
|
|
3
|
+
<!-- <transition :name="isAnimation ? 'vd-dropdown-fade' : ''">
|
|
4
4
|
<div class="vd-menu-mask" @click.stop="clickMenuMask"></div>
|
|
5
|
-
</transition>
|
|
6
|
-
|
|
5
|
+
</transition> -->
|
|
7
6
|
<transition :name="isAnimation ? 'vd-dropdown-slide-down' : ''">
|
|
8
|
-
<div class="vd-dropdown-menu" v-show="
|
|
9
|
-
|
|
7
|
+
<div v-clickoutside="clickMenuMask" class="vd-dropdown-menu" v-show="isMask">
|
|
10
8
|
<template v-if="!isMultiple && !$slots.custom">
|
|
11
|
-
<div class="vd-dropdown-item" :class="itemClass(item)" v-for="(item, index)
|
|
9
|
+
<div class="vd-dropdown-item" :class="itemClass(item)" v-for="(item, index) in datalist" :key="item.name"
|
|
12
10
|
@click.stop="selectedItem(item, index)">
|
|
13
11
|
<span class="vd-dropdown-left">
|
|
14
12
|
<vd-icon v-if="item.icon" :name="item.icon" svg class="vd-dropdown-icon"></vd-icon>
|
|
15
13
|
<span class="vd-dropdown-group-cell">
|
|
16
|
-
<span class="vd-dropdown-text">
|
|
17
|
-
|
|
18
|
-
</span>
|
|
19
|
-
<span v-if="['group'].includes(types)" class="vd-dropdown-group-sub">
|
|
14
|
+
<span class="vd-dropdown-text">{{ item.text }}</span>
|
|
15
|
+
<span v-if="types === 'group'" class="vd-dropdown-group-sub">
|
|
20
16
|
<vd-icon v-if="item.subIcon" :name="item.subIcon" svg class="vd-dropdown-sub-icon"></vd-icon>
|
|
21
17
|
<span class="vd-dropdown-subtext" v-html="item.subText"></span>
|
|
22
18
|
</span>
|
|
23
19
|
</span>
|
|
24
20
|
</span>
|
|
25
|
-
|
|
26
|
-
<vd-icon v-if="['primary'].includes(types) && item.selected" class="vd-dropdown-active-select"
|
|
21
|
+
<vd-icon v-if="types === 'primary' && item.selected" class="vd-dropdown-active-select"
|
|
27
22
|
name="icon_btn_singleslt" color="#1BC47D"></vd-icon>
|
|
28
|
-
<span v-if="
|
|
23
|
+
<span v-if="types === 'state'" v-html="item.stateText" class="vd-dropdown-state-text"
|
|
29
24
|
:class="`vd-dropdown-state-text--${item.state}`"></span>
|
|
30
25
|
</div>
|
|
31
26
|
</template>
|
|
32
27
|
|
|
33
28
|
<template v-if="isMultiple">
|
|
34
|
-
<div class="vd-dropdown-item" :class="itemClass(item)" v-for="item
|
|
35
|
-
|
|
36
|
-
<vd-checkbox v-model="item.selected"
|
|
37
|
-
:disabled="!item.selected && max <= list.filter(value => value.selected == true).length ? true : false">
|
|
29
|
+
<div class="vd-dropdown-item" :class="itemClass(item)" v-for="item in datalist" :key="item.name">
|
|
30
|
+
<vd-checkbox v-model="item.selected" :disabled="!item.selected && max <= selectedCount">
|
|
38
31
|
{{ item.text }}
|
|
39
32
|
</vd-checkbox>
|
|
40
|
-
|
|
41
|
-
<vd-icon v-if="['primary'].includes(types) && item.selected" class="vd-dropdown-active-select"
|
|
33
|
+
<vd-icon v-if="types === 'primary' && item.selected" class="vd-dropdown-active-select"
|
|
42
34
|
name="icon_btn_singleslt" color="#1BC47D"></vd-icon>
|
|
43
35
|
</div>
|
|
44
36
|
<div class="vd-dropdown--btn">
|
|
@@ -52,16 +44,20 @@
|
|
|
52
44
|
</div>
|
|
53
45
|
</div>
|
|
54
46
|
</transition>
|
|
55
|
-
|
|
56
47
|
</div>
|
|
57
48
|
</template>
|
|
49
|
+
|
|
58
50
|
<script>
|
|
51
|
+
import clickoutside from "../mixins/clickoutside.js";
|
|
52
|
+
|
|
59
53
|
const prefixCls = 'vd-dropdown';
|
|
60
54
|
export default {
|
|
61
55
|
name: 'vd-dropdown',
|
|
56
|
+
directives: {
|
|
57
|
+
clickoutside
|
|
58
|
+
},
|
|
62
59
|
props: {
|
|
63
60
|
isAnimation: {
|
|
64
|
-
//是否有动画效果
|
|
65
61
|
type: Boolean,
|
|
66
62
|
default: false
|
|
67
63
|
},
|
|
@@ -71,7 +67,6 @@ export default {
|
|
|
71
67
|
validator: value => ['primary', 'secondary', 'state', 'group'].includes(value)
|
|
72
68
|
},
|
|
73
69
|
value: {
|
|
74
|
-
//是否显示
|
|
75
70
|
type: Boolean,
|
|
76
71
|
default: false
|
|
77
72
|
},
|
|
@@ -83,13 +78,17 @@ export default {
|
|
|
83
78
|
type: Boolean,
|
|
84
79
|
default: false
|
|
85
80
|
},
|
|
81
|
+
alignment: {
|
|
82
|
+
type: String,
|
|
83
|
+
default: 'center',
|
|
84
|
+
validator: value => ['start', 'end', 'center'].includes(value)
|
|
85
|
+
},
|
|
86
86
|
col: {
|
|
87
|
-
//显示的列数
|
|
88
87
|
type: [Number, String],
|
|
89
88
|
default: 1
|
|
90
89
|
},
|
|
91
90
|
max: {
|
|
92
|
-
type: [
|
|
91
|
+
type: [Number, String],
|
|
93
92
|
default: 5
|
|
94
93
|
},
|
|
95
94
|
custom: {
|
|
@@ -98,49 +97,40 @@ export default {
|
|
|
98
97
|
},
|
|
99
98
|
list: {
|
|
100
99
|
type: Array,
|
|
101
|
-
default: () =>
|
|
102
|
-
return [];
|
|
103
|
-
}
|
|
104
|
-
},
|
|
105
|
-
// state
|
|
106
|
-
state: {
|
|
107
|
-
type: String,
|
|
108
|
-
default: 'close',
|
|
109
|
-
validator: value => ['open', 'preopen', 'close', 'fusing', 'pre', 'last'].includes(value)
|
|
100
|
+
default: () => []
|
|
110
101
|
},
|
|
111
|
-
|
|
102
|
+
for: {
|
|
112
103
|
type: String,
|
|
113
104
|
default: ''
|
|
114
105
|
},
|
|
115
|
-
// group
|
|
116
|
-
subText: {
|
|
117
|
-
type: String,
|
|
118
|
-
default: ''
|
|
119
|
-
},
|
|
120
|
-
subIcon: {
|
|
121
|
-
type: String,
|
|
122
|
-
default: ''
|
|
123
|
-
}
|
|
124
|
-
},
|
|
125
|
-
watch: {
|
|
126
|
-
value(val) {
|
|
127
|
-
this.isMask = val ? true : false
|
|
128
|
-
}
|
|
129
106
|
},
|
|
130
107
|
data() {
|
|
131
108
|
return {
|
|
132
|
-
datalist: []
|
|
133
|
-
isMask: false
|
|
109
|
+
datalist: []
|
|
134
110
|
};
|
|
135
111
|
},
|
|
136
|
-
|
|
137
|
-
|
|
112
|
+
watch: {
|
|
113
|
+
list: {
|
|
114
|
+
immediate: true,
|
|
115
|
+
handler(val) {
|
|
116
|
+
this.datalist = [...val];
|
|
117
|
+
}
|
|
118
|
+
},
|
|
119
|
+
value(val){
|
|
120
|
+
if(!val){
|
|
121
|
+
this.$emit('close')
|
|
122
|
+
}
|
|
123
|
+
}
|
|
138
124
|
},
|
|
139
125
|
computed: {
|
|
126
|
+
isMask() {
|
|
127
|
+
return this.value;
|
|
128
|
+
},
|
|
140
129
|
wrapClasses() {
|
|
141
130
|
return {
|
|
142
131
|
[`${prefixCls}-${this.types}`]: this.types,
|
|
143
132
|
[`${prefixCls}--divided`]: this.types !== 'state',
|
|
133
|
+
[`${prefixCls}-${this.alignment}`]: this.alignment
|
|
144
134
|
};
|
|
145
135
|
},
|
|
146
136
|
okBtnTxt() {
|
|
@@ -148,6 +138,9 @@ export default {
|
|
|
148
138
|
},
|
|
149
139
|
resetBtnTxt() {
|
|
150
140
|
return '重置';
|
|
141
|
+
},
|
|
142
|
+
selectedCount() {
|
|
143
|
+
return this.datalist.filter(item => item.selected).length;
|
|
151
144
|
}
|
|
152
145
|
},
|
|
153
146
|
methods: {
|
|
@@ -155,36 +148,46 @@ export default {
|
|
|
155
148
|
return {
|
|
156
149
|
[`${prefixCls}--disabled`]: item.disabled,
|
|
157
150
|
[`${prefixCls}--active`]: item.selected
|
|
158
|
-
}
|
|
151
|
+
};
|
|
159
152
|
},
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
153
|
+
findParentWithNameAttr(element, nameValue) {
|
|
154
|
+
// 如果当前元素具有 name 属性且与传入的值匹配,返回该元素
|
|
155
|
+
if (element.getAttribute && element.getAttribute('alias-name') === nameValue) {
|
|
156
|
+
return element;
|
|
157
|
+
}
|
|
158
|
+
// 如果已经到达根元素 (document 或 null),停止查找
|
|
159
|
+
if (element.parentElement) {
|
|
160
|
+
return this.findParentWithNameAttr(element.parentElement, nameValue); // 递归查找父元素
|
|
161
|
+
}
|
|
162
|
+
return null; // 没有找到带 name 属性的匹配元素
|
|
163
|
+
},
|
|
164
|
+
clickMenuMask(e) {
|
|
165
|
+
if (this.value) {
|
|
166
|
+
if(this.for){
|
|
167
|
+
const nameElement = this.findParentWithNameAttr(e, this.for)
|
|
168
|
+
// 如果没找到就说明点外面了
|
|
169
|
+
if (!nameElement) {
|
|
170
|
+
this.$emit('input', false);
|
|
171
|
+
}
|
|
172
|
+
}
|
|
173
|
+
}
|
|
163
174
|
},
|
|
164
175
|
selectedItem(item, index) {
|
|
165
|
-
this.$emit('change', item, index);
|
|
166
|
-
},
|
|
167
|
-
selectMultiple(index) {
|
|
168
|
-
const count = this.datalist.filter(item => item.selected).length;
|
|
169
|
-
if (!this.datalist[index].selected && count >= this.max) {
|
|
170
|
-
this.$emit('maxTip');
|
|
171
|
-
return;
|
|
172
|
-
}
|
|
173
|
-
this.$set(this.datalist[index], 'selected', !this.datalist[index].selected);
|
|
176
|
+
this.$emit('change', item, index); // 通知父组件选中项改变
|
|
174
177
|
},
|
|
175
178
|
resetMenu() {
|
|
176
|
-
this.datalist.
|
|
179
|
+
this.datalist.forEach(item => (item.selected = false));
|
|
177
180
|
this.$emit('reset', this.datalist);
|
|
178
181
|
},
|
|
179
182
|
sureMenu() {
|
|
180
|
-
this
|
|
181
|
-
this.$emit('
|
|
182
|
-
this.$emit('ok', this.datalist);
|
|
183
|
+
this.$emit('close'); // 关闭菜单
|
|
184
|
+
this.$emit('ok', this.datalist); // 确认并返回数据
|
|
183
185
|
}
|
|
184
186
|
}
|
|
185
187
|
};
|
|
186
188
|
</script>
|
|
187
189
|
|
|
190
|
+
|
|
188
191
|
<style lang="less">
|
|
189
192
|
@import './style.less';
|
|
190
193
|
|
|
@@ -35,11 +35,33 @@
|
|
|
35
35
|
transform-origin: top center;
|
|
36
36
|
position: absolute;
|
|
37
37
|
transition: transform 0.25s ease, opacity 0.25s ease;
|
|
38
|
-
inset-inline-start: 50%;
|
|
39
38
|
inset-block-start: 100%;
|
|
39
|
+
// 默认 center
|
|
40
|
+
inset-inline-start: 50%;
|
|
40
41
|
transform: translate(var(--translate-x), 2px);
|
|
41
42
|
}
|
|
42
43
|
|
|
44
|
+
&-start {
|
|
45
|
+
.@{dropdown-prefix-cls}-menu {
|
|
46
|
+
inset-inline-start: 0;
|
|
47
|
+
transform: translate(0, 2px);
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
&-end {
|
|
52
|
+
.@{dropdown-prefix-cls}-menu {
|
|
53
|
+
inset-inline-start: inherit;
|
|
54
|
+
inset-inline-end: 0;
|
|
55
|
+
transform: translate(0, 2px);
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
&-center {
|
|
60
|
+
.@{dropdown-prefix-cls}-menu {
|
|
61
|
+
inset-inline-start: 50%;
|
|
62
|
+
transform: translate(var(--translate-x), 2px);
|
|
63
|
+
}
|
|
64
|
+
}
|
|
43
65
|
|
|
44
66
|
&-primary {
|
|
45
67
|
.@{dropdown-prefix-cls}-menu {
|
|
Binary file
|
|
Binary file
|
|
@@ -25,7 +25,7 @@ export default {
|
|
|
25
25
|
default: 'nodata', // 默认类型
|
|
26
26
|
validator(value) {
|
|
27
27
|
// 只接受以下类型值
|
|
28
|
-
return ['nodata', 'network', 'not-found'].includes(value);
|
|
28
|
+
return ['nodata', 'network', 'not-found','noposition','nomargin','nocoupons','nosearch','nonotice','noorders','noocomments'].includes(value);
|
|
29
29
|
}
|
|
30
30
|
},
|
|
31
31
|
},
|
|
@@ -43,7 +43,35 @@ export default {
|
|
|
43
43
|
'not-found': {
|
|
44
44
|
light: require('./404.png'),
|
|
45
45
|
dark: require('./404-dark.png')
|
|
46
|
-
}
|
|
46
|
+
},
|
|
47
|
+
noposition: {
|
|
48
|
+
light: require('./noposition.png'),
|
|
49
|
+
dark: require('./noposition-dark.png')
|
|
50
|
+
},
|
|
51
|
+
nomargin: {
|
|
52
|
+
light: require('./nomargin.png'),
|
|
53
|
+
dark: require('./nomargin-dark.png')
|
|
54
|
+
},
|
|
55
|
+
nocoupons: {
|
|
56
|
+
light: require('./nocoupons.png'),
|
|
57
|
+
dark: require('./nocoupons-dark.png')
|
|
58
|
+
},
|
|
59
|
+
nosearch: {
|
|
60
|
+
light: require('./nosearch.png'),
|
|
61
|
+
dark: require('./nosearch-dark.png')
|
|
62
|
+
},
|
|
63
|
+
nonotice: {
|
|
64
|
+
light: require('./nonotice.png'),
|
|
65
|
+
dark: require('./nonotice-dark.png')
|
|
66
|
+
},
|
|
67
|
+
noorders: {
|
|
68
|
+
light: require('./noorders.png'),
|
|
69
|
+
dark: require('./noorders-dark.png')
|
|
70
|
+
},
|
|
71
|
+
noocomments: {
|
|
72
|
+
light: require('./noocomments.png'),
|
|
73
|
+
dark: require('./noocomments-dark.png')
|
|
74
|
+
},
|
|
47
75
|
}
|
|
48
76
|
}
|
|
49
77
|
},
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
<template>
|
|
2
2
|
<div class="vd-foot-nav-item" :class="{ 'vd-foot-nav-item--active': active }" @click="onClick">
|
|
3
|
-
<vd-
|
|
4
|
-
|
|
5
|
-
<vd-icon :name="iconName" size="large" :svg="isSvg"></vd-icon>
|
|
3
|
+
<vd-badge v-if="iconName|| $slots.icon" :is-dot="dot" :value="badge" :max="99">
|
|
4
|
+
<slot name="icon"><vd-icon :name="iconName" size="large" :svg="isSvg"></vd-icon></slot>
|
|
6
5
|
</vd-badge>
|
|
7
6
|
<slot></slot>
|
|
8
7
|
</div>
|
|
@@ -25,9 +24,6 @@ export default {
|
|
|
25
24
|
name: {
|
|
26
25
|
type: String,
|
|
27
26
|
},
|
|
28
|
-
text: {
|
|
29
|
-
type: String,
|
|
30
|
-
},
|
|
31
27
|
dot: {
|
|
32
28
|
type: Boolean,
|
|
33
29
|
},
|