vdesign-ui 0.2.5 → 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 -164
  43. package/dist/components/dialog/overlay-manager.js +0 -18
  44. package/dist/components/dialog/style.less +0 -139
  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 -163
  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 -96
  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 -94
  177. package/dist/components/toast/index.vue +0 -49
  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 -27486
  193. package/dist/vdesign-ui.css +0 -1
  194. package/dist/vdesign-ui.umd.js +0 -27496
  195. package/dist/vdesign-ui.umd.min.js +0 -32
@@ -1,213 +0,0 @@
1
- @title-prefix-cls: vd-list;
2
- .@{title-prefix-cls} {
3
- position: relative;
4
- display: flex;
5
- align-items: center;
6
- justify-content: space-between;
7
- background-color: var(--bg-color-1);
8
-
9
- &--right {
10
- display: flex;
11
- align-items: center;
12
- }
13
-
14
- &-content {
15
- display: flex;
16
- align-items: center;
17
- }
18
-
19
- &-content-common {
20
- flex-direction: column;
21
- align-items: flex-start;
22
- }
23
-
24
- &__arrow {
25
- display: flex;
26
- margin-inline-start: var(--spacing-list-info_icon-margin_y);
27
- color: var(--text-color-h2);
28
- }
29
-
30
- &__multext {
31
- font-size: var(--en-single-f-c-s-fontSize);
32
- font-weight: var(--en-single-f-c-s-fontWeight);
33
- color: var(--text-color-h1);
34
- }
35
-
36
- &-xsmall {
37
- padding-block-start: var(--spacing-list-info_s-padding_top);
38
- padding-block-end: var(--spacing-list-info_s-padding_bottom);
39
-
40
- &__icon--right {
41
- color: var(--text-color-h2);
42
- }
43
-
44
- &__title {
45
- margin-inline-end: var(--spacing-list-info_icon-margin_y);
46
- color: var(--text-color-h2);
47
- font-size: var(--en-single-f-c-r-fontSize);
48
- font-weight: var(--en-single-f-c-r-fontWeight);
49
- }
50
-
51
- &__text--right {
52
- font-size: var(--en-single-f-c-r-fontSize);
53
- font-weight: var(--en-single-f-c-r-fontWeight);
54
- color: var(--text-color-h1);
55
- }
56
- }
57
-
58
- &-small {
59
- padding-block-start: var(--spacing-list-info_m-padding_top);
60
- padding-block-end: var(--spacing-list-info_m-padding_bottom);
61
-
62
- &__icon--right {
63
- color: var(--text-color-h2);
64
- }
65
-
66
- &__title {
67
- margin-inline-end: var(--spacing-list-info_icon-margin_y);
68
- color: var(--text-color-h1);
69
- font-size: var(--en-single-f-c-r-fontSize);
70
- font-weight: var(--en-single-f-c-r-fontWeight);
71
- }
72
-
73
- &__text--right {
74
- font-size: var(--en-single-f-c-s-fontSize);
75
- font-weight: var(--en-single-f-c-s-fontWeight);
76
- color: var(--text-color-h1);
77
- }
78
- }
79
-
80
- &-medium {
81
- padding-block-start: var(--spacing-list-info_l-padding_top);
82
- padding-block-end: var(--spacing-list-info_l-padding_bottom);
83
-
84
- &__icon--right {
85
- color: var(--text-color-h2);
86
- }
87
-
88
- &__title {
89
- margin-inline-end: var(--spacing-list-info_icon-margin_y);
90
- color: var(--text-color-h2);
91
- font-size: var(--en-single-f-c-r-fontSize);
92
- font-weight: var(--en-single-f-c-r-fontWeight);
93
- }
94
-
95
- &__text--right {
96
- font-size: var(--en-single-f-d-r-fontSize);
97
- font-weight: var(--en-single-f-d-r-fontWeight);
98
- color: var(--text-color-h1);
99
- }
100
- }
101
-
102
- &-large {
103
- height: var(--height-super-large);
104
-
105
- &__icon--right {
106
- color: var(--text-color-h2);
107
- }
108
-
109
- &__title {
110
- margin-inline-end: var(--spacing-list-info_icon-margin_y);
111
- color: var(--text-color-h1);
112
- font-size: var(--en-single-f-c-r-fontSize);
113
- font-weight: var(--en-single-f-c-r-fontWeight);
114
- }
115
-
116
- &__text--right {
117
- font-size: var(--en-single-f-d-s-fontSize);
118
- font-weight: var(--en-single-f-d-s-fontWeight);
119
- color: var(--text-color-h1);
120
- }
121
- }
122
-
123
- &-common {
124
- padding-block-start: var(--spacing-list-common-padding_x);
125
- padding-block-end: var(--spacing-list-common-padding_x);
126
- padding-inline-start: var(--spacing-list-common-padding_y);
127
- padding-inline-end: var(--spacing-list-common-padding_y);
128
-
129
- &--left {
130
- display: flex;
131
- align-items: center;
132
- }
133
- &__icon--leftcus {
134
- margin-inline-end: var(--spacing-list-common_icon-margin_right);
135
- color: var(--text-color-h2);
136
- }
137
-
138
- &__title {
139
- color: var(--color-list-title);
140
- font-size: var(--en-multi-f-d-s-fontSize);
141
- font-weight: var(--en-multi-f-d-s-fontWeight);
142
- line-height: var(--en-multi-f-d-s-lineHeight);
143
-
144
- &--with-subtitle {
145
- line-height: inherit;
146
- font-size: var(--en-single-f-d-s-fontSize);
147
- font-weight: var(--en-single-f-d-s-fontWeight);
148
- }
149
- }
150
-
151
- &__text--right {
152
- margin-inline-start: var(--spacing-list-common_describe-margin_xy);
153
- font-size: var(--en-single-f-c-r-fontSize);
154
- font-weight: var(--en-single-f-c-r-fontWeight);
155
- color: var(--color-list-text);
156
- }
157
-
158
- &__subtitle {
159
- margin-block-start: var(--spacing-list-common_describe-margin_xy);
160
- color: var(--color-list-text);
161
- font-size: var(--en-multi-f-c-r-fontSize);
162
- font-weight: var(--en-multi-f-c-r-fontWeight);
163
- line-height: var(--en-multi-f-c-r-lineHeight);
164
- }
165
-
166
- &__badge {
167
- margin-inline-start: var(--spacing-list-common_badge-margin_left);
168
- }
169
- }
170
-
171
- &-check {
172
- padding-block-start: var(--spacing-list-common-padding_x);
173
- padding-block-end: var(--spacing-list-common-padding_x);
174
-
175
- &--active {
176
- .@{title-prefix-cls}-check__select {
177
- margin-inline-start: var(--spacing-list-check-margin_left);
178
-
179
- .vd-iconfont {
180
- transform: scaleX(1) !important;
181
- direction: ltr;
182
- font-size: var(--icon-list-check);
183
- }
184
- }
185
-
186
- .@{title-prefix-cls}-check__title {
187
- font-size: var(--en-multi-f-d-s-fontSize);
188
- font-weight: var(--en-multi-f-d-s-fontWeight);
189
- }
190
- }
191
-
192
- &__title {
193
- color: var(--color-list-title);
194
- font-size: var(--en-multi-f-d-r-fontSize);
195
- font-weight: var(--en-multi-f-d-r-fontWeight);
196
- }
197
-
198
- &__icon--leftcus {
199
- margin-inline-end: var(--spacing-list-check_icon-margin_right);
200
- color: var(--text-color-h2);
201
- }
202
- }
203
-
204
- &__icon--extra {
205
- margin-inline-end: var(--spacing-list-info_icon-margin_y);
206
- color: var(--text-color-h2);
207
- }
208
-
209
- &__switch {
210
- display: flex;
211
- margin-inline-start: var(--spacing-list-common_switch-margin_left);
212
- }
213
- }
@@ -1,7 +0,0 @@
1
- import Loading from './index.vue';
2
- import './style.less';
3
- Loading.install = function(Vue) {
4
- Vue.component(Loading.name, Loading)
5
- }
6
-
7
- export default Loading;
@@ -1,68 +0,0 @@
1
- <template>
2
- <div class="vd-loading-wrapper">
3
- <div v-if="isLoading" class="vd-loading">
4
- <slot>
5
- <img src="https://r.sahmcapital.com/fe/hs-sa-res/commons/images/img_status_loading_white_ani.svg" alt="">
6
- </slot>
7
- <span class="vd-loading__text" v-if="text">{{ text }}</span>
8
- </div>
9
- <div class="vd-refresh" :class="refreshClasses" v-else>
10
- <slot>
11
- <img src="https://r.sahmcapital.com/fe/hs-sa-res/commons/images/img_status_refresh_ani.svg" alt="">
12
- </slot>
13
- </div>
14
- </div>
15
- </template>
16
-
17
- <script>
18
-
19
- export default {
20
- name:'vd-loading',
21
- props:{
22
- type:{
23
- type: String,
24
- default:'null',
25
- },
26
- text:{
27
- type: String,
28
- default:''
29
- },
30
- loading:{
31
- type: Boolean,
32
- default:true
33
- },
34
- size:{
35
- type: String,
36
- default:'large',
37
- validator: value => ['large', 'small'].includes(value)
38
- }
39
- },
40
- data(){
41
- return {
42
- }
43
- },
44
- computed:{
45
- isLoading() {
46
- if (this.type === 'loading') {
47
- return true;
48
- } else if (this.type === 'refresh') {
49
- return false;
50
- } else {
51
- return this.loading;
52
- }
53
- },
54
- refreshClasses() {
55
- return ['vd-refresh', `vd-refresh--${this.size}`];
56
- }
57
- },
58
- methods:{
59
- },
60
- mounted(){
61
-
62
- }
63
- }
64
- </script>
65
-
66
- <style lang="less">
67
- @import './style.less';
68
- </style>
@@ -1,54 +0,0 @@
1
- .vd-loading {
2
- position: fixed;
3
- left: 50%;
4
- top: 50%;
5
- transform: translate(-50%, -50%);
6
- margin-block-start: -16px;
7
- display: flex;
8
- align-items: center;
9
- flex-direction: column;
10
- justify-content: center;
11
- width: fit-content;
12
- min-height: var(--height-loading-small);
13
- min-width: var(--width-loading-small);
14
- max-width: var(--width-loading-large);
15
- background-color: var(--color-loading-bg);
16
- border-radius: var(--radius-loading-size);
17
- padding: var(--spacing-loading-padding_x) var(--spacing-loading-padding_y);
18
-
19
- &__text {
20
- margin-block-start: var(--spacing-loading-icon-margin_bottom);
21
- font-size: var(--en-single-f-c-r-fontSize);
22
- font-weight: var(--en-single-f-c-r-fontWeight);
23
- color: var(--color-loading-text);
24
- }
25
-
26
- img {
27
- margin: 0 auto;
28
- width: var(--icon-loading-size);
29
- }
30
- }
31
-
32
- .vd-refresh {
33
- position: absolute;
34
- left: 50%;
35
- transform: translateX(-50%);
36
-
37
- &--large {
38
- width: var(--icon-loading-refres_large);
39
-
40
- img {
41
- border: 0;
42
- max-width: 100%;
43
- }
44
- }
45
-
46
- &--small {
47
- width: var(--icon-loading-refres_small);
48
-
49
- img {
50
- border: 0;
51
- max-width: 100%;
52
- }
53
- }
54
- }
@@ -1,81 +0,0 @@
1
- import Vue from 'vue';
2
- import { on } from './dom';
3
- // 定义一个空数组 nodeList,用于存储绑定了该指令的元素。
4
- const nodeList = [];
5
- //定义一个常量 ctx,用于标识特殊属性名。
6
- const ctx = '@@clickoutsideContext';
7
- // 定义一个变量 startClick,用于存储点击开始时的事件对象。
8
- let startClick;
9
- // 定义一个变量 seed,用作节点标识的种子。
10
- let seed = 0;
11
- // 在文档上添加一个 mousedown 事件监听器,用于记录点击开始时的事件对象。
12
- !Vue.prototype.$isServer && on(document, 'mousedown', e => (startClick = e));
13
- // 添加一个 mouseup 事件监听器。当鼠标放开时,
14
- !Vue.prototype.$isServer && on(document, 'mouseup', e => {
15
- // 遍历 nodeList 数组中的每个元素,并执行它们的 documentHandler 函数。
16
- nodeList.forEach(node => node[ctx].documentHandler(e, startClick));
17
- });
18
- // 创建一个处理文档点击事件的函数。
19
- // 该函数返回一个闭包函数,用于检查点击事件是否发生在绑定的元素外部,并执行相应的回调函数。
20
- function createDocumentHandler(el, binding, vnode) {
21
- return function (mouseup = {}, mousedown = {}) {
22
- if (!vnode ||
23
- !vnode.context ||
24
- !mouseup.target ||
25
- !mousedown.target ||
26
- el.contains(mouseup.target) ||
27
- el.contains(mousedown.target) ||
28
- el === mouseup.target ||
29
- (vnode.context.popperElm &&
30
- (vnode.context.popperElm.contains(mouseup.target) ||
31
- vnode.context.popperElm.contains(mousedown.target)))) return;
32
-
33
- if (binding.expression &&
34
- el[ctx].methodName &&
35
- vnode.context[el[ctx].methodName]) {
36
- vnode.context[el[ctx].methodName](mouseup.target);
37
- } else {
38
- el[ctx].bindingFn && el[ctx].bindingFn();
39
- }
40
- };
41
- }
42
-
43
- /**
44
- * v-clickoutside
45
- * @desc 点击元素外面才会触发的事件
46
- * @example
47
- * ```vue
48
- * <div v-element-clickoutside="handleClose">
49
- * ```
50
- */
51
- export default {
52
- // 将元素添加到 nodeList 数组中,并为该元素添加一个包含事件处理函数的特殊属性。
53
- bind(el, binding, vnode) {
54
- nodeList.push(el);
55
- const id = seed++;
56
- el[ctx] = {
57
- id,
58
- documentHandler: createDocumentHandler(el, binding, vnode),
59
- methodName: binding.expression,
60
- bindingFn: binding.value
61
- };
62
- },
63
- // 当指令所在组件的 VNode 更新时调用,更新元素的事件处理函数和绑定方法。
64
- update(el, binding, vnode) {
65
- el[ctx].documentHandler = createDocumentHandler(el, binding, vnode);
66
- el[ctx].methodName = binding.expression;
67
- el[ctx].bindingFn = binding.value;
68
- },
69
- // 从 nodeList 中移除对应的元素,并删除特殊属性。
70
- unbind(el) {
71
- let len = nodeList.length;
72
-
73
- for (let i = 0; i < len; i++) {
74
- if (nodeList[i][ctx].id === el[ctx].id) {
75
- nodeList.splice(i, 1);
76
- break;
77
- }
78
- }
79
- delete el[ctx];
80
- }
81
- };
@@ -1,41 +0,0 @@
1
- /* istanbul ignore next */
2
-
3
- import Vue from 'vue';
4
-
5
- const isServer = Vue.prototype.$isServer;
6
- /* istanbul ignore next */
7
- export const on = (function () {
8
- // 添加事件监听器
9
- if (!isServer && document.addEventListener) {
10
- return function (element, event, handler) {
11
- if (element && event && handler) {
12
- element.addEventListener(event, handler, false);
13
- }
14
- };
15
- } else {
16
- // IE8 及其以下版本没有 addEventListener 方法
17
- return function (element, event, handler) {
18
- if (element && event && handler) {
19
- element.attachEvent('on' + event, handler);
20
- }
21
- };
22
- }
23
- })();
24
-
25
- /* istanbul ignore next */
26
- export const off = (function () {
27
- // 移除事件监听器
28
- if (!isServer && document.removeEventListener) {
29
- return function (element, event, handler) {
30
- if (element && event) {
31
- element.removeEventListener(event, handler, false);
32
- }
33
- };
34
- } else {
35
- return function (element, event, handler) {
36
- if (element && event) {
37
- element.detachEvent('on' + event, handler);
38
- }
39
- };
40
- }
41
- })();
@@ -1,41 +0,0 @@
1
- import { inBrowser } from '../utils/env';
2
-
3
- export default {
4
- data() {
5
- return {
6
- language: inBrowser ? document.documentElement.lang || 'en' : 'en' // 初始语言
7
- }
8
- },
9
- mounted() {
10
- if (inBrowser) {
11
- this.updateLanguage();
12
- this.setupLanguageObserver();
13
- }
14
- },
15
- methods: {
16
- updateLanguage() {
17
- this.language = document.documentElement.lang || 'en';
18
- },
19
- setupLanguageObserver() {
20
- const observer = new MutationObserver(() => {
21
- this.updateLanguage();
22
- });
23
-
24
- observer.observe(document.documentElement, {
25
- attributes: true,
26
- attributeFilter: ['lang']
27
- });
28
-
29
- // 在组件销毁时断开观察者
30
- this.$once('hook:beforeDestroy', () => {
31
- observer.disconnect();
32
- });
33
- }
34
- },
35
- watch: {
36
- // language(newLang) {
37
- // // 当 language 变化时执行的操作
38
- // console.log('Language changed to:', newLang);
39
- // }
40
- }
41
- }
@@ -1,45 +0,0 @@
1
- // outlineConfigPlugin.js
2
- import { inBrowser } from '../utils/env'
3
- // __debug=1&__debug_vdesign_token=1
4
- const OutlineConfig = {
5
- install(Vue, options = {}) {
6
- const outlineConfig = Vue.observable({
7
- outlineEnabled: options.outlineEnabled ||false,
8
- });
9
-
10
- Vue.prototype.$outlineConfig = outlineConfig;
11
-
12
- Vue.mixin({
13
- created() {
14
- if (inBrowser) {
15
- this.$outlineConfig.outlineEnabled = this.shouldEnableOutline()
16
- this.$watch('$outlineConfig.outlineEnabled', (newValue) => {
17
- document.documentElement.style.setProperty('--outline-visible', newValue ? '1px' : '0');
18
- }, { immediate: true });
19
- }
20
- },
21
- methods:{
22
- shouldEnableOutline() {
23
- if (!inBrowser) {
24
- // 如果是在服务端渲染,返回默认值 false
25
- return false;
26
- }
27
- // 获取URL的查询参数部分
28
- const searchParams = new URLSearchParams(window.location.search);
29
- // 对于哈希模式,也解析哈希中的查询字符串
30
- const hashParams = window.location.hash.split('?')[1] ? new URLSearchParams(window.location.hash.split('?')[1]) : null;
31
-
32
- // 检查查询参数或哈希中的参数
33
- const debug = searchParams.has('__debug') || (hashParams && hashParams.has('__debug')) ? searchParams.get('__debug') === '1' || (hashParams && hashParams.get('__debug') === '1') : false;
34
- const vdesignToken = searchParams.has('__debug_vdesign_token') || (hashParams && hashParams.has('__debug_vdesign_token')) ? searchParams.get('__debug_vdesign_token') === '1' || (hashParams && hashParams.get('__debug_vdesign_token') === '1') : false;
35
-
36
- return debug && vdesignToken;
37
- }
38
- }
39
- });
40
- }
41
- };
42
-
43
-
44
-
45
- export default OutlineConfig;
@@ -1,23 +0,0 @@
1
- /**
2
- * add Vue-Router support
3
- */
4
-
5
- export default {
6
- props: {
7
- url: String,
8
- replace: Boolean,
9
- to: [String, Object]
10
- },
11
-
12
- methods: {
13
- routerLink() {
14
- const { to, url, $router, replace } = this;
15
- if (to && $router) {
16
- $router[replace ? 'replace' : 'push'](to);
17
- } else if (url) {
18
- replace ? location.replace(url) : location.href = url;
19
- }
20
- }
21
- }
22
- };
23
-
@@ -1,43 +0,0 @@
1
- // import Vue from 'vue'
2
- import { inBrowser } from '../utils/env';
3
-
4
- export const themeMixin = {
5
- data() {
6
- return {
7
- theme: 'light' // 设置默认主题
8
- };
9
- },
10
- mounted() {
11
- if (inBrowser) {
12
- // 在客户端环境中,可以安全地访问 'document'
13
- this.theme = document.documentElement.getAttribute('theme') || 'light';
14
- this.observeThemeChanges(); // 开始监听主题变化
15
- }
16
- },
17
- methods: {
18
- observeThemeChanges() {
19
- if (inBrowser) {
20
- // 创建一个 MutationObserver 实例
21
- const observer = new MutationObserver((mutations) => {
22
- mutations.forEach((mutation) => {
23
- // 检查变化的属性是否为 'theme'
24
- if (mutation.attributeName === 'theme') {
25
- // 更新组件的主题
26
- this.theme = document.documentElement.getAttribute('theme') || 'light';
27
- }
28
- });
29
- });
30
-
31
- // 配置观察器,监视 html 元素的属性变化
32
- observer.observe(document.documentElement, {
33
- attributes: true // 仅监视属性变化
34
- });
35
-
36
- // 在组件销毁时断开观察器
37
- this.$once('hook:beforeDestroy', () => {
38
- observer.disconnect();
39
- });
40
- }
41
- }
42
- }
43
- };
@@ -1,8 +0,0 @@
1
- import Noticebar from './index.vue';
2
- import './style.less';
3
-
4
- Noticebar.install = function (Vue) {
5
- Vue.component(Noticebar.name, Noticebar);
6
- };
7
-
8
- export default Noticebar;