hy-app 0.4.15 → 0.5.0

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,132 @@
1
- import type IProps from "./typing";
2
- import { IconConfig } from "../../libs";
1
+ import type { FileVo, ReadFunctionVo } from './typing'
2
+ import { IconConfig } from '../../libs'
3
+ import type { CSSProperties, PropType } from 'vue'
3
4
 
4
- const defaultProps: IProps = {
5
- accept: "image",
6
- extension: [],
7
- capture: ["album", "camera"],
8
- compressed: true,
9
- camera: "back",
10
- maxDuration: 60,
11
- uploadIcon: IconConfig.UPLOAD,
12
- uploadIconColor: "#D3D4D6",
13
- useBeforeRead: false,
14
- previewFullImage: true,
15
- maxCount: 52,
16
- disabled: false,
17
- imageMode: "aspectFill",
18
- name: "",
19
- sizeType: ["original", "compressed"],
20
- multiple: false,
21
- deletable: true,
22
- maxSize: Number.MAX_VALUE,
23
- fileList: [],
24
- uploadText: "",
25
- width: 80,
26
- height: 80,
27
- };
5
+ const uploadProps = {
6
+ /**
7
+ * 接受的文件类型
8
+ * @values all,media,image,file,video
9
+ * */
10
+ accept: {
11
+ type: String,
12
+ default: 'image'
13
+ },
14
+ /** 根据文件拓展名过滤,每一项都不能是空字符串。默认不过滤。 */
15
+ extension: {
16
+ type: Array as PropType<string[]>,
17
+ default: () => []
18
+ },
19
+ /** 图片或视频拾取模式,当accept为image类型时设置capture可选额外camera可以直接调起摄像头 */
20
+ capture: {
21
+ type: Array as PropType<('album' | 'camera')[]>,
22
+ default: () => ['album', 'camera']
23
+ },
24
+ /** 当accept为video时生效,是否压缩视频 */
25
+ compressed: {
26
+ type: Boolean,
27
+ default: true
28
+ },
29
+ /** 当accept为video时生效,可选值为back或front */
30
+ camera: {
31
+ type: String,
32
+ default: 'back'
33
+ },
34
+ /** 当accept为video时生效,拍摄视频最长拍摄时间,单位秒 */
35
+ maxDuration: {
36
+ type: Number,
37
+ default: 60
38
+ },
39
+ /** 上传区域的图标,只能内置图标 */
40
+ uploadIcon: {
41
+ type: String,
42
+ default: IconConfig.UPLOAD
43
+ },
44
+ /** 上传区域的图标的字体颜色,只能内置图标 */
45
+ uploadIconColor: {
46
+ type: String,
47
+ default: '#D3D4D6'
48
+ },
49
+ /** 是否开启文件读取前事件 */
50
+ useBeforeRead: {
51
+ type: Boolean,
52
+ default: false
53
+ },
54
+ /** 是否显示组件自带的图片预览功能 */
55
+ previewFullImage: {
56
+ type: Boolean,
57
+ default: true
58
+ },
59
+ /** 最大上传数量 */
60
+ maxCount: {
61
+ type: Number,
62
+ default: 52
63
+ },
64
+ /** 是否启用 */
65
+ disabled: {
66
+ type: Boolean,
67
+ default: false
68
+ },
69
+ /**
70
+ * 预览上传的图片时的裁剪模式,和image组件mode属性一致
71
+ * @values scaleToFill,aspectFit,aspectFill,widthFix,heightFix,top,bottom,center,left,right,top left,top right,bottom left,bottom right
72
+ * */
73
+ imageMode: {
74
+ type: String,
75
+ default: 'aspectFill'
76
+ },
77
+ /** 标识符,可以在回调函数的第二项参数中获取 */
78
+ name: {
79
+ type: String,
80
+ default: ''
81
+ },
82
+ /** 所选的图片的尺寸 */
83
+ sizeType: {
84
+ type: Array as PropType<('original' | 'compressed')[]>,
85
+ default: ['original', 'compressed']
86
+ },
87
+ /** 是否开启图片多选,部分安卓机型不支持 */
88
+ multiple: {
89
+ type: Boolean,
90
+ default: false
91
+ },
92
+ /** 是否展示删除按钮 */
93
+ deletable: {
94
+ type: Boolean,
95
+ default: true
96
+ },
97
+ /** 文件大小限制,单位为byte */
98
+ maxSize: {
99
+ type: Number,
100
+ default: Number.MAX_VALUE
101
+ },
102
+ /** 显示已上传的文件列表 */
103
+ fileList: {
104
+ type: Array as PropType<FileVo[]>,
105
+ default: () => []
106
+ },
107
+ /** 上传区域的提示文字 */
108
+ uploadText: {
109
+ type: String,
110
+ default: ''
111
+ },
112
+ /** 内部预览图片区域和选择图片按钮的区域宽度 */
113
+ width: {
114
+ type: [String, Number],
115
+ default: 80
116
+ },
117
+ /** 内部预览图片区域和选择图片按钮的区域高度 */
118
+ height: {
119
+ type: [String, Number],
120
+ default: 80
121
+ },
122
+ /** 读取前的处理函数 */
123
+ beforeRead: Function as PropType<ReadFunctionVo>,
124
+ /** 读取后的处理函数 */
125
+ afterRead: Function as PropType<ReadFunctionVo>,
126
+ /** 定义需要用到的外部样式 */
127
+ customStyle: {
128
+ type: Object as PropType<CSSProperties>
129
+ }
130
+ }
28
131
 
29
- export default defaultProps;
132
+ export default uploadProps
@@ -1,164 +1,115 @@
1
1
  <template>
2
- <HyTransition mode="fade" :show="show">
3
- <view
4
- :class="['hy-warn', `hy-warn__${type}--${theme}`, customClass]"
5
- @tap.stop="clickHandler"
6
- :style="customStyle"
7
- >
8
- <view class="hy-warn__icon--left tips" v-if="showIcon">
9
- <HyIcon :name="iconName(type)" size="21" :color="iconColor"></HyIcon>
10
- </view>
11
- <view
12
- class="hy-warn__content"
13
- :style="[
14
- {
15
- paddingRight: closable ? '20px' : 0,
16
- },
17
- ]"
18
- >
19
- <text
20
- class="hy-warn__content--title"
21
- v-if="title"
22
- :style="[
23
- {
24
- fontSize: addUnit(fontSize),
25
- textAlign: center ? 'center' : 'left',
26
- },
27
- ]"
28
- :class="[
29
- theme === 'dark'
30
- ? 'hy-warn__text--dark'
31
- : `hy-warn__text--${type}__light`,
32
- ]"
2
+ <HyTransition mode="fade" :show="show">
3
+ <view
4
+ :class="['hy-warn', `hy-warn__${type}--${theme}`, customClass]"
5
+ @tap.stop="clickHandler"
6
+ :style="customStyle"
33
7
  >
34
- {{ title }}
35
- </text>
36
- <text
37
- v-if="description"
38
- :style="[
39
- {
40
- fontSize: addUnit(fontSize),
41
- textAlign: center ? 'center' : 'left',
42
- },
43
- ]"
44
- :class="[
45
- 'hy-warn__content--desc',
46
- theme === 'dark'
47
- ? 'hy-warn__text--dark'
48
- : `hy-warn__text--${type}__light`,
49
- ]"
50
- >
51
- {{ description }}
52
- </text>
53
- </view>
54
- <view class="hy-warn__right" v-if="$slots.right">
55
- <slot name="right"></slot>
56
- </view>
57
- <view class="hy-warn__close" v-if="closable" @tap.stop="closeHandler">
58
- <HyIcon :name="IconConfig.CLOSE" :color="iconColor" size="15"></HyIcon>
59
- </view>
60
- </view>
61
- </HyTransition>
8
+ <view class="hy-warn__icon--left tips" v-if="showIcon">
9
+ <HyIcon :name="iconName(type)" size="21" :color="iconColor"></HyIcon>
10
+ </view>
11
+ <view
12
+ class="hy-warn__content"
13
+ :style="[
14
+ {
15
+ paddingRight: closable ? '20px' : 0
16
+ }
17
+ ]"
18
+ >
19
+ <text
20
+ class="hy-warn__content--title"
21
+ v-if="title"
22
+ :style="[
23
+ {
24
+ fontSize: addUnit(fontSize),
25
+ textAlign: center ? 'center' : 'left'
26
+ }
27
+ ]"
28
+ :class="[
29
+ theme === 'dark' ? 'hy-warn__text--dark' : `hy-warn__text--${type}__light`
30
+ ]"
31
+ >
32
+ {{ title }}
33
+ </text>
34
+ <text
35
+ v-if="description"
36
+ :style="[
37
+ {
38
+ fontSize: addUnit(fontSize),
39
+ textAlign: center ? 'center' : 'left'
40
+ }
41
+ ]"
42
+ :class="[
43
+ 'hy-warn__content--desc',
44
+ theme === 'dark' ? 'hy-warn__text--dark' : `hy-warn__text--${type}__light`
45
+ ]"
46
+ >
47
+ {{ description }}
48
+ </text>
49
+ </view>
50
+ <view class="hy-warn__right" v-if="$slots.right">
51
+ <slot name="right"></slot>
52
+ </view>
53
+ <view class="hy-warn__close" v-if="closable" @tap.stop="closeHandler">
54
+ <HyIcon :name="IconConfig.CLOSE" :color="iconColor" size="15"></HyIcon>
55
+ </view>
56
+ </view>
57
+ </HyTransition>
62
58
  </template>
63
59
 
64
60
  <script lang="ts">
65
61
  export default {
66
- name: "hy-warn",
67
- options: {
68
- addGlobalClass: true,
69
- virtualHost: true,
70
- styleIsolation: "shared",
71
- },
72
- };
62
+ name: 'hy-warn',
63
+ options: {
64
+ addGlobalClass: true,
65
+ virtualHost: true,
66
+ styleIsolation: 'shared'
67
+ }
68
+ }
73
69
  </script>
74
70
 
75
71
  <script setup lang="ts">
76
- import { computed, ref } from "vue";
77
- import type { CSSProperties, PropType } from "vue";
78
- import type { IWarnEmits } from "./typing";
79
- import { addUnit, IconConfig, iconName } from "../../libs";
72
+ import { computed, ref } from 'vue'
73
+ import type { IWarnEmits } from './typing'
74
+ import { addUnit, IconConfig, iconName } from '../../libs'
75
+ import warnProps from './props'
80
76
  // 组件
81
- import HyTransition from "../hy-transition/hy-transition.vue";
82
- import HyIcon from "../hy-icon/hy-icon.vue";
77
+ import HyTransition from '../hy-transition/hy-transition.vue'
78
+ import HyIcon from '../hy-icon/hy-icon.vue'
83
79
 
84
80
  /**
85
81
  * 警告提示,展现需要关注的信息
86
82
  * @displayName hy-warn
87
83
  */
88
- defineOptions({});
84
+ defineOptions({})
89
85
 
90
- // const props = withDefaults(defineProps<IProps>(), defaultProps);
91
- const props = defineProps({
92
- /** 显示的文字 */
93
- title: String,
94
- /**
95
- * 使用预设的颜色
96
- * @values primary,success,warning,error,info
97
- * */
98
- type: {
99
- type: String,
100
- default: "warning",
101
- },
102
- /** 辅助性文字,颜色比title浅一点,字号也小一点 */
103
- description: String,
104
- /** 显示关闭按钮 */
105
- closable: {
106
- type: Boolean,
107
- default: false,
108
- },
109
- /** 是否显示左边的辅助图标 */
110
- showIcon: {
111
- type: Boolean,
112
- default: false,
113
- },
114
- /** 显示的暗色或者亮色 */
115
- theme: {
116
- type: String as PropType<HyApp.DarkModeType>,
117
- default: "dark",
118
- },
119
- /** 文字是否居中 */
120
- center: {
121
- type: Boolean,
122
- default: false,
123
- },
124
- /** 字体大小 */
125
- fontSize: {
126
- type: [String, Number],
127
- default: 14,
128
- },
129
- /** 定义需要用到的外部样式 */
130
- customStyle: {
131
- type: Object as PropType<CSSProperties>,
132
- },
133
- /** 自定义外部类名 */
134
- customClass: String,
135
- });
136
- const emit = defineEmits<IWarnEmits>();
86
+ const props = defineProps(warnProps)
87
+ const emit = defineEmits<IWarnEmits>()
137
88
 
138
- const show = ref<boolean>(true);
89
+ const show = ref<boolean>(true)
139
90
 
140
91
  /**
141
92
  * @description icon颜色
142
93
  * */
143
94
  const iconColor = computed(() => {
144
- return props.theme === "light" ? props.type : "#fff";
145
- });
95
+ return props.theme === 'light' ? props.type : '#fff'
96
+ })
146
97
 
147
98
  /**
148
99
  * @description 点击内容
149
100
  * */
150
101
  const clickHandler = () => {
151
- emit("click");
152
- };
102
+ emit('click')
103
+ }
153
104
  /**
154
105
  * @description 点击关闭按钮
155
106
  * */
156
107
  const closeHandler = () => {
157
- show.value = false;
158
- emit("close");
159
- };
108
+ show.value = false
109
+ emit('close')
110
+ }
160
111
  </script>
161
112
 
162
113
  <style lang="scss" scoped>
163
- @import "./index.scss";
114
+ @import './index.scss';
164
115
  </style>
@@ -1,14 +1,49 @@
1
- import type IProps from "./typing";
1
+ import type { CSSProperties, PropType } from 'vue'
2
2
 
3
- const defaultProps: IProps = {
4
- title: "",
5
- type: "warning",
6
- description: "",
7
- closable: false,
8
- showIcon: false,
9
- theme: "light",
10
- center: false,
11
- fontSize: 14,
12
- };
3
+ const warnProps = {
4
+ /** 显示的文字 */
5
+ title: String,
6
+ /**
7
+ * 使用预设的颜色
8
+ * @values primary,success,warning,error,info
9
+ * */
10
+ type: {
11
+ type: String,
12
+ default: 'warning'
13
+ },
14
+ /** 辅助性文字,颜色比title浅一点,字号也小一点 */
15
+ description: String,
16
+ /** 显示关闭按钮 */
17
+ closable: {
18
+ type: Boolean,
19
+ default: false
20
+ },
21
+ /** 是否显示左边的辅助图标 */
22
+ showIcon: {
23
+ type: Boolean,
24
+ default: false
25
+ },
26
+ /** 显示的暗色或者亮色 */
27
+ theme: {
28
+ type: String as PropType<HyApp.DarkModeType>,
29
+ default: 'dark'
30
+ },
31
+ /** 文字是否居中 */
32
+ center: {
33
+ type: Boolean,
34
+ default: false
35
+ },
36
+ /** 字体大小 */
37
+ fontSize: {
38
+ type: [String, Number],
39
+ default: 14
40
+ },
41
+ /** 定义需要用到的外部样式 */
42
+ customStyle: {
43
+ type: Object as PropType<CSSProperties>
44
+ },
45
+ /** 自定义外部类名 */
46
+ customClass: String
47
+ }
13
48
 
14
- export default defaultProps;
49
+ export default warnProps