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,211 +1,132 @@
1
1
  <template>
2
- <view :class="['hy-divider', customClass]" :style="dividerStyle">
3
- <HyLine
4
- :color="lineColor"
5
- :customStyle="leftLineStyle"
6
- :style="leftLineStyle"
7
- :hairline="hairline"
8
- :dashed="dashed"
9
- ></HyLine>
10
- <HyLoading :show="text === 'loading'" size="18" mode="spinner"></HyLoading>
11
- <text v-if="dot" class="hy-divider__dot">●</text>
12
- <text v-else-if="text" class="hy-divider__text" :style="textStyle">{{
13
- content
14
- }}</text>
15
- <HyLine
16
- :color="lineColor"
17
- :customStyle="rightLineStyle"
18
- :style="rightLineStyle"
19
- :hairline="hairline"
20
- :dashed="dashed"
21
- ></HyLine>
22
- </view>
2
+ <view :class="['hy-divider', customClass]" :style="dividerStyle">
3
+ <hy-line
4
+ :color="lineColor"
5
+ :customStyle="leftLineStyle"
6
+ :style="leftLineStyle"
7
+ :hairline="hairline"
8
+ :dashed="dashed"
9
+ ></hy-line>
10
+ <hy-loading :show="text === 'loading'" size="18" mode="spinner"></hy-loading>
11
+ <text v-if="dot" class="hy-divider__dot">●</text>
12
+ <text v-else-if="text" class="hy-divider__text" :style="textStyle">{{ content }}</text>
13
+ <hy-line
14
+ :color="lineColor"
15
+ :customStyle="rightLineStyle"
16
+ :style="rightLineStyle"
17
+ :hairline="hairline"
18
+ :dashed="dashed"
19
+ ></hy-line>
20
+ </view>
23
21
  </template>
24
22
 
25
23
  <script lang="ts">
26
24
  export default {
27
- name: "hy-divider",
28
- options: {
29
- addGlobalClass: true,
30
- virtualHost: true,
31
- styleIsolation: "shared",
32
- },
33
- };
25
+ name: 'hy-divider',
26
+ options: {
27
+ addGlobalClass: true,
28
+ virtualHost: true,
29
+ styleIsolation: 'shared'
30
+ }
31
+ }
34
32
  </script>
35
33
 
36
34
  <script setup lang="ts">
37
- import { computed } from "vue";
38
- import type { CSSProperties, PropType } from "vue";
39
- import { addUnit, IconConfig } from "../../libs";
35
+ import { computed } from 'vue'
36
+ import type { CSSProperties } from 'vue'
37
+ import { addUnit } from '../../libs'
38
+ import dividerProps from './props'
40
39
  // 组件
41
- import HyLine from "../hy-line/hy-line.vue";
42
- import HyLoading from "../hy-loading/hy-loading.vue";
40
+ import HyLine from '../hy-line/hy-line.vue'
41
+ import HyLoading from '../hy-loading/hy-loading.vue'
43
42
 
44
43
  /**
45
44
  * 区隔内容的分割线,一般用于页面底部"没有更多"的提示
46
45
  * @displayName hy-divider
47
46
  */
48
- defineOptions({});
47
+ defineOptions({})
49
48
 
50
- // const props = withDefaults(defineProps<IProps>(), defaultProps);
51
- const props = defineProps({
52
- /** 是否虚线 */
53
- dashed: {
54
- type: Boolean,
55
- default: false,
56
- },
57
- /** 是否细线 */
58
- hairline: {
59
- type: Boolean,
60
- default: true,
61
- },
62
- /** 是否以点替代文字,优先于text字段起作用 */
63
- dot: {
64
- type: Boolean,
65
- default: false,
66
- },
67
- /**
68
- * 内容文本的位置
69
- * @values left,center,right
70
- * */
71
- textPosition: {
72
- type: String,
73
- default: "center",
74
- },
75
- /** 文本内容,如果为loadMore就是加载前,如果为loading就是加载中,如果为noMore就是没有更多 */
76
- text: {
77
- type: String,
78
- default: "",
79
- },
80
- /** 文本大小 */
81
- textSize: {
82
- type: [String, Number],
83
- default: 14,
84
- },
85
- /** 文本颜色 */
86
- textColor: String,
87
- /** 线条颜色 */
88
- lineColor: String,
89
- /** 加载图标 */
90
- loadingIcon: {
91
- type: String,
92
- default: IconConfig.LOADING,
93
- },
94
- /** 加载前的提示语 */
95
- loadMoreText: {
96
- type: String,
97
- default: "加载更多",
98
- },
99
- /** 加载中提示语 */
100
- loadingText: {
101
- type: String,
102
- default: "正在加载...",
103
- },
104
- /** 没有更多的提示语 */
105
- noMoreText: {
106
- type: String,
107
- default: "没有更多了",
108
- },
109
- /** 上边距 */
110
- marginTop: {
111
- type: [String, Number],
112
- default: 0,
113
- },
114
- /** 下边距 */
115
- marginBottom: {
116
- type: [String, Number],
117
- default: 0,
118
- },
119
- /** 定义需要用到的外部样式 */
120
- customStyle: {
121
- type: Object as PropType<CSSProperties>,
122
- },
123
- /** 自定义外部类名 */
124
- customClass: String,
125
- });
49
+ const props = defineProps(dividerProps)
126
50
 
127
- const isLoad = ["loadMore", "loading", "noMore"].includes(props.text);
51
+ const isLoad = ['loadMore', 'loading', 'noMore'].includes(props.text)
128
52
 
129
53
  /**
130
54
  * @description 分割线样式
131
55
  * */
132
56
  const dividerStyle = computed<CSSProperties>(() => {
133
- const style: CSSProperties = {};
134
- style.marginTop =
135
- addUnit(props.marginTop) || isLoad ? "20px" : addUnit(props.marginTop);
136
- style.marginBottom =
137
- addUnit(props.marginBottom) || isLoad
138
- ? "20px"
139
- : addUnit(props.marginBottom);
140
- return Object.assign(style, props.customStyle);
141
- });
57
+ const style: CSSProperties = {}
58
+ style.marginTop = addUnit(props.marginTop) || isLoad ? '20px' : addUnit(props.marginTop)
59
+ style.marginBottom =
60
+ addUnit(props.marginBottom) || isLoad ? '20px' : addUnit(props.marginBottom)
61
+ return Object.assign(style, props.customStyle)
62
+ })
142
63
  /**
143
64
  * @description 文本内容
144
65
  * */
145
66
  const content = computed(() => {
146
- let text;
147
- switch (props.text) {
148
- case "loadMore":
149
- text = props.loadMoreText;
150
- break;
151
- case "loading":
152
- text = props.loadingText;
153
- break;
154
- case "noMore":
155
- text = props.noMoreText;
156
- break;
157
- default:
158
- text = props.text;
159
- break;
160
- }
161
- return text;
162
- });
67
+ let text
68
+ switch (props.text) {
69
+ case 'loadMore':
70
+ text = props.loadMoreText
71
+ break
72
+ case 'loading':
73
+ text = props.loadingText
74
+ break
75
+ case 'noMore':
76
+ text = props.noMoreText
77
+ break
78
+ default:
79
+ text = props.text
80
+ break
81
+ }
82
+ return text
83
+ })
163
84
  /**
164
85
  * @description 文本内容样式
165
86
  * */
166
87
  const textStyle = computed<CSSProperties>(() => {
167
- const style: CSSProperties = {};
168
- style.fontSize = addUnit(props.textSize);
169
- style.color = props.textColor;
170
- return style;
171
- });
88
+ const style: CSSProperties = {}
89
+ style.fontSize = addUnit(props.textSize)
90
+ style.color = props.textColor
91
+ return style
92
+ })
172
93
 
173
94
  /**
174
95
  * @description 左边线条的的样式
175
96
  * */
176
97
  const leftLineStyle = computed<CSSProperties>(() => {
177
- const style: CSSProperties = {
178
- marginRight: "20rpx",
179
- };
180
- // 如果是在左边,设置左边的宽度为固定值
181
- if (isLoad) {
182
- style.width = "80px";
183
- } else if (props.textPosition === "left") {
184
- style.width = "80rpx";
185
- } else {
186
- style.flex = 1;
187
- }
188
- return style;
189
- });
98
+ const style: CSSProperties = {
99
+ marginRight: '20rpx'
100
+ }
101
+ // 如果是在左边,设置左边的宽度为固定值
102
+ if (isLoad) {
103
+ style.width = '80px'
104
+ } else if (props.textPosition === 'left') {
105
+ style.width = '80rpx'
106
+ } else {
107
+ style.flex = 1
108
+ }
109
+ return style
110
+ })
190
111
  /**
191
112
  * @description 右边线条的的样式
192
113
  * */
193
114
  const rightLineStyle = computed<CSSProperties>(() => {
194
- const style: CSSProperties = {
195
- marginLeft: "20rpx",
196
- };
197
- // 如果是在右边,设置右边的宽度为固定值
198
- if (isLoad) {
199
- style.width = "80px";
200
- } else if (props.textPosition === "right") {
201
- style.width = "80rpx";
202
- } else {
203
- style.flex = 1;
204
- }
205
- return style;
206
- });
115
+ const style: CSSProperties = {
116
+ marginLeft: '20rpx'
117
+ }
118
+ // 如果是在右边,设置右边的宽度为固定值
119
+ if (isLoad) {
120
+ style.width = '80px'
121
+ } else if (props.textPosition === 'right') {
122
+ style.width = '80rpx'
123
+ } else {
124
+ style.flex = 1
125
+ }
126
+ return style
127
+ })
207
128
  </script>
208
129
 
209
130
  <style lang="scss" scoped>
210
- @import "./index.scss";
131
+ @import './index.scss';
211
132
  </style>
@@ -1,21 +1,80 @@
1
- import type IProps from "./typing";
2
- import { IconConfig } from "../../libs/config";
1
+ import { IconConfig } from '../../libs/config'
2
+ import type { CSSProperties, PropType } from 'vue'
3
3
 
4
- const defaultProps: IProps = {
5
- dashed: false,
6
- hairline: true,
7
- dot: false,
8
- textPosition: "center",
9
- text: "",
10
- textSize: 14,
11
- textColor: "",
12
- lineColor: "",
13
- loadingIcon: IconConfig.LOADING,
14
- loadMoreText: "加载更多",
15
- loadingText: "正在加载...",
16
- noMoreText: "没有更多了",
17
- marginTop: "0",
18
- marginBottom: "0",
19
- };
4
+ const dividerProps = {
5
+ /** 是否虚线 */
6
+ dashed: {
7
+ type: Boolean,
8
+ default: false
9
+ },
10
+ /** 是否细线 */
11
+ hairline: {
12
+ type: Boolean,
13
+ default: true
14
+ },
15
+ /** 是否以点替代文字,优先于text字段起作用 */
16
+ dot: {
17
+ type: Boolean,
18
+ default: false
19
+ },
20
+ /**
21
+ * 内容文本的位置
22
+ * @values left,center,right
23
+ * */
24
+ textPosition: {
25
+ type: String,
26
+ default: 'center'
27
+ },
28
+ /** 文本内容,如果为loadMore就是加载前,如果为loading就是加载中,如果为noMore就是没有更多 */
29
+ text: {
30
+ type: String,
31
+ default: ''
32
+ },
33
+ /** 文本大小 */
34
+ textSize: {
35
+ type: [String, Number],
36
+ default: 14
37
+ },
38
+ /** 文本颜色 */
39
+ textColor: String,
40
+ /** 线条颜色 */
41
+ lineColor: String,
42
+ /** 加载图标 */
43
+ loadingIcon: {
44
+ type: String,
45
+ default: IconConfig.LOADING
46
+ },
47
+ /** 加载前的提示语 */
48
+ loadMoreText: {
49
+ type: String,
50
+ default: '加载更多'
51
+ },
52
+ /** 加载中提示语 */
53
+ loadingText: {
54
+ type: String,
55
+ default: '正在加载...'
56
+ },
57
+ /** 没有更多的提示语 */
58
+ noMoreText: {
59
+ type: String,
60
+ default: '没有更多了'
61
+ },
62
+ /** 上边距 */
63
+ marginTop: {
64
+ type: [String, Number],
65
+ default: 0
66
+ },
67
+ /** 下边距 */
68
+ marginBottom: {
69
+ type: [String, Number],
70
+ default: 0
71
+ },
72
+ /** 定义需要用到的外部样式 */
73
+ customStyle: {
74
+ type: Object as PropType<CSSProperties>
75
+ },
76
+ /** 自定义外部类名 */
77
+ customClass: String
78
+ }
20
79
 
21
- export default defaultProps;
80
+ export default dividerProps
@@ -1,64 +1,64 @@
1
1
  import type { CSSProperties } from 'vue'
2
2
 
3
3
  export default interface HyDividerProps {
4
- /**
5
- * @description 是否虚线 (默认 false )
6
- * */
7
- dashed?: boolean
8
- /**
9
- * @description 是否细线 (默认 true )
10
- * */
11
- hairline?: boolean
12
- /**
13
- * @description 是否以点替代文字,优先于text字段起作用 (默认 false )
14
- * */
15
- dot?: boolean
16
- /**
17
- * @description 内容文本的位置,left-左边,center-中间,right-右边 (默认 'center' )
18
- * */
19
- textPosition?: HyApp.RowCenterType
20
- /**
21
- * @description 文本内容
22
- * */
23
- text?: string | 'loadMore' | 'loading' | 'noMore'
24
- /**
25
- * @description 文本大小 (默认 14)
26
- * */
27
- textSize?: string | number
28
- /**
29
- * @description 文本颜色 (默认 '#909399' )
30
- * */
31
- textColor?: string
32
- /**
33
- * @description 线条颜色 (默认 '#dcdfe6' )
34
- * */
35
- lineColor?: string
36
- /**
37
- * @description 加载图标(默认 'loading' )
38
- * */
39
- loadingIcon?: string
40
- /**
41
- * @description 加载前的提示语(默认 '加载更多' )
42
- * */
43
- loadMoreText?: string
44
- /**
45
- * @description 加载中提示语(默认 '正在加载...' )
46
- * */
47
- loadingText?: string
48
- /**
49
- * @description 没有更多的提示语(默认 '没有更多了' )
50
- * */
51
- noMoreText?: string
52
- /**
53
- * @description 上边距 (默认 0 )
54
- * */
55
- marginTop?: string | number
56
- /**
57
- * @description 下边距 (默认 0 )
58
- * */
59
- marginBottom?: string | number
60
- /**
61
- * @description 定义需要用到的外部样式
62
- * */
63
- customStyle?: CSSProperties
4
+ /**
5
+ * @description 是否虚线 (默认 false )
6
+ * */
7
+ dashed?: boolean
8
+ /**
9
+ * @description 是否细线 (默认 true )
10
+ * */
11
+ hairline?: boolean
12
+ /**
13
+ * @description 是否以点替代文字,优先于text字段起作用 (默认 false )
14
+ * */
15
+ dot?: boolean
16
+ /**
17
+ * @description 内容文本的位置,left-左边,center-中间,right-右边 (默认 'center' )
18
+ * */
19
+ textPosition?: HyApp.RowCenterType
20
+ /**
21
+ * @description 文本内容
22
+ * */
23
+ text?: string | 'loadMore' | 'loading' | 'noMore'
24
+ /**
25
+ * @description 文本大小 (默认 14)
26
+ * */
27
+ textSize?: string | number
28
+ /**
29
+ * @description 文本颜色 (默认 '#909399' )
30
+ * */
31
+ textColor?: string
32
+ /**
33
+ * @description 线条颜色 (默认 '#dcdfe6' )
34
+ * */
35
+ lineColor?: string
36
+ /**
37
+ * @description 加载图标(默认 'loading' )
38
+ * */
39
+ loadingIcon?: string
40
+ /**
41
+ * @description 加载前的提示语(默认 '加载更多' )
42
+ * */
43
+ loadMoreText?: string
44
+ /**
45
+ * @description 加载中提示语(默认 '正在加载...' )
46
+ * */
47
+ loadingText?: string
48
+ /**
49
+ * @description 没有更多的提示语(默认 '没有更多了' )
50
+ * */
51
+ noMoreText?: string
52
+ /**
53
+ * @description 上边距 (默认 0 )
54
+ * */
55
+ marginTop?: string | number
56
+ /**
57
+ * @description 下边距 (默认 0 )
58
+ * */
59
+ marginBottom?: string | number
60
+ /**
61
+ * @description 定义需要用到的外部样式
62
+ * */
63
+ customStyle?: CSSProperties
64
64
  }
@@ -1,94 +1,60 @@
1
1
  <template>
2
- <view class="hy-dropdown" :style="dropdownStyle">
3
- <slot></slot>
4
- </view>
2
+ <view class="hy-dropdown" :style="dropdownStyle">
3
+ <slot></slot>
4
+ </view>
5
5
  </template>
6
6
 
7
7
  <script lang="ts">
8
8
  export default {
9
- name: "hy-dropdown",
10
- options: {
11
- addGlobalClass: true,
12
- virtualHost: true,
13
- styleIsolation: "shared",
14
- },
15
- };
9
+ name: 'hy-dropdown',
10
+ options: {
11
+ addGlobalClass: true,
12
+ virtualHost: true,
13
+ styleIsolation: 'shared'
14
+ }
15
+ }
16
16
  </script>
17
17
 
18
18
  <script setup lang="ts">
19
- import { provide, ref, computed } from "vue";
20
- import type { CSSProperties, PropType } from "vue";
21
- import { IconConfig, addUnit } from "../../libs";
19
+ import { provide, ref, computed } from 'vue'
20
+ import type { CSSProperties } from 'vue'
21
+ import { addUnit } from '../../libs'
22
+ import dropdownProps from './props'
22
23
 
23
24
  /**
24
25
  * 主要提供筛选下拉筛选框,内置基础筛选功能,可以根据自己的需求自定义筛选项。
25
26
  * @displayName hy-dropdown
26
27
  */
27
- defineOptions({});
28
+ defineOptions({})
28
29
 
29
- // const props = withDefaults(defineProps<IProps>(), defaultProps)
30
- const props = defineProps({
31
- /** 标题菜单的高度,单位px */
32
- height: {
33
- type: [String, Number],
34
- default: 40,
35
- },
36
- /** 标题菜单是否显示下边框 */
37
- borderBottom: {
38
- type: Boolean,
39
- default: false,
40
- },
41
- /** 是否固定定位 */
42
- sticky: {
43
- type: Boolean,
44
- default: true,
45
- },
46
- /** 标题和选项卡选中的颜色 */
47
- activeColor: String,
48
- /** 标题和选项卡未选中的颜色 */
49
- inactiveColor: String,
50
- /** 图标名称 */
51
- menuIcon: {
52
- type: String,
53
- default: IconConfig.ARROW_DOWN_FILL,
54
- },
55
- /** 图标大小 */
56
- menuIconSize: {
57
- type: [String, Number],
58
- default: 14,
59
- },
60
- /** 定义需要用到的外部样式 */
61
- customStyle: {
62
- type: Object as PropType<CSSProperties>,
63
- },
64
- });
30
+ const props = defineProps(dropdownProps)
65
31
 
66
32
  //样式设置
67
33
  const dropdownStyle = computed(() => {
68
- const style: CSSProperties = props.sticky
69
- ? {
70
- position: "fixed",
71
- left: 0,
72
- // #ifdef H5
73
- top: "44px",
74
- // #endif
75
- // #ifndef H5
76
- top: "0px",
77
- // #endif
78
- }
79
- : {};
80
- style.height = addUnit(props.height);
81
- if (props.borderBottom) style.borderBottom = "1px solid #dadbde";
82
-
83
- return Object.assign(style, props.customStyle);
84
- });
34
+ const style: CSSProperties = props.sticky
35
+ ? {
36
+ position: 'fixed',
37
+ left: 0,
38
+ // #ifdef H5
39
+ top: '44px',
40
+ // #endif
41
+ // #ifndef H5
42
+ top: '0px'
43
+ // #endif
44
+ }
45
+ : {}
46
+ style.height = addUnit(props.height)
47
+ if (props.borderBottom) style.borderBottom = '1px solid #dadbde'
48
+
49
+ return Object.assign(style, props.customStyle)
50
+ })
85
51
 
86
52
  //当前打开的项(以标题标识)
87
- const currentDropItem = ref("");
88
- provide("dropdownProps", props);
89
- provide("currentDropItem", currentDropItem);
53
+ const currentDropItem = ref('')
54
+ provide('dropdownProps', props)
55
+ provide('currentDropItem', currentDropItem)
90
56
  </script>
91
57
 
92
58
  <style lang="scss" scoped>
93
- @import "./index.scss";
59
+ @import './index.scss';
94
60
  </style>