hy-app 0.4.13 → 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 (211) 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/README.md +133 -0
  55. package/components/hy-coupon/hy-coupon.vue +180 -0
  56. package/components/hy-coupon/index.scss +553 -0
  57. package/components/hy-coupon/props.ts +129 -0
  58. package/components/hy-coupon/typing.d.ts +146 -0
  59. package/components/hy-datetime-picker/hy-datetime-picker.vue +415 -580
  60. package/components/hy-datetime-picker/props.ts +142 -32
  61. package/components/hy-datetime-picker/typing.d.ts +132 -132
  62. package/components/hy-divider/hy-divider.vue +90 -169
  63. package/components/hy-divider/props.ts +78 -19
  64. package/components/hy-divider/typing.d.ts +60 -60
  65. package/components/hy-dropdown/hy-dropdown.vue +37 -71
  66. package/components/hy-dropdown/props.ts +38 -15
  67. package/components/hy-dropdown/typing.d.ts +44 -44
  68. package/components/hy-dropdown-item/hy-dropdown-item.vue +141 -173
  69. package/components/hy-dropdown-item/props.ts +19 -8
  70. package/components/hy-empty/hy-empty.vue +75 -129
  71. package/components/hy-empty/props.ts +57 -15
  72. package/components/hy-empty/typing.d.ts +84 -84
  73. package/components/hy-flex/hy-flex.vue +33 -88
  74. package/components/hy-flex/props.ts +58 -0
  75. package/components/hy-flex/typing.d.ts +14 -16
  76. package/components/hy-float-button/hy-float-button.vue +289 -406
  77. package/components/hy-float-button/props.ts +109 -25
  78. package/components/hy-folding-panel/hy-folding-panel.vue +86 -374
  79. package/components/hy-folding-panel/props.ts +40 -15
  80. package/components/hy-folding-panel/typing.d.ts +52 -63
  81. package/components/hy-folding-panel-item/hy-folding-panel-item.vue +186 -228
  82. package/components/hy-folding-panel-item/index.scss +87 -0
  83. package/components/hy-folding-panel-item/props.ts +81 -0
  84. package/components/hy-folding-panel-item/typing.d.ts +23 -0
  85. package/components/hy-form/hy-form.vue +172 -212
  86. package/components/hy-form/props.ts +37 -0
  87. package/components/hy-form/typing.d.ts +68 -61
  88. package/components/hy-form-group/typing.d.ts +74 -74
  89. package/components/hy-form-item/hy-form-item.vue +100 -129
  90. package/components/hy-form-item/props.ts +25 -0
  91. package/components/hy-form-item/typing.d.ts +40 -37
  92. package/components/hy-grid/hy-grid.vue +76 -132
  93. package/components/hy-grid/props.ts +58 -16
  94. package/components/hy-grid/typing.d.ts +66 -66
  95. package/components/hy-icon/hy-icon.vue +84 -161
  96. package/components/hy-icon/props.ts +76 -22
  97. package/components/hy-icon/typing.d.ts +83 -82
  98. package/components/hy-image/hy-image.vue +142 -272
  99. package/components/hy-image/props.ts +105 -23
  100. package/components/hy-image/typing.d.ts +84 -87
  101. package/components/hy-input/hy-input.vue +230 -421
  102. package/components/hy-input/props.ts +183 -35
  103. package/components/hy-input/typing.d.ts +169 -169
  104. package/components/hy-line/hy-line.vue +34 -72
  105. package/components/hy-line/props.ts +41 -10
  106. package/components/hy-line/typing.d.ts +29 -29
  107. package/components/hy-line-progress/hy-line-progress.vue +66 -101
  108. package/components/hy-line-progress/props.ts +31 -10
  109. package/components/hy-line-progress/typing.d.ts +29 -29
  110. package/components/hy-list/hy-list.vue +151 -220
  111. package/components/hy-list/props.ts +67 -16
  112. package/components/hy-list/typing.d.ts +52 -52
  113. package/components/hy-loading/hy-loading.vue +63 -119
  114. package/components/hy-loading/props.ts +63 -15
  115. package/components/hy-loading/typing.d.ts +49 -49
  116. package/components/hy-menu/hy-menu.vue +124 -166
  117. package/components/hy-menu/props.ts +42 -10
  118. package/components/hy-menu/typing.d.ts +60 -60
  119. package/components/hy-modal/hy-modal.vue +127 -218
  120. package/components/hy-modal/props.ts +89 -24
  121. package/components/hy-navbar/hy-navbar.vue +104 -177
  122. package/components/hy-navbar/props.ts +76 -22
  123. package/components/hy-navbar/typing.d.ts +81 -81
  124. package/components/hy-notice-bar/hy-notice-bar.vue +67 -144
  125. package/components/hy-notice-bar/props.ts +80 -19
  126. package/components/hy-notice-bar/typing.d.ts +62 -62
  127. package/components/hy-notify/hy-notify.vue +128 -177
  128. package/components/hy-notify/props.ts +49 -12
  129. package/components/hy-notify/typing.d.ts +45 -41
  130. package/components/hy-number-step/hy-number-step.vue +281 -394
  131. package/components/hy-number-step/props.ts +110 -27
  132. package/components/hy-number-step/typing.d.ts +120 -120
  133. package/components/hy-overlay/hy-overlay.vue +39 -66
  134. package/components/hy-overlay/props.ts +31 -8
  135. package/components/hy-pagination/hy-pagination.vue +100 -155
  136. package/components/hy-pagination/props.ts +53 -13
  137. package/components/hy-picker/hy-picker.vue +309 -430
  138. package/components/hy-picker/index.scss +8 -12
  139. package/components/hy-picker/props.ts +110 -26
  140. package/components/hy-popover/hy-popover.vue +190 -252
  141. package/components/hy-popover/props.ts +48 -10
  142. package/components/hy-popup/hy-popup.vue +162 -248
  143. package/components/hy-popup/props.ts +82 -18
  144. package/components/hy-price/hy-price.vue +45 -104
  145. package/components/hy-price/props.ts +52 -12
  146. package/components/hy-price/typing.d.ts +41 -36
  147. package/components/hy-qrcode/hy-qrcode.vue +115 -185
  148. package/components/hy-qrcode/props.ts +68 -18
  149. package/components/hy-qrcode/typing.d.ts +67 -66
  150. package/components/hy-radio/hy-radio.vue +161 -259
  151. package/components/hy-radio/props.ts +95 -25
  152. package/components/hy-radio/typing.d.ts +85 -84
  153. package/components/hy-rate/hy-rate.vue +185 -270
  154. package/components/hy-rate/props.ts +76 -18
  155. package/components/hy-rate/typing.d.ts +61 -60
  156. package/components/hy-read-more/hy-read-more.vue +93 -136
  157. package/components/hy-read-more/props.ts +43 -13
  158. package/components/hy-scroll-list/hy-scroll-list.vue +81 -102
  159. package/components/hy-scroll-list/props.ts +22 -11
  160. package/components/hy-search/hy-search.vue +155 -284
  161. package/components/hy-search/props.ts +130 -25
  162. package/components/hy-signature/hy-signature.vue +491 -635
  163. package/components/hy-signature/props.ts +115 -26
  164. package/components/hy-signature/typing.d.ts +138 -138
  165. package/components/hy-slider/hy-slider.vue +388 -477
  166. package/components/hy-slider/props.ts +75 -19
  167. package/components/hy-steps/hy-steps.vue +212 -279
  168. package/components/hy-steps/props.ts +47 -13
  169. package/components/hy-submit-bar/hy-submit-bar.vue +137 -222
  170. package/components/hy-submit-bar/props.ts +89 -20
  171. package/components/hy-submit-bar/typing.d.ts +86 -85
  172. package/components/hy-subsection/hy-subsection.vue +132 -185
  173. package/components/hy-subsection/props.ts +50 -17
  174. package/components/hy-subsection/typing.d.ts +52 -52
  175. package/components/hy-swipe-action/hy-swipe-action.vue +228 -283
  176. package/components/hy-swipe-action/props.ts +43 -18
  177. package/components/hy-swipe-action/typing.d.ts +46 -46
  178. package/components/hy-swiper/hy-swiper.vue +159 -286
  179. package/components/hy-swiper/props.ts +126 -28
  180. package/components/hy-swiper/typing.d.ts +115 -115
  181. package/components/hy-switch/hy-switch.vue +112 -176
  182. package/components/hy-switch/props.ts +60 -15
  183. package/components/hy-switch/typing.d.ts +63 -63
  184. package/components/hy-tabBar/hy-tabBar.vue +64 -60
  185. package/components/hy-tabs/hy-tabs.vue +277 -380
  186. package/components/hy-tabs/props.ts +75 -18
  187. package/components/hy-tag/hy-tag.vue +111 -204
  188. package/components/hy-tag/props.ts +81 -19
  189. package/components/hy-text/hy-text.vue +200 -322
  190. package/components/hy-text/props.ts +107 -28
  191. package/components/hy-textarea/hy-textarea.vue +147 -256
  192. package/components/hy-textarea/props.ts +112 -25
  193. package/components/hy-textarea/typing.d.ts +42 -42
  194. package/components/hy-toast/hy-toast.vue +135 -143
  195. package/components/hy-tooltip/hy-tooltip.vue +220 -306
  196. package/components/hy-tooltip/props.ts +79 -15
  197. package/components/hy-transition/hy-transition.vue +111 -138
  198. package/components/hy-transition/props.ts +30 -8
  199. package/components/hy-upload/hy-upload.vue +320 -469
  200. package/components/hy-upload/props.ts +130 -27
  201. package/components/hy-warn/hy-warn.vue +80 -129
  202. package/components/hy-warn/props.ts +47 -12
  203. package/components/hy-waterfall/hy-waterfall.vue +139 -163
  204. package/components/hy-waterfall/props.ts +19 -7
  205. package/components/hy-watermark/hy-watermark.vue +762 -870
  206. package/components/hy-watermark/props.ts +103 -22
  207. package/global.d.ts +2 -0
  208. package/libs/css/theme.scss +3 -3
  209. package/package.json +2 -2
  210. package/web-types.json +1 -1
  211. package/components/hy-folding-panel/index.scss +0 -9
@@ -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>