uview-pro 0.2.0 → 0.2.2

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 (247) hide show
  1. package/changelog.md +501 -459
  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 -63
  21. package/components/u-calendar/u-calendar.vue +638 -592
  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 +267 -267
  32. package/components/u-checkbox-group/types.ts +32 -32
  33. package/components/u-checkbox-group/u-checkbox-group.vue +79 -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 +69 -69
  42. package/components/u-collapse-item/types.ts +27 -27
  43. package/components/u-collapse-item/u-collapse-item.vue +213 -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 +29 -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/useEmitter.ts +77 -77
  224. package/libs/hooks/useParent.ts +31 -31
  225. package/libs/hooks/useRect.ts +33 -33
  226. package/libs/index.ts +291 -291
  227. package/libs/request/auto-http.ts +76 -76
  228. package/libs/request/index.ts +223 -223
  229. package/libs/store/index.ts +88 -88
  230. package/libs/util/area.ts +1 -3771
  231. package/libs/util/async-validator.d.ts +62 -62
  232. package/libs/util/async-validator.js +1 -1368
  233. package/libs/util/calendar.d.ts +57 -0
  234. package/libs/util/calendar.js +1 -0
  235. package/libs/util/city.ts +1 -432
  236. package/libs/util/emitter.ts +102 -102
  237. package/libs/util/mitt.ts +115 -115
  238. package/libs/util/parent.ts +20 -20
  239. package/libs/util/province.ts +1 -37
  240. package/package.json +1 -1
  241. package/readme.md +239 -237
  242. package/theme.scss +38 -38
  243. package/types/components.d.ts +97 -96
  244. package/types/global.d.ts +295 -255
  245. package/types/ignore-errors.d.ts +30 -30
  246. package/types/index.d.ts +19 -19
  247. package/types/uni-app.d.ts +63 -63
@@ -1,212 +1,212 @@
1
- <template>
2
- <view
3
- class="u-alert-tips"
4
- v-if="show"
5
- :class="[!show ? 'u-close-alert-tips' : '', type ? 'u-alert-tips--bg--' + type + '-light' : '', type ? 'u-alert-tips--border--' + type + '-disabled' : '']"
6
- :style="{
7
- backgroundColor: bgColor,
8
- borderColor: borderColor
9
- }"
10
- >
11
- <view class="u-icon-wrap">
12
- <u-icon v-if="showIcon" :name="uIconName" :size="description ? 40 : 32" class="u-icon" :color="uIconType" :custom-style="iconStyle"></u-icon>
13
- </view>
14
- <view class="u-alert-content" @tap.stop="onClick">
15
- <view class="u-alert-title" :style="uTitleStyle">
16
- {{ title }}
17
- </view>
18
- <view v-if="description" class="u-alert-desc" :style="descStyle">
19
- {{ description }}
20
- </view>
21
- </view>
22
- <view class="u-icon-wrap">
23
- <u-icon
24
- @click="onClose"
25
- v-if="closeAble && !closeText"
26
- hoverClass="u-type-error-hover-color"
27
- name="close"
28
- color="#c0c4cc"
29
- :size="22"
30
- class="u-close-icon"
31
- :style="{
32
- top: description ? '18rpx' : '24rpx'
33
- }"
34
- ></u-icon>
35
- </view>
36
- <text
37
- v-if="closeAble && closeText"
38
- class="u-close-text"
39
- :style="{
40
- top: description ? '18rpx' : '24rpx'
41
- }"
42
- >{{ closeText }}</text
43
- >
44
- </view>
45
- </template>
46
-
47
- <script setup lang="ts">
48
- import uIcon from '../u-icon/u-icon.vue';
49
- import { computed } from 'vue';
50
- import { $u } from '../..';
51
- import { AlertTipsProps } from './types';
52
-
53
- defineOptions({
54
- name: 'u-alert-tips'
55
- });
56
-
57
- /**
58
- * alertTips 警告提示
59
- * @description 警告提示,展现需要关注的信息
60
- * @tutorial https://uviewpro.cn/zh/components/alertTips.html
61
- * @property {String} title 显示的标题文字
62
- * @property {String} description 辅助性文字,颜色比title浅一点,字号也小一点,可选
63
- * @property {String} type 关闭按钮(默认为叉号icon图标)
64
- * @property {String} icon 图标名称
65
- * @property {Object} icon-style 图标的样式,对象形式
66
- * @property {Object} title-style 标题的样式,对象形式
67
- * @property {Object} desc-style 描述的样式,对象形式
68
- * @property {String} close-able 用文字替代关闭图标,close-able为true时有效
69
- * @property {Boolean} show-icon 是否显示左边的辅助图标
70
- * @property {Boolean} show 显示或隐藏组件
71
- * @event {Function} click 点击组件时触发
72
- * @event {Function} close 点击关闭按钮时触发
73
- */
74
-
75
- const props = defineProps(AlertTipsProps);
76
-
77
- const emit = defineEmits(['click', 'close']);
78
-
79
- /**
80
- * 标题样式,合并加粗和用户自定义样式
81
- */
82
- const uTitleStyle = computed(() => {
83
- let style: Record<string, any> = {};
84
- // 如果有描述文字的话,标题进行加粗
85
- style.fontWeight = props.description ? 500 : 'normal';
86
- // 将用户传入样式对象和style合并,传入的优先级比style高,同属性会被覆盖
87
- return $u.deepMerge(style, props.titleStyle);
88
- });
89
-
90
- /**
91
- * 图标名称,优先使用用户传入,否则根据type主题推定默认图标
92
- */
93
- const uIconName = computed(() => {
94
- // 如果有设置icon名称就使用,否则根据type主题,推定一个默认的图标
95
- return props.icon ? props.icon : $u.type2icon(props.type);
96
- });
97
-
98
- /**
99
- * 图标类型,优先使用iconStyle,否则用type
100
- */
101
- const uIconType = computed(() => {
102
- // 如果有设置图标的样式,优先使用,没有的话,则用type的样式
103
- return Object.keys(props.iconStyle).length ? '' : props.type;
104
- });
105
-
106
- /**
107
- * 点击内容
108
- */
109
- function onClick() {
110
- emit('click');
111
- }
112
-
113
- /**
114
- * 点击关闭按钮
115
- */
116
- function onClose() {
117
- emit('close');
118
- }
119
- </script>
120
-
121
- <style lang="scss" scoped>
122
- @import '../../libs/css/style.components.scss';
123
-
124
- .u-alert-tips {
125
- @include vue-flex;
126
- align-items: center;
127
- padding: 16rpx 30rpx;
128
- border-radius: 8rpx;
129
- position: relative;
130
- transition: all 0.3s linear;
131
- border: 1px solid #fff;
132
-
133
- &--bg--primary-light {
134
- background-color: $u-type-primary-light;
135
- }
136
-
137
- &--bg--info-light {
138
- background-color: $u-type-info-light;
139
- }
140
-
141
- &--bg--success-light {
142
- background-color: $u-type-success-light;
143
- }
144
-
145
- &--bg--warning-light {
146
- background-color: $u-type-warning-light;
147
- }
148
-
149
- &--bg--error-light {
150
- background-color: $u-type-error-light;
151
- }
152
-
153
- &--border--primary-disabled {
154
- border-color: $u-type-primary-disabled;
155
- }
156
-
157
- &--border--success-disabled {
158
- border-color: $u-type-success-disabled;
159
- }
160
-
161
- &--border--error-disabled {
162
- border-color: $u-type-error-disabled;
163
- }
164
-
165
- &--border--warning-disabled {
166
- border-color: $u-type-warning-disabled;
167
- }
168
-
169
- &--border--info-disabled {
170
- border-color: $u-type-info-disabled;
171
- }
172
- }
173
-
174
- .u-close-alert-tips {
175
- opacity: 0;
176
- visibility: hidden;
177
- }
178
-
179
- .u-icon {
180
- margin-right: 16rpx;
181
- }
182
-
183
- .u-alert-title {
184
- font-size: 28rpx;
185
- color: $u-main-color;
186
- }
187
-
188
- .u-alert-desc {
189
- font-size: 26rpx;
190
- text-align: left;
191
- color: $u-content-color;
192
- }
193
-
194
- .u-close-icon {
195
- position: absolute;
196
- top: 20rpx;
197
- right: 20rpx;
198
- }
199
-
200
- .u-close-hover {
201
- color: red;
202
- }
203
-
204
- .u-close-text {
205
- font-size: 24rpx;
206
- color: $u-tips-color;
207
- position: absolute;
208
- top: 20rpx;
209
- right: 20rpx;
210
- line-height: 1;
211
- }
212
- </style>
1
+ <template>
2
+ <view
3
+ class="u-alert-tips"
4
+ v-if="show"
5
+ :class="[!show ? 'u-close-alert-tips' : '', type ? 'u-alert-tips--bg--' + type + '-light' : '', type ? 'u-alert-tips--border--' + type + '-disabled' : '']"
6
+ :style="{
7
+ backgroundColor: bgColor,
8
+ borderColor: borderColor
9
+ }"
10
+ >
11
+ <view class="u-icon-wrap">
12
+ <u-icon v-if="showIcon" :name="uIconName" :size="description ? 40 : 32" class="u-icon" :color="uIconType" :custom-style="iconStyle"></u-icon>
13
+ </view>
14
+ <view class="u-alert-content" @tap.stop="onClick">
15
+ <view class="u-alert-title" :style="uTitleStyle">
16
+ {{ title }}
17
+ </view>
18
+ <view v-if="description" class="u-alert-desc" :style="descStyle">
19
+ {{ description }}
20
+ </view>
21
+ </view>
22
+ <view class="u-icon-wrap">
23
+ <u-icon
24
+ @click="onClose"
25
+ v-if="closeAble && !closeText"
26
+ hoverClass="u-type-error-hover-color"
27
+ name="close"
28
+ color="#c0c4cc"
29
+ :size="22"
30
+ class="u-close-icon"
31
+ :style="{
32
+ top: description ? '18rpx' : '24rpx'
33
+ }"
34
+ ></u-icon>
35
+ </view>
36
+ <text
37
+ v-if="closeAble && closeText"
38
+ class="u-close-text"
39
+ :style="{
40
+ top: description ? '18rpx' : '24rpx'
41
+ }"
42
+ >{{ closeText }}</text
43
+ >
44
+ </view>
45
+ </template>
46
+
47
+ <script setup lang="ts">
48
+ import uIcon from '../u-icon/u-icon.vue';
49
+ import { computed } from 'vue';
50
+ import { $u } from '../..';
51
+ import { AlertTipsProps } from './types';
52
+
53
+ defineOptions({
54
+ name: 'u-alert-tips'
55
+ });
56
+
57
+ /**
58
+ * alertTips 警告提示
59
+ * @description 警告提示,展现需要关注的信息
60
+ * @tutorial https://uviewpro.cn/zh/components/alertTips.html
61
+ * @property {String} title 显示的标题文字
62
+ * @property {String} description 辅助性文字,颜色比title浅一点,字号也小一点,可选
63
+ * @property {String} type 关闭按钮(默认为叉号icon图标)
64
+ * @property {String} icon 图标名称
65
+ * @property {Object} icon-style 图标的样式,对象形式
66
+ * @property {Object} title-style 标题的样式,对象形式
67
+ * @property {Object} desc-style 描述的样式,对象形式
68
+ * @property {String} close-able 用文字替代关闭图标,close-able为true时有效
69
+ * @property {Boolean} show-icon 是否显示左边的辅助图标
70
+ * @property {Boolean} show 显示或隐藏组件
71
+ * @event {Function} click 点击组件时触发
72
+ * @event {Function} close 点击关闭按钮时触发
73
+ */
74
+
75
+ const props = defineProps(AlertTipsProps);
76
+
77
+ const emit = defineEmits(['click', 'close']);
78
+
79
+ /**
80
+ * 标题样式,合并加粗和用户自定义样式
81
+ */
82
+ const uTitleStyle = computed(() => {
83
+ let style: Record<string, any> = {};
84
+ // 如果有描述文字的话,标题进行加粗
85
+ style.fontWeight = props.description ? 500 : 'normal';
86
+ // 将用户传入样式对象和style合并,传入的优先级比style高,同属性会被覆盖
87
+ return $u.deepMerge(style, props.titleStyle);
88
+ });
89
+
90
+ /**
91
+ * 图标名称,优先使用用户传入,否则根据type主题推定默认图标
92
+ */
93
+ const uIconName = computed(() => {
94
+ // 如果有设置icon名称就使用,否则根据type主题,推定一个默认的图标
95
+ return props.icon ? props.icon : $u.type2icon(props.type);
96
+ });
97
+
98
+ /**
99
+ * 图标类型,优先使用iconStyle,否则用type
100
+ */
101
+ const uIconType = computed(() => {
102
+ // 如果有设置图标的样式,优先使用,没有的话,则用type的样式
103
+ return Object.keys(props.iconStyle).length ? '' : props.type;
104
+ });
105
+
106
+ /**
107
+ * 点击内容
108
+ */
109
+ function onClick() {
110
+ emit('click');
111
+ }
112
+
113
+ /**
114
+ * 点击关闭按钮
115
+ */
116
+ function onClose() {
117
+ emit('close');
118
+ }
119
+ </script>
120
+
121
+ <style lang="scss" scoped>
122
+ @import '../../libs/css/style.components.scss';
123
+
124
+ .u-alert-tips {
125
+ @include vue-flex;
126
+ align-items: center;
127
+ padding: 16rpx 30rpx;
128
+ border-radius: 8rpx;
129
+ position: relative;
130
+ transition: all 0.3s linear;
131
+ border: 1px solid #fff;
132
+
133
+ &--bg--primary-light {
134
+ background-color: $u-type-primary-light;
135
+ }
136
+
137
+ &--bg--info-light {
138
+ background-color: $u-type-info-light;
139
+ }
140
+
141
+ &--bg--success-light {
142
+ background-color: $u-type-success-light;
143
+ }
144
+
145
+ &--bg--warning-light {
146
+ background-color: $u-type-warning-light;
147
+ }
148
+
149
+ &--bg--error-light {
150
+ background-color: $u-type-error-light;
151
+ }
152
+
153
+ &--border--primary-disabled {
154
+ border-color: $u-type-primary-disabled;
155
+ }
156
+
157
+ &--border--success-disabled {
158
+ border-color: $u-type-success-disabled;
159
+ }
160
+
161
+ &--border--error-disabled {
162
+ border-color: $u-type-error-disabled;
163
+ }
164
+
165
+ &--border--warning-disabled {
166
+ border-color: $u-type-warning-disabled;
167
+ }
168
+
169
+ &--border--info-disabled {
170
+ border-color: $u-type-info-disabled;
171
+ }
172
+ }
173
+
174
+ .u-close-alert-tips {
175
+ opacity: 0;
176
+ visibility: hidden;
177
+ }
178
+
179
+ .u-icon {
180
+ margin-right: 16rpx;
181
+ }
182
+
183
+ .u-alert-title {
184
+ font-size: 28rpx;
185
+ color: $u-main-color;
186
+ }
187
+
188
+ .u-alert-desc {
189
+ font-size: 26rpx;
190
+ text-align: left;
191
+ color: $u-content-color;
192
+ }
193
+
194
+ .u-close-icon {
195
+ position: absolute;
196
+ top: 20rpx;
197
+ right: 20rpx;
198
+ }
199
+
200
+ .u-close-hover {
201
+ color: red;
202
+ }
203
+
204
+ .u-close-text {
205
+ font-size: 24rpx;
206
+ color: $u-tips-color;
207
+ position: absolute;
208
+ top: 20rpx;
209
+ right: 20rpx;
210
+ line-height: 1;
211
+ }
212
+ </style>
@@ -1,34 +1,34 @@
1
- import { type ExtractPropTypes, type PropType } from 'vue';
2
- import type { ImgMode } from '../../types/global';
3
-
4
- // u-avatar 组件 props
5
- export const AvatarProps = {
6
- /** 背景颜色 */
7
- bgColor: { type: String, default: 'transparent' },
8
- /** 头像路径 */
9
- src: { type: String, default: '' },
10
- /** 尺寸,large-大,default-中等,mini-小,如果为数值,则单位为rpx,宽度等于高度 */
11
- size: { type: [String, Number], default: 'default' },
12
- /** 头像模型,square-带圆角方形,circle-圆形 */
13
- mode: { type: String, default: 'circle' },
14
- /** 文字内容 */
15
- text: { type: String, default: '' },
16
- /** 图片的裁剪模型 */
17
- imgMode: { type: String as PropType<ImgMode>, default: 'aspectFill' },
18
- /** 标识符 */
19
- index: { type: [String, Number], default: '' },
20
- /** 右上角性别角标,man-男,woman-女 */
21
- sexIcon: { type: String as PropType<'man' | 'woman'>, default: 'man' },
22
- /** 右下角的等级图标 */
23
- levelIcon: { type: String, default: 'level' },
24
- /** 右下角等级图标背景颜色 */
25
- levelBgColor: { type: String, default: '' },
26
- /** 右上角性别图标的背景颜色 */
27
- sexBgColor: { type: String, default: '' },
28
- /** 是否显示性别图标 */
29
- showSex: { type: Boolean, default: false },
30
- /** 是否显示等级图标 */
31
- showLevel: { type: Boolean, default: false }
32
- };
33
-
34
- export type AvatarProps = ExtractPropTypes<typeof AvatarProps>;
1
+ import { type ExtractPropTypes, type PropType } from 'vue';
2
+ import type { ImgMode } from '../../types/global';
3
+
4
+ // u-avatar 组件 props
5
+ export const AvatarProps = {
6
+ /** 背景颜色 */
7
+ bgColor: { type: String, default: 'transparent' },
8
+ /** 头像路径 */
9
+ src: { type: String, default: '' },
10
+ /** 尺寸,large-大,default-中等,mini-小,如果为数值,则单位为rpx,宽度等于高度 */
11
+ size: { type: [String, Number], default: 'default' },
12
+ /** 头像模型,square-带圆角方形,circle-圆形 */
13
+ mode: { type: String, default: 'circle' },
14
+ /** 文字内容 */
15
+ text: { type: String, default: '' },
16
+ /** 图片的裁剪模型 */
17
+ imgMode: { type: String as PropType<ImgMode>, default: 'aspectFill' },
18
+ /** 标识符 */
19
+ index: { type: [String, Number], default: '' },
20
+ /** 右上角性别角标,man-男,woman-女 */
21
+ sexIcon: { type: String as PropType<'man' | 'woman'>, default: 'man' },
22
+ /** 右下角的等级图标 */
23
+ levelIcon: { type: String, default: 'level' },
24
+ /** 右下角等级图标背景颜色 */
25
+ levelBgColor: { type: String, default: '' },
26
+ /** 右上角性别图标的背景颜色 */
27
+ sexBgColor: { type: String, default: '' },
28
+ /** 是否显示性别图标 */
29
+ showSex: { type: Boolean, default: false },
30
+ /** 是否显示等级图标 */
31
+ showLevel: { type: Boolean, default: false }
32
+ };
33
+
34
+ export type AvatarProps = ExtractPropTypes<typeof AvatarProps>;