vdesign-ui 0.1.24 → 0.2.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 (76) hide show
  1. package/dist/components/activityviews/index.vue +14 -12
  2. package/dist/components/button/index.vue +1 -1
  3. package/dist/components/checkbox/checkbox-group/index.vue +2 -1
  4. package/dist/components/checkbox/index.vue +19 -20
  5. package/dist/components/dialog/index.vue +15 -11
  6. package/dist/components/dropdown/index.vue +43 -31
  7. package/dist/components/empty/404-dark.png +0 -0
  8. package/dist/components/empty/404.png +0 -0
  9. package/dist/components/empty/index.vue +30 -2
  10. package/dist/components/empty/network-dark.png +0 -0
  11. package/dist/components/empty/network.png +0 -0
  12. package/dist/components/empty/nocoupons-dark.png +0 -0
  13. package/dist/components/empty/nocoupons.png +0 -0
  14. package/dist/components/empty/nodata-dark.png +0 -0
  15. package/dist/components/empty/nodata.png +0 -0
  16. package/dist/components/empty/nomargin-dark.png +0 -0
  17. package/dist/components/empty/nomargin.png +0 -0
  18. package/dist/components/empty/nonotice-dark.png +0 -0
  19. package/dist/components/empty/nonotice.png +0 -0
  20. package/dist/components/empty/noocomments-dark.png +0 -0
  21. package/dist/components/empty/noocomments.png +0 -0
  22. package/dist/components/empty/noorders-dark.png +0 -0
  23. package/dist/components/empty/noorders.png +0 -0
  24. package/dist/components/empty/noposition-dark.png +0 -0
  25. package/dist/components/empty/noposition.png +0 -0
  26. package/dist/components/empty/nosearch-dark.png +0 -0
  27. package/dist/components/empty/nosearch.png +0 -0
  28. package/dist/components/empty/style.less +4 -0
  29. package/dist/components/footer/index.vue +5 -1
  30. package/dist/components/footnav/footnav-item/index.vue +11 -42
  31. package/dist/components/footnav/index.vue +29 -33
  32. package/dist/components/headnav/index.vue +55 -37
  33. package/dist/components/headnav/style.less +0 -9
  34. package/dist/components/icon/font/iconfont.css +62 -952
  35. package/dist/components/icon/font/iconfont.js +5 -1
  36. package/dist/components/icon/index.vue +26 -18
  37. package/dist/components/input/calcTextareaHeight.js +36 -140
  38. package/dist/components/input/index.vue +107 -109
  39. package/dist/components/input/search/index.vue +18 -22
  40. package/dist/components/input/stepper/index.vue +32 -26
  41. package/dist/components/input/style.less +20 -33
  42. package/dist/components/list/index.vue +57 -69
  43. package/dist/components/list/style.less +20 -92
  44. package/dist/components/loading/img_status_loading_white_ani.svg +155 -0
  45. package/dist/components/loading/img_status_refresh_ani.svg +158 -0
  46. package/dist/components/loading/index.vue +28 -11
  47. package/dist/components/loading/style.less +1 -1
  48. package/dist/components/mixins/clickoutside.js +81 -81
  49. package/dist/components/mixins/outlineConfigPlugin.js +11 -6
  50. package/dist/components/noticebar/index.vue +9 -4
  51. package/dist/components/pagebreak/index.vue +21 -14
  52. package/dist/components/radio/index.vue +164 -135
  53. package/dist/components/radio/radio-group/index.vue +40 -52
  54. package/dist/components/result/index.vue +1 -2
  55. package/dist/components/selector/index.vue +49 -31
  56. package/dist/components/selector/style.less +14 -0
  57. package/dist/components/step-item/index.vue +2 -2
  58. package/dist/components/tabs/index.vue +55 -32
  59. package/dist/components/tabs/tab/index.vue +13 -16
  60. package/dist/components/tag/index.vue +18 -4
  61. package/dist/components/tag/style.less +2 -2
  62. package/dist/components/title/index.vue +11 -8
  63. package/dist/components/title/style.less +6 -0
  64. package/dist/img/img_status_loading_white_ani.b56fcfae.svg +155 -0
  65. package/dist/img/img_status_refresh_ani.d0e59f12.svg +158 -0
  66. package/dist/token.css +8 -0
  67. package/dist/vdesign-ui.common.js +1481 -1354
  68. package/dist/vdesign-ui.css +1 -1
  69. package/dist/vdesign-ui.umd.js +1481 -1354
  70. package/dist/vdesign-ui.umd.min.js +3 -3
  71. package/package.json +1 -1
  72. package/dist/components/loading/loading.png +0 -0
  73. package/dist/components/loading/refresh.png +0 -0
  74. package/dist/img/404-dark.775df5bb.png +0 -0
  75. package/dist/img/network-dark.11a147bb.png +0 -0
  76. package/dist/img/nodata-dark.b0ea0e39.png +0 -0
@@ -23,24 +23,10 @@
23
23
  align-items: flex-start;
24
24
  }
25
25
 
26
- // &-inner__title{
27
- // color: var(--color-title-head);
28
- // }
29
-
30
- &__subtext {
31
- margin-block-start: calc(var(--spacing-title-subtitle-margin_top) * 1px);
32
- color: var(--color-title-text);
33
- }
34
-
35
- &-arrow {
36
- // color:var(--color-title-icon_arrow);
26
+ &__arrow {
37
27
  display: flex;
38
28
  margin-inline-start: calc(var(--spacing-list-info_icon-margin_y) * 1px);
39
-
40
- .vd-iconfont {
41
- font-size: calc(var(--icon-small) * 1px);
42
- color: var(--text-color-h2);
43
- }
29
+ color: var(--text-color-h2);
44
30
  }
45
31
 
46
32
  &__multext {
@@ -49,16 +35,11 @@
49
35
  color: var(--text-color-h1);
50
36
  }
51
37
 
52
- &-xs {
38
+ &-xsmall {
53
39
  padding-block-start: calc(var(--spacing-list-info_s-padding_top) * 1px);
54
40
  padding-block-end: calc(var(--spacing-list-info_s-padding_bottom) * 1px);
55
- // &__icon--left{
56
- // margin-inline-end: calc(var(--spacing-title-primary_icon-margin_y) * 1px);
57
- // font-size: calc(var(--icon-title-primary) * 1px);
58
- // }
59
41
 
60
42
  &__icon--right {
61
- font-size: 16px;
62
43
  color: var(--text-color-h2);
63
44
  }
64
45
 
@@ -74,24 +55,13 @@
74
55
  font-weight: var(--en-single-f-c-r-fontWeight);
75
56
  color: var(--text-color-h1);
76
57
  }
77
-
78
- // &__subtext{
79
- // font-size: calc(var(--en-single-f-c-r-fontSize) * 1px);
80
- // font-weight: var(--en-single-f-c-r-fontWeight);
81
- // }
82
58
  }
83
59
 
84
- &-s {
60
+ &-small {
85
61
  padding-block-start: calc(var(--spacing-list-info_m-padding_top) * 1px);
86
62
  padding-block-end: calc(var(--spacing-list-info_m-padding_bottom) * 1px);
87
63
 
88
- // &__icon--left{
89
- // margin-inline-end: calc(var(--spacing-title-secondary_icon-margin_y) * 1px);
90
- // font-size: calc(var(--icon-title-secondary) * 1px);
91
- // }
92
-
93
64
  &__icon--right {
94
- font-size: 16px;
95
65
  color: var(--text-color-h2);
96
66
  }
97
67
 
@@ -107,25 +77,13 @@
107
77
  font-weight: var(--en-single-f-c-s-fontWeight);
108
78
  color: var(--text-color-h1);
109
79
  }
110
-
111
- // &__subtext{
112
- // font-size: calc(var(--en-single-f-b-r-fontSize) * 1px);
113
- // font-weight: var(--en-single-f-b-r-fontWeight);
114
- // }
115
80
  }
116
81
 
117
- &-m {
82
+ &-medium {
118
83
  padding-block-start: calc(var(--spacing-list-info_l-padding_top) * 1px);
119
84
  padding-block-end: calc(var(--spacing-list-info_l-padding_bottom) * 1px);
120
85
 
121
- // &__icon--left{
122
- // margin-inline-end: calc(var(--spacing-title-tertiary_icon-margin_y) * 1px);
123
- // font-size: calc(var(--icon-title-tertiary) * 1px);
124
- // }
125
-
126
86
  &__icon--right {
127
- // margin-inline-start: calc(var(--spacing-title-tertiary_icon-margin_y) * 1px);
128
- font-size: 16px;
129
87
  color: var(--text-color-h2);
130
88
  }
131
89
 
@@ -142,22 +100,12 @@
142
100
  color: var(--text-color-h1);
143
101
  }
144
102
 
145
- // &__subtext{
146
- // font-size: calc(var(--en-single-f-b-r-fontSize) * 1px);
147
- // font-weight: var(--en-single-f-b-r-fontSize);
148
- // }
149
103
  }
150
104
 
151
- &-l {
105
+ &-large {
152
106
  height: calc(var(--height-super-large) * 1px);
153
107
 
154
- // &__icon--left{
155
- // margin-inline-end: calc(var(--spacing-title-quaternary_icon-margin_y) * 1px);
156
- // font-size: calc(var(--icon-title-quaternary) * 1px);
157
- // }
158
-
159
108
  &__icon--right {
160
- font-size: 16px;
161
109
  color: var(--text-color-h2);
162
110
  }
163
111
 
@@ -169,16 +117,11 @@
169
117
  }
170
118
 
171
119
  &__text--right {
172
- text-align: end;
173
120
  font-size: calc(var(--en-single-f-d-s-fontSize) * 1px);
174
121
  font-weight: var(--en-single-f-d-s-fontWeight);
175
122
  color: var(--text-color-h1);
176
123
  }
177
124
 
178
- // &__subtext{
179
- // font-size: calc(var(--en-single-f-a-r-fontSize) * 1px);
180
- // font-weight: var(--en-single-f-a-r-fontSize);
181
- // }
182
125
  }
183
126
 
184
127
  &-common {
@@ -192,50 +135,37 @@
192
135
  display: flex;
193
136
  align-items: center;
194
137
  }
195
-
196
-
197
138
  &__icon--leftcus {
198
139
  margin-inline-end: calc(var(--spacing-list-common_icon-margin_right) * 1px);
199
- font-size: calc(var(--icon-large) * 1px);
200
140
  color: var(--text-color-h2);
201
141
  }
202
142
 
203
- // &__icon--left{
204
- // margin-inline-end: calc(var(--spacing-title-quaternary_icon-margin_y) * 1px);
205
- // font-size: calc(var(--icon-title-quaternary) * 1px);
206
- // }
207
-
208
- // &__icon--right{
209
- // margin-inline-start: calc(var(--spacing-title-quaternary_icon-margin_y) * 1px);
210
- // font-size: calc(var(--icon-title-quaternary) * 1px);
211
- // }
212
-
213
143
  &__title {
214
- // word-break: break-all;
215
- // text-overflow: ellipsis;
216
- // display: -webkit-box;
217
- // -webkit-box-orient: vertical;
218
- // -webkit-line-clamp: 2; /* 超出几行省略 */
219
- // overflow: hidden;
220
144
  color: var(--color-list-title);
221
- font-size: calc(var(--en-single-f-d-s-fontSize) * 1px);
222
- font-weight: var(--en-single-f-d-s-fontWeight);
145
+ font-size: calc(var(--en-multi-f-d-s-fontSize) * 1px);
146
+ font-weight: var(--en-multi-f-d-s-fontWeight);
147
+ line-height: calc(var(--en-multi-f-d-s-lineHeight) * 1px);
148
+
149
+ &--with-subtitle{
150
+ line-height: inherit;
151
+ font-size: calc(var(--en-single-f-d-s-fontSize) * 1px);
152
+ font-weight: var(--en-single-f-d-s-fontWeight);
153
+ }
223
154
  }
224
155
 
225
156
  &__text--right {
226
- text-align: end;
227
157
  margin-inline-start: calc(var(--spacing-list-common_describe-margin_xy) * 1px);
228
158
  font-size: calc(var(--en-single-f-c-r-fontSize) * 1px);
229
159
  font-weight: var(--en-single-f-c-r-fontWeight);
230
160
  color: var(--color-list-text);
231
-
232
161
  }
233
162
 
234
- &__subtext {
235
- line-height: 21px;
163
+ &__subtitle {
164
+ margin-block-start:calc(var(--spacing-list-common_describe-margin_xy)* 1px);
236
165
  color: var(--color-list-text);
237
- font-size: calc(var(--en-single-f-c-r-fontSize) * 1px);
238
- font-weight: var(--en-single-f-c-r-fontWeight);
166
+ font-size: calc(var(--en-multi-f-c-r-fontSize) * 1px);
167
+ font-weight: var(--en-multi-f-c-r-fontWeight);
168
+ line-height: calc(var(--en-multi-f-c-r-lineHeight) * 1px);
239
169
  }
240
170
 
241
171
  &__badge {
@@ -274,13 +204,11 @@
274
204
 
275
205
  &__icon--leftcus {
276
206
  margin-inline-end: calc(var(--spacing-list-check_icon-margin_right) * 1px);
277
- font-size: calc(var(--icon-large) * 1px);
278
207
  color: var(--text-color-h2);
279
208
  }
280
209
  }
281
210
 
282
211
  &__icon--extra {
283
- font-size: 16px;
284
212
  margin-inline-end: calc(var(--spacing-list-info_icon-margin_y) * 1px);
285
213
  color: var(--text-color-h2);
286
214
  }
@@ -0,0 +1,155 @@
1
+ <svg
2
+ fill="none"
3
+ width='100%'
4
+ height='100%'
5
+ viewBox="0 0 32 32"
6
+ xmlns="http://www.w3.org/2000/svg"
7
+ xmlns:xlink="http://www.w3.org/1999/xlink"
8
+ >
9
+ <defs>
10
+ <style type="text/css">
11
+ <![CDATA[
12
+ @keyframes loading-animate1 {
13
+ 0% {
14
+ fill-opacity: 0.16;
15
+ }
16
+ 20% {
17
+ fill-opacity: 1;
18
+ }
19
+ 26% {
20
+ fill-opacity: 0.32;
21
+ }
22
+ 32% {
23
+ fill-opacity: 0.16;
24
+ }
25
+ 100% {
26
+ fill-opacity: 0.16;
27
+ }
28
+ }
29
+
30
+ @keyframes loading-animate2 {
31
+ 0% {
32
+ fill-opacity: 0.16;
33
+ }
34
+ 12% {
35
+ fill-opacity: 0.16;
36
+ }
37
+ 22% {
38
+ fill-opacity: 1;
39
+ }
40
+ 31% {
41
+ fill-opacity: 0.32;
42
+ }
43
+ 37% {
44
+ fill-opacity: 0.16;
45
+ }
46
+ 100% {
47
+ fill-opacity: 0.16;
48
+ }
49
+ }
50
+
51
+ @keyframes loading-animate3 {
52
+ 0% {
53
+ fill-opacity: 0.16;
54
+ }
55
+ 20% {
56
+ fill-opacity: 0.16;
57
+ }
58
+ 30% {
59
+ fill-opacity: 1;
60
+ }
61
+ 36% {
62
+ fill-opacity: 0.32;
63
+ }
64
+ 42% {
65
+ fill-opacity: 0.16;
66
+ }
67
+ 100% {
68
+ fill-opacity: 0.16;
69
+ }
70
+ }
71
+
72
+ @keyframes loading-animate4 {
73
+ 0% {
74
+ fill-opacity: 0.16;
75
+ }
76
+ 25% {
77
+ fill-opacity: 0.16;
78
+ }
79
+ 35% {
80
+ fill-opacity: 1;
81
+ }
82
+ 41% {
83
+ fill-opacity: 0.32;
84
+ }
85
+ 47% {
86
+ fill-opacity: 0.16;
87
+ }
88
+ 100% {
89
+ fill-opacity: 0.16;
90
+ }
91
+ }
92
+
93
+ .loading-part-1,
94
+ .loading-part-2,
95
+ .loading-part-3,
96
+ .loading-part-4 {
97
+ animation-duration: 1s;
98
+ animation-delay: 0s;
99
+ animation-timing-function: cubic-bezier(0.5, 0, 1, 1);
100
+ animation-iteration-count: infinite;
101
+ }
102
+
103
+ .loading-part-1 {
104
+ animation-name: loading-animate1;
105
+ }
106
+
107
+ .loading-part-2 {
108
+ animation-name: loading-animate2;
109
+ }
110
+
111
+ .loading-part-3 {
112
+ animation-name: loading-animate3;
113
+ }
114
+
115
+ .loading-part-4 {
116
+ animation-name: loading-animate4;
117
+ }
118
+ ]]>
119
+ </style>
120
+ </defs>
121
+ <g>
122
+ <path
123
+ class="loading-part-1"
124
+ fill-rule="evenodd"
125
+ clip-rule="evenodd"
126
+ d="M6 32.0001L9.72003 28.209C9.95076 27.9739 10.0803 27.655 10.0803 27.3225V16.2236L6.36035 20.0147C6.12963 20.2498 6 20.5687 6 20.9012V32.0001Z"
127
+ fill-opacity="0.16"
128
+ fill="#FFFFFF"
129
+ />
130
+ <path
131
+ class="loading-part-2"
132
+ fill-rule="evenodd"
133
+ clip-rule="evenodd"
134
+ d="M11.3068 26.559L15.0269 22.768C15.2576 22.5329 15.3872 22.214 15.3872 21.8815V2.71126L11.6672 6.50233C11.4364 6.73746 11.3068 7.05636 11.3068 7.38889V26.559Z"
135
+ fill-opacity="0.16"
136
+ fill="#FFFFFF"
137
+ />
138
+ <path
139
+ class="loading-part-3"
140
+ fill-rule="evenodd"
141
+ clip-rule="evenodd"
142
+ d="M16.6255 29.2742L20.3455 25.4832C20.5762 25.248 20.7059 24.9292 20.7059 24.5966V5.42644L16.9858 9.21751C16.7552 9.4526 16.6255 9.77154 16.6255 10.104V29.2742Z"
143
+ fill="#FFFFFF"
144
+ fill-opacity="0.16"
145
+ />
146
+ <path
147
+ class="loading-part-4"
148
+ fill-rule="evenodd"
149
+ clip-rule="evenodd"
150
+ d="M21.9196 15.7765L25.6396 11.9854C25.8703 11.7503 26 11.4314 26 11.0989V0L22.2799 3.79107C22.0492 4.02617 21.9196 4.3451 21.9196 4.67759V15.7765Z"
151
+ fill="#FFFFFF"
152
+ fill-opacity="0.16"
153
+ />
154
+ </g>
155
+ </svg>
@@ -0,0 +1,158 @@
1
+ <svg
2
+ fill="none"
3
+ width='100%'
4
+ height='100%'
5
+ viewBox="0 0 32 32"
6
+ xmlns="http://www.w3.org/2000/svg"
7
+ xmlns:xlink="http://www.w3.org/1999/xlink"
8
+ >
9
+ <defs>
10
+ <style type="text/css">
11
+ <![CDATA[
12
+ @keyframes refresh-animate1 {
13
+ 0% {
14
+ fill-opacity: 1;
15
+ }
16
+ 16.67% {
17
+ fill-opacity: 0.16;
18
+ }
19
+ 50% {
20
+ fill-opacity: 0.16;
21
+ }
22
+ 83.33% {
23
+ fill-opacity: 0.16;
24
+ }
25
+ 100% {
26
+ fill-opacity: 1;
27
+ }
28
+ }
29
+
30
+ @keyframes refresh-animate2 {
31
+ 0% {
32
+ fill-opacity: 0.16;
33
+ }
34
+ 16.67% {
35
+ fill-opacity: 1;
36
+ }
37
+ 33.33% {
38
+ fill-opacity: 0.16;
39
+ }
40
+ 50% {
41
+ fill-opacity: 0.16;
42
+ }
43
+ 66.67% {
44
+ fill-opacity: 0.16;
45
+ }
46
+ 83.33% {
47
+ fill-opacity: 1;
48
+ }
49
+ 100% {
50
+ fill-opacity: 0.16;
51
+ }
52
+ }
53
+
54
+ @keyframes refresh-animate3 {
55
+ 0% {
56
+ fill-opacity: 0.16;
57
+ }
58
+ 16.67% {
59
+ fill-opacity: 0.16;
60
+ }
61
+ 33.33% {
62
+ fill-opacity: 1;
63
+ }
64
+ 50% {
65
+ fill-opacity: 0.16;
66
+ }
67
+ 66.67% {
68
+ fill-opacity: 1;
69
+ }
70
+ 83.33% {
71
+ fill-opacity: 0.16;
72
+ }
73
+ 100% {
74
+ fill-opacity: 0.16;
75
+ }
76
+ }
77
+
78
+ @keyframes refresh-animate4 {
79
+ 0% {
80
+ fill-opacity: 0.16;
81
+ }
82
+ 33.33% {
83
+ fill-opacity: 0.16;
84
+ }
85
+ 50% {
86
+ fill-opacity: 1;
87
+ }
88
+ 66.67% {
89
+ fill-opacity: 0.16;
90
+ }
91
+ 100% {
92
+ fill-opacity: 0.16;
93
+ }
94
+ }
95
+
96
+ .loading-part-1,
97
+ .loading-part-2,
98
+ .loading-part-3,
99
+ .loading-part-4 {
100
+ animation-duration: 1000ms;
101
+ animation-delay: 0s;
102
+ animation-timing-function: ease-out;
103
+ animation-iteration-count: infinite;
104
+ }
105
+
106
+ .loading-part-1 {
107
+ animation-name: refresh-animate1;
108
+ }
109
+
110
+ .loading-part-2 {
111
+ animation-name: refresh-animate2;
112
+ }
113
+
114
+ .loading-part-3 {
115
+ animation-name: refresh-animate3;
116
+ }
117
+
118
+ .loading-part-4 {
119
+ animation-name: refresh-animate4;
120
+ }
121
+ ]]>
122
+ </style>
123
+ </defs>
124
+ <g>
125
+ <path
126
+ class="loading-part-1"
127
+ fill-rule="evenodd"
128
+ clip-rule="evenodd"
129
+ d="M6 32.0001L9.72003 28.209C9.95076 27.9739 10.0803 27.655 10.0803 27.3225V16.2236L6.36035 20.0147C6.12963 20.2498 6 20.5687 6 20.9012V32.0001Z"
130
+ fill-opacity="0.16"
131
+ fill="#1BC47D"
132
+ />
133
+ <path
134
+ class="loading-part-2"
135
+ fill-rule="evenodd"
136
+ clip-rule="evenodd"
137
+ d="M11.3068 26.559L15.0269 22.768C15.2576 22.5329 15.3872 22.214 15.3872 21.8815V2.71126L11.6672 6.50233C11.4364 6.73746 11.3068 7.05636 11.3068 7.38889V26.559Z"
138
+ fill-opacity="0.16"
139
+ fill="#1BC47D"
140
+ />
141
+ <path
142
+ class="loading-part-3"
143
+ fill-rule="evenodd"
144
+ clip-rule="evenodd"
145
+ d="M16.6255 29.2742L20.3455 25.4832C20.5762 25.248 20.7059 24.9292 20.7059 24.5966V5.42644L16.9858 9.21751C16.7552 9.4526 16.6255 9.77154 16.6255 10.104V29.2742Z"
146
+ fill="#1BC47D"
147
+ fill-opacity="0.16"
148
+ />
149
+ <path
150
+ class="loading-part-4"
151
+ fill-rule="evenodd"
152
+ clip-rule="evenodd"
153
+ d="M21.9196 15.7765L25.6396 11.9854C25.8703 11.7503 26 11.4314 26 11.0989V0L22.2799 3.79107C22.0492 4.02617 21.9196 4.3451 21.9196 4.67759V15.7765Z"
154
+ fill="#1BC47D"
155
+ fill-opacity="0.16"
156
+ />
157
+ </g>
158
+ </svg>
@@ -1,14 +1,15 @@
1
1
  <template>
2
2
  <div class="vd-loading-wrapper">
3
-
4
- <div class="vd-loading" v-if="loading">
3
+ <div v-if="isLoading" class="vd-loading">
5
4
  <slot>
6
- <img src="./loading.png" alt="">
5
+ <img :src="loadingSrc" alt="">
7
6
  </slot>
8
7
  <span class="vd-loading__text" v-if="text">{{ text }}</span>
9
8
  </div>
10
9
  <div class="vd-refresh" :class="refreshClasses" v-else>
11
- <img src="./refresh.png" alt="">
10
+ <slot>
11
+ <img :src="refreshSrc" alt="">
12
+ </slot>
12
13
  </div>
13
14
  </div>
14
15
  </template>
@@ -17,6 +18,10 @@
17
18
  export default {
18
19
  name:'vd-loading',
19
20
  props:{
21
+ type:{
22
+ type: String,
23
+ default:'null',
24
+ },
20
25
  text:{
21
26
  type: String,
22
27
  default:''
@@ -27,17 +32,29 @@ export default {
27
32
  },
28
33
  size:{
29
34
  type: String,
30
- default:'large'
35
+ default:'large',
36
+ validator: value => ['large', 'small'].includes(value)
31
37
  }
32
38
  },
39
+ data(){
40
+ return {
41
+ loadingSrc:require('./img_status_loading_white_ani.svg'),
42
+ refreshSrc:require('./img_status_refresh_ani.svg')
43
+ }
44
+
45
+ },
33
46
  computed:{
47
+ isLoading() {
48
+ if (this.type === 'loading') {
49
+ return true;
50
+ } else if (this.type === 'refresh') {
51
+ return false;
52
+ } else {
53
+ return this.loading;
54
+ }
55
+ },
34
56
  refreshClasses() {
35
- return [
36
- 'vd-refresh',
37
- {
38
- [`vd-refresh--${this.size}`]:this.size
39
- }
40
- ]
57
+ return ['vd-refresh', `vd-refresh--${this.size}`];
41
58
  }
42
59
  },
43
60
  methods:{
@@ -1,6 +1,6 @@
1
1
 
2
2
  .vd-loading{
3
- position: absolute;
3
+ position: fixed;
4
4
  left: 50%;
5
5
  top: 50%;
6
6
  transform: translate(-50%, -50%);