hy-app 0.5.9 → 0.5.11

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 (290) hide show
  1. package/components/hy-action-sheet/hy-action-sheet.vue +200 -200
  2. package/components/hy-action-sheet/props.ts +71 -71
  3. package/components/hy-action-sheet/typing.d.ts +64 -64
  4. package/components/hy-address-picker/hy-address-picker.vue +1 -1
  5. package/components/hy-address-picker/props.ts +100 -100
  6. package/components/hy-address-picker/typing.d.ts +16 -16
  7. package/components/hy-avatar/hy-avatar.vue +163 -163
  8. package/components/hy-avatar/props.ts +78 -78
  9. package/components/hy-avatar/typing.d.ts +4 -4
  10. package/components/hy-back-top/hy-back-top.vue +90 -90
  11. package/components/hy-back-top/props.ts +60 -60
  12. package/components/hy-back-top/typing.d.ts +4 -4
  13. package/components/hy-badge/hy-badge.vue +97 -97
  14. package/components/hy-badge/props.ts +82 -82
  15. package/components/hy-badge/typing.d.ts +9 -9
  16. package/components/hy-button/hy-button.vue +275 -275
  17. package/components/hy-button/props.ts +135 -135
  18. package/components/hy-button/typing.d.ts +30 -30
  19. package/components/hy-calendar/header.vue +60 -60
  20. package/components/hy-calendar/hy-calendar.vue +362 -362
  21. package/components/hy-calendar/month.vue +537 -537
  22. package/components/hy-calendar/props.ts +159 -159
  23. package/components/hy-calendar/typing.d.ts +6 -6
  24. package/components/hy-card/hy-card.vue +161 -161
  25. package/components/hy-card/props.ts +122 -122
  26. package/components/hy-card/typing.d.ts +12 -12
  27. package/components/hy-cell/hy-cell.vue +33 -33
  28. package/components/hy-cell/props.ts +54 -54
  29. package/components/hy-cell/typing.d.ts +4 -4
  30. package/components/hy-cell-item/hy-cell-item.vue +161 -161
  31. package/components/hy-cell-item/props.ts +66 -66
  32. package/components/hy-cell-item/typing.d.ts +7 -7
  33. package/components/hy-check-button/hy-check-button.vue +96 -96
  34. package/components/hy-check-button/props.ts +74 -74
  35. package/components/hy-check-button/typing.d.ts +44 -44
  36. package/components/hy-checkbox/hy-checkbox.vue +227 -227
  37. package/components/hy-checkbox/props.ts +96 -96
  38. package/components/hy-checkbox/typing.d.ts +8 -8
  39. package/components/hy-checkbox-group/hy-checkbox-group.vue +45 -45
  40. package/components/hy-checkbox-group/props.ts +80 -80
  41. package/components/hy-checkbox-group/typing.d.ts +6 -6
  42. package/components/hy-checkbox-item/hy-checkbox-item.vue +199 -199
  43. package/components/hy-checkbox-item/props.ts +24 -24
  44. package/components/hy-checkbox-item/typing.d.ts +7 -7
  45. package/components/hy-code-input/hy-code-input.vue +231 -231
  46. package/components/hy-code-input/props.ts +88 -88
  47. package/components/hy-code-input/typing.d.ts +8 -8
  48. package/components/hy-config-provider/hy-config-provider.vue +53 -53
  49. package/components/hy-config-provider/props.ts +28 -28
  50. package/components/hy-count-down/hy-count-down.vue +170 -170
  51. package/components/hy-count-down/index.ts +52 -52
  52. package/components/hy-count-down/props.ts +32 -32
  53. package/components/hy-count-down/typing.d.ts +14 -14
  54. package/components/hy-count-to/hy-count-to.vue +218 -218
  55. package/components/hy-count-to/props.ts +62 -62
  56. package/components/hy-count-to/typing.d.ts +4 -4
  57. package/components/hy-coupon/hy-coupon.vue +172 -172
  58. package/components/hy-coupon/index.scss +171 -171
  59. package/components/hy-coupon/props.ts +103 -103
  60. package/components/hy-coupon/typing.d.ts +14 -14
  61. package/components/hy-datetime-picker/hy-datetime-picker.vue +521 -521
  62. package/components/hy-datetime-picker/props.ts +142 -142
  63. package/components/hy-datetime-picker/typing.d.ts +20 -20
  64. package/components/hy-divider/hy-divider.vue +132 -132
  65. package/components/hy-divider/props.ts +80 -80
  66. package/components/hy-dropdown/hy-dropdown.vue +60 -60
  67. package/components/hy-dropdown/props.ts +40 -40
  68. package/components/hy-dropdown-item/hy-dropdown-item.vue +206 -206
  69. package/components/hy-dropdown-item/props.ts +21 -21
  70. package/components/hy-dropdown-item/typing.d.ts +17 -17
  71. package/components/hy-empty/hy-empty.vue +116 -116
  72. package/components/hy-empty/icon.ts +72 -72
  73. package/components/hy-empty/props.ts +60 -60
  74. package/components/hy-empty/typing.d.ts +38 -38
  75. package/components/hy-flex/hy-flex.vue +53 -53
  76. package/components/hy-flex/index.scss +8 -8
  77. package/components/hy-flex/props.ts +58 -58
  78. package/components/hy-flex/typing.d.ts +21 -21
  79. package/components/hy-float-button/hy-float-button.vue +378 -378
  80. package/components/hy-float-button/props.ts +111 -111
  81. package/components/hy-float-button/typing.d.ts +35 -35
  82. package/components/hy-folding-panel/hy-folding-panel.vue +109 -109
  83. package/components/hy-folding-panel/props.ts +42 -42
  84. package/components/hy-folding-panel/typing.d.ts +19 -19
  85. package/components/hy-folding-panel-item/hy-folding-panel-item.vue +183 -183
  86. package/components/hy-folding-panel-item/props.ts +81 -81
  87. package/components/hy-folding-panel-item/typing.d.ts +37 -37
  88. package/components/hy-form/hy-form.vue +220 -220
  89. package/components/hy-form/props.ts +37 -37
  90. package/components/hy-form/typing.d.ts +41 -41
  91. package/components/hy-form-group/hy-form-group.vue +333 -333
  92. package/components/hy-form-group/props.ts +105 -105
  93. package/components/hy-form-item/hy-form-item.vue +176 -176
  94. package/components/hy-form-item/index.scss +0 -1
  95. package/components/hy-form-item/props.ts +25 -25
  96. package/components/hy-form-item/typing.d.ts +30 -30
  97. package/components/hy-grid/hy-grid.vue +109 -109
  98. package/components/hy-grid/props.ts +60 -60
  99. package/components/hy-grid/typing.d.ts +35 -35
  100. package/components/hy-icon/hy-icon.vue +112 -112
  101. package/components/hy-icon/index.scss +0 -3
  102. package/components/hy-icon/props.ts +79 -79
  103. package/components/hy-icon/typing.d.ts +9 -9
  104. package/components/hy-image/hy-image.vue +192 -192
  105. package/components/hy-image/props.ts +107 -107
  106. package/components/hy-image/typing.d.ts +10 -10
  107. package/components/hy-input/hy-input.vue +333 -333
  108. package/components/hy-input/index.scss +5 -0
  109. package/components/hy-input/props.ts +186 -186
  110. package/components/hy-input/typing.d.ts +31 -31
  111. package/components/hy-line/hy-line.vue +55 -55
  112. package/components/hy-line/props.ts +43 -43
  113. package/components/hy-line-progress/hy-line-progress.vue +102 -102
  114. package/components/hy-line-progress/index.scss +1 -0
  115. package/components/hy-line-progress/props.ts +33 -33
  116. package/components/hy-list/hy-list.vue +226 -226
  117. package/components/hy-list/props.ts +69 -69
  118. package/components/hy-list/typing.d.ts +6 -6
  119. package/components/hy-loading/hy-loading.vue +107 -107
  120. package/components/hy-loading/props.ts +65 -65
  121. package/components/hy-menu/hy-menu.vue +159 -159
  122. package/components/hy-menu/props.ts +44 -44
  123. package/components/hy-menu/typing.d.ts +34 -34
  124. package/components/hy-modal/hy-modal.vue +173 -173
  125. package/components/hy-modal/props.ts +90 -90
  126. package/components/hy-modal/typing.d.ts +11 -11
  127. package/components/hy-navbar/hy-navbar.vue +144 -144
  128. package/components/hy-navbar/props.ts +78 -78
  129. package/components/hy-navbar/typing.d.ts +6 -6
  130. package/components/hy-notice-bar/hy-column-notice.vue +94 -94
  131. package/components/hy-notice-bar/hy-notice-bar.vue +96 -96
  132. package/components/hy-notice-bar/hy-row-notice.vue +121 -121
  133. package/components/hy-notice-bar/props.ts +85 -85
  134. package/components/hy-notice-bar/typing.d.ts +8 -8
  135. package/components/hy-notify/hy-notify.vue +174 -174
  136. package/components/hy-notify/props.ts +51 -51
  137. package/components/hy-number-step/hy-number-step.vue +367 -367
  138. package/components/hy-number-step/props.ts +112 -112
  139. package/components/hy-number-step/typing.d.ts +16 -16
  140. package/components/hy-overlay/hy-overlay.vue +60 -60
  141. package/components/hy-overlay/props.ts +33 -33
  142. package/components/hy-overlay/typing.d.ts +4 -4
  143. package/components/hy-pagination/hy-pagination.vue +135 -135
  144. package/components/hy-pagination/props.ts +55 -55
  145. package/components/hy-pagination/typing.d.ts +10 -10
  146. package/components/hy-picker/hy-picker.vue +7 -5
  147. package/components/hy-picker/props.ts +7 -2
  148. package/components/hy-picker/typing.d.ts +9 -5
  149. package/components/hy-popover/hy-popover.vue +251 -251
  150. package/components/hy-popover/props.ts +51 -51
  151. package/components/hy-popover/typing.d.ts +39 -39
  152. package/components/hy-popup/hy-popup.vue +197 -197
  153. package/components/hy-popup/props.ts +85 -85
  154. package/components/hy-popup/typing.d.ts +10 -10
  155. package/components/hy-price/hy-price.vue +79 -79
  156. package/components/hy-price/props.ts +54 -54
  157. package/components/hy-price/typing.d.ts +4 -4
  158. package/components/hy-qrcode/hy-qrcode.vue +216 -216
  159. package/components/hy-qrcode/props.ts +70 -70
  160. package/components/hy-qrcode/qrcode.js +1304 -1304
  161. package/components/hy-qrcode/typing.d.ts +8 -8
  162. package/components/hy-radio/hy-radio.vue +226 -226
  163. package/components/hy-radio/props.ts +1 -1
  164. package/components/hy-radio/typing.d.ts +8 -8
  165. package/components/hy-rate/hy-rate.vue +239 -239
  166. package/components/hy-rate/props.ts +77 -77
  167. package/components/hy-rate/typing.d.ts +6 -6
  168. package/components/hy-read-more/hy-read-more.vue +130 -130
  169. package/components/hy-read-more/props.ts +45 -45
  170. package/components/hy-read-more/typing.d.ts +6 -6
  171. package/components/hy-rolling-num/hy-rolling-num.vue +188 -188
  172. package/components/hy-rolling-num/props.ts +68 -68
  173. package/components/hy-scroll-list/hy-scroll-list.vue +123 -123
  174. package/components/hy-scroll-list/props.ts +22 -22
  175. package/components/hy-scroll-list/typing.d.ts +6 -6
  176. package/components/hy-search/hy-search.vue +221 -221
  177. package/components/hy-search/props.ts +131 -131
  178. package/components/hy-search/typing.d.ts +22 -22
  179. package/components/hy-signature/hy-signature.vue +640 -640
  180. package/components/hy-signature/props.ts +118 -118
  181. package/components/hy-signature/typing.d.ts +93 -93
  182. package/components/hy-slider/hy-slider.vue +444 -444
  183. package/components/hy-slider/props.ts +77 -77
  184. package/components/hy-slider/typing.d.ts +10 -10
  185. package/components/hy-status-bar/hy-status-bar.vue +41 -41
  186. package/components/hy-status-bar/props.ts +8 -8
  187. package/components/hy-status-bar/typing.d.ts +12 -12
  188. package/components/hy-steps/hy-steps.vue +267 -267
  189. package/components/hy-steps/props.ts +49 -49
  190. package/components/hy-steps/typing.d.ts +21 -21
  191. package/components/hy-sticky/hy-sticky.vue +226 -226
  192. package/components/hy-sticky/props.ts +24 -24
  193. package/components/hy-sticky/typing.d.ts +4 -4
  194. package/components/hy-submit-bar/hy-submit-bar.vue +189 -189
  195. package/components/hy-submit-bar/props.ts +91 -91
  196. package/components/hy-submit-bar/typing.d.ts +24 -24
  197. package/components/hy-subsection/hy-subsection.vue +207 -207
  198. package/components/hy-subsection/props.ts +52 -52
  199. package/components/hy-subsection/typing.d.ts +13 -13
  200. package/components/hy-swipe-action/hy-swipe-action.vue +323 -323
  201. package/components/hy-swipe-action/index.ts +25 -25
  202. package/components/hy-swipe-action/props.ts +47 -47
  203. package/components/hy-swipe-action/typing.d.ts +25 -25
  204. package/components/hy-swiper/hy-swiper-indicator.vue +75 -75
  205. package/components/hy-swiper/hy-swiper.vue +224 -224
  206. package/components/hy-swiper/props.ts +128 -128
  207. package/components/hy-swiper/typing.d.ts +26 -26
  208. package/components/hy-switch/hy-switch.vue +173 -173
  209. package/components/hy-switch/props.ts +61 -61
  210. package/components/hy-switch/typing.d.ts +8 -8
  211. package/components/hy-tabbar/hy-tabbar.vue +136 -136
  212. package/components/hy-tabbar/props.ts +59 -59
  213. package/components/hy-tabbar/typing.d.ts +21 -21
  214. package/components/hy-tabbar-group/hy-tabbar-group.vue +87 -87
  215. package/components/hy-tabbar-group/props.ts +78 -78
  216. package/components/hy-tabbar-group/typing.d.ts +16 -16
  217. package/components/hy-tabbar-item/hy-tabbar-item.vue +103 -103
  218. package/components/hy-tabbar-item/typing.d.ts +10 -10
  219. package/components/hy-table/hy-table.vue +358 -358
  220. package/components/hy-table/props.ts +47 -47
  221. package/components/hy-table/typing.d.ts +34 -34
  222. package/components/hy-tabs/hy-tabs.vue +335 -335
  223. package/components/hy-tabs/props.ts +77 -77
  224. package/components/hy-tabs/typing.d.ts +33 -33
  225. package/components/hy-tag/hy-tag.vue +174 -174
  226. package/components/hy-tag/props.ts +89 -89
  227. package/components/hy-tag/typing.d.ts +13 -13
  228. package/components/hy-text/hy-text.vue +237 -237
  229. package/components/hy-text/props.ts +115 -115
  230. package/components/hy-text/typing.d.ts +6 -6
  231. package/components/hy-textarea/hy-textarea.vue +197 -197
  232. package/components/hy-textarea/index.scss +5 -0
  233. package/components/hy-textarea/props.ts +116 -116
  234. package/components/hy-textarea/typing.d.ts +22 -22
  235. package/components/hy-toast/hy-toast.vue +190 -190
  236. package/components/hy-toast/typing.d.ts +38 -38
  237. package/components/hy-tooltip/hy-tooltip.vue +277 -277
  238. package/components/hy-tooltip/props.ts +78 -78
  239. package/components/hy-tooltip/typing.d.ts +4 -4
  240. package/components/hy-transition/hy-transition.vue +157 -157
  241. package/components/hy-transition/props.ts +32 -32
  242. package/components/hy-transition/typing.d.ts +16 -16
  243. package/components/hy-upload/hy-upload.vue +385 -385
  244. package/components/hy-upload/props.ts +132 -132
  245. package/components/hy-upload/typing.d.ts +65 -65
  246. package/components/hy-warn/hy-warn.vue +115 -115
  247. package/components/hy-warn/props.ts +49 -49
  248. package/components/hy-warn/typing.d.ts +6 -6
  249. package/components/hy-waterfall/hy-waterfall.vue +191 -191
  250. package/components/hy-waterfall/props.ts +21 -21
  251. package/components/hy-watermark/hy-watermark.vue +978 -978
  252. package/components/hy-watermark/props.ts +104 -104
  253. package/components/index.ts +183 -183
  254. package/global.d.ts +91 -91
  255. package/index.ts +1 -1
  256. package/libs/api/http.ts +140 -140
  257. package/libs/api/index.ts +1 -1
  258. package/libs/common/index.ts +2 -2
  259. package/libs/common/queue.ts +28 -28
  260. package/libs/composables/index.ts +6 -6
  261. package/libs/composables/usePopover.ts +241 -241
  262. package/libs/composables/useQueue.ts +53 -53
  263. package/libs/composables/useShakeService.ts +64 -64
  264. package/libs/composables/useShare.ts +42 -42
  265. package/libs/composables/useToast.ts +45 -45
  266. package/libs/composables/useTouch.ts +51 -51
  267. package/libs/config/color.ts +7 -7
  268. package/libs/config/icon.ts +430 -430
  269. package/libs/config/index.ts +2 -2
  270. package/libs/css/iconfont.css +443 -443
  271. package/libs/css/theme.scss +1 -1
  272. package/libs/global/index.ts +6 -6
  273. package/libs/global/register-properties.ts +37 -37
  274. package/libs/index.ts +7 -7
  275. package/libs/typing/index.ts +4 -4
  276. package/libs/typing/modules/common.d.ts +139 -139
  277. package/libs/typing/modules/enum.ts +67 -67
  278. package/libs/typing/modules/form.ts +5 -1
  279. package/libs/typing/modules/http.ts +17 -17
  280. package/libs/typing/modules/icon.d.ts +366 -366
  281. package/libs/typing/modules/rect.ts +10 -10
  282. package/libs/utils/base64.ts +119 -119
  283. package/libs/utils/calendar.js +1021 -1021
  284. package/libs/utils/colorGradient.ts +112 -112
  285. package/libs/utils/index.ts +5 -5
  286. package/libs/utils/inside.ts +350 -361
  287. package/libs/utils/inspect.ts +171 -171
  288. package/libs/utils/utils.ts +521 -521
  289. package/package.json +18 -18
  290. package/web-types.json +1 -1
@@ -7,6 +7,11 @@
7
7
  justify-content: space-between;
8
8
  flex: 1;
9
9
  color: $hy-text-color;
10
+
11
+ @include e(border) {
12
+ /* TODO: 先这样写,因为在某些pda中写$hy-border-line,边框不显示,后续排除问题 */
13
+ border: 1px solid #e8e8e8;
14
+ }
10
15
 
11
16
  @include e(radius, square) {
12
17
  border-radius: 4px;
@@ -1,186 +1,186 @@
1
- import type { CSSProperties, PropType } from 'vue'
2
- import type { InputConfirmType } from '@uni-helper/uni-types'
3
- import type { HyIconProps } from '../hy-icon/typing'
4
-
5
- const inputProps = {
6
- /** 输入的值 */
7
- modelValue: {
8
- type: [String, Number],
9
- required: true
10
- },
11
- /**
12
- * 输入框类型,见上方说明
13
- * @values text,idcard,number,digit,safe-password,tel,nickname
14
- * */
15
- type: {
16
- type: String,
17
- default: 'text'
18
- },
19
- /** 如果 textarea 是在一个 position:fixed 的区域,需要显示指定属性 fixed 为 true,兼容性:微信小程序、百度小程序、字节跳动小程序、QQ小程序 */
20
- fixed: {
21
- type: Boolean,
22
- default: false
23
- },
24
- /** 是否禁用输入框 */
25
- disabled: {
26
- type: Boolean,
27
- default: false
28
- },
29
- /** 禁用状态时的背景色 */
30
- disabledColor: {
31
- type: String,
32
- default: ''
33
- },
34
- /** 是否显示清除控件 */
35
- clearable: {
36
- type: Boolean,
37
- default: false
38
- },
39
- /** 是否密码类型 */
40
- password: {
41
- type: Boolean,
42
- default: false
43
- },
44
- /** 最大输入长度,设置为 -1 的时候不限制最大长度 */
45
- maxlength: {
46
- type: Number,
47
- default: -1
48
- },
49
- /** 输入框为空时的占位符 */
50
- placeholder: String,
51
- /** 指定placeholder的样式类,注意页面或组件的style中写了scoped时,需要在类名前写/deep/ */
52
- placeholderClass: {
53
- type: String,
54
- default: 'input-placeholder'
55
- },
56
- /** 指定placeholder的样式,字符串/对象形式,如"color: red;" */
57
- placeholderStyle: {
58
- type: Object as PropType<CSSProperties>,
59
- default: () => ({})
60
- },
61
- /** 是否显示输入字数统计,只在 type ="text"或type ="textarea"时有效 */
62
- showWordLimit: {
63
- type: Boolean,
64
- default: false
65
- },
66
- /** 设置右下角按钮的文字,兼容性详见uni-app文档 */
67
- confirmType: {
68
- type: String as PropType<InputConfirmType>,
69
- default: 'done'
70
- },
71
- /** 点击键盘右下角按钮时是否保持键盘不收起,H5无效 */
72
- confirmHold: {
73
- type: Boolean,
74
- default: false
75
- },
76
- /** focus时,点击页面的时候不收起键盘,微信小程序有效 */
77
- holdKeyboard: {
78
- type: Boolean,
79
- default: false
80
- },
81
- /** 自动获取焦点,在 H5 平台能否聚焦以及软键盘是否跟随弹出,取决于当前浏览器本身的实现。nvue 页面不支持,需使用组件的 focus()、blur() 方法控制焦点 */
82
- focus: {
83
- type: Boolean,
84
- default: false
85
- },
86
- /** 键盘收起时,是否自动失去焦点,目前仅App3.0.0+有效 */
87
- autoBlur: {
88
- type: Boolean,
89
- default: false
90
- },
91
- /** 是否去掉 iOS 下的默认内边距,仅微信小程序,且type=textarea时有效 */
92
- disableDefaultPadding: {
93
- type: Boolean,
94
- default: false
95
- },
96
- /** 指定focus时光标的位置 */
97
- cursor: {
98
- type: Number,
99
- default: 140
100
- },
101
- /** 输入框聚焦时底部与键盘的距离 */
102
- cursorSpacing: {
103
- type: Number,
104
- default: 30
105
- },
106
- /** 光标起始位置,自动聚集时有效,需与selection-end搭配使用 */
107
- selectionStart: {
108
- type: Number,
109
- default: -1
110
- },
111
- /** 光标结束位置,自动聚集时有效,需与selection-start搭配使用 */
112
- selectionEnd: {
113
- type: Number,
114
- default: -1
115
- },
116
- /** 键盘弹起时,是否自动上推页面 */
117
- adjustPosition: {
118
- type: Boolean,
119
- default: true
120
- },
121
- /**
122
- * 输入框内容对齐方式
123
- * @values left,center,right
124
- * */
125
- inputAlign: {
126
- type: String,
127
- default: 'left'
128
- },
129
- /** 输入框字体的大小 */
130
- fontSize: {
131
- type: [String, Number],
132
- default: '15px'
133
- },
134
- /** 输入框字体颜色 */
135
- color: {
136
- type: String,
137
- default: ''
138
- },
139
- /** 输入框前置图标 */
140
- prefixIcon: {
141
- type: Object as PropType<HyIconProps>,
142
- default: () => {}
143
- },
144
- /** 输入框后置图标 */
145
- suffixIcon: {
146
- type: Object as PropType<HyIconProps>,
147
- default: () => {}
148
- },
149
- /**
150
- * 边框类型
151
- * @values surround,bottom,none
152
- * */
153
- border: {
154
- type: String,
155
- default: 'surround'
156
- },
157
- /** 是否只读,与disabled不同之处在于disabled会置灰组件,而readonly则不会 */
158
- readonly: {
159
- type: Boolean,
160
- default: false
161
- },
162
- /**
163
- * 输入框形状
164
- * @values circle,square
165
- * */
166
- shape: {
167
- type: String,
168
- default: 'square'
169
- },
170
- /** 是否忽略组件内对文本合成系统事件的处理 */
171
- ignoreCompositionEvent: {
172
- type: Boolean,
173
- default: false
174
- },
175
- /** 内容式化函数 */
176
- formatter: Function,
177
- /** 定义需要用到的外部样式 */
178
- customStyle: {
179
- type: Object as PropType<CSSProperties>,
180
- default: () => {}
181
- },
182
- /** 自定义外部类名 */
183
- customClass: String
184
- } as const
185
-
186
- export default inputProps
1
+ import type { CSSProperties, PropType } from 'vue'
2
+ import type { InputConfirmType } from '@uni-helper/uni-types'
3
+ import type { HyIconProps } from '../hy-icon/typing'
4
+
5
+ const inputProps = {
6
+ /** 输入的值 */
7
+ modelValue: {
8
+ type: [String, Number],
9
+ required: true
10
+ },
11
+ /**
12
+ * 输入框类型,见上方说明
13
+ * @values text,idcard,number,digit,safe-password,tel,nickname
14
+ * */
15
+ type: {
16
+ type: String,
17
+ default: 'text'
18
+ },
19
+ /** 如果 textarea 是在一个 position:fixed 的区域,需要显示指定属性 fixed 为 true,兼容性:微信小程序、百度小程序、字节跳动小程序、QQ小程序 */
20
+ fixed: {
21
+ type: Boolean,
22
+ default: false
23
+ },
24
+ /** 是否禁用输入框 */
25
+ disabled: {
26
+ type: Boolean,
27
+ default: false
28
+ },
29
+ /** 禁用状态时的背景色 */
30
+ disabledColor: {
31
+ type: String,
32
+ default: ''
33
+ },
34
+ /** 是否显示清除控件 */
35
+ clearable: {
36
+ type: Boolean,
37
+ default: false
38
+ },
39
+ /** 是否密码类型 */
40
+ password: {
41
+ type: Boolean,
42
+ default: false
43
+ },
44
+ /** 最大输入长度,设置为 -1 的时候不限制最大长度 */
45
+ maxlength: {
46
+ type: Number,
47
+ default: -1
48
+ },
49
+ /** 输入框为空时的占位符 */
50
+ placeholder: String,
51
+ /** 指定placeholder的样式类,注意页面或组件的style中写了scoped时,需要在类名前写/deep/ */
52
+ placeholderClass: {
53
+ type: String,
54
+ default: 'input-placeholder'
55
+ },
56
+ /** 指定placeholder的样式,字符串/对象形式,如"color: red;" */
57
+ placeholderStyle: {
58
+ type: Object as PropType<CSSProperties>,
59
+ default: () => ({})
60
+ },
61
+ /** 是否显示输入字数统计,只在 type ="text"或type ="textarea"时有效 */
62
+ showWordLimit: {
63
+ type: Boolean,
64
+ default: false
65
+ },
66
+ /** 设置右下角按钮的文字,兼容性详见uni-app文档 */
67
+ confirmType: {
68
+ type: String as PropType<InputConfirmType>,
69
+ default: 'done'
70
+ },
71
+ /** 点击键盘右下角按钮时是否保持键盘不收起,H5无效 */
72
+ confirmHold: {
73
+ type: Boolean,
74
+ default: false
75
+ },
76
+ /** focus时,点击页面的时候不收起键盘,微信小程序有效 */
77
+ holdKeyboard: {
78
+ type: Boolean,
79
+ default: false
80
+ },
81
+ /** 自动获取焦点,在 H5 平台能否聚焦以及软键盘是否跟随弹出,取决于当前浏览器本身的实现。nvue 页面不支持,需使用组件的 focus()、blur() 方法控制焦点 */
82
+ focus: {
83
+ type: Boolean,
84
+ default: false
85
+ },
86
+ /** 键盘收起时,是否自动失去焦点,目前仅App3.0.0+有效 */
87
+ autoBlur: {
88
+ type: Boolean,
89
+ default: false
90
+ },
91
+ /** 是否去掉 iOS 下的默认内边距,仅微信小程序,且type=textarea时有效 */
92
+ disableDefaultPadding: {
93
+ type: Boolean,
94
+ default: false
95
+ },
96
+ /** 指定focus时光标的位置 */
97
+ cursor: {
98
+ type: Number,
99
+ default: 140
100
+ },
101
+ /** 输入框聚焦时底部与键盘的距离 */
102
+ cursorSpacing: {
103
+ type: Number,
104
+ default: 30
105
+ },
106
+ /** 光标起始位置,自动聚集时有效,需与selection-end搭配使用 */
107
+ selectionStart: {
108
+ type: Number,
109
+ default: -1
110
+ },
111
+ /** 光标结束位置,自动聚集时有效,需与selection-start搭配使用 */
112
+ selectionEnd: {
113
+ type: Number,
114
+ default: -1
115
+ },
116
+ /** 键盘弹起时,是否自动上推页面 */
117
+ adjustPosition: {
118
+ type: Boolean,
119
+ default: true
120
+ },
121
+ /**
122
+ * 输入框内容对齐方式
123
+ * @values left,center,right
124
+ * */
125
+ inputAlign: {
126
+ type: String,
127
+ default: 'left'
128
+ },
129
+ /** 输入框字体的大小 */
130
+ fontSize: {
131
+ type: [String, Number],
132
+ default: '15px'
133
+ },
134
+ /** 输入框字体颜色 */
135
+ color: {
136
+ type: String,
137
+ default: ''
138
+ },
139
+ /** 输入框前置图标 */
140
+ prefixIcon: {
141
+ type: Object as PropType<HyIconProps>,
142
+ default: () => {}
143
+ },
144
+ /** 输入框后置图标 */
145
+ suffixIcon: {
146
+ type: Object as PropType<HyIconProps>,
147
+ default: () => {}
148
+ },
149
+ /**
150
+ * 边框类型
151
+ * @values surround,bottom,none
152
+ * */
153
+ border: {
154
+ type: String,
155
+ default: 'surround'
156
+ },
157
+ /** 是否只读,与disabled不同之处在于disabled会置灰组件,而readonly则不会 */
158
+ readonly: {
159
+ type: Boolean,
160
+ default: false
161
+ },
162
+ /**
163
+ * 输入框形状
164
+ * @values circle,square
165
+ * */
166
+ shape: {
167
+ type: String,
168
+ default: 'square'
169
+ },
170
+ /** 是否忽略组件内对文本合成系统事件的处理 */
171
+ ignoreCompositionEvent: {
172
+ type: Boolean,
173
+ default: false
174
+ },
175
+ /** 内容式化函数 */
176
+ formatter: Function,
177
+ /** 定义需要用到的外部样式 */
178
+ customStyle: {
179
+ type: Object as PropType<CSSProperties>,
180
+ default: () => {}
181
+ },
182
+ /** 自定义外部类名 */
183
+ customClass: String
184
+ } as const
185
+
186
+ export default inputProps
@@ -1,31 +1,31 @@
1
- import type {
2
- InputOnBlurEvent,
3
- InputOnConfirmEvent,
4
- InputOnFocusEvent,
5
- InputOnKeyboardheightchange
6
- } from '@uni-helper/uni-types'
7
- import type { ExtractPropTypes } from 'vue'
8
- import type inputProps from './props'
9
-
10
- export interface HyInputProps extends ExtractPropTypes<typeof inputProps> {}
11
-
12
- export interface IInputEmits {
13
- /** 输入框失去焦点时触发 */
14
- (e: 'blur', event: InputOnBlurEvent, value: string | number): void
15
- /** 输入框聚焦时触发 */
16
- (e: 'focus', event: InputOnFocusEvent): void
17
- /** 点击完成按钮时触发 */
18
- (e: 'confirm', event: InputOnConfirmEvent, value: string | number): void
19
- /** 键盘高度发生变化的时候触发此事件 */
20
- (e: 'keyboardheightchange', event: InputOnKeyboardheightchange): void
21
- /** 内容发生变化触发此事件 */
22
- (e: 'change', value: string | number): void
23
- /** 内容发生变化触发此事件 */
24
- (e: 'update:modelValue', value: string | number): void
25
- /** 点击清空内容 */
26
- (e: 'clear'): void
27
- /** 点击前缀触发 */
28
- (e: 'onPrefix'): void
29
- /** 点击后缀触发 */
30
- (e: 'onSuffix'): void
31
- }
1
+ import type {
2
+ InputOnBlurEvent,
3
+ InputOnConfirmEvent,
4
+ InputOnFocusEvent,
5
+ InputOnKeyboardheightchange
6
+ } from '@uni-helper/uni-types'
7
+ import type { ExtractPropTypes } from 'vue'
8
+ import type inputProps from './props'
9
+
10
+ export interface HyInputProps extends ExtractPropTypes<typeof inputProps> {}
11
+
12
+ export interface IInputEmits {
13
+ /** 输入框失去焦点时触发 */
14
+ (e: 'blur', event: InputOnBlurEvent, value: string | number): void
15
+ /** 输入框聚焦时触发 */
16
+ (e: 'focus', event: InputOnFocusEvent): void
17
+ /** 点击完成按钮时触发 */
18
+ (e: 'confirm', event: InputOnConfirmEvent, value: string | number): void
19
+ /** 键盘高度发生变化的时候触发此事件 */
20
+ (e: 'keyboardheightchange', event: InputOnKeyboardheightchange): void
21
+ /** 内容发生变化触发此事件 */
22
+ (e: 'change', value: string | number): void
23
+ /** 内容发生变化触发此事件 */
24
+ (e: 'update:modelValue', value: string | number): void
25
+ /** 点击清空内容 */
26
+ (e: 'clear'): void
27
+ /** 点击前缀触发 */
28
+ (e: 'onPrefix'): void
29
+ /** 点击后缀触发 */
30
+ (e: 'onSuffix'): void
31
+ }
@@ -1,55 +1,55 @@
1
- <template>
2
- <view :class="['hy-line', customClass]" :style="lineStyle"></view>
3
- </template>
4
-
5
- <script lang="ts">
6
- export default {
7
- name: 'hy-line',
8
- options: {
9
- addGlobalClass: true,
10
- virtualHost: true,
11
- styleIsolation: 'shared'
12
- }
13
- }
14
- </script>
15
-
16
- <script setup lang="ts">
17
- import { computed } from 'vue'
18
- import type { CSSProperties } from 'vue'
19
- import { addUnit } from '../../libs'
20
- import lineProps from './props'
21
-
22
- /**
23
- * 一般用于显示一根线条,用于分隔内容块,有横向和竖向两种模式,且能设置0.5px线条,使用也很简单。
24
- * @displayName hy-line
25
- */
26
- defineOptions({})
27
-
28
- const props = defineProps(lineProps)
29
-
30
- const lineStyle = computed<CSSProperties>(() => {
31
- const style: CSSProperties = {}
32
- style.margin = props.margin
33
- // 如果是水平线条,边框高度为1px,再通过transform缩小一半,就是0.5px了
34
- if (props.direction === 'row') {
35
- // 此处采用兼容分开写,兼容nvue的写法
36
- style.borderBottomWidth = '1px'
37
- style.borderBottomStyle = props.dashed ? 'dashed' : 'solid'
38
- style.width = addUnit(props.length)
39
- if (!props.hairline) style.borderBottomWidth = '1.5px'
40
- } else {
41
- // 如果是竖向线条,边框宽度为1px,再通过transform缩小一半,就是0.5px了
42
- style.borderLeftWidth = '1px'
43
- style.borderLeftStyle = props.dashed ? 'dashed' : 'solid'
44
- style.height = addUnit(props.length)
45
- if (props.hairline) style.transform = 'scaleX(0.5)'
46
- }
47
-
48
- style.borderColor = props.color
49
- return Object.assign(style, props.customStyle)
50
- })
51
- </script>
52
-
53
- <style lang="scss" scoped>
54
- @import './index.scss';
55
- </style>
1
+ <template>
2
+ <view :class="['hy-line', customClass]" :style="lineStyle"></view>
3
+ </template>
4
+
5
+ <script lang="ts">
6
+ export default {
7
+ name: 'hy-line',
8
+ options: {
9
+ addGlobalClass: true,
10
+ virtualHost: true,
11
+ styleIsolation: 'shared'
12
+ }
13
+ }
14
+ </script>
15
+
16
+ <script setup lang="ts">
17
+ import { computed } from 'vue'
18
+ import type { CSSProperties } from 'vue'
19
+ import { addUnit } from '../../libs'
20
+ import lineProps from './props'
21
+
22
+ /**
23
+ * 一般用于显示一根线条,用于分隔内容块,有横向和竖向两种模式,且能设置0.5px线条,使用也很简单。
24
+ * @displayName hy-line
25
+ */
26
+ defineOptions({})
27
+
28
+ const props = defineProps(lineProps)
29
+
30
+ const lineStyle = computed<CSSProperties>(() => {
31
+ const style: CSSProperties = {}
32
+ style.margin = props.margin
33
+ // 如果是水平线条,边框高度为1px,再通过transform缩小一半,就是0.5px了
34
+ if (props.direction === 'row') {
35
+ // 此处采用兼容分开写,兼容nvue的写法
36
+ style.borderBottomWidth = '1px'
37
+ style.borderBottomStyle = props.dashed ? 'dashed' : 'solid'
38
+ style.width = addUnit(props.length)
39
+ if (!props.hairline) style.borderBottomWidth = '1.5px'
40
+ } else {
41
+ // 如果是竖向线条,边框宽度为1px,再通过transform缩小一半,就是0.5px了
42
+ style.borderLeftWidth = '1px'
43
+ style.borderLeftStyle = props.dashed ? 'dashed' : 'solid'
44
+ style.height = addUnit(props.length)
45
+ if (props.hairline) style.transform = 'scaleX(0.5)'
46
+ }
47
+
48
+ style.borderColor = props.color
49
+ return Object.assign(style, props.customStyle)
50
+ })
51
+ </script>
52
+
53
+ <style lang="scss" scoped>
54
+ @import './index.scss';
55
+ </style>
@@ -1,43 +1,43 @@
1
- import type { CSSProperties, PropType } from 'vue'
2
-
3
- const lineProps = {
4
- /** 线条的颜色 */
5
- color: String,
6
- /** 长度,竖向时表现为高度,横向时表现为长度,可以为百分比,带px单位的值等 */
7
- length: {
8
- type: String,
9
- default: '100%'
10
- },
11
- /**
12
- * 线条的方向
13
- * @values row,column
14
- * */
15
- direction: {
16
- type: String,
17
- default: 'row'
18
- },
19
- /** 是否显示细线条 */
20
- hairline: {
21
- type: Boolean,
22
- default: true
23
- },
24
- /** 线条与上下左右 元素的间距,字符串形式,如"30px" */
25
- margin: {
26
- type: [String, Number],
27
- default: 0
28
- },
29
- /** 是否虚线 */
30
- dashed: {
31
- type: Boolean,
32
- default: false
33
- },
34
- /** 定义需要用到的外部样式 */
35
- customStyle: {
36
- type: Object as PropType<CSSProperties>,
37
- default: () => {}
38
- },
39
- /** 自定义外部类名 */
40
- customClass: String
41
- }
42
-
43
- export default lineProps
1
+ import type { CSSProperties, PropType } from 'vue'
2
+
3
+ const lineProps = {
4
+ /** 线条的颜色 */
5
+ color: String,
6
+ /** 长度,竖向时表现为高度,横向时表现为长度,可以为百分比,带px单位的值等 */
7
+ length: {
8
+ type: String,
9
+ default: '100%'
10
+ },
11
+ /**
12
+ * 线条的方向
13
+ * @values row,column
14
+ * */
15
+ direction: {
16
+ type: String,
17
+ default: 'row'
18
+ },
19
+ /** 是否显示细线条 */
20
+ hairline: {
21
+ type: Boolean,
22
+ default: true
23
+ },
24
+ /** 线条与上下左右 元素的间距,字符串形式,如"30px" */
25
+ margin: {
26
+ type: [String, Number],
27
+ default: 0
28
+ },
29
+ /** 是否虚线 */
30
+ dashed: {
31
+ type: Boolean,
32
+ default: false
33
+ },
34
+ /** 定义需要用到的外部样式 */
35
+ customStyle: {
36
+ type: Object as PropType<CSSProperties>,
37
+ default: () => {}
38
+ },
39
+ /** 自定义外部类名 */
40
+ customClass: String
41
+ }
42
+
43
+ export default lineProps