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,29 +1,112 @@
1
- import type IProps from "./typing";
1
+ import type HyIconProps from './typing'
2
+ import type { PropType } from 'vue'
2
3
 
3
- const defaultProps: IProps = {
4
- modelValue: 0,
5
- min: 1,
6
- max: Number.MAX_SAFE_INTEGER,
7
- step: 1,
8
- integer: false,
9
- disabled: false,
10
- disabledInput: false,
11
- asyncChange: false,
12
- inputWidth: 35,
13
- showMinus: true,
14
- showPlus: true,
15
- decimalLength: null,
16
- longPress: true,
17
- color: "",
18
- buttonWidth: 30,
19
- buttonSize: 30,
20
- buttonRadius: "",
21
- bgColor: "",
22
- inputBgColor: "",
23
- cursorSpacing: 100,
24
- disableMinus: false,
25
- disablePlus: false,
26
- miniMode: false,
27
- };
4
+ const numberStepProps = {
5
+ /** 用于双向绑定的值,初始化时设置设为默认min值(最小值) */
6
+ modelValue: {
7
+ type: Number,
8
+ default: 0,
9
+ required: true
10
+ },
11
+ /** 最小值 */
12
+ min: {
13
+ type: Number,
14
+ default: 1
15
+ },
16
+ /** 最大值 */
17
+ max: {
18
+ type: Number,
19
+ default: Number.MAX_SAFE_INTEGER
20
+ },
21
+ /** 加减的步长,可为小数 */
22
+ step: {
23
+ type: Number,
24
+ default: 1
25
+ },
26
+ /** 是否只允许输入整数 */
27
+ integer: {
28
+ type: Boolean,
29
+ default: false
30
+ },
31
+ /** 是否禁用,包括输入框,加减按钮 */
32
+ disabled: {
33
+ type: Boolean,
34
+ default: false
35
+ },
36
+ /** 是否禁用输入框 */
37
+ disabledInput: {
38
+ type: Boolean,
39
+ default: false
40
+ },
41
+ /** 是否开启异步变更,开启后需要手动控制输入值 */
42
+ asyncChange: {
43
+ type: Boolean,
44
+ default: false
45
+ },
46
+ /** 输入框宽度,单位为px */
47
+ inputWidth: {
48
+ type: [String, Number],
49
+ default: 35
50
+ },
51
+ /** 是否显示减少按钮 */
52
+ showMinus: {
53
+ type: Boolean,
54
+ default: true
55
+ },
56
+ /** 是否显示增加按钮 */
57
+ showPlus: {
58
+ type: Boolean,
59
+ default: true
60
+ },
61
+ /** 显示的小数位数 */
62
+ decimalLength: Number,
63
+ /** 是否开启长按加减手势 */
64
+ longPress: {
65
+ type: Boolean,
66
+ default: true
67
+ },
68
+ /** 输入框文字和加减按钮图标的颜色 */
69
+ color: String,
70
+ /** 按钮宽度 */
71
+ buttonWidth: {
72
+ type: [String, Number],
73
+ default: 30
74
+ },
75
+ /** 按钮大小,宽高等于此值,单位px,输入框高度和此值保持一致 */
76
+ buttonSize: {
77
+ type: [String, Number],
78
+ default: 30
79
+ },
80
+ /** 按钮圆角 */
81
+ buttonRadius: [String, Number],
82
+ /** 输入框和按钮的背景颜色 */
83
+ bgColor: String,
84
+ /** 输入框背景颜色 */
85
+ inputBgColor: String,
86
+ /** 指定光标于键盘的距离,避免键盘遮挡输入框,单位px */
87
+ cursorSpacing: {
88
+ type: Number,
89
+ default: 100
90
+ },
91
+ /** 是否禁用减少按钮 */
92
+ disableMinus: {
93
+ type: Boolean,
94
+ default: false
95
+ },
96
+ /** 是否禁用增加按钮 */
97
+ disablePlus: {
98
+ type: Boolean,
99
+ default: false
100
+ },
101
+ /** 减号按钮图标 */
102
+ minusIcon: Object as PropType<HyIconProps>,
103
+ /** 加号按钮图标 */
104
+ plusIcon: Object as PropType<HyIconProps>,
105
+ /** 迷你模式 */
106
+ miniMode: {
107
+ type: Boolean,
108
+ default: false
109
+ }
110
+ }
28
111
 
29
- export default defaultProps;
112
+ export default numberStepProps
@@ -1,126 +1,126 @@
1
- import type { CSSProperties } from "vue";
2
- import type HyIconProps from "../hy-icon/typing";
1
+ import type { CSSProperties } from 'vue'
2
+ import type HyIconProps from '../hy-icon/typing'
3
3
 
4
4
  export default interface HyNumberStepProps {
5
- /**
6
- * @description 用于双向绑定的值,初始化时设置设为默认min值(最小值) (默认 0 )
7
- * */
8
- modelValue: number;
9
- /**
10
- * @description 最小值 (默认 1 )
11
- * */
12
- min?: number;
13
- /**
14
- * @description 最大值 (默认 Number.MAX_SAFE_INTEGER )
15
- * */
16
- max?: number;
17
- /**
18
- * @description 加减的步长,可为小数 (默认 1 )
19
- * */
20
- step?: number;
21
- /**
22
- * @description 是否只允许输入整数 (默认 false )
23
- * */
24
- integer?: boolean;
25
- /**
26
- * @description 是否禁用,包括输入框,加减按钮 (默认 false )
27
- * */
28
- disabled?: boolean;
29
- /**
30
- * @description 是否禁用输入框 (默认 false )
31
- * */
32
- disabledInput?: boolean;
33
- /**
34
- * @description 是否开启异步变更,开启后需要手动控制输入值 (默认 false )
35
- * */
36
- asyncChange?: boolean;
37
- /**
38
- * @description 输入框宽度,单位为px (默认 35 )
39
- * */
40
- inputWidth?: number;
41
- /**
42
- * @description 是否显示减少按钮 (默认 true )
43
- * */
44
- showMinus?: boolean;
45
- /**
46
- * @description 是否显示增加按钮 (默认 true )
47
- * */
48
- showPlus?: boolean;
49
- /**
50
- * @description 显示的小数位数
51
- * */
52
- decimalLength?: number | null;
53
- /**
54
- * @description 是否开启长按加减手势 (默认 true )
55
- * */
56
- longPress?: boolean;
57
- /**
58
- * @description 输入框文字和加减按钮图标的颜色 (默认 '#323233' )
59
- * */
60
- color?: string;
61
- /**
62
- * @description 按钮宽度(默认 '30' )
63
- * */
64
- buttonWidth?: number | string;
65
- /**
66
- * @description 按钮大小,宽高等于此值,单位px,输入框高度和此值保持一致 (默认 30 )
67
- * */
68
- buttonSize?: number | string;
69
- /**
70
- * @description 按钮圆角 (默认 '0px' )
71
- * */
72
- buttonRadius?: number | string;
73
- /**
74
- * @description 输入框和按钮的背景颜色 (默认 '#EBECEE' )
75
- * */
76
- bgColor?: string;
77
- /**
78
- * @description 输入框背景颜色 (默认 '#EBECEE' )
79
- * */
80
- inputBgColor?: string;
81
- /**
82
- * @description 指定光标于键盘的距离,避免键盘遮挡输入框,单位px (默认 100 )
83
- * */
84
- cursorSpacing?: number;
85
- /**
86
- * @description 是否禁用减少按钮 (默认 false )
87
- * */
88
- disableMinus?: boolean;
89
- /**
90
- * @description 是否禁用增加按钮 (默认 false )
91
- * */
92
- disablePlus?: boolean;
93
- /**
94
- * @description 减号按钮图标
95
- * */
96
- minusIcon?: Partial<HyIconProps>;
97
- /**
98
- * @description 加号按钮图标
99
- * */
100
- plusIcon?: Partial<HyIconProps>;
101
- /**
102
- * @description 迷你模式(默认 false )
103
- * */
104
- miniMode?: boolean;
105
- /**
106
- * @description 定义需要用到的外部样式
107
- * */
108
- customStyle?: CSSProperties;
5
+ /**
6
+ * @description 用于双向绑定的值,初始化时设置设为默认min值(最小值) (默认 0 )
7
+ * */
8
+ modelValue: number
9
+ /**
10
+ * @description 最小值 (默认 1 )
11
+ * */
12
+ min?: number
13
+ /**
14
+ * @description 最大值 (默认 Number.MAX_SAFE_INTEGER )
15
+ * */
16
+ max?: number
17
+ /**
18
+ * @description 加减的步长,可为小数 (默认 1 )
19
+ * */
20
+ step?: number
21
+ /**
22
+ * @description 是否只允许输入整数 (默认 false )
23
+ * */
24
+ integer?: boolean
25
+ /**
26
+ * @description 是否禁用,包括输入框,加减按钮 (默认 false )
27
+ * */
28
+ disabled?: boolean
29
+ /**
30
+ * @description 是否禁用输入框 (默认 false )
31
+ * */
32
+ disabledInput?: boolean
33
+ /**
34
+ * @description 是否开启异步变更,开启后需要手动控制输入值 (默认 false )
35
+ * */
36
+ asyncChange?: boolean
37
+ /**
38
+ * @description 输入框宽度,单位为px (默认 35 )
39
+ * */
40
+ inputWidth?: number
41
+ /**
42
+ * @description 是否显示减少按钮 (默认 true )
43
+ * */
44
+ showMinus?: boolean
45
+ /**
46
+ * @description 是否显示增加按钮 (默认 true )
47
+ * */
48
+ showPlus?: boolean
49
+ /**
50
+ * @description 显示的小数位数
51
+ * */
52
+ decimalLength?: number | null
53
+ /**
54
+ * @description 是否开启长按加减手势 (默认 true )
55
+ * */
56
+ longPress?: boolean
57
+ /**
58
+ * @description 输入框文字和加减按钮图标的颜色 (默认 '#323233' )
59
+ * */
60
+ color?: string
61
+ /**
62
+ * @description 按钮宽度(默认 '30' )
63
+ * */
64
+ buttonWidth?: number | string
65
+ /**
66
+ * @description 按钮大小,宽高等于此值,单位px,输入框高度和此值保持一致 (默认 30 )
67
+ * */
68
+ buttonSize?: number | string
69
+ /**
70
+ * @description 按钮圆角 (默认 '0px' )
71
+ * */
72
+ buttonRadius?: number | string
73
+ /**
74
+ * @description 输入框和按钮的背景颜色 (默认 '#EBECEE' )
75
+ * */
76
+ bgColor?: string
77
+ /**
78
+ * @description 输入框背景颜色 (默认 '#EBECEE' )
79
+ * */
80
+ inputBgColor?: string
81
+ /**
82
+ * @description 指定光标于键盘的距离,避免键盘遮挡输入框,单位px (默认 100 )
83
+ * */
84
+ cursorSpacing?: number
85
+ /**
86
+ * @description 是否禁用减少按钮 (默认 false )
87
+ * */
88
+ disableMinus?: boolean
89
+ /**
90
+ * @description 是否禁用增加按钮 (默认 false )
91
+ * */
92
+ disablePlus?: boolean
93
+ /**
94
+ * @description 减号按钮图标
95
+ * */
96
+ minusIcon?: Partial<HyIconProps>
97
+ /**
98
+ * @description 加号按钮图标
99
+ * */
100
+ plusIcon?: Partial<HyIconProps>
101
+ /**
102
+ * @description 迷你模式(默认 false )
103
+ * */
104
+ miniMode?: boolean
105
+ /**
106
+ * @description 定义需要用到的外部样式
107
+ * */
108
+ customStyle?: CSSProperties
109
109
  }
110
110
 
111
111
  export interface INumberStepEmits {
112
- /** 输入框得到焦点触发 */
113
- (e: "focus", value: string): void;
114
- /** 输入框失去焦点时触发 */
115
- (e: "blur", value: string): void;
116
- /** 超过范围阈值时触发 */
117
- (e: "overLimit", type: "minus" | "plus"): void;
118
- /** 输入框内容发生变化时触发 */
119
- (e: "change", value: string | number): void;
120
- /** 点击增加按钮触发 */
121
- (e: "plus", value: string): void;
122
- /** 点击减少按钮触发 */
123
- (e: "minus", value: string): void;
124
- /** 值更新触发 */
125
- (e: "update:modelValue", value: string | number): void;
112
+ /** 输入框得到焦点触发 */
113
+ (e: 'focus', value: string): void
114
+ /** 输入框失去焦点时触发 */
115
+ (e: 'blur', value: string): void
116
+ /** 超过范围阈值时触发 */
117
+ (e: 'overLimit', type: 'minus' | 'plus'): void
118
+ /** 输入框内容发生变化时触发 */
119
+ (e: 'change', value: string | number): void
120
+ /** 点击增加按钮触发 */
121
+ (e: 'plus', value: string): void
122
+ /** 点击减少按钮触发 */
123
+ (e: 'minus', value: string): void
124
+ /** 值更新触发 */
125
+ (e: 'update:modelValue', value: string | number): void
126
126
  }
@@ -1,87 +1,60 @@
1
1
  <template>
2
- <HyTransition
3
- :show="show"
4
- :custom-class="`hy-overlay ${customClass}`"
5
- :duration="duration"
6
- :custom-style="overlayStyle"
7
- @click="clickHandler"
8
- >
9
- <slot />
10
- </HyTransition>
2
+ <hy-transition
3
+ :show="show"
4
+ :custom-class="`hy-overlay ${customClass}`"
5
+ :duration="duration"
6
+ :custom-style="overlayStyle"
7
+ @click="clickHandler"
8
+ >
9
+ <slot />
10
+ </hy-transition>
11
11
  </template>
12
12
 
13
13
  <script lang="ts">
14
14
  export default {
15
- name: "hy-overlay",
16
- options: {
17
- addGlobalClass: true,
18
- virtualHost: true,
19
- styleIsolation: "shared",
20
- },
21
- };
15
+ name: 'hy-overlay',
16
+ options: {
17
+ addGlobalClass: true,
18
+ virtualHost: true,
19
+ styleIsolation: 'shared'
20
+ }
21
+ }
22
22
  </script>
23
23
 
24
24
  <script setup lang="ts">
25
- import { computed } from "vue";
26
- import type { CSSProperties, PropType } from "vue";
27
- import type { IOverlayEmits } from "./typing";
28
- import HyTransition from "../hy-transition/hy-transition.vue";
25
+ import { computed } from 'vue'
26
+ import type { CSSProperties } from 'vue'
27
+ import type { IOverlayEmits } from './typing'
28
+ import overlayProps from './props'
29
+ // 组件
30
+ import HyTransition from '../hy-transition/hy-transition.vue'
29
31
 
30
32
  /**
31
33
  * 创建一个遮罩层,用于强调特定的页面元素,并阻止用户对遮罩下层的内容进行操作,一般用于弹窗场景
32
34
  * @displayName hy-overlay
33
35
  */
34
- defineOptions({});
36
+ defineOptions({})
35
37
 
36
- // const props = withDefaults(defineProps<IProps>(), defaultProps)
37
- const props = defineProps({
38
- /** 是否显示遮罩 */
39
- show: {
40
- type: Boolean,
41
- default: false,
42
- },
43
- /** zIndex 层级 */
44
- zIndex: {
45
- type: Number,
46
- default: 10070,
47
- },
48
- /** 动画时长,单位毫秒 */
49
- duration: {
50
- type: Number,
51
- default: 300,
52
- },
53
- /** 不透明度值,当做rgba的第四个参数 */
54
- opacity: {
55
- type: Number,
56
- default: 0.5,
57
- },
58
- /** 定义需要用到的外部样式 */
59
- customStyle: {
60
- type: Object as PropType<CSSProperties>,
61
- default: () => {},
62
- },
63
- /** 自定义外部类名 */
64
- customClass: String,
65
- });
66
- const emit = defineEmits<IOverlayEmits>();
38
+ const props = defineProps(overlayProps)
39
+ const emit = defineEmits<IOverlayEmits>()
67
40
 
68
41
  const overlayStyle = computed<CSSProperties>(() => {
69
- const style: CSSProperties = {
70
- position: "fixed",
71
- top: 0,
72
- left: 0,
73
- right: 0,
74
- zIndex: props.zIndex,
75
- bottom: 0,
76
- "background-color": `rgba(0, 0, 0, ${props.opacity})`,
77
- };
78
- return Object.assign(style, props.customStyle);
79
- });
42
+ const style: CSSProperties = {
43
+ position: 'fixed',
44
+ top: 0,
45
+ left: 0,
46
+ right: 0,
47
+ zIndex: props.zIndex,
48
+ bottom: 0,
49
+ 'background-color': `rgba(0, 0, 0, ${props.opacity})`
50
+ }
51
+ return Object.assign(style, props.customStyle)
52
+ })
80
53
  const clickHandler = () => {
81
- emit("click");
82
- };
54
+ emit('click')
55
+ }
83
56
  </script>
84
57
 
85
58
  <style lang="scss" scoped>
86
- @import "./index.scss";
59
+ @import './index.scss';
87
60
  </style>
@@ -1,10 +1,33 @@
1
- import type IProps from "./typing";
1
+ import type { CSSProperties, PropType } from 'vue'
2
2
 
3
- const defaultProps: IProps = {
4
- show: false,
5
- zIndex: 10070,
6
- duration: 300,
7
- opacity: 0.5,
8
- };
3
+ const overlayProps = {
4
+ /** 是否显示遮罩 */
5
+ show: {
6
+ type: Boolean,
7
+ default: false
8
+ },
9
+ /** zIndex 层级 */
10
+ zIndex: {
11
+ type: Number,
12
+ default: 10070
13
+ },
14
+ /** 动画时长,单位毫秒 */
15
+ duration: {
16
+ type: Number,
17
+ default: 300
18
+ },
19
+ /** 不透明度值,当做rgba的第四个参数 */
20
+ opacity: {
21
+ type: Number,
22
+ default: 0.5
23
+ },
24
+ /** 定义需要用到的外部样式 */
25
+ customStyle: {
26
+ type: Object as PropType<CSSProperties>,
27
+ default: () => {}
28
+ },
29
+ /** 自定义外部类名 */
30
+ customClass: String
31
+ }
9
32
 
10
- export default defaultProps;
33
+ export default overlayProps