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,53 +0,0 @@
1
- <template>
2
- <div :class="tabClasses">
3
- <slot />
4
- </div>
5
- </template>
6
-
7
- <script>
8
- export default {
9
- name: 'vd-tab',
10
- props: {
11
- name: [String, Number],
12
- title: {
13
- type: String,
14
- required: true,
15
- },
16
- arrow: {
17
- type: Boolean,
18
- default: false,
19
- },
20
- },
21
- data() {
22
- return {
23
- };
24
- },
25
- watch: {
26
-
27
- },
28
- computed: {
29
- isActive() {
30
- return this.computedName === this.$parent.currentValue;
31
- },
32
- tabClasses() {
33
- return {
34
- 'vd-tab': true,
35
- 'vd-tab-active': this.isActive,
36
- };
37
- },
38
- computedName() {
39
- return this.name != null
40
- ? this.name
41
- : this.$parent.tabs.indexOf(this);
42
- },
43
- },
44
- created() {
45
- this.$parent.registerTab(this);
46
- },
47
- beforeDestroy() {
48
- this.$parent.unregisterTab(this);
49
- },
50
- };
51
- </script>
52
-
53
- <style lang="less"></style>
@@ -1,8 +0,0 @@
1
- import Tabs from './index.vue';
2
- import './style.less';
3
-
4
- Tabs.install = function (Vue) {
5
- Vue.component(Tabs.name, Tabs);
6
- };
7
-
8
- export default Tabs;
@@ -1,172 +0,0 @@
1
- <template>
2
- <div class="vd-tabs">
3
- <div class="vd-tabs__wrap" :class="menuClasses" ref="tabsWrap">
4
- <div :class="[barType,scrollspy]" ref="tabsContainer">
5
- <div v-for="(item, index) in navList" :key="index" :class="[tabClasses(item), lineClasses]" @click="handleChange(index)">
6
- <span class="vd-tabs-text-cell" :class="ellipsisClasses">
7
- {{ item.title }}
8
- <vd-icon class="vd-tabs-arrow" v-if="item.arrow" name="icon_btn_moredown"></vd-icon>
9
- </span>
10
- </div>
11
- </div>
12
- <div class="vd-tabs-menu--right" v-if="menu">
13
- <vd-icon :name="menuIconComputed" class="vd-tabs-menu-btn" @click="emitMenuClick"></vd-icon>
14
- </div>
15
- </div>
16
- <div class="vd-tabs__content">
17
- <slot />
18
- </div>
19
- </div>
20
- </template>
21
-
22
- <script>
23
- import VdIcon from "../icon";
24
- const prefixCls = "vd-tabs";
25
- export default {
26
- name: "vd-tabs",
27
- components: {
28
- VdIcon,
29
- },
30
- props: {
31
- value: [String, Number],
32
- tabsType: {
33
- type: String,
34
- default: "primary",
35
- },
36
- // 将 menu 作为一个字段,同时控制显示和图标名称
37
- menu: {
38
- type: [Boolean, String],
39
- default: false,
40
- },
41
- ellipsis: {
42
- type: Boolean,
43
- default: true,
44
- },
45
- actBorder: Boolean,
46
- backgroundColor: Boolean,
47
- divider: Boolean,
48
- },
49
- data() {
50
- return {
51
- currentValue: this.value, // 当前选中的标签名
52
- navList: [], // 标签导航列表
53
- tabs: [], // 已注册的标签
54
- };
55
- },
56
- watch: {
57
- // 监听 value 变化,更新 currentValue
58
- value(val) {
59
- this.currentValue = val;
60
- },
61
- },
62
- computed: {
63
- // 计算菜单按钮的图标,根据 menu 属性的类型决定图标
64
- menuIconComputed() {
65
- if (typeof this.menu === 'string') {
66
- return this.menu;
67
- } else {
68
- return 'icon_tab_morelist'; // 默认的菜单图标名称
69
- }
70
- },
71
- // 计算滚动监视的类名
72
- scrollspy() {
73
- return `${prefixCls}--complete`
74
- },
75
- // 计算标签文字是否需要省略号的类名
76
- ellipsisClasses() {
77
- return {
78
- [`${prefixCls}-text--ellipsis`]: this.ellipsis,
79
- };
80
- },
81
- // 计算标签包裹器的类名,根据 menu、backgroundColor 和 divider 属性来确定
82
- menuClasses() {
83
- return {
84
- [`${prefixCls}-menu`]: this.menu,
85
- [`${prefixCls}__wrap--bg`]: this.backgroundColor,
86
- "vd-hairline--bottom": this.divider,
87
- };
88
- },
89
- // 计算标签下方线条的类名
90
- lineClasses() {
91
- return {
92
- [`${prefixCls}__line`]: !this.actBorder,
93
- };
94
- },
95
- // 根据 tabsType 属性计算标签类型的类名
96
- barType() {
97
- return {
98
- [`${prefixCls}-${this.tabsType}-bar`]: this.tabsType,
99
- };
100
- },
101
- },
102
- methods: {
103
- // 当菜单按钮被点击时触发事件
104
- emitMenuClick() {
105
- this.$emit('menu-click');
106
- },
107
- // 计算每个标签项的类名
108
- tabClasses(item) {
109
- return {
110
- [`${prefixCls}-${this.tabsType}`]: true,
111
- [`${prefixCls}-${this.tabsType}-active`]: item.name === this.currentValue,
112
- };
113
- },
114
- // 注册新的标签到 tabs 数组中
115
- registerTab(tab) {
116
- if (!this.tabs.includes(tab)) {
117
- this.tabs.push(tab);
118
- this.updateNav();
119
- }
120
- },
121
- // 从 tabs 数组中注销一个标签
122
- unregisterTab(tab) {
123
- const index = this.tabs.indexOf(tab);
124
- if (index !== -1) {
125
- this.tabs.splice(index, 1);
126
- this.updateNav();
127
- }
128
- },
129
- // 根据已注册的标签更新导航列表
130
- updateNav() {
131
- this.navList = this.tabs.map((tab, index) => ({
132
- title: tab.title,
133
- name: tab.name != null ? tab.name : index,
134
- arrow: tab.arrow,
135
- }));
136
- // 如果当前没有选中的标签且导航列表不为空,则将第一个标签设为当前值
137
- if (!this.currentValue && this.navList.length) {
138
- this.currentValue = this.navList[0].name;
139
- }
140
- },
141
- handleChange(index) {
142
- const nav = this.navList[index];
143
- const name = nav.name;
144
- if (this.currentValue !== name) {
145
- this.currentValue = name;
146
- this.$emit("input", name); // 触发 input 事件,更新父组件中的 v-model 绑定值
147
- this.$emit("change", { index, title: nav.title, name }); // 触发 change 事件,传递标签的详细信息
148
- this.adjustTabPosition(index); // 调整选中标签的位置
149
- }
150
- this.$emit("click", { index, title: nav.title, name }); // 触发 click 事件,传递标签的详细信息
151
- },
152
- adjustTabPosition(index) {
153
- const container = this.$refs.tabsContainer;
154
- const selectedTab = container.children[index];
155
- if (selectedTab) {
156
- const containerWidth = container.offsetWidth;
157
- const tabWidth = selectedTab.offsetWidth;
158
- const tabOffsetLeft = selectedTab.offsetLeft;
159
- const scrollLeft = tabOffsetLeft - (containerWidth - tabWidth) / 2;
160
- container.scrollTo({ left: scrollLeft, behavior: "smooth" });
161
- }
162
- },
163
- },
164
- mounted() {
165
- // 组件挂载后更新导航列表
166
- // this.updateNav();
167
- },
168
- };
169
- </script>
170
- <style lang="less">
171
- @import "./style.less";
172
- </style>
@@ -1,377 +0,0 @@
1
- @tabs-prefix-cls: vd-tabs;
2
-
3
- .@{tabs-prefix-cls} {
4
-
5
- &__wrap {
6
- position: relative;
7
- width: 100%;
8
- }
9
-
10
- &-primary {
11
- position: relative;
12
- display: inline-block;
13
- cursor: pointer;
14
- padding-inline-start: var(--spacing-tab-primary-padding_left);
15
- padding-inline-end: var(--spacing-tab-primary-padding_right);
16
- color: var(--color-tab-primary-text-default);
17
- font-size: var(--en-single-f-d-r-fontSize);
18
- font-weight: var(--en-single-f-d-r-fontWeight);
19
-
20
- &-bar {
21
- position: relative;
22
- white-space: nowrap;
23
- padding-inline-start: var(--spacing-tab-primary-margin_left);
24
- height: var(--height-super-large);
25
- line-height: var(--height-super-large);
26
- }
27
-
28
- &-active {
29
- color: var(--color-tab-primary-text-active);
30
- font-size: var(--en-single-f-e-s-fontSize);
31
- font-weight: var(--en-single-f-e-s-fontWeight);
32
-
33
- &::before {
34
- content: "";
35
- bottom: 11px;
36
- height: var(--height-tab-primary-bar);
37
- width: var(--width-tab-primary-bar);
38
- display: block;
39
- position: absolute;
40
- background-color: var(--color-tab-primary-bar-active);
41
- left: 50%;
42
- transform: translateX(-50%);
43
- border-radius: var(--radius-tab-primary_bar);
44
- }
45
- }
46
- }
47
-
48
- &-card {
49
- min-width: 1%;
50
- flex: 1;
51
- display: flex;
52
- justify-content: center;
53
- align-items: center;
54
- position: relative;
55
- cursor: pointer;
56
- text-align: center;
57
- color: var(--color-tab-primary-text-default);
58
- font-size: var(--en-single-f-d-r-fontSize);
59
- font-weight: var(--en-single-f-d-r-fontWeight);
60
-
61
- &-bar {
62
- position: relative;
63
- display: flex;
64
- padding-inline-start: 20px;
65
- padding-inline-end: 20px;
66
- height: var(--height-super-large);
67
- line-height: var(--height-super-large);
68
- }
69
-
70
- &-active {
71
- color: var(--color-tab-primary-text-active);
72
- font-size: var(--en-single-f-e-s-fontSize);
73
- font-weight: var(--en-single-f-e-s-fontWeight);
74
-
75
- &::before {
76
- content: "";
77
- bottom: 11px;
78
- height: var(--height-tab-primary-bar);
79
- width: var(--width-tab-primary-bar);
80
- display: block;
81
- position: absolute;
82
- background-color: var(--color-tab-primary-bar-active);
83
- left: 50%;
84
- transform: translateX(-50%);
85
- border-radius: 1px;
86
- }
87
- }
88
- }
89
-
90
- &-secondary {
91
- position: relative;
92
- display: inline-block;
93
- cursor: pointer;
94
- margin-inline-start: var(--spacing-tab-secondary-padding_left);
95
- margin-inline-end: var(--spacing-tab-secondary-padding_right);
96
- color: var(--color-tab-primary-text-default);
97
- font-size: var(--en-single-f-c-r-fontSize);
98
- font-weight: var(--en-single-f-c-r-fontWeigh);
99
-
100
- &-bar {
101
- display: flex;
102
- align-items: center;
103
- position: relative;
104
- padding-inline-start: var(--spacing-tab-secondary-margin_left);
105
- height: var(--height-tab-secondary);
106
- line-height: var(--height-tab-secondary);
107
- }
108
-
109
- &-active {
110
- color: var(--color-tab-primary-text-active);
111
- font-size: var(--en-single-f-c-s-fontSize);
112
- font-weight: var(--en-single-f-c-s-fontWeight);
113
-
114
- &::before {
115
- content: "";
116
- bottom: 0;
117
- height: var(--height-tab-secondary-bar);
118
- display: block;
119
- position: absolute;
120
- background-color: var(--color-tab-secondary-bar-active);
121
- left: 0;
122
- right: 0;
123
- width: 100%;
124
- border-radius: var(--radius-tab-secondary-bar_top) var(--radius-tab-secondary-bar_top) var(--radius-tab-secondary-bar_bottom) var(--radius-tab-secondary-bar_bottom);
125
- }
126
- }
127
- }
128
-
129
- &-capsule {
130
- position: relative;
131
- display: inline-block;
132
- cursor: pointer;
133
- vertical-align: middle;
134
- height: var(--height-tab-capsule_btn);
135
- line-height: var(--height-tab-capsule_btn);
136
- padding-inline-start: var(--spacing-tab-capsule_btn-padding_left);
137
- padding-inline-end: var(--spacing-tab-capsule_btn-padding_right);
138
- margin-inline-start: var(--spacing-tab-capsule_btn-margin_right);
139
- margin-inline-end: var(--spacing-tab-capsule_btn-margin_right);
140
- background-color: var(--color-tab-capsule_btn-bg-default);
141
- color: var(--color-tab-capsule-text-default);
142
- font-size: var(--en-single-f-c-r-fontSize);
143
- font-weight: var(--en-single-f-c-r-fontWeight);
144
- border-radius: var(--radius-tab-capsule_button);
145
-
146
- &-bar {
147
- position: relative;
148
- white-space: nowrap;
149
- align-items: center;
150
- padding-inline-start: var(--spacing-tab-capsule-margin_left);
151
- height: var(--height-tab-capsule);
152
- line-height: var(--height-tab-capsule);
153
- }
154
-
155
- &-active {
156
- color: var(--color-tab-capsule-text-active);
157
- font-size: var(--en-single-f-c-s-fontSize);
158
- font-weight: var(--en-single-f-c-s-fontWeight);
159
- background-color: var(--color-tab-capsule_btn-bg-active);
160
-
161
- .@{tabs-prefix-cls}-arrow {
162
- color: var(--color-tab-filter_down-active);
163
- transform: rotate(180deg);
164
- }
165
- }
166
- }
167
-
168
-
169
- &-selector-l {
170
- flex: 1;
171
- position: relative;
172
- display: inline-block;
173
- text-align: center;
174
- cursor: pointer;
175
- height: var(--height-tab-selector_l_btn);
176
- line-height: var(--height-tab-selector_l_btn);
177
- color: var(--color-tab-selector-text-default);
178
- font-size: var(--en-single-f-c-r-fontSize);
179
- font-weight: var(--en-single-f-c-r-fontWeight);
180
-
181
- &-bar {
182
- position: relative;
183
- display: flex;
184
- background-color: var(--color-tab-selector-bg-default);
185
- border-radius: var(--radius-tab-selector_card);
186
- padding-inline-start: var(--spacing-tab-selector-margin_left);
187
- padding-inline-end: var(--spacing-tab-selector-margin_right);
188
- padding-block-start: var(--spacing-tab-selector-margin_top);
189
- padding-block-end: var(--spacing-tab-selector-margin_bottom);
190
- }
191
-
192
- &-active {
193
- color: var(--color-tab-selector-text-active);
194
- font-size: var(--en-single-f-c-s-fontSize);
195
- font-weight: var(--en-single-f-c-s-fontWeight);
196
- background-color: var(--color-tab-selector-bg-active);
197
- box-shadow: var(--shadow-s1);
198
- border-radius: var(--radius-tab-selector_card);
199
- }
200
- }
201
-
202
- &-selector-m {
203
- flex: 1;
204
- position: relative;
205
- display: inline-block;
206
- text-align: center;
207
- cursor: pointer;
208
- height: var(--height-tab-selector_m_btn);
209
- line-height: var(--height-tab-selector_m_btn);
210
- color: var(--color-tab-selector-text-default);
211
- font-size: var(--en-single-f-b-r-fontSize);
212
- font-weight: var(--en-single-f-b-r-fontWeight);
213
-
214
- &-bar {
215
- position: relative;
216
- display: flex;
217
- background-color: var(--color-tab-selector-bg-default);
218
- border-radius: var(--radius-tab-selector_card);
219
- padding-inline-start: var(--spacing-tab-selector-margin_left);
220
- padding-inline-end: var(--spacing-tab-selector-margin_right);
221
- padding-block-start: var(--spacing-tab-selector-margin_top);
222
- padding-block-end: var(--spacing-tab-selector-margin_bottom);
223
- }
224
-
225
- &-active {
226
- color: var(--color-tab-selector-text-active);
227
- font-size: var(--en-single-f-b-s-fontSize);
228
- font-weight: var(--en-single-f-b-s-fontWeight);
229
- background-color: var(--color-tab-selector-bg-active);
230
- box-shadow: var(--shadow-s1);
231
- border-radius: var(--radius-tab-selector_card);
232
- }
233
- }
234
-
235
-
236
- &-filter {
237
- flex: 1;
238
- position: relative;
239
- cursor: pointer;
240
- text-align: center;
241
- color: var(--color-tab-filter-text-default);
242
- font-size: var(--en-single-f-c-r-fontSize);
243
- font-weight: var(--en-single-f-c-r-fontWeight);
244
-
245
- &-bar {
246
- position: relative;
247
- display: flex;
248
- height: var(--height-tab-filter);
249
- line-height: var(--height-tab-filter);
250
- padding-inline-start: var(--spacing-tab-filter-margin_y);
251
- padding-inline-end: var(--spacing-tab-filter-margin_y);
252
- }
253
-
254
- &-active {
255
- color: var(--color-tab-filter-text-active);
256
- font-size: var(--en-single-f-c-s-fontSize);
257
- font-weight: var(--en-single-f-c-s-fontWeight);
258
-
259
- .@{tabs-prefix-cls}-arrow {
260
- color: var(--color-tab-filter_down);
261
- transform: rotate(180deg);
262
- }
263
- }
264
- }
265
-
266
- &-click-filter {
267
- flex: 1;
268
- position: relative;
269
- cursor: pointer;
270
- text-align: center;
271
- color: var(--color-tab-double_click_filter-text-default);
272
- font-size: var(--en-single-f-c-r-fontSize);
273
- font-weight: var(--en-single-f-c-r-fontWeight);
274
-
275
- &-bar {
276
- position: relative;
277
- display: flex;
278
- height: var(--height-tab-filter);
279
- line-height: var(--height-tab-filter);
280
- }
281
-
282
- &-active {
283
- color: var(--color-tab-double_click_filter-text-active);
284
- font-size: var(--en-single-f-c-s-fontSize);
285
- font-weight: var(--en-single-f-c-s-fontWeight);
286
- }
287
- }
288
-
289
-
290
- &-menu-btn {
291
- cursor: pointer;
292
- font-size: var(--icon-large)!important;
293
- }
294
-
295
- &-text-cell {
296
- display: flex;
297
- align-items: center;
298
- justify-content: center;
299
- }
300
-
301
- &-arrow {
302
- display: inline-block;
303
- vertical-align: -1px;
304
- font-size: var(--icon-small) !important;
305
- color: var(--color-tab-filter_down);
306
- }
307
-
308
- &__line {
309
- &::before {
310
- display: none;
311
- }
312
- }
313
-
314
- &-menu {
315
- display: flex;
316
- justify-content: space-between;
317
- align-items: center;
318
-
319
-
320
- &--right {
321
- position: relative;
322
- display: flex;
323
- height: var(--icon-large);
324
- padding-inline-end: var(--spacing-tab-primary_icon-margin_right);
325
- color: var(--text-color-h1);
326
-
327
- &::before {
328
- content: '';
329
- position: absolute;
330
- margin-inline-start: -16px;
331
- width: 16px;
332
- height: 100%;
333
- background-image: linear-gradient(to left, var(--bg-color-1) 0%, rgba(255, 255, 255, 0) 100%);
334
- }
335
-
336
-
337
- }
338
-
339
- }
340
-
341
-
342
- &__wrap--bg {
343
- background-color: transparent;
344
- }
345
-
346
- &--complete {
347
- overflow-x: auto;
348
- overflow-y: hidden;
349
- -webkit-overflow-scrolling: touch;
350
- padding-inline-end: var(--spacing-tab-primary_icon-margin_right);
351
-
352
- &::-webkit-scrollbar {
353
- display: none;
354
- }
355
- }
356
-
357
- &-text--ellipsis {
358
- display: -webkit-box;
359
- overflow: hidden;
360
- -webkit-line-clamp: 1;
361
- -webkit-box-orient: vertical;
362
- }
363
- }
364
-
365
- [lang='ar'] .vd-tabs-menu--right::before {
366
- transform: scaleX(-1);
367
- }
368
-
369
-
370
- .vd-tab {
371
- width: 100%;
372
- display: none;
373
- }
374
-
375
- .vd-tab-active {
376
- display: block;
377
- }
@@ -1,7 +0,0 @@
1
- import Tag from './index.vue';
2
- import './style.less';
3
- Tag.install = function(Vue) {
4
- Vue.component(Tag.name, Tag)
5
- }
6
-
7
- export default Tag;
@@ -1,64 +0,0 @@
1
- <template>
2
- <div class="vd-tag" :class="classes" @click="handleClick">
3
- <slot>{{ text }}</slot>
4
- </div>
5
- </template>
6
-
7
- <script>
8
- const prefixCls = 'vd-tag'
9
- export default {
10
- name: 'vd-tag',
11
- props: {
12
- text: String,
13
- type: {
14
- type: String,
15
- // white、dark、blue、cyan、green、olive、yellow、orange、red、pink、purple
16
- default: '',
17
- validator(value) {
18
- return [
19
- 'white', 'dark', 'blue', 'cyan', 'green',
20
- 'olive', 'yellow', 'orange', 'red', 'pink', 'purple',
21
- ].includes(value);
22
- },
23
- },
24
- size: {
25
- type: String,
26
- required: true,
27
- validator(value) {
28
- return ['s', 'l'].includes(value);
29
- },
30
- },
31
- borders: {
32
- type: Boolean,
33
- },
34
- plain: {
35
- type: Boolean,
36
- }
37
-
38
- },
39
- computed: {
40
- classes() {
41
- const classes = {
42
- [`${prefixCls}--${this.size}`]: this.size,
43
- [`${prefixCls}--${this.type}`]: this.type,
44
- [`${prefixCls}--${this.type}__border`]: this.borders,
45
- [`${prefixCls}--plain`]: this.plain
46
- };
47
- if (this.borders) {
48
- classes['vd-hairline--surround'] = true;
49
- }
50
- return classes
51
-
52
- },
53
- },
54
- methods: {
55
- handleClick(event) {
56
- this.$emit('click', event);
57
- },
58
- },
59
- }
60
- </script>
61
-
62
- <style lang="less">
63
- @import './style.less';
64
- </style>