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.
Files changed (60) hide show
  1. package/dist/components/activityviews/index.vue +13 -11
  2. package/dist/components/button/index.vue +1 -1
  3. package/dist/components/checkbox/index.vue +0 -26
  4. package/dist/components/dropdown/index.vue +72 -69
  5. package/dist/components/dropdown/style.less +23 -1
  6. package/dist/components/empty/404-dark.png +0 -0
  7. package/dist/components/empty/404.png +0 -0
  8. package/dist/components/empty/index.vue +30 -2
  9. package/dist/components/empty/network-dark.png +0 -0
  10. package/dist/components/empty/network.png +0 -0
  11. package/dist/components/empty/nocoupons-dark.png +0 -0
  12. package/dist/components/empty/nocoupons.png +0 -0
  13. package/dist/components/empty/nodata-dark.png +0 -0
  14. package/dist/components/empty/nodata.png +0 -0
  15. package/dist/components/empty/nomargin-dark.png +0 -0
  16. package/dist/components/empty/nomargin.png +0 -0
  17. package/dist/components/empty/nonotice-dark.png +0 -0
  18. package/dist/components/empty/nonotice.png +0 -0
  19. package/dist/components/empty/noocomments-dark.png +0 -0
  20. package/dist/components/empty/noocomments.png +0 -0
  21. package/dist/components/empty/noorders-dark.png +0 -0
  22. package/dist/components/empty/noorders.png +0 -0
  23. package/dist/components/empty/noposition-dark.png +0 -0
  24. package/dist/components/empty/noposition.png +0 -0
  25. package/dist/components/empty/nosearch-dark.png +0 -0
  26. package/dist/components/empty/nosearch.png +0 -0
  27. package/dist/components/footer/index.vue +1 -1
  28. package/dist/components/footnav/footnav-item/index.vue +2 -6
  29. package/dist/components/icon/font/iconfont.css +59 -949
  30. package/dist/components/icon/font/iconfont.js +1 -1
  31. package/dist/components/input/index.vue +31 -8
  32. package/dist/components/input/style.less +0 -1
  33. package/dist/components/loading/img_status_loading_white_ani.svg +155 -0
  34. package/dist/components/loading/img_status_refresh_ani.svg +158 -0
  35. package/dist/components/loading/index.vue +4 -3
  36. package/dist/components/loading/style.less +1 -1
  37. package/dist/components/mixins/clickoutside.js +81 -81
  38. package/dist/components/pagebreak/index.vue +11 -5
  39. package/dist/components/radio/index.vue +3 -7
  40. package/dist/components/radio/style.css +213 -0
  41. package/dist/components/radio/style.less +5 -0
  42. package/dist/components/result/index.vue +1 -2
  43. package/dist/components/selector/index.vue +64 -31
  44. package/dist/components/selector/style.less +10 -0
  45. package/dist/components/slider/index.vue +0 -6
  46. package/dist/components/title/index.vue +1 -1
  47. package/dist/components/upload/index.vue +67 -189
  48. package/dist/img/img_status_loading_white_ani.b56fcfae.svg +155 -0
  49. package/dist/img/img_status_refresh_ani.d0e59f12.svg +158 -0
  50. package/dist/token.css +10 -2
  51. package/dist/vdesign-ui.common.js +888 -795
  52. package/dist/vdesign-ui.css +1 -1
  53. package/dist/vdesign-ui.umd.js +888 -795
  54. package/dist/vdesign-ui.umd.min.js +3 -3
  55. package/package.json +1 -1
  56. package/dist/components/loading/loading.png +0 -0
  57. package/dist/components/loading/refresh.png +0 -0
  58. package/dist/img/404-dark.775df5bb.png +0 -0
  59. package/dist/img/network-dark.11a147bb.png +0 -0
  60. package/dist/img/nodata-dark.b0ea0e39.png +0 -0
@@ -1,220 +1,98 @@
1
1
  <template>
2
- <div class="vd-upload" :class="{ 'vd-upload--block': (block && listData.length === 0) }">
2
+ <div class="vd-upload" :class="{ 'vd-upload--block': block }">
3
3
  <div class="vd-upload__wrapper">
4
4
  <div class="vd-upload__uploader" :class="{ 'vd-upload__uploader--text': text }">
5
- <vd-icon name="icon_btn_photo" class="vd-upload__icon"></vd-icon>
5
+ <vd-icon :name="photo" class="vd-upload__icon"></vd-icon>
6
6
  <p class="vd-upload__text" v-if="text">{{ text }}</p>
7
- <input type="file" class="vd-upload__input" accept="image/*,.pdf" :multiple="multiple" @change="onChange"
7
+ <input type="file" ref="input" class="vd-upload__input" :accept="accept" @change="onChange"
8
8
  :disabled="disabled">
9
9
  </div>
10
- <div class="vd-upload__preview" v-for="item in listData" :key="item.id" :class="fileCls(item.type)">
11
- <div class="vd-upload__preview-img" v-if="item.type.startsWith('image')" @click="onPreview(item)">
12
- <img :src="item.url" />
13
- </div>
14
- <div class="vd-upload__preview-word" v-if="item.type === 'application/pdf'">PDF</div>
15
- <div class="vd-upload__preview-delete" @click="onDelete($event, item)" v-if="deletable">
16
- <vd-icon name="icon_btn_close" class="vd-upload__preview-delete-icon"></vd-icon>
17
- </div>
18
- </div>
19
- </div>
20
- <div class="vd-image-preview" v-if="isPreview" @click="closePreview">
21
- <div class="vd-image-preview__item" v-for="item in listData" :key="item.id" v-show="curNum === item.id"><img
22
- :src="item.url" /></div>
23
10
  </div>
24
11
  </div>
25
12
  </template>
26
13
 
27
14
  <script>
28
- const prefixCls = 'vd-upload';
29
15
  export default {
30
16
  name: 'vd-upload',
31
- model: {
32
- prop: 'fileList'
33
- },
17
+ inheritAttrs: false,
34
18
  props: {
35
- uploaded: {
36
- type: Boolean,
37
- default: false
38
- },
39
- preview: {
40
- type: Boolean,
41
- default: true
42
- },
43
- block: {
44
- type: Boolean,
45
- default: false
46
- },
47
- text: {
19
+ photo: {
48
20
  type: String,
49
- default: ''
50
- },
51
- fileList: {
52
- type: Array,
53
- default: () => []
54
- },
55
- deletable: {
56
- type: Boolean,
57
- default: true
58
- },
59
- disabled: {
60
- type: Boolean,
61
- default: false
62
- },
63
- /**
64
- * 文件读取前钩子函数
65
- */
66
- beforeRead: {
67
- type: Function,
68
- default: () => () => true
69
- },
70
- /**
71
- * 文件读取完钩子函数
72
- */
73
- afterRead: {
74
- type: Function,
75
- default: () => () => true
76
- },
77
- /**
78
- * 文件删除前钩子函数
79
- */
80
- beforeDelete: {
81
- type: Function,
82
- default: () => () => true
83
- },
84
- maxCount: {
85
- type: Number,
86
- default: 1000
21
+ default: 'icon_btn_photo'
22
+ },
23
+ text: String,
24
+ block: Boolean,
25
+ disabled: Boolean,
26
+ beforeRead: Function,
27
+ afterRead: Function,
28
+ accept: {
29
+ type: String,
30
+ default: 'image/*'
87
31
  },
88
32
  maxSize: {
89
33
  type: Number,
90
- default: 6 * 1024 * 1024
91
- },
92
- multiple: {
93
- type: Boolean,
94
- default: false
95
- },
96
- },
97
- data() {
98
- return {
99
- listData: this.fileList,
100
- curNum: 1,
101
- isPreview: false
102
- }
103
- },
104
- watch: {
105
- /**
106
- * 监听列表数据
107
- */
108
- fileList: {
109
- handler(value) {
110
- this.listData = value
111
- },
112
- deep: true
34
+ default: Number.MAX_VALUE
113
35
  }
114
36
  },
37
+
115
38
  methods: {
116
- fileCls(file) {
117
- if (file === 'application/pdf') {
118
- return [`${prefixCls}__preview--pdf`];
119
- } else {
120
- return [];
39
+ onChange(event) {
40
+ let { files } = event.target;
41
+ if (this.disabled || !files.length) {
42
+ return;
121
43
  }
122
- },
123
- onDelete(e, item) {
124
- e.stopPropagation()
125
- const { disabled, beforeDelete, listData } = this
126
- /**
127
- * 判断是否允许删除文件
128
- */
129
- if (!disabled && beforeDelete(item) !== false) {
130
- /**
131
- * 索引
132
- */
133
- let i = 0
134
- /**
135
- * 循环遍历数组定位下标位置
136
- */
137
- for (; i < listData.length; i++) {
138
- /**
139
- * 判断 id 是否相等
140
- */
141
- if (listData[i].id === item.id) break
142
- }
143
- /**
144
- * 删除
145
- */
146
- listData.splice(i, 1)
147
- this.$emit('input', listData)
148
- this.$emit('on-change', listData)
44
+
45
+ files = files.length === 1 ? files[0] : [].slice.call(files, 0);
46
+ if (!files || (this.beforeRead && !this.beforeRead(files))) {
47
+ return;
149
48
  }
150
- },
151
- onChange(e) {
152
- const { beforeRead, afterRead, maxSize, maxCount, listData } = this
153
- /**
154
- * 获取不超过 maxCount 文件
155
- */
156
- const files = Object.values(e.target.files).slice(0, maxCount)
157
49
 
158
- /**
159
- * 判断是否允许读取文件
160
- */
161
- if (beforeRead(files) !== false) {
162
- /**
163
- * 循环遍历添加数据
164
- */
165
- const arr = []
166
- files.forEach(elem => {
167
- /**
168
- * 判断大小是否小于或等于 maxSize
169
- */
170
- if (elem.size <= maxSize) {
171
- /**
172
- * 数组长度
173
- */
174
- const len = listData.length
175
- /**
176
- * 获取 id
177
- */
178
- const id = len === 0 ? 1 : listData[len - 1].id + 1
179
- /**
180
- * 创建 blob 预览图片地址
181
- */
182
- const url = window.URL.createObjectURL(elem)
50
+ if (Array.isArray(files)) {
51
+ Promise.all(files.map(this.readFile)).then(contents => {
52
+ let oversize = false;
53
+ const payload = files.map((file, index) => {
54
+ if (file.size > this.maxSize) {
55
+ oversize = true;
56
+ }
183
57
 
184
- const type = e.target.files[0].type;
185
- /**
186
- * 添加进数组
187
- */
188
- listData.push({ id, url, type })
189
- arr.push(elem)
190
- }
191
- })
192
- /**
193
- * 符合规则的图片数组
194
- */
195
- if (arr.length > 0) {
196
- afterRead(arr)
197
- this.$emit('change', listData)
198
- this.$emit('num-changed', this.curNum);
199
- }
200
- }
201
- },
202
- onPreview({ id }) {
203
- const { disabled, preview } = this
204
- /**
205
- * 判断是否允许预览
206
- */
207
- if (!disabled && preview) {
208
- this.curNum = id
209
- /**
210
- * 打开图片预览
211
- */
212
- this.isPreview = true
58
+ return {
59
+ file: files[index],
60
+ content: contents[index]
61
+ };
62
+ });
63
+
64
+ this.onAfterRead(payload, oversize);
65
+ });
66
+ } else {
67
+ this.readFile(files).then(content => {
68
+ this.onAfterRead(
69
+ { file: files, content },
70
+ files.size > this.maxSize
71
+ );
72
+ });
213
73
  }
214
74
  },
215
- closePreview() {
216
- this.isPreview = false
75
+
76
+ readFile(file) {
77
+ return new Promise(resolve => {
78
+ const reader = new FileReader();
79
+
80
+ reader.onload = event => {
81
+ resolve(event.target.result);
82
+ };
83
+ reader.readAsDataURL(file);
84
+
85
+ });
217
86
  },
87
+
88
+ onAfterRead(files, oversize) {
89
+ if (oversize) {
90
+ this.$emit('oversize', files);
91
+ } else {
92
+ this.afterRead && this.afterRead(files);
93
+ this.$refs.input && (this.$refs.input.value = '');
94
+ }
95
+ }
218
96
  }
219
97
  }
220
98
  </script>
@@ -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>
package/dist/token.css CHANGED
@@ -903,9 +903,9 @@ html{
903
903
  }
904
904
 
905
905
  html[theme="dark"]{
906
- --divider-small:0.5;
907
906
  --divider-medium:1;
908
907
  --divider-large:3;
908
+ --divider-small:0.5;
909
909
  --height-super-small:28;
910
910
  --height-extra-small:32;
911
911
  --height-small:36;
@@ -1382,9 +1382,9 @@ html[theme="dark"]{
1382
1382
  --color-trade-account_head_card_ar-bg:#09825a;
1383
1383
  }
1384
1384
  html{
1385
- --divider-small:0.5;
1386
1385
  --divider-medium:1;
1387
1386
  --divider-large:3;
1387
+ --divider-small:0.5;
1388
1388
  --height-super-small:28;
1389
1389
  --height-extra-small:32;
1390
1390
  --height-small:36;
@@ -2211,9 +2211,13 @@ html[theme="dark"]{
2211
2211
  --spacing-popover-primary-padding_left:12;
2212
2212
  --spacing-popover-primary-padding_right:12;
2213
2213
  --spacing-popover-primary-margin_y:4;
2214
+ --spacing-popover-primary-padding_top:8;
2215
+ --spacing-popover-primary-padding_bottom:8;
2214
2216
  --spacing-popover-secondary-padding_left:8;
2215
2217
  --spacing-popover-secondary-padding_right:8;
2216
2218
  --spacing-popover-secondary-margin_y:4;
2219
+ --spacing-popover-secondary-padding_top:4;
2220
+ --spacing-popover-secondary-padding_bottom:4;
2217
2221
  --spacing-popover-custom-padding_left:12;
2218
2222
  --spacing-popover-custom-padding_right:12;
2219
2223
  --spacing-popover-custom-margin_y:4;
@@ -2237,9 +2241,13 @@ html{
2237
2241
  --spacing-popover-primary-padding_left:12;
2238
2242
  --spacing-popover-primary-padding_right:12;
2239
2243
  --spacing-popover-primary-margin_y:4;
2244
+ --spacing-popover-primary-padding_top:8;
2245
+ --spacing-popover-primary-padding_bottom:8;
2240
2246
  --spacing-popover-secondary-padding_left:8;
2241
2247
  --spacing-popover-secondary-padding_right:8;
2242
2248
  --spacing-popover-secondary-margin_y:4;
2249
+ --spacing-popover-secondary-padding_top:4;
2250
+ --spacing-popover-secondary-padding_bottom:4;
2243
2251
  --spacing-popover-custom-padding_left:12;
2244
2252
  --spacing-popover-custom-padding_right:12;
2245
2253
  --spacing-popover-custom-margin_y:4;