vdesign-ui 0.2.4 → 0.2.6

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 (195) hide show
  1. package/package.json +1 -1
  2. package/dist/components/actionbar/index.js +0 -8
  3. package/dist/components/actionbar/index.vue +0 -39
  4. package/dist/components/actionbar/style.less +0 -44
  5. package/dist/components/actionbar-cell/index.js +0 -7
  6. package/dist/components/actionbar-cell/index.vue +0 -38
  7. package/dist/components/actions/index.js +0 -7
  8. package/dist/components/actions/index.vue +0 -76
  9. package/dist/components/actions/style.less +0 -109
  10. package/dist/components/actions-cell/index.js +0 -7
  11. package/dist/components/actions-cell/index.vue +0 -94
  12. package/dist/components/actions-cell/style.less +0 -39
  13. package/dist/components/activityviews/index.js +0 -8
  14. package/dist/components/activityviews/index.vue +0 -192
  15. package/dist/components/activityviews/style.less +0 -152
  16. package/dist/components/badge/index.js +0 -8
  17. package/dist/components/badge/index.vue +0 -49
  18. package/dist/components/badge/style.less +0 -54
  19. package/dist/components/button/index.js +0 -8
  20. package/dist/components/button/index.vue +0 -93
  21. package/dist/components/button/style.less +0 -558
  22. package/dist/components/calendar/end.png +0 -0
  23. package/dist/components/calendar/index-element.vue +0 -84
  24. package/dist/components/calendar/index.js +0 -8
  25. package/dist/components/calendar/index.vue +0 -52
  26. package/dist/components/calendar/start.png +0 -0
  27. package/dist/components/calendar/style.less +0 -138
  28. package/dist/components/checkbox/index.js +0 -8
  29. package/dist/components/checkbox/index.vue +0 -161
  30. package/dist/components/checkbox/style.less +0 -289
  31. package/dist/components/checkbox-group/index.js +0 -7
  32. package/dist/components/checkbox-group/index.vue +0 -69
  33. package/dist/components/common/state/index.vue +0 -33
  34. package/dist/components/common/state/style.less +0 -48
  35. package/dist/components/data-list/index.js +0 -10
  36. package/dist/components/data-list/index.vue +0 -19
  37. package/dist/components/data-list/style.less +0 -623
  38. package/dist/components/datetime-picker/index.js +0 -8
  39. package/dist/components/datetime-picker/index.vue +0 -37
  40. package/dist/components/datetime-picker/style.less +0 -24
  41. package/dist/components/dialog/index.js +0 -8
  42. package/dist/components/dialog/index.vue +0 -174
  43. package/dist/components/dialog/overlay-manager.js +0 -18
  44. package/dist/components/dialog/style.less +0 -128
  45. package/dist/components/divider/index.js +0 -8
  46. package/dist/components/divider/index.vue +0 -54
  47. package/dist/components/divider/style.less +0 -92
  48. package/dist/components/dropdown/index.js +0 -8
  49. package/dist/components/dropdown/index.vue +0 -218
  50. package/dist/components/dropdown/style.less +0 -432
  51. package/dist/components/empty/404-dark.png +0 -0
  52. package/dist/components/empty/404.png +0 -0
  53. package/dist/components/empty/index.js +0 -8
  54. package/dist/components/empty/index.vue +0 -138
  55. package/dist/components/empty/network-dark.png +0 -0
  56. package/dist/components/empty/network.png +0 -0
  57. package/dist/components/empty/nocoupons-dark.png +0 -0
  58. package/dist/components/empty/nocoupons.png +0 -0
  59. package/dist/components/empty/nodata-dark.png +0 -0
  60. package/dist/components/empty/nodata.png +0 -0
  61. package/dist/components/empty/nomargin-dark.png +0 -0
  62. package/dist/components/empty/nomargin.png +0 -0
  63. package/dist/components/empty/nonotice-dark.png +0 -0
  64. package/dist/components/empty/nonotice.png +0 -0
  65. package/dist/components/empty/noocomments-dark.png +0 -0
  66. package/dist/components/empty/noocomments.png +0 -0
  67. package/dist/components/empty/noorders-dark.png +0 -0
  68. package/dist/components/empty/noorders.png +0 -0
  69. package/dist/components/empty/noposition-dark.png +0 -0
  70. package/dist/components/empty/noposition.png +0 -0
  71. package/dist/components/empty/nosearch-dark.png +0 -0
  72. package/dist/components/empty/nosearch.png +0 -0
  73. package/dist/components/empty/style.less +0 -61
  74. package/dist/components/footer/index.js +0 -7
  75. package/dist/components/footer/index.vue +0 -33
  76. package/dist/components/footer/style.less +0 -21
  77. package/dist/components/footnav/index.js +0 -7
  78. package/dist/components/footnav/index.vue +0 -93
  79. package/dist/components/footnav/style.less +0 -23
  80. package/dist/components/footnav-item/index.js +0 -7
  81. package/dist/components/footnav-item/index.vue +0 -50
  82. package/dist/components/footnav-item/style.less +0 -39
  83. package/dist/components/form/index.js +0 -7
  84. package/dist/components/form/index.vue +0 -12
  85. package/dist/components/headnav/index.js +0 -7
  86. package/dist/components/headnav/index.vue +0 -185
  87. package/dist/components/headnav/style.less +0 -232
  88. package/dist/components/icon/font/iconfont.css +0 -159
  89. package/dist/components/icon/font/iconfont.js +0 -6
  90. package/dist/components/icon/index.js +0 -9
  91. package/dist/components/icon/index.vue +0 -54
  92. package/dist/components/icon/style.less +0 -44
  93. package/dist/components/input/calcTextareaHeight.js +0 -162
  94. package/dist/components/input/index.js +0 -8
  95. package/dist/components/input/index.vue +0 -345
  96. package/dist/components/input/style.less +0 -471
  97. package/dist/components/list/index.js +0 -8
  98. package/dist/components/list/index.vue +0 -152
  99. package/dist/components/list/style.less +0 -213
  100. package/dist/components/loading/index.js +0 -7
  101. package/dist/components/loading/index.vue +0 -68
  102. package/dist/components/loading/style.less +0 -54
  103. package/dist/components/mixins/clickoutside.js +0 -81
  104. package/dist/components/mixins/dom.js +0 -41
  105. package/dist/components/mixins/languageMixin.js +0 -41
  106. package/dist/components/mixins/outlineConfigPlugin.js +0 -45
  107. package/dist/components/mixins/router-link.js +0 -23
  108. package/dist/components/mixins/themeMixin.js +0 -43
  109. package/dist/components/noticebar/index.js +0 -8
  110. package/dist/components/noticebar/index.vue +0 -258
  111. package/dist/components/noticebar/style.less +0 -328
  112. package/dist/components/overlay/index.js +0 -8
  113. package/dist/components/overlay/index.vue +0 -184
  114. package/dist/components/overlay/style.less +0 -23
  115. package/dist/components/pagebreak/index.js +0 -7
  116. package/dist/components/pagebreak/index.vue +0 -67
  117. package/dist/components/pagebreak/style.less +0 -42
  118. package/dist/components/password/index.js +0 -8
  119. package/dist/components/password/index.vue +0 -60
  120. package/dist/components/popover/index.js +0 -8
  121. package/dist/components/popover/index.vue +0 -100
  122. package/dist/components/popover/style.less +0 -346
  123. package/dist/components/popover/vue-popover.vue +0 -314
  124. package/dist/components/popup/index.js +0 -7
  125. package/dist/components/popup/index.vue +0 -243
  126. package/dist/components/radio/index.js +0 -8
  127. package/dist/components/radio/index.vue +0 -184
  128. package/dist/components/radio/style.less +0 -294
  129. package/dist/components/radio-group/index.js +0 -6
  130. package/dist/components/radio-group/index.vue +0 -58
  131. package/dist/components/result/completed-dark.png +0 -0
  132. package/dist/components/result/completed.png +0 -0
  133. package/dist/components/result/error-dark.png +0 -0
  134. package/dist/components/result/error.png +0 -0
  135. package/dist/components/result/index.js +0 -8
  136. package/dist/components/result/index.vue +0 -73
  137. package/dist/components/result/style.less +0 -44
  138. package/dist/components/result/wait-dark.png +0 -0
  139. package/dist/components/result/wait.png +0 -0
  140. package/dist/components/search/index.js +0 -8
  141. package/dist/components/search/index.vue +0 -66
  142. package/dist/components/selector/index.js +0 -8
  143. package/dist/components/selector/index.vue +0 -161
  144. package/dist/components/selector/style.less +0 -484
  145. package/dist/components/skeleton/index.js +0 -7
  146. package/dist/components/skeleton/index.vue +0 -206
  147. package/dist/components/skeleton/style.less +0 -197
  148. package/dist/components/slider/draggable.js +0 -49
  149. package/dist/components/slider/index.js +0 -7
  150. package/dist/components/slider/index.vue +0 -167
  151. package/dist/components/slider/style.less +0 -100
  152. package/dist/components/slider/utils.js +0 -60
  153. package/dist/components/step/index.js +0 -7
  154. package/dist/components/step/index.vue +0 -48
  155. package/dist/components/step/style.less +0 -58
  156. package/dist/components/step-item/index.js +0 -7
  157. package/dist/components/step-item/index.vue +0 -126
  158. package/dist/components/step-item/style.less +0 -362
  159. package/dist/components/stepper/index.js +0 -8
  160. package/dist/components/stepper/index.vue +0 -146
  161. package/dist/components/style/index.vue +0 -42
  162. package/dist/components/switch/index.js +0 -8
  163. package/dist/components/switch/index.vue +0 -72
  164. package/dist/components/switch/style.less +0 -56
  165. package/dist/components/tab/index.js +0 -7
  166. package/dist/components/tab/index.vue +0 -53
  167. package/dist/components/tabs/index.js +0 -8
  168. package/dist/components/tabs/index.vue +0 -172
  169. package/dist/components/tabs/style.less +0 -377
  170. package/dist/components/tag/index.js +0 -7
  171. package/dist/components/tag/index.vue +0 -64
  172. package/dist/components/tag/style.less +0 -211
  173. package/dist/components/title/index.js +0 -8
  174. package/dist/components/title/index.vue +0 -99
  175. package/dist/components/title/style.less +0 -188
  176. package/dist/components/toast/index.js +0 -86
  177. package/dist/components/toast/index.vue +0 -44
  178. package/dist/components/toast/style.less +0 -55
  179. package/dist/components/transition/index.js +0 -8
  180. package/dist/components/transition/index.vue +0 -13
  181. package/dist/components/transition/style.less +0 -208
  182. package/dist/components/upload/index.js +0 -7
  183. package/dist/components/upload/index.vue +0 -106
  184. package/dist/components/upload/style.less +0 -147
  185. package/dist/components/utils/assist.js +0 -34
  186. package/dist/components/utils/env.js +0 -2
  187. package/dist/demo.html +0 -10
  188. package/dist/locale/ar.js +0 -98
  189. package/dist/locale/en.js +0 -98
  190. package/dist/locale/zh.js +0 -98
  191. package/dist/token.css +0 -2990
  192. package/dist/vdesign-ui.common.js +0 -27471
  193. package/dist/vdesign-ui.css +0 -1
  194. package/dist/vdesign-ui.umd.js +0 -27481
  195. package/dist/vdesign-ui.umd.min.js +0 -32
@@ -1,243 +0,0 @@
1
- <template>
2
- <div>
3
- <!-- 遮罩层 -->
4
- <div
5
- v-if="overlay && value"
6
- class="popup-overlay"
7
- :style="overlayCustomStyle"
8
- @click="onClickOverlay"
9
- ></div>
10
-
11
- <!-- 弹出层 -->
12
- <transition :name="transitionName">
13
- <div
14
- v-if="value"
15
- :class="['popup', positionClass]"
16
- :style="[popupStyle, transitionStyle]"
17
- >
18
- <slot></slot>
19
- </div>
20
- </transition>
21
- </div>
22
- </template>
23
-
24
- <script>
25
- export default {
26
- name: 'Popup',
27
- props: {
28
- // 弹出位置,可选值:'top'、'bottom'、'left'、'right'、'center'
29
- position: {
30
- type: String,
31
- default: 'center',
32
- },
33
- // 动画持续时间,单位毫秒
34
- duration: {
35
- type: Number,
36
- default: 300,
37
- },
38
- // 指定挂载的容器,可以是选择器字符串或返回元素的函数
39
- getContainer: {
40
- type: [String, Function],
41
- default: 'body',
42
- },
43
- // 是否锁定滚动
44
- lockScroll: {
45
- type: Boolean,
46
- default: true,
47
- },
48
- // 是否适配底部安全区(针对全面屏手机)
49
- safeAreaInsetBottom: {
50
- type: Boolean,
51
- default: false,
52
- },
53
- // 控制弹层显示或隐藏,支持 v-model 双向绑定
54
- value: {
55
- type: Boolean,
56
- default: false,
57
- },
58
- // 是否显示遮罩层
59
- overlay: {
60
- type: Boolean,
61
- default: true,
62
- },
63
- // 遮罩层的自定义样式
64
- overlayStyle: {
65
- type: Object,
66
- default: () => ({}),
67
- },
68
- // 是否点击遮罩层关闭弹出层
69
- closeOnClickOverlay: {
70
- type: Boolean,
71
- default: true,
72
- },
73
- },
74
- computed: {
75
- // 根据 position 属性计算对应的类名
76
- positionClass() {
77
- return `popup-${this.position}`;
78
- },
79
- // 根据 position 属性计算对应的过渡名称
80
- transitionName() {
81
- return `popup-slide-${this.position}`;
82
- },
83
- // 根据 safeAreaInsetBottom 属性计算弹出层的样式
84
- popupStyle() {
85
- const style = {};
86
- if (this.safeAreaInsetBottom && (this.position === 'bottom' || this.position === 'center')) {
87
- style.paddingBottom = 'env(safe-area-inset-bottom)';
88
- }
89
- return style;
90
- },
91
- // 动态设置过渡持续时间的样式
92
- transitionStyle() {
93
- return {
94
- transitionDuration: `${this.duration}ms`,
95
- };
96
- },
97
- // 合并遮罩层的自定义样式
98
- overlayCustomStyle() {
99
- return Object.assign(
100
- {
101
- backgroundColor: 'rgba(0, 0, 0, 0.5)',
102
- },
103
- this.overlayStyle
104
- );
105
- },
106
- },
107
- watch: {
108
- // 监听 value 属性的变化,控制弹出层的显示和隐藏
109
- value(val) {
110
- if (val) {
111
- this.openPopup();
112
- } else {
113
- this.closePopup();
114
- }
115
- },
116
- },
117
- mounted() {
118
- // 组件挂载时,根据初始的 value 值决定是否打开弹出层
119
- if (this.value) {
120
- this.openPopup();
121
- }
122
- },
123
- methods: {
124
- // 打开弹出层
125
- openPopup() {
126
- if (this.lockScroll) {
127
- document.body.style.overflow = 'hidden';
128
- }
129
- this.appendToContainer();
130
- },
131
- // 关闭弹出层
132
- closePopup() {
133
- if (this.lockScroll) {
134
- document.body.style.overflow = '';
135
- }
136
- },
137
- // 将弹出层添加到指定的容器中
138
- appendToContainer() {
139
- const container =
140
- typeof this.getContainer === 'function'
141
- ? this.getContainer()
142
- : document.querySelector(this.getContainer);
143
- if (container && container !== this.$el.parentNode) {
144
- container.appendChild(this.$el);
145
- }
146
- },
147
- // 点击遮罩层关闭弹出层
148
- onClickOverlay() {
149
- if (this.closeOnClickOverlay) {
150
- this.$emit('input', false);
151
- }
152
- },
153
- },
154
- beforeDestroy() {
155
- // 组件销毁前,恢复滚动
156
- if (this.lockScroll) {
157
- document.body.style.overflow = '';
158
- }
159
- },
160
- };
161
- </script>
162
-
163
- <style scoped>
164
- .popup-overlay {
165
- position: fixed;
166
- top: 0;
167
- left: 0;
168
- width: 100%;
169
- height: 100%;
170
- z-index: 999;
171
- }
172
-
173
- .popup {
174
- position: fixed;
175
- z-index: 1000;
176
- }
177
-
178
- .popup-center {
179
- top: 50%;
180
- left: 50%;
181
- transform: translate(-50%, -50%);
182
- }
183
-
184
- .popup-top {
185
- top: 0;
186
- left: 0;
187
- width: 100%;
188
- }
189
-
190
- .popup-bottom {
191
- bottom: 0;
192
- left: 0;
193
- width: 100%;
194
- }
195
-
196
- .popup-left {
197
- top: 0;
198
- left: 0;
199
- height: 100%;
200
- }
201
-
202
- .popup-right {
203
- top: 0;
204
- right: 0;
205
- height: 100%;
206
- }
207
-
208
- /* 过渡效果 */
209
- .popup-slide-center-enter-active,
210
- .popup-slide-center-leave-active,
211
- .popup-slide-top-enter-active,
212
- .popup-slide-top-leave-active,
213
- .popup-slide-bottom-enter-active,
214
- .popup-slide-bottom-leave-active,
215
- .popup-slide-left-enter-active,
216
- .popup-slide-left-leave-active,
217
- .popup-slide-right-enter-active,
218
- .popup-slide-right-leave-active {
219
- transition-property: all;
220
- transition-timing-function: ease;
221
- }
222
-
223
- .popup-slide-top-enter,
224
- .popup-slide-top-leave-to {
225
- transform: translateY(-100%);
226
- }
227
- .popup-slide-bottom-enter,
228
- .popup-slide-bottom-leave-to {
229
- transform: translateY(100%);
230
- }
231
- .popup-slide-left-enter,
232
- .popup-slide-left-leave-to {
233
- transform: translateX(-100%);
234
- }
235
- .popup-slide-right-enter,
236
- .popup-slide-right-leave-to {
237
- transform: translateX(100%);
238
- }
239
- .popup-slide-center-enter,
240
- .popup-slide-center-leave-to {
241
- opacity: 0;
242
- }
243
- </style>
@@ -1,8 +0,0 @@
1
- import Radio from './index.vue';
2
- import './style.less';
3
-
4
- Radio.install = function (Vue) {
5
- Vue.component(Radio.name, Radio);
6
- };
7
-
8
- export default Radio;
@@ -1,184 +0,0 @@
1
- <template>
2
- <!-- 常规单选框 -->
3
- <label :class="wrapClasses" v-if="!radioButton">
4
- <span :class="radioClasses">
5
- <span :class="innerClasses"></span>
6
- <input
7
- type="radio"
8
- :class="inputClasses"
9
- :disabled="isDisabled"
10
- :checked="currentValue"
11
- @change="handleChange"
12
- >
13
- </span>
14
- <!-- 标签内容 -->
15
- <div class="vd-radio__label" v-if="$slots.default">
16
- <div class="vd-radio__text">
17
- <slot></slot>
18
- </div>
19
- </div>
20
- </label>
21
-
22
- <!-- 按钮样式的单选框 -->
23
- <label
24
- class="vd-radio vd-radio-button"
25
- :class="radioButtonClasses"
26
- v-else
27
- >
28
- <input
29
- type="radio"
30
- :class="inputClasses"
31
- :disabled="isDisabled"
32
- :checked="currentValue"
33
- @change="handleChange"
34
- >
35
- <span class="vd-radio-button-text">
36
- <slot></slot>
37
- </span>
38
- </label>
39
- </template>
40
- <script>
41
- import { findComponentUpward } from "../utils/assist";
42
-
43
- const prefixCls = 'vd-radio';
44
-
45
- export default {
46
- name: 'vd-radio',
47
- props: {
48
- // 组件的值,用于 v-model 绑定
49
- value: {
50
- type: [String, Number, Boolean],
51
- default: false,
52
- },
53
- // 是否为按钮样式
54
- radioButton: Boolean,
55
- // 是否禁用
56
- disabled: {
57
- type: Boolean,
58
- default: false,
59
- },
60
- // 选中时的值
61
- trueValue: {
62
- type: [String, Number, Boolean],
63
- default: true,
64
- },
65
- // 未选中时的值
66
- falseValue: {
67
- type: [String, Number, Boolean],
68
- default: false,
69
- },
70
- // 单选框的标识名称,在组内使用
71
- name: {
72
- type: [String, Number, Boolean],
73
- },
74
- // 类型,用于样式
75
- type: String,
76
- },
77
- data() {
78
- return {
79
- // 当前是否选中
80
- currentValue: this.value === this.trueValue,
81
- // 是否属于单选框组
82
- isGroup: false,
83
- // 父级单选框组的引用
84
- parentGroup: null,
85
- };
86
- },
87
- computed: {
88
- // 计算禁用状态,优先级:自身 > 组
89
- isDisabled() {
90
- return this.disabled || (this.isGroup && this.parentGroup.disabled);
91
- },
92
- // 包裹类名
93
- wrapClasses() {
94
- return [
95
- `${prefixCls}`,
96
- {
97
- [`${prefixCls}--checked`]: this.currentValue,
98
- [`${prefixCls}--disabled`]: this.isDisabled,
99
- },
100
- ];
101
- },
102
- // 单选框的类名
103
- radioClasses() {
104
- return [`${prefixCls}__input`];
105
- },
106
- // 图标的类名
107
- innerClasses() {
108
- return [`${prefixCls}__icon`];
109
- },
110
- // 输入框的类名
111
- inputClasses() {
112
- return `${prefixCls}__original`;
113
- },
114
- // 按钮样式的类名
115
- radioButtonClasses() {
116
- return [
117
- {
118
- [`${prefixCls}-button--checked`]: this.currentValue,
119
- [`${prefixCls}-button--${this.type}`]: this.type,
120
- [`${prefixCls}-button--disabled`]: this.isDisabled,
121
- },
122
- ];
123
- },
124
- },
125
- mounted() {
126
- // 查找父级 vd-radio-group 组件
127
- this.parentGroup = findComponentUpward(this, 'vd-radio-group');
128
- this.isGroup = !!this.parentGroup;
129
-
130
- if (this.isGroup) {
131
- // 如果在组内,注册到组中
132
- this.parentGroup.updateValue();
133
- } else {
134
- // 如果不在组内,更新自身的选中状态
135
- this.updateValue();
136
- }
137
- },
138
- methods: {
139
- // 处理 change 事件
140
- handleChange(event) {
141
- if (this.isDisabled) {
142
- return;
143
- }
144
-
145
- const checked = event.target.checked;
146
- this.currentValue = checked;
147
- const value = checked ? this.trueValue : this.falseValue;
148
- this.$emit('input', value);
149
-
150
- if (this.isGroup) {
151
- // 如果在组内,通知组更新
152
- this.parentGroup.change(this.name);
153
- } else {
154
- // 否则,触发自身的 change 事件
155
- this.$emit('change', value);
156
- }
157
- },
158
- // 更新 currentValue
159
- updateValue() {
160
- if (this.isGroup) {
161
- // 组内,通过比较组的值和自身的 name 来确定是否选中
162
- this.currentValue = this.parentGroup.value === this.name;
163
- } else {
164
- // 组外,通过比较 value 和 trueValue
165
- this.currentValue = this.value === this.trueValue;
166
- }
167
- },
168
- },
169
- watch: {
170
- // 监听 value 的变化
171
- value() {
172
- this.updateValue();
173
- },
174
- // 如果在组内,监听组的 value 变化
175
- 'parentGroup.value'() {
176
- this.updateValue();
177
- },
178
- },
179
- };
180
- </script>
181
-
182
- <style lang="less">
183
- @import "./style.less";
184
- </style>