uview-pro 0.2.1 → 0.2.3

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 (246) hide show
  1. package/changelog.md +522 -481
  2. package/components/common/props.ts +22 -22
  3. package/components/u-action-sheet/types.ts +35 -35
  4. package/components/u-action-sheet/u-action-sheet.vue +160 -160
  5. package/components/u-alert-tips/types.ts +39 -39
  6. package/components/u-alert-tips/u-alert-tips.vue +212 -212
  7. package/components/u-avatar/types.ts +34 -34
  8. package/components/u-avatar/u-avatar.vue +193 -193
  9. package/components/u-avatar-cropper/types.ts +23 -23
  10. package/components/u-avatar-cropper/u-avatar-cropper.vue +286 -286
  11. package/components/u-avatar-cropper/weCropper.d.ts +62 -62
  12. package/components/u-avatar-cropper/weCropper.js +1253 -1253
  13. package/components/u-avatar-cropper/weCropper.ts +1255 -1255
  14. package/components/u-back-top/types.ts +39 -39
  15. package/components/u-back-top/u-back-top.vue +125 -125
  16. package/components/u-badge/types.ts +36 -36
  17. package/components/u-badge/u-badge.vue +165 -165
  18. package/components/u-button/types.ts +66 -66
  19. package/components/u-button/u-button.vue +556 -556
  20. package/components/u-calendar/types.ts +73 -73
  21. package/components/u-calendar/u-calendar.vue +638 -638
  22. package/components/u-car-keyboard/types.ts +12 -12
  23. package/components/u-car-keyboard/u-car-keyboard.vue +234 -234
  24. package/components/u-card/types.ts +59 -59
  25. package/components/u-card/u-card.vue +194 -194
  26. package/components/u-cell-group/types.ts +17 -17
  27. package/components/u-cell-group/u-cell-group.vue +50 -50
  28. package/components/u-cell-item/types.ts +54 -54
  29. package/components/u-cell-item/u-cell-item.vue +202 -202
  30. package/components/u-checkbox/types.ts +31 -31
  31. package/components/u-checkbox/u-checkbox.vue +286 -267
  32. package/components/u-checkbox-group/types.ts +32 -32
  33. package/components/u-checkbox-group/u-checkbox-group.vue +130 -79
  34. package/components/u-circle-progress/types.ts +52 -52
  35. package/components/u-circle-progress/u-circle-progress.vue +187 -187
  36. package/components/u-city-select/types.ts +20 -20
  37. package/components/u-city-select/u-city-select.vue +236 -236
  38. package/components/u-col/types.ts +30 -30
  39. package/components/u-col/u-col.vue +123 -123
  40. package/components/u-collapse/types.ts +33 -33
  41. package/components/u-collapse/u-collapse.vue +195 -69
  42. package/components/u-collapse-item/types.ts +27 -27
  43. package/components/u-collapse-item/u-collapse-item.vue +311 -201
  44. package/components/u-column-notice/types.ts +48 -48
  45. package/components/u-column-notice/u-column-notice.vue +176 -176
  46. package/components/u-count-down/types.ts +42 -42
  47. package/components/u-count-down/u-count-down.vue +258 -258
  48. package/components/u-count-to/types.ts +32 -32
  49. package/components/u-count-to/u-count-to.vue +241 -241
  50. package/components/u-divider/types.ts +31 -31
  51. package/components/u-divider/u-divider.vue +121 -121
  52. package/components/u-dropdown/types.ts +32 -32
  53. package/components/u-dropdown/u-dropdown.vue +289 -289
  54. package/components/u-dropdown-item/types.ts +27 -27
  55. package/components/u-dropdown-item/u-dropdown-item.vue +123 -123
  56. package/components/u-empty/types.ts +36 -36
  57. package/components/u-empty/u-empty.vue +88 -88
  58. package/components/u-field/types.ts +69 -69
  59. package/components/u-field/u-field.vue +354 -354
  60. package/components/u-form/u-form.vue +132 -132
  61. package/components/u-form-item/u-form-item.vue +417 -417
  62. package/components/u-full-screen/types.ts +14 -14
  63. package/components/u-full-screen/u-full-screen.vue +82 -82
  64. package/components/u-gap/types.ts +18 -18
  65. package/components/u-gap/u-gap.vue +40 -40
  66. package/components/u-grid/types.ts +19 -19
  67. package/components/u-grid/u-grid.vue +93 -93
  68. package/components/u-grid-item/types.ts +16 -16
  69. package/components/u-grid-item/u-grid-item.vue +130 -130
  70. package/components/u-icon/types.ts +62 -62
  71. package/components/u-icon/u-icon.vue +281 -281
  72. package/components/u-image/types.ts +51 -51
  73. package/components/u-image/u-image.vue +222 -222
  74. package/components/u-index-anchor/types.ts +16 -16
  75. package/components/u-index-anchor/u-index-anchor.vue +86 -86
  76. package/components/u-index-list/types.ts +43 -43
  77. package/components/u-index-list/u-index-list.vue +355 -355
  78. package/components/u-input/types.ts +140 -140
  79. package/components/u-input/u-input.vue +264 -264
  80. package/components/u-keyboard/types.ts +40 -40
  81. package/components/u-keyboard/u-keyboard.vue +158 -158
  82. package/components/u-lazy-load/types.ts +37 -37
  83. package/components/u-lazy-load/u-lazy-load.vue +233 -233
  84. package/components/u-line/types.ts +44 -44
  85. package/components/u-line/u-line.vue +59 -59
  86. package/components/u-line-progress/types.ts +58 -58
  87. package/components/u-line-progress/u-line-progress.vue +109 -109
  88. package/components/u-link/types.ts +43 -43
  89. package/components/u-link/u-link.vue +75 -75
  90. package/components/u-loading/types.ts +35 -35
  91. package/components/u-loading/u-loading.vue +90 -90
  92. package/components/u-loading-popup/types.ts +26 -26
  93. package/components/u-loading-popup/u-loading-popup.vue +239 -239
  94. package/components/u-loadmore/types.ts +79 -79
  95. package/components/u-loadmore/u-loadmore.vue +140 -140
  96. package/components/u-mask/types.ts +43 -43
  97. package/components/u-mask/u-mask.vue +106 -106
  98. package/components/u-message-input/types.ts +74 -74
  99. package/components/u-message-input/u-message-input.vue +255 -255
  100. package/components/u-modal/types.ts +118 -118
  101. package/components/u-modal/u-modal.vue +204 -204
  102. package/components/u-navbar/types.ts +103 -103
  103. package/components/u-navbar/u-navbar.vue +226 -226
  104. package/components/u-no-network/image.ts +2 -2
  105. package/components/u-no-network/types.ts +28 -28
  106. package/components/u-no-network/u-no-network.vue +290 -290
  107. package/components/u-notice-bar/types.ts +111 -111
  108. package/components/u-notice-bar/u-notice-bar.vue +174 -174
  109. package/components/u-number-box/types.ts +42 -42
  110. package/components/u-number-box/u-number-box.vue +312 -312
  111. package/components/u-number-keyboard/types.ts +26 -26
  112. package/components/u-number-keyboard/u-number-keyboard.vue +166 -166
  113. package/components/u-picker/types.ts +123 -123
  114. package/components/u-picker/u-picker.vue +637 -637
  115. package/components/u-popup/types.ts +59 -59
  116. package/components/u-popup/u-popup.vue +359 -359
  117. package/components/u-radio/types.ts +25 -25
  118. package/components/u-radio/u-radio.vue +258 -258
  119. package/components/u-radio-group/types.ts +29 -29
  120. package/components/u-radio-group/u-radio-group.vue +98 -98
  121. package/components/u-rate/types.ts +40 -40
  122. package/components/u-rate/u-rate.vue +234 -234
  123. package/components/u-read-more/types.ts +35 -35
  124. package/components/u-read-more/u-read-more.vue +150 -150
  125. package/components/u-root-portal/u-root-portal.vue +54 -0
  126. package/components/u-row/types.ts +20 -20
  127. package/components/u-row/u-row.vue +87 -87
  128. package/components/u-row-notice/types.ts +39 -39
  129. package/components/u-row-notice/u-row-notice.vue +213 -213
  130. package/components/u-safe-bottom/u-safe-bottom.vue +46 -46
  131. package/components/u-search/types.ts +53 -53
  132. package/components/u-search/u-search.vue +256 -256
  133. package/components/u-section/types.ts +32 -32
  134. package/components/u-section/u-section.vue +125 -125
  135. package/components/u-select/types.ts +43 -43
  136. package/components/u-select/u-select.vue +361 -361
  137. package/components/u-skeleton/types.ts +20 -20
  138. package/components/u-skeleton/u-skeleton.vue +205 -205
  139. package/components/u-slider/types.ts +32 -32
  140. package/components/u-slider/u-slider.vue +238 -238
  141. package/components/u-status-bar/u-status-bar.vue +65 -65
  142. package/components/u-steps/types.ts +28 -28
  143. package/components/u-steps/u-steps.vue +160 -160
  144. package/components/u-sticky/types.ts +22 -22
  145. package/components/u-sticky/u-sticky.vue +159 -159
  146. package/components/u-subsection/types.ts +36 -36
  147. package/components/u-subsection/u-subsection.vue +328 -328
  148. package/components/u-swipe-action/types.ts +50 -50
  149. package/components/u-swipe-action/u-swipe-action.vue +253 -253
  150. package/components/u-swiper/types.ts +47 -47
  151. package/components/u-swiper/u-swiper.vue +266 -266
  152. package/components/u-switch/types.ts +28 -28
  153. package/components/u-switch/u-switch.vue +136 -136
  154. package/components/u-tabbar/types.ts +36 -36
  155. package/components/u-tabbar/u-tabbar.vue +280 -280
  156. package/components/u-table/types.ts +25 -25
  157. package/components/u-table/u-table.vue +55 -55
  158. package/components/u-tabs/types.ts +51 -51
  159. package/components/u-tabs/u-tabs.vue +284 -284
  160. package/components/u-tabs-swiper/types.ts +53 -53
  161. package/components/u-tabs-swiper/u-tabs-swiper.vue +379 -379
  162. package/components/u-tag/types.ts +37 -37
  163. package/components/u-tag/u-tag.vue +244 -244
  164. package/components/u-td/types.ts +12 -12
  165. package/components/u-td/u-td.vue +87 -87
  166. package/components/u-text/types.ts +69 -69
  167. package/components/u-text/u-text.vue +326 -326
  168. package/components/u-th/types.ts +12 -12
  169. package/components/u-th/u-th.vue +81 -81
  170. package/components/u-time-line/u-time-line.vue +39 -39
  171. package/components/u-time-line-item/types.ts +14 -14
  172. package/components/u-time-line-item/u-time-line-item.vue +78 -78
  173. package/components/u-toast/types.ts +36 -36
  174. package/components/u-toast/u-toast.vue +233 -233
  175. package/components/u-top-tips/types.ts +14 -14
  176. package/components/u-top-tips/u-top-tips.vue +113 -113
  177. package/components/u-tr/types.ts +8 -8
  178. package/components/u-tr/u-tr.vue +24 -24
  179. package/components/u-upload/types.ts +74 -74
  180. package/components/u-upload/u-upload.vue +545 -545
  181. package/components/u-verification-code/types.ts +22 -22
  182. package/components/u-verification-code/u-verification-code.vue +164 -164
  183. package/components/u-waterfall/types.ts +16 -16
  184. package/components/u-waterfall/u-waterfall.vue +175 -175
  185. package/iconfont.css +912 -912
  186. package/index.scss +25 -25
  187. package/index.ts +38 -29
  188. package/libs/config/config.ts +26 -26
  189. package/libs/config/zIndex.ts +37 -37
  190. package/libs/css/color.scss +155 -155
  191. package/libs/css/common.scss +178 -178
  192. package/libs/css/style.components.scss +16 -16
  193. package/libs/css/style.h5.scss +8 -8
  194. package/libs/css/style.mp.scss +72 -72
  195. package/libs/css/style.nvue.scss +15 -15
  196. package/libs/css/style.vue.scss +188 -188
  197. package/libs/function/$parent.ts +21 -21
  198. package/libs/function/addUnit.ts +13 -13
  199. package/libs/function/color.ts +37 -37
  200. package/libs/function/colorGradient.ts +125 -125
  201. package/libs/function/debounce.ts +28 -28
  202. package/libs/function/deepClone.ts +39 -39
  203. package/libs/function/deepMerge.ts +34 -34
  204. package/libs/function/getParent.ts +59 -59
  205. package/libs/function/getRect.ts +26 -26
  206. package/libs/function/guid.ts +42 -42
  207. package/libs/function/md5.ts +391 -391
  208. package/libs/function/parent.ts +21 -21
  209. package/libs/function/queryParams.ts +60 -60
  210. package/libs/function/random.ts +16 -16
  211. package/libs/function/randomArray.ts +11 -11
  212. package/libs/function/route.ts +118 -118
  213. package/libs/function/styleUtils.ts +83 -83
  214. package/libs/function/sys.ts +15 -15
  215. package/libs/function/test.ts +285 -285
  216. package/libs/function/throttle.ts +31 -31
  217. package/libs/function/timeFormat.ts +54 -54
  218. package/libs/function/timeFrom.ts +48 -48
  219. package/libs/function/toast.ts +14 -14
  220. package/libs/function/trim.ts +21 -21
  221. package/libs/function/type2icon.ts +36 -36
  222. package/libs/hooks/index.ts +3 -3
  223. package/libs/hooks/useComponent.ts +343 -0
  224. package/libs/hooks/useEmitter.ts +77 -77
  225. package/libs/hooks/useParent.ts +33 -31
  226. package/libs/hooks/useRect.ts +33 -33
  227. package/libs/index.ts +320 -291
  228. package/libs/request/auto-http.ts +76 -76
  229. package/libs/request/index.ts +223 -223
  230. package/libs/store/index.ts +88 -88
  231. package/libs/util/async-validator.d.ts +62 -62
  232. package/libs/util/async-validator.js +1 -1
  233. package/libs/util/calendar.d.ts +57 -57
  234. package/libs/util/emitter.ts +102 -102
  235. package/libs/util/eventBus.ts +86 -0
  236. package/libs/util/logger.ts +364 -0
  237. package/libs/util/mitt.ts +115 -115
  238. package/libs/util/parent.ts +20 -20
  239. package/package.json +1 -1
  240. package/readme.md +241 -237
  241. package/theme.scss +38 -38
  242. package/types/components.d.ts +97 -96
  243. package/types/global.d.ts +331 -295
  244. package/types/ignore-errors.d.ts +30 -30
  245. package/types/index.d.ts +19 -19
  246. package/types/uni-app.d.ts +63 -63
@@ -1,121 +1,121 @@
1
- <template>
2
- <view
3
- class="u-divider"
4
- :style="{
5
- height: height === 'auto' ? 'auto' : height + 'rpx',
6
- backgroundColor: bgColor,
7
- marginBottom: marginBottom + 'rpx',
8
- marginTop: marginTop + 'rpx'
9
- }"
10
- @tap="onClick"
11
- >
12
- <view class="u-divider-line" :class="[type ? 'u-divider-line--bordercolor--' + type : '']" :style="lineStyle"></view>
13
- <view
14
- v-if="useSlot"
15
- class="u-divider-text"
16
- :style="{
17
- color: color,
18
- fontSize: fontSize + 'rpx'
19
- }"
20
- ><slot
21
- /></view>
22
- <view class="u-divider-line" :class="[type ? 'u-divider-line--bordercolor--' + type : '']" :style="lineStyle"></view>
23
- </view>
24
- </template>
25
-
26
- <script setup lang="ts">
27
- import { computed } from 'vue';
28
- import { DividerProps } from './types';
29
-
30
- defineOptions({
31
- name: 'u-divider'
32
- });
33
-
34
- /**
35
- * divider 分割线
36
- * @description 区隔内容的分割线,一般用于页面底部"没有更多"的提示。
37
- * @tutorial https://uviewpro.cn/zh/components/divider.html
38
- * @property {String Number} half-width 文字左或右边线条宽度,数值或百分比,数值时单位为rpx
39
- * @property {String} border-color 线条颜色,优先级高于type(默认#dcdfe6)
40
- * @property {String} color 文字颜色(默认#909399)
41
- * @property {String Number} fontSize 字体大小,单位rpx(默认26)
42
- * @property {String} bg-color 整个divider的背景颜色(默认呢#ffffff)
43
- * @property {String Number} height 整个divider的高度,单位rpx(默认40)
44
- * @property {String} type 将线条设置主题色(默认primary)
45
- * @property {Boolean} useSlot 是否使用slot传入内容,如果不传入,中间不会有空隙(默认true)
46
- * @property {String Number} margin-top 与前一个组件的距离,单位rpx(默认0)
47
- * @property {String Number} margin-bottom 与后一个组件的距离,单位rpx(0)
48
- * @event {Function} click divider组件被点击时触发
49
- * @example <u-divider color="#fa3534">长河落日圆</u-divider>
50
- */
51
- const props = defineProps(DividerProps);
52
-
53
- const emit = defineEmits(['click']);
54
-
55
- /**
56
- * divider横线样式
57
- */
58
- const lineStyle = computed(() => {
59
- let style: Record<string, string> = {};
60
- if (String(props.halfWidth).indexOf('%') !== -1) style.width = String(props.halfWidth);
61
- else style.width = props.halfWidth + 'rpx';
62
- // borderColor优先级高于type值
63
- if (props.borderColor) style.borderColor = props.borderColor;
64
- return style;
65
- });
66
-
67
- /**
68
- * divider组件被点击时触发
69
- */
70
- function onClick() {
71
- emit('click');
72
- }
73
- </script>
74
-
75
- <style lang="scss" scoped>
76
- @import '../../libs/css/style.components.scss';
77
- .u-divider {
78
- width: 100%;
79
- position: relative;
80
- text-align: center;
81
- @include vue-flex;
82
- justify-content: center;
83
- align-items: center;
84
- overflow: hidden;
85
- flex-direction: row;
86
- }
87
-
88
- .u-divider-line {
89
- border-bottom: 1px solid $u-border-color;
90
- transform: scale(1, 0.5);
91
- transform-origin: center;
92
-
93
- &--bordercolor--primary {
94
- border-color: $u-type-primary;
95
- }
96
-
97
- &--bordercolor--success {
98
- border-color: $u-type-success;
99
- }
100
-
101
- &--bordercolor--error {
102
- border-color: $u-type-primary;
103
- }
104
-
105
- &--bordercolor--info {
106
- border-color: $u-type-info;
107
- }
108
-
109
- &--bordercolor--warning {
110
- border-color: $u-type-warning;
111
- }
112
- }
113
-
114
- .u-divider-text {
115
- white-space: nowrap;
116
- padding: 0 16rpx;
117
- /* #ifndef APP-NVUE */
118
- display: inline-flex;
119
- /* #endif */
120
- }
121
- </style>
1
+ <template>
2
+ <view
3
+ class="u-divider"
4
+ :style="{
5
+ height: height === 'auto' ? 'auto' : height + 'rpx',
6
+ backgroundColor: bgColor,
7
+ marginBottom: marginBottom + 'rpx',
8
+ marginTop: marginTop + 'rpx'
9
+ }"
10
+ @tap="onClick"
11
+ >
12
+ <view class="u-divider-line" :class="[type ? 'u-divider-line--bordercolor--' + type : '']" :style="lineStyle"></view>
13
+ <view
14
+ v-if="useSlot"
15
+ class="u-divider-text"
16
+ :style="{
17
+ color: color,
18
+ fontSize: fontSize + 'rpx'
19
+ }"
20
+ ><slot
21
+ /></view>
22
+ <view class="u-divider-line" :class="[type ? 'u-divider-line--bordercolor--' + type : '']" :style="lineStyle"></view>
23
+ </view>
24
+ </template>
25
+
26
+ <script setup lang="ts">
27
+ import { computed } from 'vue';
28
+ import { DividerProps } from './types';
29
+
30
+ defineOptions({
31
+ name: 'u-divider'
32
+ });
33
+
34
+ /**
35
+ * divider 分割线
36
+ * @description 区隔内容的分割线,一般用于页面底部"没有更多"的提示。
37
+ * @tutorial https://uviewpro.cn/zh/components/divider.html
38
+ * @property {String Number} half-width 文字左或右边线条宽度,数值或百分比,数值时单位为rpx
39
+ * @property {String} border-color 线条颜色,优先级高于type(默认#dcdfe6)
40
+ * @property {String} color 文字颜色(默认#909399)
41
+ * @property {String Number} fontSize 字体大小,单位rpx(默认26)
42
+ * @property {String} bg-color 整个divider的背景颜色(默认呢#ffffff)
43
+ * @property {String Number} height 整个divider的高度,单位rpx(默认40)
44
+ * @property {String} type 将线条设置主题色(默认primary)
45
+ * @property {Boolean} useSlot 是否使用slot传入内容,如果不传入,中间不会有空隙(默认true)
46
+ * @property {String Number} margin-top 与前一个组件的距离,单位rpx(默认0)
47
+ * @property {String Number} margin-bottom 与后一个组件的距离,单位rpx(0)
48
+ * @event {Function} click divider组件被点击时触发
49
+ * @example <u-divider color="#fa3534">长河落日圆</u-divider>
50
+ */
51
+ const props = defineProps(DividerProps);
52
+
53
+ const emit = defineEmits(['click']);
54
+
55
+ /**
56
+ * divider横线样式
57
+ */
58
+ const lineStyle = computed(() => {
59
+ let style: Record<string, string> = {};
60
+ if (String(props.halfWidth).indexOf('%') !== -1) style.width = String(props.halfWidth);
61
+ else style.width = props.halfWidth + 'rpx';
62
+ // borderColor优先级高于type值
63
+ if (props.borderColor) style.borderColor = props.borderColor;
64
+ return style;
65
+ });
66
+
67
+ /**
68
+ * divider组件被点击时触发
69
+ */
70
+ function onClick() {
71
+ emit('click');
72
+ }
73
+ </script>
74
+
75
+ <style lang="scss" scoped>
76
+ @import '../../libs/css/style.components.scss';
77
+ .u-divider {
78
+ width: 100%;
79
+ position: relative;
80
+ text-align: center;
81
+ @include vue-flex;
82
+ justify-content: center;
83
+ align-items: center;
84
+ overflow: hidden;
85
+ flex-direction: row;
86
+ }
87
+
88
+ .u-divider-line {
89
+ border-bottom: 1px solid $u-border-color;
90
+ transform: scale(1, 0.5);
91
+ transform-origin: center;
92
+
93
+ &--bordercolor--primary {
94
+ border-color: $u-type-primary;
95
+ }
96
+
97
+ &--bordercolor--success {
98
+ border-color: $u-type-success;
99
+ }
100
+
101
+ &--bordercolor--error {
102
+ border-color: $u-type-primary;
103
+ }
104
+
105
+ &--bordercolor--info {
106
+ border-color: $u-type-info;
107
+ }
108
+
109
+ &--bordercolor--warning {
110
+ border-color: $u-type-warning;
111
+ }
112
+ }
113
+
114
+ .u-divider-text {
115
+ white-space: nowrap;
116
+ padding: 0 16rpx;
117
+ /* #ifndef APP-NVUE */
118
+ display: inline-flex;
119
+ /* #endif */
120
+ }
121
+ </style>
@@ -1,32 +1,32 @@
1
- import type { ExtractPropTypes, PropType } from 'vue';
2
-
3
- /**
4
- * u-dropdown 下拉菜单 Props
5
- * @description 该组件一般用于向下展开菜单,同时可切换多个选项卡的场景
6
- */
7
- export const DropdownProps = {
8
- /** 菜单标题和选项的激活态颜色 */
9
- activeColor: { type: String, default: '#2979ff' },
10
- /** 菜单标题和选项的未激活态颜色 */
11
- inactiveColor: { type: String, default: '#606266' },
12
- /** 点击遮罩是否关闭菜单 */
13
- closeOnClickMask: { type: Boolean, default: true },
14
- /** 点击当前激活项标题是否关闭菜单 */
15
- closeOnClickSelf: { type: Boolean, default: true },
16
- /** 过渡时间 */
17
- duration: { type: [Number, String] as PropType<number | string>, default: 300 },
18
- /** 标题菜单的高度,单位任意,数值默认为rpx单位 */
19
- height: { type: [Number, String] as PropType<number | string>, default: 80 },
20
- /** 是否显示下边框 */
21
- borderBottom: { type: Boolean, default: false },
22
- /** 标题的字体大小 */
23
- titleSize: { type: [Number, String] as PropType<number | string>, default: 28 },
24
- /** 下拉出来的内容部分的圆角值 */
25
- borderRadius: { type: [Number, String] as PropType<number | string>, default: 0 },
26
- /** 菜单右侧的icon图标 */
27
- menuIcon: { type: String, default: 'arrow-down' },
28
- /** 菜单右侧图标的大小 */
29
- menuIconSize: { type: [Number, String] as PropType<number | string>, default: 26 }
30
- };
31
-
32
- export type DropdownProps = ExtractPropTypes<typeof DropdownProps>;
1
+ import type { ExtractPropTypes, PropType } from 'vue';
2
+
3
+ /**
4
+ * u-dropdown 下拉菜单 Props
5
+ * @description 该组件一般用于向下展开菜单,同时可切换多个选项卡的场景
6
+ */
7
+ export const DropdownProps = {
8
+ /** 菜单标题和选项的激活态颜色 */
9
+ activeColor: { type: String, default: '#2979ff' },
10
+ /** 菜单标题和选项的未激活态颜色 */
11
+ inactiveColor: { type: String, default: '#606266' },
12
+ /** 点击遮罩是否关闭菜单 */
13
+ closeOnClickMask: { type: Boolean, default: true },
14
+ /** 点击当前激活项标题是否关闭菜单 */
15
+ closeOnClickSelf: { type: Boolean, default: true },
16
+ /** 过渡时间 */
17
+ duration: { type: [Number, String] as PropType<number | string>, default: 300 },
18
+ /** 标题菜单的高度,单位任意,数值默认为rpx单位 */
19
+ height: { type: [Number, String] as PropType<number | string>, default: 80 },
20
+ /** 是否显示下边框 */
21
+ borderBottom: { type: Boolean, default: false },
22
+ /** 标题的字体大小 */
23
+ titleSize: { type: [Number, String] as PropType<number | string>, default: 28 },
24
+ /** 下拉出来的内容部分的圆角值 */
25
+ borderRadius: { type: [Number, String] as PropType<number | string>, default: 0 },
26
+ /** 菜单右侧的icon图标 */
27
+ menuIcon: { type: String, default: 'arrow-down' },
28
+ /** 菜单右侧图标的大小 */
29
+ menuIconSize: { type: [Number, String] as PropType<number | string>, default: 26 }
30
+ };
31
+
32
+ export type DropdownProps = ExtractPropTypes<typeof DropdownProps>;