vdesign-ui 0.2.6 → 0.2.8

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/dist/components/actionbar/index.js +8 -0
  2. package/dist/components/actionbar/index.vue +39 -0
  3. package/dist/components/actionbar/style.less +44 -0
  4. package/dist/components/actionbar-cell/index.js +7 -0
  5. package/dist/components/actionbar-cell/index.vue +38 -0
  6. package/dist/components/actions/index.js +7 -0
  7. package/dist/components/actions/index.vue +76 -0
  8. package/dist/components/actions/style.less +109 -0
  9. package/dist/components/actions-cell/index.js +7 -0
  10. package/dist/components/actions-cell/index.vue +94 -0
  11. package/dist/components/actions-cell/style.less +39 -0
  12. package/dist/components/activityviews/index.js +8 -0
  13. package/dist/components/activityviews/index.vue +192 -0
  14. package/dist/components/activityviews/style.less +152 -0
  15. package/dist/components/badge/index.js +8 -0
  16. package/dist/components/badge/index.vue +49 -0
  17. package/dist/components/badge/style.less +54 -0
  18. package/dist/components/button/index.js +8 -0
  19. package/dist/components/button/index.vue +93 -0
  20. package/dist/components/button/style.less +558 -0
  21. package/dist/components/calendar/end.png +0 -0
  22. package/dist/components/calendar/index-element.vue +84 -0
  23. package/dist/components/calendar/index.js +8 -0
  24. package/dist/components/calendar/index.vue +52 -0
  25. package/dist/components/calendar/start.png +0 -0
  26. package/dist/components/calendar/style.less +138 -0
  27. package/dist/components/checkbox/index.js +8 -0
  28. package/dist/components/checkbox/index.vue +161 -0
  29. package/dist/components/checkbox/style.less +289 -0
  30. package/dist/components/checkbox-group/index.js +7 -0
  31. package/dist/components/checkbox-group/index.vue +69 -0
  32. package/dist/components/common/state/index.vue +33 -0
  33. package/dist/components/common/state/style.less +48 -0
  34. package/dist/components/data-list/index.js +10 -0
  35. package/dist/components/data-list/index.vue +19 -0
  36. package/dist/components/data-list/style.less +623 -0
  37. package/dist/components/datetime-picker/index.js +8 -0
  38. package/dist/components/datetime-picker/index.vue +37 -0
  39. package/dist/components/datetime-picker/style.less +24 -0
  40. package/dist/components/dialog/index.js +8 -0
  41. package/dist/components/dialog/index.vue +164 -0
  42. package/dist/components/dialog/overlay-manager.js +18 -0
  43. package/dist/components/dialog/style.less +139 -0
  44. package/dist/components/divider/index.js +8 -0
  45. package/dist/components/divider/index.vue +54 -0
  46. package/dist/components/divider/style.less +92 -0
  47. package/dist/components/dropdown/index.js +8 -0
  48. package/dist/components/dropdown/index.vue +218 -0
  49. package/dist/components/dropdown/style.less +432 -0
  50. package/dist/components/empty/404-dark.png +0 -0
  51. package/dist/components/empty/404.png +0 -0
  52. package/dist/components/empty/index.js +8 -0
  53. package/dist/components/empty/index.vue +138 -0
  54. package/dist/components/empty/network-dark.png +0 -0
  55. package/dist/components/empty/network.png +0 -0
  56. package/dist/components/empty/nocoupons-dark.png +0 -0
  57. package/dist/components/empty/nocoupons.png +0 -0
  58. package/dist/components/empty/nodata-dark.png +0 -0
  59. package/dist/components/empty/nodata.png +0 -0
  60. package/dist/components/empty/nomargin-dark.png +0 -0
  61. package/dist/components/empty/nomargin.png +0 -0
  62. package/dist/components/empty/nonotice-dark.png +0 -0
  63. package/dist/components/empty/nonotice.png +0 -0
  64. package/dist/components/empty/noocomments-dark.png +0 -0
  65. package/dist/components/empty/noocomments.png +0 -0
  66. package/dist/components/empty/noorders-dark.png +0 -0
  67. package/dist/components/empty/noorders.png +0 -0
  68. package/dist/components/empty/noposition-dark.png +0 -0
  69. package/dist/components/empty/noposition.png +0 -0
  70. package/dist/components/empty/nosearch-dark.png +0 -0
  71. package/dist/components/empty/nosearch.png +0 -0
  72. package/dist/components/empty/style.less +61 -0
  73. package/dist/components/footer/index.js +7 -0
  74. package/dist/components/footer/index.vue +33 -0
  75. package/dist/components/footer/style.less +21 -0
  76. package/dist/components/footnav/index.js +7 -0
  77. package/dist/components/footnav/index.vue +93 -0
  78. package/dist/components/footnav/style.less +23 -0
  79. package/dist/components/footnav-item/index.js +7 -0
  80. package/dist/components/footnav-item/index.vue +50 -0
  81. package/dist/components/footnav-item/style.less +39 -0
  82. package/dist/components/form/index.js +7 -0
  83. package/dist/components/form/index.vue +12 -0
  84. package/dist/components/headnav/index.js +7 -0
  85. package/dist/components/headnav/index.vue +185 -0
  86. package/dist/components/headnav/style.less +232 -0
  87. package/dist/components/icon/font/iconfont.css +163 -0
  88. package/dist/components/icon/font/iconfont.js +6 -0
  89. package/dist/components/icon/index.js +9 -0
  90. package/dist/components/icon/index.vue +96 -0
  91. package/dist/components/icon/style.less +44 -0
  92. package/dist/components/input/calcTextareaHeight.js +162 -0
  93. package/dist/components/input/index.js +8 -0
  94. package/dist/components/input/index.vue +345 -0
  95. package/dist/components/input/style.less +471 -0
  96. package/dist/components/list/index.js +8 -0
  97. package/dist/components/list/index.vue +152 -0
  98. package/dist/components/list/style.less +213 -0
  99. package/dist/components/loading/index.js +7 -0
  100. package/dist/components/loading/index.vue +68 -0
  101. package/dist/components/loading/style.less +54 -0
  102. package/dist/components/mixins/clickoutside.js +81 -0
  103. package/dist/components/mixins/dom.js +41 -0
  104. package/dist/components/mixins/languageMixin.js +41 -0
  105. package/dist/components/mixins/outlineConfigPlugin.js +45 -0
  106. package/dist/components/mixins/router-link.js +23 -0
  107. package/dist/components/mixins/themeMixin.js +43 -0
  108. package/dist/components/noticebar/index.js +8 -0
  109. package/dist/components/noticebar/index.vue +258 -0
  110. package/dist/components/noticebar/style.less +328 -0
  111. package/dist/components/overlay/index.js +8 -0
  112. package/dist/components/overlay/index.vue +184 -0
  113. package/dist/components/overlay/style.less +23 -0
  114. package/dist/components/pagebreak/index.js +7 -0
  115. package/dist/components/pagebreak/index.vue +67 -0
  116. package/dist/components/pagebreak/style.less +42 -0
  117. package/dist/components/password/index.js +8 -0
  118. package/dist/components/password/index.vue +60 -0
  119. package/dist/components/popover/index.js +8 -0
  120. package/dist/components/popover/index.vue +100 -0
  121. package/dist/components/popover/style.less +346 -0
  122. package/dist/components/popover/vue-popover.vue +314 -0
  123. package/dist/components/popup/index.js +7 -0
  124. package/dist/components/popup/index.vue +243 -0
  125. package/dist/components/radio/index.js +8 -0
  126. package/dist/components/radio/index.vue +184 -0
  127. package/dist/components/radio/style.less +294 -0
  128. package/dist/components/radio-group/index.js +6 -0
  129. package/dist/components/radio-group/index.vue +58 -0
  130. package/dist/components/result/completed-dark.png +0 -0
  131. package/dist/components/result/completed.png +0 -0
  132. package/dist/components/result/error-dark.png +0 -0
  133. package/dist/components/result/error.png +0 -0
  134. package/dist/components/result/index.js +8 -0
  135. package/dist/components/result/index.vue +73 -0
  136. package/dist/components/result/style.less +44 -0
  137. package/dist/components/result/wait-dark.png +0 -0
  138. package/dist/components/result/wait.png +0 -0
  139. package/dist/components/search/index.js +8 -0
  140. package/dist/components/search/index.vue +66 -0
  141. package/dist/components/selector/index.js +8 -0
  142. package/dist/components/selector/index.vue +161 -0
  143. package/dist/components/selector/style.less +484 -0
  144. package/dist/components/skeleton/index.js +7 -0
  145. package/dist/components/skeleton/index.vue +206 -0
  146. package/dist/components/skeleton/style.less +197 -0
  147. package/dist/components/slider/draggable.js +49 -0
  148. package/dist/components/slider/index.js +7 -0
  149. package/dist/components/slider/index.vue +167 -0
  150. package/dist/components/slider/style.less +100 -0
  151. package/dist/components/slider/utils.js +60 -0
  152. package/dist/components/step/index.js +7 -0
  153. package/dist/components/step/index.vue +48 -0
  154. package/dist/components/step/style.less +58 -0
  155. package/dist/components/step-item/index.js +7 -0
  156. package/dist/components/step-item/index.vue +126 -0
  157. package/dist/components/step-item/style.less +362 -0
  158. package/dist/components/stepper/index.js +8 -0
  159. package/dist/components/stepper/index.vue +146 -0
  160. package/dist/components/style/index.vue +42 -0
  161. package/dist/components/switch/index.js +8 -0
  162. package/dist/components/switch/index.vue +72 -0
  163. package/dist/components/switch/style.less +56 -0
  164. package/dist/components/tab/index.js +7 -0
  165. package/dist/components/tab/index.vue +68 -0
  166. package/dist/components/tabs/index.js +8 -0
  167. package/dist/components/tabs/index.vue +180 -0
  168. package/dist/components/tabs/style.less +383 -0
  169. package/dist/components/tag/index.js +7 -0
  170. package/dist/components/tag/index.vue +64 -0
  171. package/dist/components/tag/style.less +211 -0
  172. package/dist/components/title/index.js +8 -0
  173. package/dist/components/title/index.vue +99 -0
  174. package/dist/components/title/style.less +188 -0
  175. package/dist/components/toast/index.js +76 -0
  176. package/dist/components/toast/index.vue +49 -0
  177. package/dist/components/toast/style.less +57 -0
  178. package/dist/components/transition/index.js +8 -0
  179. package/dist/components/transition/index.vue +13 -0
  180. package/dist/components/transition/style.less +208 -0
  181. package/dist/components/upload/index.js +7 -0
  182. package/dist/components/upload/index.vue +106 -0
  183. package/dist/components/upload/style.less +147 -0
  184. package/dist/components/utils/assist.js +34 -0
  185. package/dist/components/utils/env.js +21 -0
  186. package/dist/demo.html +10 -0
  187. package/dist/locale/ar.js +98 -0
  188. package/dist/locale/en.js +98 -0
  189. package/dist/locale/zh.js +98 -0
  190. package/dist/token.css +2990 -0
  191. package/dist/vdesign-ui.common.js +27108 -0
  192. package/dist/vdesign-ui.css +1 -0
  193. package/dist/vdesign-ui.umd.js +27118 -0
  194. package/dist/vdesign-ui.umd.min.js +32 -0
  195. package/package.json +1 -1
@@ -0,0 +1,161 @@
1
+ <template>
2
+ <div v-clickoutside="close" class="vd-selector" :class="wrapClasses" :tabindex="disabled ? -1 : 0">
3
+ <div class="vd-selector__inner" @click.stop="handlerClick">
4
+ <div :contenteditable="contenteditable" class="vd-selector__left">
5
+ <vd-icon v-if="icon" :name="icon" svg :class="iconClasses"></vd-icon>
6
+ <div :class="titleClasses">
7
+ <slot name="content">
8
+ {{ content }}
9
+ </slot>
10
+ </div>
11
+ </div>
12
+ <vd-icon v-if="arrow" :name="arrow" :class="arrowClasses"></vd-icon>
13
+ </div>
14
+ <div class="vd-selector--slot">
15
+ <slot name="dropdown"></slot>
16
+ </div>
17
+ </div>
18
+ </template>
19
+
20
+ <script>
21
+ import VdIcon from '../icon';
22
+ import clickoutside from "../mixins/clickoutside.js";
23
+ const prefixCls = 'vd-selector';
24
+
25
+ export default {
26
+ name: 'vd-selector',
27
+ components: {
28
+ VdIcon
29
+ },
30
+ directives: {
31
+ clickoutside
32
+ },
33
+ props: {
34
+ icon: {
35
+ type: String,
36
+ default: ''
37
+ },
38
+ arrow: {
39
+ type: String,
40
+ default: 'icon_btn_moredown'
41
+ },
42
+ type: {
43
+ type: String,
44
+ default: '',
45
+ validator: value => ['', 'form'].includes(value)
46
+ },
47
+ size: {
48
+ type: String,
49
+ default: 'm',
50
+ validator: value => ['s', 'm', 'l', 'xl'].includes(value)
51
+ },
52
+ content: {
53
+ type: String,
54
+ default: ''
55
+ },
56
+ disabled: {
57
+ type: Boolean,
58
+ default: false
59
+ },
60
+ active: {
61
+ type: Boolean,
62
+ default: false
63
+ },
64
+ contenteditable: {
65
+ type: Boolean,
66
+ default: false
67
+ },
68
+ value: {
69
+ type: Boolean,
70
+ default: false
71
+ },
72
+ name: {
73
+ type: String,
74
+ default: ''
75
+ },
76
+ },
77
+ watch: {
78
+ value(val) {
79
+ this.showMenu = val;
80
+ }
81
+ },
82
+ data() {
83
+ return {
84
+ showMenu: this.value
85
+ }
86
+ },
87
+ computed: {
88
+ // 计算外层容器的样式类
89
+ wrapClasses() {
90
+ return {
91
+ [`${prefixCls}-${this.type}`]: this.type,
92
+ [`${prefixCls}-${this.size}`]: this.size,
93
+ [`${prefixCls}--disabled`]: this.disabled,
94
+ [`${prefixCls}--active`]: this.showMenu || this.active,
95
+ };
96
+ },
97
+ // 计算标题的样式类
98
+ titleClasses() {
99
+ return {
100
+ [`${prefixCls}-${this.type}__title`]: this.type,
101
+ [`${prefixCls}-${this.size}__title`]: this.size,
102
+ };
103
+ },
104
+ // 计算图标的样式类
105
+ iconClasses() {
106
+ return {
107
+ [`${prefixCls}-iconfont`]: true,
108
+ [`${prefixCls}-${this.type}__icon`]: this.type,
109
+ [`${prefixCls}-${this.size}__icon`]: this.size,
110
+ };
111
+ },
112
+ // 计算箭头的样式类
113
+ arrowClasses() {
114
+ return {
115
+ [`${prefixCls}-iconfont`]: true,
116
+ [`${prefixCls}-${this.type}__arrow`]: this.type,
117
+ [`${prefixCls}-${this.size}__arrow`]: this.size,
118
+ [`${prefixCls}__arrow--active`]: this.showMenu && this.arrow === 'icon_btn_moredown',
119
+ };
120
+ },
121
+ },
122
+ methods: {
123
+ generateClasses(suffix = '', extra = '') {
124
+ return {
125
+ [`${prefixCls}-${this.type}${suffix}`]: this.type,
126
+ [`${prefixCls}-${this.size}${suffix}`]: this.size,
127
+ [`${prefixCls}${extra}`]: extra,
128
+ [`${prefixCls}--disabled`]: this.disabled,
129
+ [`${prefixCls}--active`]: this.showMenu || this.active,
130
+ [`${prefixCls}-${this.size}${suffix}--active`]: this.showMenu && this.arrow,
131
+ };
132
+ },
133
+ close() {
134
+ if (this.showMenu) {
135
+ // this.showMenu = false;
136
+ // this.$emit('close');
137
+ // 传了下拉菜单才执行
138
+ if (this.$scopedSlots.dropdown) {
139
+ console.log('has dropdown')
140
+ this.$emit('input', false);
141
+ }
142
+ }
143
+ },
144
+ handlerClick() {
145
+ if (this.disabled) return;
146
+ console.log('showMenu:1:', this.showMenu);
147
+ // 更新showMenu的值
148
+ this.showMenu = !this.showMenu;
149
+ console.log('showMenu:2:', this.showMenu);
150
+ // 使用$emit来更新v-model绑定的值
151
+ this.$emit('input', this.showMenu);
152
+ this.$emit('click');
153
+ }
154
+
155
+ }
156
+ };
157
+ </script>
158
+
159
+ <style lang="less">
160
+ @import './style.less';
161
+ </style>
@@ -0,0 +1,484 @@
1
+ @selector-prefix-cls: vd-selector;
2
+
3
+ .@{selector-prefix-cls} {
4
+ box-sizing: border-box;
5
+ position: relative;
6
+ display: flex;
7
+ align-items: center;
8
+ justify-content: center;
9
+ width: 100%;
10
+
11
+ &__inner {
12
+ display: flex;
13
+ flex-wrap: nowrap;
14
+ align-items: center;
15
+ justify-content: center;
16
+ cursor: pointer;
17
+ height: 100%;
18
+ width: 100%;
19
+ }
20
+
21
+ &__left {
22
+ display: flex;
23
+ align-items: center;
24
+ max-width: 100%;
25
+ overflow: hidden;
26
+
27
+ &:focus-visible {
28
+ outline: none;
29
+ }
30
+ }
31
+
32
+ &-iconfont {
33
+ flex: none;
34
+ min-width: 0;
35
+ }
36
+
37
+ &-xl {
38
+
39
+ &__title {
40
+ font-size: var(--en-single-f-e-r-fontSize);
41
+ font-weight: var(--en-single-f-e-r-fontWeight);
42
+ color: var(--color-selector-xl-text-default);
43
+ white-space: nowrap;
44
+ overflow: hidden;
45
+ text-overflow: ellipsis;
46
+
47
+ &--active {
48
+ font-size: var(--en-single-f-f-b-fontSize);
49
+ font-weight: var(--en-single-f-f-b-fontWeight);
50
+ color: var(--color-selector-xl-text-active);
51
+ }
52
+
53
+ &--disabled {
54
+ font-size: var(--en-single-f-f-b-fontSize);
55
+ font-weight: var(--en-single-f-f-b-fontWeight);
56
+ color: var(--color-selector-xl-text-disable);
57
+ }
58
+ }
59
+
60
+ &__icon {
61
+ display: flex;
62
+ font-size: var(--icon-selector-xl);
63
+ margin-inline-end: var(--spacing-selector-xl-margin_y);
64
+
65
+ &--disabled {
66
+ opacity: var(--opacity-30);
67
+ }
68
+ }
69
+
70
+ &__arrow {
71
+ font-size: var(--icon-small);
72
+ margin-inline-start: var(--spacing-selector-l-margin_y);
73
+ color: var(--color-selector-icon_down-default);
74
+ transition: transform .3s;
75
+
76
+ &--active {
77
+ color: var(--color-selector-icon_down-active);
78
+ }
79
+
80
+ &--disabled {
81
+ color: var(--color-selector-icon_down-disable);
82
+ }
83
+ }
84
+
85
+ }
86
+
87
+ &-l {
88
+
89
+ &__title {
90
+ font-size: var(--en-single-f-d-r-fontSize);
91
+ font-weight: var(--en-single-f-d-r-fontWeight);
92
+ color: var(--color-selector-l-text-default);
93
+ white-space: nowrap;
94
+ overflow: hidden;
95
+ text-overflow: ellipsis;
96
+
97
+ &--active {
98
+ font-size: var(--en-single-f-d-s-fontSize);
99
+ font-weight: var(--en-single-f-d-s-fontWeight);
100
+ color: var(--color-selector-l-text-active);
101
+ }
102
+
103
+ &--disabled {
104
+ font-size: var(--en-single-f-d-s-fontSize);
105
+ font-weight: var(--en-single-f-d-s-fontWeight);
106
+ color: var(--color-selector-l-text-disable);
107
+ }
108
+ }
109
+
110
+ &__icon {
111
+ display: flex;
112
+ font-size: var(--icon-selector-l);
113
+ margin-inline-end: var(--spacing-selector-l-margin_y);
114
+
115
+ &--disabled {
116
+ opacity: var(--opacity-30);
117
+ }
118
+ }
119
+
120
+ &__arrow {
121
+ font-size: var(--icon-small);
122
+ margin-inline-start: var(--spacing-selector-l-margin_y);
123
+ color: var(--color-selector-icon_down-default);
124
+ transition: transform .3s;
125
+
126
+ &--active {
127
+ color: var(--color-selector-icon_down-active);
128
+ }
129
+
130
+ &--disabled {
131
+ color: var(--color-selector-icon_down-disable);
132
+ }
133
+ }
134
+ }
135
+
136
+ &-m {
137
+
138
+ &__title {
139
+ font-size: var(--en-single-f-c-r-fontSize);
140
+ font-weight: var(--en-single-f-c-r-fontWeight);
141
+ color: var(--color-selector-m-text-default);
142
+ white-space: nowrap;
143
+ overflow: hidden;
144
+ text-overflow: ellipsis;
145
+
146
+ &--active {
147
+ font-size: var(--en-single-f-c-s-fontSize);
148
+ font-weight: var(--en-single-f-c-s-fontWeight);
149
+ color: var(--color-selector-m-text-active);
150
+ }
151
+
152
+ &--disabled {
153
+ font-size: var(--en-single-f-c-s-fontSize);
154
+ font-weight: var(--en-single-f-c-s-fontWeight);
155
+ color: var(--color-selector-m-text-disable);
156
+ }
157
+ }
158
+
159
+ &__icon {
160
+ display: flex;
161
+ font-size: var(--icon-selector-m);
162
+ margin-inline-end: var(--spacing-selector-m-margin_y);
163
+
164
+ &--disabled {
165
+ opacity: var(--opacity-30);
166
+ }
167
+ }
168
+
169
+ &__arrow {
170
+ font-size: var(--icon-small);
171
+ margin-inline-start: var(--spacing-selector-m-margin_y);
172
+ color: var(--color-selector-icon_down-default);
173
+ transition: transform .3s;
174
+
175
+ &--active {
176
+ color: var(--color-selector-icon_down-active);
177
+ }
178
+
179
+ &--disabled {
180
+ color: var(--color-selector-icon_down-disable);
181
+ }
182
+ }
183
+ }
184
+
185
+ &-s {
186
+
187
+ &__title {
188
+ font-size: var(--en-single-f-b-r-fontSize);
189
+ font-weight: var(--en-single-f-b-r-fontWeight);
190
+ color: var(--color-selector-s-text-default);
191
+ white-space: nowrap;
192
+ overflow: hidden;
193
+ text-overflow: ellipsis;
194
+
195
+ &--active {
196
+ font-size: var(--en-single-f-b-r-fontSize);
197
+ font-weight: var(--en-single-f-b-r-fontWeight);
198
+ color: var(--color-selector-s-text-active);
199
+ }
200
+
201
+ &--disabled {
202
+ font-size: var(--en-single-f-b-r-fontSize);
203
+ font-weight: var(--en-single-f-b-r-fontWeight);
204
+ color: var(--color-selector-s-text-disable);
205
+ }
206
+ }
207
+
208
+ &__icon {
209
+ display: flex;
210
+ font-size: var(--icon-selector-s);
211
+ margin-inline-end: var(--spacing-selector-s-margin_y);
212
+
213
+ &--disabled {
214
+ opacity: var(--opacity-30);
215
+ }
216
+ }
217
+
218
+ &__arrow {
219
+ font-size: var(--icon-extra-small);
220
+ margin-inline-start: var(--spacing-selector-s-margin_y);
221
+ color: var(--color-selector-icon_down-default);
222
+ transition: transform .3s;
223
+
224
+ &--active {
225
+ color: var(--color-selector-icon_down-active);
226
+ }
227
+
228
+ &--disabled {
229
+ color: var(--color-selector-icon_down-disable);
230
+ }
231
+ }
232
+ }
233
+
234
+ &-form {
235
+ width: var(--width-selector-form);
236
+ height: var(--height-selector-form);
237
+ padding-inline-start: var(--spacing-selector-padding_y);
238
+ padding-inline-end: var(--spacing-selector-padding_y);
239
+ background-color: var(--color-selector-form-bg-default);
240
+ border-radius: var(--radius-selector-form);
241
+ justify-content: space-between;
242
+
243
+ .@{selector-prefix-cls}__inner {
244
+ justify-content: space-between;
245
+ }
246
+
247
+ &--active {
248
+ background-color: var(--color-selector-form-bg-active);
249
+ }
250
+
251
+ &--disabled {
252
+ background-color: var(--color-selector-form-bg-disable);
253
+ }
254
+
255
+ &__title {
256
+ font-size: var(--en-single-f-d-r-fontSize);
257
+ font-weight: var(--en-single-f-d-r-fontWeight);
258
+ color: var(--color-selector-form-text-default);
259
+ white-space: nowrap;
260
+ overflow: hidden;
261
+ text-overflow: ellipsis;
262
+
263
+ &--active {
264
+ font-size: var(--en-single-f-d-s-fontSize);
265
+ font-weight: var(--en-single-f-d-s-fontWeight);
266
+ color: var(--color-selector-xl-text-active);
267
+ }
268
+
269
+ &--disabled {
270
+ font-size: var(--en-single-f-d-s-fontSize);
271
+ font-weight: var(--en-single-f-d-s-fontWeight);
272
+ color: var(--color-selector-xl-text-disable);
273
+ }
274
+ }
275
+
276
+ &__icon {
277
+ font-size: var(--icon-selector-l);
278
+ margin-inline-end: var(--spacing-selector-icon-margin_right);
279
+
280
+ &--disabled {
281
+ opacity: var(--opacity-30);
282
+ }
283
+ }
284
+
285
+ &__arrow {
286
+ font-size: var(--icon-small);
287
+ margin-inline-start: var(--spacing-selector-down-margin_left);
288
+ color: var(--color-selector-icon_down-default);
289
+ transition: transform .3s;
290
+
291
+ &--active {
292
+ color: var(--color-selector-icon_down-active);
293
+ }
294
+
295
+ &--disabled {
296
+ color: var(--color-selector-icon_down-disable);
297
+ }
298
+ }
299
+ }
300
+
301
+ &--slot {
302
+ position: absolute;
303
+ top: 100%;
304
+ display: none;
305
+ }
306
+
307
+ &--active {
308
+ .@{selector-prefix-cls}-xl {
309
+
310
+ &__title {
311
+ font-size: var(--en-single-f-f-b-fontSize);
312
+ font-weight: var(--en-single-f-f-b-fontWeight);
313
+ color: var(--color-selector-xl-text-active);
314
+ }
315
+
316
+ &__arrow {
317
+ color: var(--color-selector-icon_down-active);
318
+ transition: transform .3s;
319
+ }
320
+
321
+ }
322
+
323
+ .@{selector-prefix-cls}-l {
324
+
325
+ &__title {
326
+ font-size: var(--en-single-f-d-s-fontSize);
327
+ font-weight: var(--en-single-f-d-s-fontWeight);
328
+ color: var(--color-selector-l-text-active);
329
+ }
330
+
331
+ &__arrow {
332
+ color: var(--color-selector-icon_down-active);
333
+ transition: transform .3s;
334
+ }
335
+
336
+ }
337
+
338
+ .@{selector-prefix-cls}-m {
339
+
340
+ &__title {
341
+ font-size: var(--en-single-f-c-s-fontSize);
342
+ font-weight: var(--en-single-f-c-s-fontWeight);
343
+ color: var(--color-selector-m-text-active);
344
+ }
345
+
346
+ &__arrow {
347
+ color: var(--color-selector-icon_down-active);
348
+ transition: transform .3s;
349
+ }
350
+ }
351
+
352
+ .@{selector-prefix-cls}-s {
353
+
354
+ &__title {
355
+ font-size: var(--en-single-f-b-r-fontSize);
356
+ font-weight: var(--en-single-f-b-r-fontWeight);
357
+ color: var(--color-selector-s-text-active);
358
+ }
359
+
360
+ &__arrow {
361
+ color: var(--color-selector-icon_down-active);
362
+ transition: transform .3s;
363
+ }
364
+
365
+ }
366
+
367
+ .@{selector-prefix-cls}-form {
368
+ background-color: var(--color-selector-form-bg-active);
369
+
370
+ &__title {
371
+ font-size: var(--en-single-f-d-s-fontSize);
372
+ font-weight: var(--en-single-f-d-s-fontWeight);
373
+ color: var(--color-selector-xl-text-active);
374
+ }
375
+
376
+ &__arrow {
377
+ color: var(--color-selector-icon_down-active);
378
+ transition: transform .3s;
379
+ }
380
+ }
381
+
382
+ .@{selector-prefix-cls}--slot {
383
+ display: block;
384
+ }
385
+ }
386
+
387
+ &--disabled {
388
+ .@{selector-prefix-cls}-xl {
389
+
390
+ &__title {
391
+ font-size: var(--en-single-f-f-b-fontSize);
392
+ font-weight: var(--en-single-f-f-b-fontWeight);
393
+ color: var(--color-selector-xl-text-disable);
394
+ }
395
+
396
+ &__icon {
397
+ opacity: var(--opacity-30);
398
+ }
399
+
400
+ &__arrow {
401
+ color: var(--color-selector-icon_down-disable);
402
+ }
403
+
404
+
405
+ }
406
+
407
+ .@{selector-prefix-cls}-l {
408
+
409
+ &__title {
410
+ font-size: var(--en-single-f-d-s-fontSize);
411
+ font-weight: var(--en-single-f-d-s-fontWeight);
412
+ color: var(--color-selector-l-text-disable);
413
+ }
414
+
415
+ &__icon {
416
+ opacity: var(--opacity-30);
417
+ }
418
+
419
+ &__arrow {
420
+ color: var(--color-selector-icon_down-disable);
421
+ }
422
+
423
+ }
424
+
425
+ .@{selector-prefix-cls}-m {
426
+
427
+ &__title {
428
+ font-size: var(--en-single-f-c-s-fontSize);
429
+ font-weight: var(--en-single-f-c-s-fontWeight);
430
+ color: var(--color-selector-m-text-disable);
431
+ }
432
+
433
+ &__icon {
434
+ opacity: var(--opacity-30);
435
+ }
436
+
437
+ &__arrow {
438
+ color: var(--color-selector-icon_down-disable);
439
+ }
440
+
441
+ }
442
+
443
+ .@{selector-prefix-cls}-s {
444
+
445
+ &__title {
446
+ font-size: var(--en-single-f-b-r-fontSize);
447
+ font-weight: var(--en-single-f-b-r-fontWeight);
448
+ color: var(--color-selector-s-text-disable);
449
+ }
450
+
451
+ &__icon {
452
+ opacity: var(--opacity-30);
453
+ }
454
+
455
+ &__arrow {
456
+ color: var(--color-selector-icon_down-disable);
457
+ }
458
+
459
+ }
460
+
461
+ .@{selector-prefix-cls}-form {
462
+ background-color: var(--color-selector-form-bg-disable);
463
+
464
+ &__title {
465
+ font-size: var(--en-single-f-d-s-fontSize);
466
+ font-weight: var(--en-single-f-d-s-fontWeight);
467
+ color: var(--color-selector-xl-text-disable);
468
+ }
469
+
470
+ &__icon {
471
+ opacity: var(--opacity-30);
472
+ }
473
+
474
+ &__arrow {
475
+ color: var(--color-selector-icon_down-disable);
476
+ }
477
+ }
478
+ }
479
+
480
+ &__arrow--active {
481
+ transform: rotate(180deg);
482
+ transform-origin: center;
483
+ }
484
+ }
@@ -0,0 +1,7 @@
1
+ import Skeleton from './index.vue';
2
+ import './style.less';
3
+ Skeleton.install = function(Vue) {
4
+ Vue.component(Skeleton.name, Skeleton)
5
+ }
6
+
7
+ export default Skeleton;