hy-app 0.4.15 → 0.5.1

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 (206) hide show
  1. package/components/hy-action-sheet/hy-action-sheet.vue +155 -238
  2. package/components/hy-action-sheet/props.ts +68 -15
  3. package/components/hy-action-sheet/typing.d.ts +115 -115
  4. package/components/hy-address-picker/hy-address-picker.vue +185 -289
  5. package/components/hy-address-picker/props.ts +97 -21
  6. package/components/hy-address-picker/typing.d.ts +90 -89
  7. package/components/hy-avatar/hy-avatar.vue +121 -204
  8. package/components/hy-avatar/props.ts +76 -18
  9. package/components/hy-avatar/typing.d.ts +63 -62
  10. package/components/hy-back-top/hy-back-top.vue +65 -120
  11. package/components/hy-back-top/props.ts +57 -16
  12. package/components/hy-back-top/typing.d.ts +43 -42
  13. package/components/hy-badge/hy-badge.vue +66 -138
  14. package/components/hy-badge/props.ts +73 -17
  15. package/components/hy-badge/typing.d.ts +59 -58
  16. package/components/hy-button/hy-button.vue +226 -375
  17. package/components/hy-button/props.ts +129 -158
  18. package/components/hy-calendar/header.vue +48 -64
  19. package/components/hy-calendar/hy-calendar.vue +274 -438
  20. package/components/hy-calendar/month.vue +508 -516
  21. package/components/hy-calendar/props.ts +157 -35
  22. package/components/hy-calendar/typing.d.ts +129 -128
  23. package/components/hy-card/hy-card.vue +118 -240
  24. package/components/hy-card/index.scss +1 -2
  25. package/components/hy-card/props.ts +122 -27
  26. package/components/hy-card/typing.d.ts +119 -118
  27. package/components/hy-cell/hy-cell.vue +176 -258
  28. package/components/hy-cell/props.ts +71 -17
  29. package/components/hy-cell/typing.d.ts +87 -86
  30. package/components/hy-check-button/hy-check-button.vue +69 -139
  31. package/components/hy-check-button/props.ts +72 -18
  32. package/components/hy-check-button/typing.d.ts +74 -73
  33. package/components/hy-checkbox/hy-checkbox.vue +170 -263
  34. package/components/hy-checkbox/props.ts +94 -24
  35. package/components/hy-checkbox/typing.d.ts +72 -72
  36. package/components/hy-checkbox-group/hy-checkbox-group.vue +25 -100
  37. package/components/hy-checkbox-group/props.ts +80 -0
  38. package/components/hy-checkbox-group/typing.d.ts +65 -65
  39. package/components/hy-checkbox-item/hy-checkbox-item.vue +140 -177
  40. package/components/hy-checkbox-item/props.ts +24 -0
  41. package/components/hy-checkbox-item/typing.d.ts +4 -3
  42. package/components/hy-code-input/hy-code-input.vue +179 -262
  43. package/components/hy-code-input/props.ts +84 -18
  44. package/components/hy-code-input/typing.d.ts +71 -71
  45. package/components/hy-config-provider/hy-config-provider.vue +28 -50
  46. package/components/hy-config-provider/props.ts +26 -11
  47. package/components/hy-config-provider/typing.d.ts +20 -20
  48. package/components/hy-count-down/hy-count-down.vue +103 -131
  49. package/components/hy-count-down/props.ts +30 -8
  50. package/components/hy-count-down/typing.d.ts +25 -25
  51. package/components/hy-count-to/hy-count-to.vue +148 -213
  52. package/components/hy-count-to/props.ts +60 -15
  53. package/components/hy-count-to/typing.d.ts +46 -46
  54. package/components/hy-coupon/hy-coupon.vue +10 -5
  55. package/components/hy-coupon/index.scss +148 -64
  56. package/components/hy-coupon/props.ts +35 -50
  57. package/components/hy-coupon/typing.d.ts +10 -0
  58. package/components/hy-datetime-picker/hy-datetime-picker.vue +415 -580
  59. package/components/hy-datetime-picker/props.ts +142 -32
  60. package/components/hy-datetime-picker/typing.d.ts +132 -132
  61. package/components/hy-divider/hy-divider.vue +90 -169
  62. package/components/hy-divider/props.ts +78 -19
  63. package/components/hy-divider/typing.d.ts +60 -60
  64. package/components/hy-dropdown/hy-dropdown.vue +37 -71
  65. package/components/hy-dropdown/props.ts +38 -15
  66. package/components/hy-dropdown/typing.d.ts +44 -44
  67. package/components/hy-dropdown-item/hy-dropdown-item.vue +141 -173
  68. package/components/hy-dropdown-item/props.ts +19 -8
  69. package/components/hy-empty/hy-empty.vue +75 -129
  70. package/components/hy-empty/props.ts +57 -15
  71. package/components/hy-empty/typing.d.ts +84 -84
  72. package/components/hy-flex/hy-flex.vue +33 -88
  73. package/components/hy-flex/props.ts +58 -0
  74. package/components/hy-flex/typing.d.ts +14 -16
  75. package/components/hy-float-button/hy-float-button.vue +289 -406
  76. package/components/hy-float-button/props.ts +109 -25
  77. package/components/hy-folding-panel/hy-folding-panel.vue +74 -114
  78. package/components/hy-folding-panel/props.ts +42 -0
  79. package/components/hy-folding-panel/typing.d.ts +57 -57
  80. package/components/hy-folding-panel-item/hy-folding-panel-item.vue +139 -231
  81. package/components/hy-folding-panel-item/props.ts +81 -0
  82. package/components/hy-folding-panel-item/typing.d.ts +23 -23
  83. package/components/hy-form/hy-form.vue +172 -212
  84. package/components/hy-form/props.ts +37 -0
  85. package/components/hy-form/typing.d.ts +68 -61
  86. package/components/hy-form-group/typing.d.ts +74 -74
  87. package/components/hy-form-item/hy-form-item.vue +100 -129
  88. package/components/hy-form-item/props.ts +25 -0
  89. package/components/hy-form-item/typing.d.ts +40 -37
  90. package/components/hy-grid/hy-grid.vue +76 -132
  91. package/components/hy-grid/props.ts +58 -16
  92. package/components/hy-grid/typing.d.ts +66 -66
  93. package/components/hy-icon/hy-icon.vue +84 -161
  94. package/components/hy-icon/props.ts +76 -22
  95. package/components/hy-icon/typing.d.ts +83 -82
  96. package/components/hy-image/hy-image.vue +142 -272
  97. package/components/hy-image/props.ts +105 -23
  98. package/components/hy-image/typing.d.ts +84 -87
  99. package/components/hy-input/hy-input.vue +230 -421
  100. package/components/hy-input/props.ts +183 -35
  101. package/components/hy-input/typing.d.ts +169 -169
  102. package/components/hy-line/hy-line.vue +34 -72
  103. package/components/hy-line/props.ts +41 -10
  104. package/components/hy-line/typing.d.ts +29 -29
  105. package/components/hy-line-progress/hy-line-progress.vue +66 -101
  106. package/components/hy-line-progress/props.ts +31 -10
  107. package/components/hy-line-progress/typing.d.ts +29 -29
  108. package/components/hy-list/hy-list.vue +151 -220
  109. package/components/hy-list/props.ts +67 -16
  110. package/components/hy-list/typing.d.ts +52 -52
  111. package/components/hy-loading/hy-loading.vue +63 -119
  112. package/components/hy-loading/props.ts +63 -15
  113. package/components/hy-loading/typing.d.ts +49 -49
  114. package/components/hy-menu/hy-menu.vue +124 -166
  115. package/components/hy-menu/props.ts +42 -10
  116. package/components/hy-menu/typing.d.ts +60 -60
  117. package/components/hy-modal/hy-modal.vue +127 -218
  118. package/components/hy-modal/props.ts +89 -24
  119. package/components/hy-navbar/hy-navbar.vue +104 -177
  120. package/components/hy-navbar/props.ts +76 -22
  121. package/components/hy-navbar/typing.d.ts +81 -81
  122. package/components/hy-notice-bar/hy-notice-bar.vue +67 -144
  123. package/components/hy-notice-bar/props.ts +80 -19
  124. package/components/hy-notice-bar/typing.d.ts +62 -62
  125. package/components/hy-notify/hy-notify.vue +128 -177
  126. package/components/hy-notify/props.ts +49 -12
  127. package/components/hy-notify/typing.d.ts +45 -41
  128. package/components/hy-number-step/hy-number-step.vue +281 -394
  129. package/components/hy-number-step/props.ts +110 -27
  130. package/components/hy-number-step/typing.d.ts +120 -120
  131. package/components/hy-overlay/hy-overlay.vue +39 -66
  132. package/components/hy-overlay/props.ts +31 -8
  133. package/components/hy-pagination/hy-pagination.vue +100 -155
  134. package/components/hy-pagination/props.ts +53 -13
  135. package/components/hy-picker/hy-picker.vue +309 -430
  136. package/components/hy-picker/index.scss +8 -12
  137. package/components/hy-picker/props.ts +110 -26
  138. package/components/hy-popover/hy-popover.vue +190 -252
  139. package/components/hy-popover/props.ts +48 -10
  140. package/components/hy-popup/hy-popup.vue +162 -248
  141. package/components/hy-popup/props.ts +82 -18
  142. package/components/hy-price/hy-price.vue +45 -104
  143. package/components/hy-price/props.ts +52 -12
  144. package/components/hy-price/typing.d.ts +41 -36
  145. package/components/hy-qrcode/hy-qrcode.vue +115 -185
  146. package/components/hy-qrcode/props.ts +68 -18
  147. package/components/hy-qrcode/typing.d.ts +67 -66
  148. package/components/hy-radio/hy-radio.vue +161 -259
  149. package/components/hy-radio/props.ts +95 -25
  150. package/components/hy-radio/typing.d.ts +85 -84
  151. package/components/hy-rate/hy-rate.vue +185 -270
  152. package/components/hy-rate/props.ts +76 -18
  153. package/components/hy-rate/typing.d.ts +61 -60
  154. package/components/hy-read-more/hy-read-more.vue +93 -136
  155. package/components/hy-read-more/props.ts +43 -13
  156. package/components/hy-scroll-list/hy-scroll-list.vue +81 -102
  157. package/components/hy-scroll-list/props.ts +22 -11
  158. package/components/hy-search/hy-search.vue +155 -284
  159. package/components/hy-search/props.ts +130 -25
  160. package/components/hy-signature/hy-signature.vue +491 -635
  161. package/components/hy-signature/props.ts +115 -26
  162. package/components/hy-signature/typing.d.ts +138 -138
  163. package/components/hy-slider/hy-slider.vue +388 -477
  164. package/components/hy-slider/props.ts +75 -19
  165. package/components/hy-steps/hy-steps.vue +212 -279
  166. package/components/hy-steps/props.ts +47 -13
  167. package/components/hy-submit-bar/hy-submit-bar.vue +136 -221
  168. package/components/hy-submit-bar/props.ts +89 -20
  169. package/components/hy-submit-bar/typing.d.ts +87 -87
  170. package/components/hy-subsection/hy-subsection.vue +132 -185
  171. package/components/hy-subsection/props.ts +50 -17
  172. package/components/hy-subsection/typing.d.ts +52 -52
  173. package/components/hy-swipe-action/hy-swipe-action.vue +228 -283
  174. package/components/hy-swipe-action/props.ts +43 -18
  175. package/components/hy-swipe-action/typing.d.ts +46 -46
  176. package/components/hy-swiper/hy-swiper.vue +159 -286
  177. package/components/hy-swiper/props.ts +126 -28
  178. package/components/hy-swiper/typing.d.ts +115 -115
  179. package/components/hy-switch/hy-switch.vue +112 -176
  180. package/components/hy-switch/props.ts +60 -15
  181. package/components/hy-switch/typing.d.ts +63 -63
  182. package/components/hy-tabBar/hy-tabBar.vue +64 -60
  183. package/components/hy-tabs/hy-tabs.vue +277 -380
  184. package/components/hy-tabs/props.ts +75 -18
  185. package/components/hy-tag/hy-tag.vue +111 -204
  186. package/components/hy-tag/props.ts +81 -19
  187. package/components/hy-text/hy-text.vue +200 -322
  188. package/components/hy-text/props.ts +107 -28
  189. package/components/hy-textarea/hy-textarea.vue +147 -256
  190. package/components/hy-textarea/props.ts +112 -25
  191. package/components/hy-textarea/typing.d.ts +42 -42
  192. package/components/hy-toast/hy-toast.vue +135 -143
  193. package/components/hy-tooltip/hy-tooltip.vue +220 -306
  194. package/components/hy-tooltip/props.ts +79 -15
  195. package/components/hy-transition/hy-transition.vue +111 -138
  196. package/components/hy-transition/props.ts +30 -8
  197. package/components/hy-upload/hy-upload.vue +320 -469
  198. package/components/hy-upload/props.ts +130 -27
  199. package/components/hy-warn/hy-warn.vue +80 -129
  200. package/components/hy-warn/props.ts +47 -12
  201. package/components/hy-waterfall/hy-waterfall.vue +139 -163
  202. package/components/hy-waterfall/props.ts +19 -7
  203. package/components/hy-watermark/hy-watermark.vue +762 -870
  204. package/components/hy-watermark/props.ts +103 -22
  205. package/package.json +2 -2
  206. package/web-types.json +1 -1
@@ -1,69 +1,70 @@
1
1
  import type { CSSProperties } from 'vue'
2
2
 
3
3
  export default interface HyAvatarProps {
4
- /**
5
- * @description 头像路径,如加载失败,将会显示默认头像(不能为相对路径)
6
- * */
7
- src?: string
8
- /**
9
- * @description 头像形状 ( circle (默认) | square)
10
- * */
11
- shape?: HyApp.ShapeType
12
- /**
13
- * @description 头像尺寸,可以为指定字符串(large, default, mini),或者数值 (默认 40 )
14
- * */
15
- size?: number | HyApp.SizeType
16
- /**
17
- * @description 头像图片的裁剪类型,与uni的image组件的mode参数一致,如效果达不到需求,可尝试传widthFix值 (默认 'scaleToFill' )
18
- * */
19
- mode?: string
20
- /**
21
- * @description 用文字替代图片,级别优先于src
22
- * */
23
- text?: string
24
- /**
25
- * @description 背景颜色,一般显示文字时用 (默认 '#c0c4cc' )
26
- * */
27
- bgColor?: string
28
- /**
29
- * @description 文字颜色 (默认 '#ffffff' )
30
- * */
31
- color?: string
32
- /**
33
- * @description 文字大小 (默认 18 )
34
- * */
35
- fontSize?: number | string
36
- /**
37
- * @description 显示的图标
38
- * */
39
- icon?: string
40
- /**
41
- * @description 显示小程序头像,只对百度,微信,QQ小程序有效 (默认 false )
42
- * */
43
- mpAvatar?: boolean
44
- /**
45
- * @description 是否使用随机背景色 (默认 false )
46
- * */
47
- randomBgColor?: boolean
48
- /**
49
- * @description 加载失败的默认头像(组件有内置默认图片)
50
- * */
51
- defaultUrl?: string
52
- /**
53
- * @description 如果配置了randomBgColor为true,且配置了此值,则从默认的背景色数组中取出对应索引的颜色值,取值0-19之间
54
- * */
55
- colorIndex?: number
56
- /**
57
- * @description 组件标识符 (默认 'level' )
58
- * */
59
- name?: string
60
- /**
61
- * @description 定义需要用到的外部样式
62
- * */
63
- customStyle?: CSSProperties
4
+ /**
5
+ * @description 头像路径,如加载失败,将会显示默认头像(不能为相对路径)
6
+ * */
7
+ src?: string
8
+
9
+ /**
10
+ * @description 头像形状 ( circle (默认) | square)
11
+ * */
12
+ shape?: HyApp.ShapeType
13
+ /**
14
+ * @description 头像尺寸,可以为指定字符串(large, default, mini),或者数值 (默认 40 )
15
+ * */
16
+ size?: number | HyApp.SizeType
17
+ /**
18
+ * @description 头像图片的裁剪类型,与uni的image组件的mode参数一致,如效果达不到需求,可尝试传widthFix值 (默认 'scaleToFill' )
19
+ * */
20
+ mode?: string
21
+ /**
22
+ * @description 用文字替代图片,级别优先于src
23
+ * */
24
+ text?: string
25
+ /**
26
+ * @description 背景颜色,一般显示文字时用 (默认 '#c0c4cc' )
27
+ * */
28
+ bgColor?: string
29
+ /**
30
+ * @description 文字颜色 (默认 '#ffffff' )
31
+ * */
32
+ color?: string
33
+ /**
34
+ * @description 文字大小 (默认 18 )
35
+ * */
36
+ fontSize?: number | string
37
+ /**
38
+ * @description 显示的图标
39
+ * */
40
+ icon?: string
41
+ /**
42
+ * @description 显示小程序头像,只对百度,微信,QQ小程序有效 (默认 false )
43
+ * */
44
+ mpAvatar?: boolean
45
+ /**
46
+ * @description 是否使用随机背景色 (默认 false )
47
+ * */
48
+ randomBgColor?: boolean
49
+ /**
50
+ * @description 加载失败的默认头像(组件有内置默认图片)
51
+ * */
52
+ defaultUrl?: string
53
+ /**
54
+ * @description 如果配置了randomBgColor为true,且配置了此值,则从默认的背景色数组中取出对应索引的颜色值,取值0-19之间
55
+ * */
56
+ colorIndex?: number
57
+ /**
58
+ * @description 组件标识符 (默认 'level' )
59
+ * */
60
+ name?: string
61
+ /**
62
+ * @description 定义需要用到的外部样式
63
+ * */
64
+ customStyle?: CSSProperties
64
65
  }
65
66
 
66
67
  export interface IAvatarEmit {
67
- /** 点击头像触发 */
68
- (e: 'click', name: string, e: Event): void
68
+ /** 点击头像触发 */
69
+ (e: 'click', name: string, e: Event): void
69
70
  }
@@ -1,144 +1,89 @@
1
1
  <template>
2
- <HyTransition mode="fade" :customStyle="backTopStyle" :show="show">
3
- <!-- @slot 默认插槽 -->
4
- <slot>
5
- <view class="hy-back-top" :style="contentStyle" @click="backToTop">
6
- <HyIcon
7
- :name="icon?.name || IconConfig.DOWNLOAD"
8
- :color="icon?.color"
9
- :size="icon?.size"
10
- :bold="icon?.bold"
11
- :customPrefix="icon?.customPrefix"
12
- :imgMode="icon?.imgMode"
13
- :width="icon?.width"
14
- :height="icon?.height"
15
- :top="icon?.top"
16
- :stop="icon?.stop"
17
- :round="icon?.round"
18
- :customStyle="icon?.customStyle"
19
- ></HyIcon>
20
- <text v-if="text" class="hy-back-top__text">{{ text }}</text>
21
- </view>
22
- </slot>
23
- </HyTransition>
2
+ <HyTransition mode="fade" :customStyle="backTopStyle" :show="show">
3
+ <!-- @slot 默认插槽 -->
4
+ <slot>
5
+ <view class="hy-back-top" :style="contentStyle" @click="backToTop">
6
+ <HyIcon
7
+ :name="icon?.name || IconConfig.DOWNLOAD"
8
+ :color="icon?.color"
9
+ :size="icon?.size"
10
+ :bold="icon?.bold"
11
+ :customPrefix="icon?.customPrefix"
12
+ :imgMode="icon?.imgMode"
13
+ :width="icon?.width"
14
+ :height="icon?.height"
15
+ :top="icon?.top"
16
+ :stop="icon?.stop"
17
+ :round="icon?.round"
18
+ :customStyle="icon?.customStyle"
19
+ ></HyIcon>
20
+ <text v-if="text" class="hy-back-top__text">{{ text }}</text>
21
+ </view>
22
+ </slot>
23
+ </HyTransition>
24
24
  </template>
25
25
 
26
26
  <script lang="ts">
27
27
  export default {
28
- name: "hy-back-top",
29
- options: {
30
- addGlobalClass: true,
31
- virtualHost: true,
32
- styleIsolation: "shared",
33
- },
34
- };
28
+ name: 'hy-back-top',
29
+ options: {
30
+ addGlobalClass: true,
31
+ virtualHost: true,
32
+ styleIsolation: 'shared'
33
+ }
34
+ }
35
35
  </script>
36
36
 
37
37
  <script setup lang="ts">
38
- import { computed, toRefs } from "vue";
39
- import type { CSSProperties, PropType } from "vue";
40
- import { IconConfig, addUnit, getPx } from "../../libs";
41
- import type { IBackTopEmit } from "./typing";
42
- import type HyIconProps from "../hy-icon/typing";
38
+ import { computed } from 'vue'
39
+ import type { CSSProperties } from 'vue'
40
+ import { IconConfig, addUnit, getPx } from '../../libs'
41
+ import type { IBackTopEmit } from './typing'
42
+ import backTopProps from './props'
43
43
  // 组件
44
- import HyTransition from "../hy-transition/hy-transition.vue";
45
- import HyIcon from "../hy-icon/hy-icon.vue";
44
+ import HyTransition from '../hy-transition/hy-transition.vue'
45
+ import HyIcon from '../hy-icon/hy-icon.vue'
46
46
 
47
47
  /**
48
48
  * 该组件一个用于长页面,滑动一定距离后,出现返回顶部按钮,方便快速返回顶部的场景。
49
49
  * @displayName hy-back-top
50
50
  */
51
- defineOptions({});
51
+ defineOptions({})
52
52
 
53
- // const props = withDefaults(defineProps<IProps>(), defaultProps)
54
- const props = defineProps({
55
- /**
56
- * 返回顶部的形状
57
- * @values circle,square
58
- * */
59
- mode: {
60
- type: String,
61
- default: "circle",
62
- },
63
- /** 自定义图标属性集合 */
64
- icon: {
65
- type: Object as PropType<HyIconProps>,
66
- },
67
- /** 提示文字 */
68
- text: String,
69
- /** 返回顶部滚动时间 */
70
- duration: {
71
- type: Number,
72
- default: 500,
73
- },
74
- /** 滚动距离 */
75
- scrollTop: {
76
- type: Number,
77
- default: 0,
78
- },
79
- /** 距离顶部多少距离显示,单位px */
80
- top: {
81
- type: Number,
82
- default: 400,
83
- },
84
- /** 返回顶部按钮到底部的距离,单位px */
85
- bottom: {
86
- type: Number,
87
- default: 100,
88
- },
89
- /** 返回顶部按钮到右边的距离,单位px */
90
- right: {
91
- type: Number,
92
- default: 20,
93
- },
94
- /** 层级 */
95
- zIndex: {
96
- type: Number,
97
- default: 888,
98
- },
99
- /** 定义需要用到的外部样式 */
100
- customStyle: {
101
- type: Object as PropType<CSSProperties>,
102
- default: {
103
- transform: "rotate(180deg)",
104
- },
105
- },
106
- });
107
- const { customStyle, duration, mode, bottom, right, top, scrollTop } =
108
- toRefs(props);
109
- const emit = defineEmits<IBackTopEmit>();
53
+ const props = defineProps(backTopProps)
54
+ const emit = defineEmits<IBackTopEmit>()
110
55
 
111
56
  const backTopStyle = computed<CSSProperties>(() => {
112
- return {
113
- bottom: addUnit(bottom.value),
114
- right: addUnit(right.value),
115
- width: "40px",
116
- height: "40px",
117
- position: "fixed",
118
- zIndex: 10,
119
- };
120
- });
57
+ return {
58
+ bottom: addUnit(props.bottom),
59
+ right: addUnit(props.right),
60
+ width: '40px',
61
+ height: '40px',
62
+ position: 'fixed',
63
+ zIndex: 10
64
+ }
65
+ })
121
66
  const contentStyle = computed<CSSProperties>(() => {
122
- const style: CSSProperties = {
123
- borderRadius: mode.value === "circle" ? "50%" : "4px",
124
- };
125
- return Object.assign(style, customStyle.value);
126
- });
67
+ const style: CSSProperties = {
68
+ borderRadius: props.mode === 'circle' ? '50%' : '4px'
69
+ }
70
+ return Object.assign(style, props.customStyle)
71
+ })
127
72
  const show = computed<boolean>(() => {
128
- return getPx(scrollTop.value) > getPx(top.value);
129
- });
73
+ return getPx(props.scrollTop) > getPx(props.top)
74
+ })
130
75
  const backToTop = () => {
131
- uni.pageScrollTo({
132
- scrollTop: 0,
133
- // #ifndef MP-ALIPAY
134
- // 支付宝不支持duration属性
135
- duration: duration.value,
136
- // #endif
137
- });
138
- emit("click");
139
- };
76
+ uni.pageScrollTo({
77
+ scrollTop: 0,
78
+ // #ifndef MP-ALIPAY
79
+ // 支付宝不支持duration属性
80
+ duration: props.duration
81
+ // #endif
82
+ })
83
+ emit('click')
84
+ }
140
85
  </script>
141
86
 
142
87
  <style lang="scss" scoped>
143
- @import "./index.scss";
88
+ @import './index.scss';
144
89
  </style>
@@ -1,18 +1,59 @@
1
- import type IProps from "./typing";
1
+ import type IProps from './typing'
2
+ import type { CSSProperties, PropType } from 'vue'
3
+ import type HyIconProps from '../hy-icon/typing'
2
4
 
3
- const defaultProps: IProps = {
4
- mode: "circle",
5
- icon: {},
6
- text: "",
7
- duration: 500,
8
- scrollTop: 0,
9
- top: 400,
10
- bottom: 100,
11
- right: 20,
12
- zIndex: 888,
13
- customStyle: {
14
- transform: "rotate(180deg)",
15
- },
16
- };
5
+ const backTopProps = {
6
+ /**
7
+ * 返回顶部的形状
8
+ * @values circle,square
9
+ * */
10
+ mode: {
11
+ type: String,
12
+ default: 'circle'
13
+ },
14
+ /** 自定义图标属性集合 */
15
+ icon: {
16
+ type: Object as PropType<HyIconProps>
17
+ },
18
+ /** 提示文字 */
19
+ text: String,
20
+ /** 返回顶部滚动时间 */
21
+ duration: {
22
+ type: Number,
23
+ default: 500
24
+ },
25
+ /** 滚动距离 */
26
+ scrollTop: {
27
+ type: Number,
28
+ default: 0
29
+ },
30
+ /** 距离顶部多少距离显示,单位px */
31
+ top: {
32
+ type: Number,
33
+ default: 400
34
+ },
35
+ /** 返回顶部按钮到底部的距离,单位px */
36
+ bottom: {
37
+ type: Number,
38
+ default: 100
39
+ },
40
+ /** 返回顶部按钮到右边的距离,单位px */
41
+ right: {
42
+ type: Number,
43
+ default: 20
44
+ },
45
+ /** 层级 */
46
+ zIndex: {
47
+ type: Number,
48
+ default: 888
49
+ },
50
+ /** 定义需要用到的外部样式 */
51
+ customStyle: {
52
+ type: Object as PropType<CSSProperties>,
53
+ default: {
54
+ transform: 'rotate(180deg)'
55
+ }
56
+ }
57
+ }
17
58
 
18
- export default defaultProps;
59
+ export default backTopProps
@@ -2,49 +2,50 @@ import type { CSSProperties } from 'vue'
2
2
  import type HyIconProps from '../hy-icon/typing'
3
3
 
4
4
  export default interface HyBackTopProps {
5
- /**
6
- * @description 返回顶部的形状,circle-圆形,square-方形 (默认 'circle' )
7
- * */
8
- mode?: HyApp.ShapeType
9
- /**
10
- * @description 自定义图标属性集合
11
- * */
12
- icon?: Partial<HyIconProps>
13
- /**
14
- * @description 提示文字
15
- * */
16
- text?: string
17
- /**
18
- * @description 返回顶部滚动时间 (默认 500)
19
- * */
20
- duration?: number
21
- /**
22
- * @description 滚动距离 (默认 0 )
23
- * */
24
- scrollTop: number
25
- /**
26
- * @description 距离顶部多少距离显示,单位px (默认 400 )
27
- * */
28
- top?: number | string
29
- /**
30
- * @description 返回顶部按钮到底部的距离,单位px (默认 100 )
31
- * */
32
- bottom?: number | string
33
- /**
34
- * @description 返回顶部按钮到右边的距离,单位px (默认 20 )
35
- * */
36
- right?: number | string
37
- /**
38
- * @description 层级 (默认 888 )
39
- * */
40
- zIndex?: number
41
- /**
42
- * @description 定义需要用到的外部样式(默认{transform: "rotate(180deg)"})
43
- * */
44
- customStyle?: CSSProperties
5
+ /**
6
+ * @description 返回顶部的形状,circle-圆形,square-方形 (默认 'circle' )
7
+ * */
8
+ mode?: HyApp.ShapeType
9
+ /**
10
+ * @description 自定义图标属性集合
11
+ * */
12
+ icon?: Partial<HyIconProps>
13
+
14
+ /**
15
+ * @description 提示文字
16
+ * */
17
+ text?: string
18
+ /**
19
+ * @description 返回顶部滚动时间 (默认 500)
20
+ * */
21
+ duration?: number
22
+ /**
23
+ * @description 滚动距离 (默认 0 )
24
+ * */
25
+ scrollTop: number
26
+ /**
27
+ * @description 距离顶部多少距离显示,单位px (默认 400 )
28
+ * */
29
+ top?: number | string
30
+ /**
31
+ * @description 返回顶部按钮到底部的距离,单位px (默认 100 )
32
+ * */
33
+ bottom?: number | string
34
+ /**
35
+ * @description 返回顶部按钮到右边的距离,单位px (默认 20 )
36
+ * */
37
+ right?: number | string
38
+ /**
39
+ * @description 层级 (默认 888 )
40
+ * */
41
+ zIndex?: number
42
+ /**
43
+ * @description 定义需要用到的外部样式(默认{transform: "rotate(180deg)"})
44
+ * */
45
+ customStyle?: CSSProperties
45
46
  }
46
47
 
47
48
  export interface IBackTopEmit {
48
- /** 点击触发 */
49
- (e: 'click'): void
49
+ /** 点击触发 */
50
+ (e: 'click'): void
50
51
  }