oxy-uni-ui 1.2.3 → 2.1.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 (246) hide show
  1. package/attributes.json +1 -1
  2. package/components/common/abstracts/variable.scss +512 -343
  3. package/components/common/util.ts +185 -32
  4. package/components/composables/index.ts +1 -0
  5. package/components/composables/usePopover.ts +24 -20
  6. package/components/composables/useVirtualScroll.ts +48 -21
  7. package/components/composables/useWindowResize.ts +35 -0
  8. package/components/oxy-action-sheet/index.scss +24 -11
  9. package/components/oxy-action-sheet/oxy-action-sheet.vue +27 -19
  10. package/components/oxy-action-sheet/types.ts +7 -0
  11. package/components/oxy-backtop/index.scss +4 -4
  12. package/components/oxy-backtop/oxy-backtop.vue +9 -6
  13. package/components/oxy-backtop/types.ts +7 -7
  14. package/components/oxy-badge/index.scss +4 -4
  15. package/components/oxy-badge/oxy-badge.vue +3 -3
  16. package/components/oxy-badge/types.ts +2 -2
  17. package/components/oxy-button/index.scss +5 -5
  18. package/components/oxy-button/oxy-button.vue +5 -1
  19. package/components/oxy-calendar/index.scss +15 -15
  20. package/components/oxy-calendar/oxy-calendar.vue +1 -0
  21. package/components/oxy-calendar/types.ts +5 -0
  22. package/components/oxy-calendar-view/month/index.scss +4 -4
  23. package/components/oxy-calendar-view/month/types.ts +36 -0
  24. package/components/oxy-calendar-view/monthPanel/index.scss +7 -8
  25. package/components/oxy-calendar-view/monthPanel/month-panel.vue +14 -8
  26. package/components/oxy-calendar-view/year/index.scss +5 -5
  27. package/components/oxy-calendar-view/yearPanel/index.scss +4 -4
  28. package/components/oxy-calendar-view/yearPanel/year-panel.vue +21 -5
  29. package/components/oxy-card/index.scss +2 -2
  30. package/components/oxy-cell/index.scss +8 -8
  31. package/components/oxy-checkbox/index.scss +12 -12
  32. package/components/oxy-checkbox-group/index.scss +2 -2
  33. package/components/oxy-circle/oxy-circle.vue +10 -7
  34. package/components/oxy-circle/types.ts +5 -5
  35. package/components/oxy-col/oxy-col.vue +2 -2
  36. package/components/oxy-col-picker/index.scss +4 -4
  37. package/components/oxy-col-picker/oxy-col-picker.vue +6 -5
  38. package/components/oxy-col-picker/types.ts +7 -2
  39. package/components/oxy-collapse/index.scss +2 -2
  40. package/components/oxy-collapse-item/oxy-collapse-item.vue +3 -3
  41. package/components/oxy-corner/index.scss +33 -33
  42. package/components/oxy-count-to/oxy-count-to.vue +3 -3
  43. package/components/oxy-curtain/index.scss +15 -15
  44. package/components/oxy-curtain/oxy-curtain.vue +4 -2
  45. package/components/oxy-curtain/types.ts +6 -1
  46. package/components/oxy-date-strip/oxy-date-strip.vue +2 -2
  47. package/components/oxy-date-strip/types.ts +1 -1
  48. package/components/oxy-date-strip-item/index.scss +3 -3
  49. package/components/oxy-datetime-picker/index.scss +11 -11
  50. package/components/oxy-datetime-picker/oxy-datetime-picker.vue +1 -0
  51. package/components/oxy-datetime-picker/types.ts +5 -0
  52. package/components/oxy-drop-menu/index.scss +5 -5
  53. package/components/oxy-drop-menu/oxy-drop-menu.vue +3 -3
  54. package/components/oxy-drop-menu-item/index.scss +3 -3
  55. package/components/oxy-drop-menu-item/oxy-drop-menu-item.vue +4 -3
  56. package/components/oxy-drop-menu-item/types.ts +5 -0
  57. package/components/oxy-echarts/types.ts +6 -0
  58. package/components/oxy-fab/index.scss +8 -8
  59. package/components/oxy-fab/oxy-fab.vue +22 -3
  60. package/components/oxy-file-list/index.scss +30 -29
  61. package/components/oxy-file-list/oxy-file-list.vue +2 -2
  62. package/components/oxy-floating-panel/oxy-floating-panel.vue +13 -9
  63. package/components/oxy-floating-panel/{type.ts → types.ts} +8 -8
  64. package/components/oxy-footer/index.scss +19 -0
  65. package/components/oxy-footer/oxy-footer.vue +78 -0
  66. package/components/oxy-footer/types.ts +17 -0
  67. package/components/oxy-form-item/types.ts +22 -1
  68. package/components/oxy-gap/oxy-gap.vue +2 -2
  69. package/components/oxy-gap/types.ts +2 -2
  70. package/components/oxy-grid/oxy-grid.vue +1 -1
  71. package/components/oxy-grid/types.ts +1 -1
  72. package/components/oxy-grid-item/index.scss +1 -1
  73. package/components/oxy-grid-item/oxy-grid-item.vue +7 -5
  74. package/components/oxy-grid-item/types.ts +1 -1
  75. package/components/oxy-guidance/index.scss +75 -0
  76. package/components/oxy-guidance/oxy-guidance.vue +201 -0
  77. package/components/oxy-guidance/types.ts +33 -0
  78. package/components/oxy-icon/oxy-icon.vue +2 -2
  79. package/components/oxy-icon/types.ts +1 -1
  80. package/components/oxy-img/oxy-img.vue +4 -4
  81. package/components/oxy-img/types.ts +3 -3
  82. package/components/oxy-img-cropper/index.scss +23 -23
  83. package/components/oxy-img-cropper/oxy-img-cropper.vue +97 -52
  84. package/components/oxy-img-cropper/types.ts +2 -2
  85. package/components/oxy-img-lazy/oxy-img-lazy.vue +3 -3
  86. package/components/oxy-img-lazy/types.ts +3 -3
  87. package/components/oxy-index-anchor/index.scss +2 -2
  88. package/components/oxy-index-anchor/oxy-index-anchor.vue +2 -2
  89. package/components/oxy-index-anchor/{type.ts → types.ts} +3 -0
  90. package/components/oxy-index-bar/index.scss +3 -3
  91. package/components/oxy-index-bar/oxy-index-bar.vue +3 -3
  92. package/components/oxy-index-bar/{type.ts → types.ts} +2 -2
  93. package/components/oxy-input/index.scss +1 -1
  94. package/components/oxy-input-number/index.scss +5 -5
  95. package/components/oxy-input-number/oxy-input-number.vue +2 -2
  96. package/components/oxy-input-number/types.ts +3 -2
  97. package/components/oxy-keyboard/index.scss +5 -5
  98. package/components/oxy-keyboard/key/index.scss +3 -3
  99. package/components/oxy-keyboard/key/index.vue +2 -2
  100. package/components/oxy-keyboard/key/types.ts +15 -0
  101. package/components/oxy-keyboard/oxy-keyboard.vue +1 -0
  102. package/components/oxy-keyboard/types.ts +5 -0
  103. package/components/oxy-link/index.scss +2 -2
  104. package/components/oxy-list/oxy-list.vue +4 -3
  105. package/components/oxy-loading/oxy-loading.vue +8 -4
  106. package/components/oxy-loading/types.ts +1 -1
  107. package/components/oxy-loadmore/index.scss +3 -3
  108. package/components/oxy-long-press-menu/index.scss +93 -0
  109. package/components/oxy-long-press-menu/oxy-long-press-menu.vue +338 -0
  110. package/components/oxy-long-press-menu/types.ts +34 -0
  111. package/components/oxy-message-box/index.scss +12 -11
  112. package/components/oxy-message-box/oxy-message-box.vue +9 -2
  113. package/components/oxy-message-box/types.ts +9 -0
  114. package/components/oxy-navbar/index.scss +2 -2
  115. package/components/oxy-navbar/oxy-navbar.vue +58 -13
  116. package/components/oxy-navbar/types.ts +8 -1
  117. package/components/oxy-navbar-capsule/types.ts +3 -0
  118. package/components/oxy-notice-bar/index.scss +3 -3
  119. package/components/oxy-notice-bar/oxy-notice-bar.vue +9 -5
  120. package/components/oxy-notice-bar/types.ts +3 -3
  121. package/components/oxy-notify/index.ts +1 -0
  122. package/components/oxy-notify/oxy-notify.vue +3 -2
  123. package/components/oxy-notify/types.ts +7 -0
  124. package/components/oxy-pagination/index.scss +6 -5
  125. package/components/oxy-password-input/oxy-password-input.vue +2 -2
  126. package/components/oxy-password-input/types.ts +1 -1
  127. package/components/oxy-picker/index.scss +45 -2
  128. package/components/oxy-picker/oxy-picker.vue +100 -14
  129. package/components/oxy-picker/types.ts +29 -1
  130. package/components/oxy-picker-view/index.scss +4 -4
  131. package/components/oxy-picker-view/oxy-picker-view.vue +4 -4
  132. package/components/oxy-popover/index.scss +13 -13
  133. package/components/oxy-popup/index.scss +4 -4
  134. package/components/oxy-popup/oxy-popup.vue +35 -2
  135. package/components/oxy-popup/types.ts +8 -1
  136. package/components/oxy-progress/index.scss +3 -3
  137. package/components/oxy-qrcode/draw.ts +398 -0
  138. package/components/oxy-qrcode/index.scss +2 -0
  139. package/components/oxy-qrcode/oxy-qrcode.vue +124 -0
  140. package/components/oxy-qrcode/qrcode.ts +936 -0
  141. package/components/oxy-qrcode/types.ts +42 -0
  142. package/components/oxy-radio/index.scss +25 -19
  143. package/components/oxy-radio-group/index.scss +2 -2
  144. package/components/oxy-rate/types.ts +4 -4
  145. package/components/oxy-resize/index.scss +2 -2
  146. package/components/oxy-resize/oxy-resize.vue +4 -4
  147. package/components/oxy-resize/types.ts +3 -0
  148. package/components/oxy-rich-text/index.scss +37 -36
  149. package/components/oxy-rich-text/mp-html/card/card.vue +3 -3
  150. package/components/oxy-rich-text/mp-html/mp-html.vue +33 -24
  151. package/components/oxy-rich-text/mp-html/node/node.vue +30 -19
  152. package/components/oxy-rich-text/oxy-rich-text.vue +31 -31
  153. package/components/oxy-rich-text/types.ts +6 -1
  154. package/components/oxy-row/oxy-row.vue +3 -3
  155. package/components/oxy-row/types.ts +1 -1
  156. package/components/oxy-search/index.scss +7 -7
  157. package/components/oxy-segmented/index.scss +19 -16
  158. package/components/oxy-segmented/oxy-segmented.vue +23 -3
  159. package/components/oxy-select/index.scss +213 -89
  160. package/components/oxy-select/oxy-select.vue +106 -58
  161. package/components/oxy-select/types.ts +13 -1
  162. package/components/oxy-select-picker/index.scss +7 -7
  163. package/components/oxy-select-picker/oxy-select-picker.vue +1 -0
  164. package/components/oxy-select-picker/types.ts +2 -0
  165. package/components/oxy-sidebar-item/index.scss +2 -2
  166. package/components/oxy-signature/oxy-signature.vue +18 -10
  167. package/components/oxy-signature/types.ts +106 -13
  168. package/components/oxy-skeleton/index.scss +1 -1
  169. package/components/oxy-skeleton/oxy-skeleton.vue +6 -6
  170. package/components/oxy-skeleton/types.ts +1 -1
  171. package/components/oxy-slider/index.scss +6 -6
  172. package/components/oxy-sort-button/index.scss +8 -8
  173. package/components/oxy-splitter/index.scss +19 -0
  174. package/components/oxy-splitter/oxy-splitter.vue +409 -0
  175. package/components/oxy-splitter/types.ts +75 -0
  176. package/components/oxy-splitter-panel/index.scss +366 -0
  177. package/components/oxy-splitter-panel/oxy-splitter-panel.vue +432 -0
  178. package/components/oxy-splitter-panel/types.ts +63 -0
  179. package/components/oxy-status-tip/index.scss +4 -4
  180. package/components/oxy-status-tip/oxy-status-tip.vue +5 -5
  181. package/components/oxy-status-tip/types.ts +3 -3
  182. package/components/oxy-step/index.scss +16 -16
  183. package/components/oxy-sticky/oxy-sticky.vue +6 -6
  184. package/components/oxy-stream-render/oxy-stream-render.vue +230 -4
  185. package/components/oxy-stream-render/types.ts +4 -1
  186. package/components/oxy-swipe-action/oxy-swipe-action.vue +27 -2
  187. package/components/oxy-swiper/oxy-swiper.vue +6 -6
  188. package/components/oxy-swiper/types.ts +5 -5
  189. package/components/oxy-swiper-nav/index.scss +3 -3
  190. package/components/oxy-switch/index.scss +10 -10
  191. package/components/oxy-switch/oxy-switch.vue +2 -2
  192. package/components/oxy-switch/types.ts +1 -1
  193. package/components/oxy-tab/index.scss +11 -1
  194. package/components/oxy-tabbar/index.scss +2 -2
  195. package/components/oxy-tabbar/oxy-tabbar.vue +39 -10
  196. package/components/oxy-table/index.scss +8 -8
  197. package/components/oxy-table/oxy-table.vue +8 -6
  198. package/components/oxy-table/types.ts +2 -2
  199. package/components/oxy-table-col/index.scss +3 -3
  200. package/components/oxy-table-col/oxy-table-col.vue +3 -3
  201. package/components/oxy-table-col/types.ts +2 -2
  202. package/components/oxy-tabs/index.scss +52 -22
  203. package/components/oxy-tabs/oxy-tabs.vue +53 -19
  204. package/components/oxy-tabs/types.ts +15 -3
  205. package/components/oxy-tag/index.scss +111 -36
  206. package/components/oxy-text/index.scss +5 -1
  207. package/components/oxy-text/oxy-text.vue +76 -7
  208. package/components/oxy-text/types.ts +12 -0
  209. package/components/oxy-textarea/index.scss +6 -6
  210. package/components/oxy-toast/oxy-toast.vue +24 -8
  211. package/components/oxy-tooltip/index.scss +9 -9
  212. package/components/oxy-tree/index.scss +51 -15
  213. package/components/oxy-tree/oxy-tree.vue +13 -9
  214. package/components/oxy-tree/types.ts +12 -9
  215. package/components/oxy-upload/index.scss +23 -23
  216. package/components/oxy-upload/types.ts +2 -2
  217. package/components/oxy-verification-code/index.scss +6 -0
  218. package/components/oxy-verification-code/oxy-verification-code.vue +187 -0
  219. package/components/oxy-verification-code/types.ts +82 -0
  220. package/components/oxy-video-preview/index.scss +4 -4
  221. package/components/oxy-virtual-scroll/index.scss +5 -5
  222. package/components/oxy-virtual-scroll/oxy-virtual-scroll.vue +11 -7
  223. package/components/oxy-virtual-scroll/types.ts +14 -14
  224. package/components/oxy-voice-player/index.scss +937 -0
  225. package/components/oxy-voice-player/oxy-voice-player.vue +821 -0
  226. package/components/oxy-voice-player/types.ts +567 -0
  227. package/components/oxy-waterfall/oxy-waterfall.vue +6 -6
  228. package/components/oxy-waterfall/types.ts +6 -6
  229. package/components/oxy-watermark/oxy-watermark.vue +35 -13
  230. package/components/oxy-watermark/types.ts +14 -14
  231. package/global.d.ts +4 -0
  232. package/locale/lang/ar-SA.ts +3 -0
  233. package/locale/lang/en-US.ts +3 -0
  234. package/locale/lang/zh-CN.ts +3 -0
  235. package/package.json +97 -1
  236. package/tags.json +1 -1
  237. package/web-types.json +1 -1
  238. package/components/oxy-number-keyboard/index.scss +0 -78
  239. package/components/oxy-number-keyboard/key/index.scss +0 -81
  240. package/components/oxy-number-keyboard/key/index.vue +0 -78
  241. package/components/oxy-number-keyboard/key/types.ts +0 -11
  242. package/components/oxy-number-keyboard/oxy-number-keyboard.vue +0 -151
  243. package/components/oxy-number-keyboard/types.ts +0 -83
  244. package/components/oxy-tree/components/tree-node-content.vue +0 -72
  245. package/components/oxy-tree/index.ts +0 -51
  246. package/oxy-uni-ui.zip +0 -0
@@ -11,8 +11,8 @@
11
11
  position: absolute;
12
12
  top: 0;
13
13
  right: 0;
14
- width: 80px;
15
- height: 80px;
14
+ width: 160rpx;
15
+ height: 160rpx;
16
16
  overflow: hidden;
17
17
  @include when(round) {
18
18
  border-top-right-radius: $-corner-radius;
@@ -103,8 +103,8 @@
103
103
  }
104
104
  .oxy-corner__text {
105
105
  transform: rotate(-45deg);
106
- top: 10px;
107
- left: -26px;
106
+ top: 20rpx;
107
+ left: -52rpx;
108
108
  }
109
109
  }
110
110
  &.is-bottom-left{
@@ -117,8 +117,8 @@
117
117
  }
118
118
  .oxy-corner__text {
119
119
  transform: rotate(-135deg);
120
- bottom: 10px;
121
- left: -26px;
120
+ bottom: 20rpx;
121
+ left: -52rpx;
122
122
  top: auto;
123
123
  > span{
124
124
  transform: rotate(180deg);
@@ -136,8 +136,8 @@
136
136
  }
137
137
  .oxy-corner__text {
138
138
  transform: rotate(135deg);
139
- bottom: 10px;
140
- right: -26px;
139
+ bottom: 20rpx;
140
+ right: -52rpx;
141
141
  top: auto;
142
142
  > span{
143
143
  transform: rotate(180deg);
@@ -149,7 +149,7 @@
149
149
  &.is-top-left{
150
150
  &::after {
151
151
  left: auto;
152
- right: -6px;
152
+ right: -12rpx;
153
153
  bottom: 0;
154
154
  transform: skewX(-30deg);
155
155
  }
@@ -158,15 +158,15 @@
158
158
  top: 0;
159
159
  left: 0;
160
160
  border-bottom-left-radius: 0;
161
- border-bottom-right-radius: 32px;
161
+ border-bottom-right-radius: 64rpx;
162
162
  padding-left: 0;
163
- padding-right: 12px;
163
+ padding-right: 24rpx;
164
164
  }
165
165
  }
166
166
  &.is-bottom-left{
167
167
  &::after {
168
168
  left: auto;
169
- right: -6px;
169
+ right: -12rpx;
170
170
  bottom: 0;
171
171
  transform: skewX(30deg);
172
172
  }
@@ -175,9 +175,9 @@
175
175
  bottom: 0;
176
176
  left: 0;
177
177
  border-bottom-left-radius: 0;
178
- border-top-right-radius: 32px;
178
+ border-top-right-radius: 64rpx;
179
179
  padding-left: 0;
180
- padding-right: 12px;
180
+ padding-right: 24rpx;
181
181
  > span{
182
182
  transform: none;
183
183
  }
@@ -185,7 +185,7 @@
185
185
  }
186
186
  &.is-bottom-right{
187
187
  &::after {
188
- left: -6px;
188
+ left: -12rpx;
189
189
  bottom: 0;
190
190
  transform: skewX(-30deg);
191
191
  }
@@ -194,7 +194,7 @@
194
194
  bottom: 0;
195
195
  right: 0;
196
196
  border-bottom-left-radius: 0;
197
- border-top-left-radius: 32px;
197
+ border-top-left-radius: 64rpx;
198
198
  > span{
199
199
  transform: none;
200
200
  }
@@ -202,13 +202,13 @@
202
202
  }
203
203
  }
204
204
  .oxy-corner__text {
205
- width: 106px;
206
- height: 32px;
205
+ width: 212rpx;
206
+ height: 64rpx;
207
207
  position: absolute;
208
- right: -26px;
209
- top: 10px;
208
+ right: -52rpx;
209
+ top: 20rpx;
210
210
  text-align: center;
211
- line-height: 32px;
211
+ line-height: 64rpx;
212
212
  overflow: hidden;
213
213
  transform: rotate(45deg);
214
214
  box-sizing: border-box;
@@ -219,39 +219,39 @@
219
219
  }
220
220
  }
221
221
  &.is-horizontal {
222
- width: 160px;
223
- height: 40px;
222
+ width: 320rpx;
223
+ height: 80rpx;
224
224
  .oxy-corner__text {
225
- padding-right: 20px;
225
+ padding-right: 40rpx;
226
226
  box-sizing: border-box;
227
227
  font-size: $-corner-horizontal-font-size;
228
228
  font-weight: $-corner-horizontal-font-weight;
229
- line-height: 40px;
229
+ line-height: 80rpx;
230
230
  text-align: right;
231
231
  }
232
232
  }
233
233
  &.is-embedded {
234
- width: 106px;
235
- height: 32px;
234
+ width: 212rpx;
235
+ height: 64rpx;
236
236
  &::after {
237
237
  content: '';
238
238
  position: absolute;
239
- left: -6px;
239
+ left: -12rpx;
240
240
  bottom: 0;
241
- width: 16px;
242
- height: 32px;
243
- background-color: #ffffff;
241
+ width: 32rpx;
242
+ height: 64rpx;
243
+ background-color: $-color-white;
244
244
  transform: skewX(30deg);
245
245
  }
246
246
  .oxy-corner__text {
247
247
  right: 0;
248
248
  top: 0;
249
249
  transform: none;
250
- padding-left: 12px;
250
+ padding-left: 24rpx;
251
251
  box-sizing: border-box;
252
252
  font-size: $-corner-embedded-font-size;
253
253
  font-weight: $-corner-embedded-font-weight;
254
- border-bottom-left-radius: 32px;
254
+ border-bottom-left-radius: 64rpx;
255
255
  }
256
256
  }
257
257
  }
@@ -2,15 +2,15 @@
2
2
  <view :class="rootClass">
3
3
  <!-- 前缀插槽 -->
4
4
  <slot name="prefix">
5
- <oxy-text :type="props.type" :color="props.color" :size="`${props.fontSize * 0.7}px`" :text="props.prefix"></oxy-text>
5
+ <oxy-text :type="props.type" :color="props.color" :size="`${props.fontSize * 1.4}rpx`" :text="props.prefix"></oxy-text>
6
6
  </slot>
7
7
  <!-- 默认文本插槽 -->
8
8
  <slot>
9
- <oxy-text :type="props.type" :color="props.color" :size="`${props.fontSize}px`" :text="timeText"></oxy-text>
9
+ <oxy-text :type="props.type" :color="props.color" :size="`${props.fontSize * 2}rpx`" :text="timeText"></oxy-text>
10
10
  </slot>
11
11
  <!-- 后缀插槽 -->
12
12
  <slot name="suffix">
13
- <oxy-text :type="props.type" :color="props.color" :size="`${props.fontSize * 0.7}px`" :text="props.suffix"></oxy-text>
13
+ <oxy-text :type="props.type" :color="props.color" :size="`${props.fontSize * 1.4}rpx`" :text="props.suffix"></oxy-text>
14
14
  </slot>
15
15
  </view>
16
16
  </template>
@@ -33,53 +33,53 @@
33
33
  @include edeep(content-close) {
34
34
  position: absolute;
35
35
  margin: 0;
36
- padding: 6px;
37
- top: 10px;
38
- right: 10px;
36
+ padding: 12rpx;
37
+ top: 20rpx;
38
+ right: 20rpx;
39
39
  color: $-curtain-content-close-color;
40
40
  font-size: $-curtain-content-close-fs;
41
41
  -webkit-tap-highlight-color: transparent;
42
42
  &.top {
43
- margin: 0 0 0 -18px;
44
- top: -62px;
43
+ margin: 0 0 0 -36rpx;
44
+ top: -124rpx;
45
45
  right: unset;
46
46
  left: 50%;
47
47
  bottom: unset;
48
48
  }
49
49
  &.top-left {
50
50
  margin: 0;
51
- top: -62px;
51
+ top: -124rpx;
52
52
  right: unset;
53
- left: -6px;
53
+ left: -12rpx;
54
54
  bottom: unset;
55
55
  }
56
56
  &.top-right {
57
57
  margin: 0;
58
- top: -62px;
59
- right: -6px;
58
+ top: -124rpx;
59
+ right: -12rpx;
60
60
  left: unset;
61
61
  bottom: unset;
62
62
  }
63
63
  &.bottom {
64
- margin: 0 0 0 -18px;
64
+ margin: 0 0 0 -36rpx;
65
65
  top: unset;
66
66
  right: unset;
67
67
  left: 50%;
68
- bottom: -62px;
68
+ bottom: -124rpx;
69
69
  }
70
70
  &.bottom-left {
71
71
  margin: 0;
72
72
  top: unset;
73
73
  right: unset;
74
- left: -6px;
75
- bottom: -62px;
74
+ left: -12rpx;
75
+ bottom: -124rpx;
76
76
  }
77
77
  &.bottom-right {
78
78
  margin: 0;
79
79
  top: unset;
80
- right: -6px;
80
+ right: -12rpx;
81
81
  left: unset;
82
- bottom: -62px;
82
+ bottom: -124rpx;
83
83
  }
84
84
  }
85
85
  }
@@ -6,6 +6,7 @@
6
6
  position="center"
7
7
  :close-on-click-modal="closeOnClickModal"
8
8
  :hide-when-close="hideWhenClose"
9
+ :max-width="popupMaxWidth"
9
10
  :z-index="zIndex"
10
11
  :root-portal="rootPortal"
11
12
  @before-enter="beforeenter"
@@ -57,6 +58,7 @@ export default {
57
58
  import OxyIcon from '../oxy-icon/oxy-icon.vue'
58
59
  import OxyPopup from '../oxy-popup/oxy-popup.vue'
59
60
  import { computed, ref, watch } from 'vue'
61
+ import { withDefaultUnit } from '../common/util'
60
62
  import { curtainProps } from './types'
61
63
 
62
64
  const props = defineProps(curtainProps)
@@ -105,8 +107,8 @@ const imgScale = ref<number>(1)
105
107
  const imgStyle = computed(() => {
106
108
  let style = ''
107
109
  if (props.width) {
108
- style += `width: ${props.width}px ;`
109
- style += `height: ${props.width / imgScale.value}px`
110
+ style += `width: ${withDefaultUnit(props.width)};`
111
+ style += `height: ${withDefaultUnit(props.width / imgScale.value)}`
110
112
  }
111
113
  return style
112
114
  })
@@ -27,7 +27,7 @@ export const curtainProps = {
27
27
  */
28
28
  to: String,
29
29
  /**
30
- * 幕帘图片宽度
30
+ * 幕帘图片宽度,number 类型按 `rpx` 语义处理
31
31
  */
32
32
  width: Number,
33
33
  /**
@@ -44,6 +44,11 @@ export const curtainProps = {
44
44
  * 默认值:10
45
45
  */
46
46
  zIndex: makeNumberProp(10),
47
+ /**
48
+ * 弹层最大宽度,支持 `rpx`、`px`、`%` 等单位;
49
+ * `%` 在弹层打开时按屏幕宽度换算为 `rpx`
50
+ */
51
+ popupMaxWidth: makeStringProp('1200rpx'),
47
52
  /**
48
53
  * 自定义关闭按钮的类名
49
54
  * 类型:string
@@ -58,7 +58,7 @@ export default {
58
58
  <script lang="ts" setup>
59
59
  import OxyDateStripItem from '../oxy-date-strip-item/oxy-date-strip-item.vue'
60
60
  import { ref, computed, watch, onMounted, nextTick, reactive } from 'vue'
61
- import { objToStyle, unitConvert } from '../common/util'
61
+ import { objToStyle, unitConvertWithDefault } from '../common/util'
62
62
  import { getWeekRange, addDays, addWeeks, calcType, daysBetween } from './utils'
63
63
  import { dateStripProps, type WeekDateCollection, type DateStriPDay } from './types'
64
64
 
@@ -170,7 +170,7 @@ const onClick = (day: DateStriPDay) => {
170
170
  const scrollToDate = (date: Date) => {
171
171
  currentDate.value = date
172
172
  if (props.switchMode !== 'none') return
173
- scrollLeft.value = unitConvert(props.gridWidth || 50) * daysBetween(date, minDate.value)
173
+ scrollLeft.value = unitConvertWithDefault(props.gridWidth, { defaultUnit: 'rpx' }) * daysBetween(date, minDate.value)
174
174
  }
175
175
 
176
176
  watch(
@@ -62,7 +62,7 @@ export const dateStripProps = {
62
62
  default: null
63
63
  },
64
64
  // 网格宽度
65
- gridWidth: makeStringProp(''),
65
+ gridWidth: makeStringProp('100rpx'),
66
66
  // 主题色,对底部按钮和选中日期生效
67
67
  color: makeStringProp(''),
68
68
  // 选中日期的背景色
@@ -43,13 +43,13 @@
43
43
  }
44
44
  &--none {
45
45
  .oxy-date-strip-item__grid-prefix {
46
- padding-bottom: 4px;
47
- padding-top: 4px;
46
+ padding-bottom: 8rpx;
47
+ padding-top: 8rpx;
48
48
  }
49
49
  }
50
50
  &--circle {
51
51
  .oxy-date-strip-item__grid-prefix {
52
- padding-bottom: 4px;
52
+ padding-bottom: 8rpx;
53
53
  }
54
54
  .oxy-date-strip-item__grid-info {
55
55
  border-radius: $-date-strip-grid-circle-radius;
@@ -21,7 +21,7 @@
21
21
 
22
22
  @include e(region) {
23
23
  color: $-dark-color;
24
-
24
+
25
25
  @include when(active) {
26
26
  background: $-picker-region-bg-active-color;
27
27
  color: $-dark-color;
@@ -29,7 +29,7 @@
29
29
  }
30
30
  }
31
31
  }
32
-
32
+
33
33
 
34
34
  @include b(datetime-picker) {
35
35
  @include edeep(cell) {
@@ -52,13 +52,13 @@
52
52
  font-size: $-cell-icon-size-large;
53
53
  }
54
54
  }
55
-
55
+
56
56
  .oxy-cell__value--ellipsis {
57
57
  view {
58
58
  @include lineEllipsis;
59
59
  width: 100%;
60
60
  }
61
-
61
+
62
62
  text {
63
63
  @include lineEllipsis;
64
64
  max-width: 100%;
@@ -69,7 +69,7 @@
69
69
  @include e(placeholder) {
70
70
  color: $-input-placeholder-color;
71
71
  }
72
-
72
+
73
73
  @include edeep(arrow) {
74
74
  display: block;
75
75
  font-size: $-cell-icon-size;
@@ -85,7 +85,7 @@
85
85
  }
86
86
 
87
87
  @include edeep(popup) {
88
- border-radius: 16px 16px 0px 0px;
88
+ border-radius: $-action-sheet-radius $-action-sheet-radius 0 0;
89
89
  }
90
90
 
91
91
  @include e(wraper) {
@@ -110,7 +110,7 @@
110
110
  font-size: $-picker-toolbar-fs;
111
111
  color: $-picker-toolbar-finish-color;
112
112
  background: transparent;
113
- padding: 24px 15px 14px 15px;
113
+ padding: 48rpx 32rpx 32rpx 32rpx;
114
114
 
115
115
  @include m(cancel) {
116
116
  color: $-picker-toolbar-cancel-color;
@@ -135,9 +135,9 @@
135
135
  display: inline-block;
136
136
  color: $-picker-region-color;
137
137
  text-align: center;
138
- padding: 14px 0;
138
+ padding: 32rpx 0;
139
139
  font-size: $-picker-region-fs;
140
- line-height: 16px;
140
+ line-height: 32rpx;
141
141
  transition: all 0.15s ease-out;
142
142
 
143
143
  @include when(active) {
@@ -147,8 +147,8 @@
147
147
  }
148
148
 
149
149
  @include e(region-time) {
150
- font-size: 16px;
151
- margin-top: 2px;
150
+ font-size: $-picker-region-time-fs;
151
+ margin-top: 8rpx;
152
152
  }
153
153
 
154
154
  @include e(hidden) {
@@ -57,6 +57,7 @@
57
57
  position="bottom"
58
58
  :hide-when-close="false"
59
59
  :close-on-click-modal="closeOnClickModal"
60
+ :max-width="popupMaxWidth"
60
61
  :safe-area-inset-bottom="safeAreaInsetBottom"
61
62
  :z-index="zIndex"
62
63
  :root-portal="rootPortal"
@@ -157,6 +157,11 @@ export const datetimePickerProps = {
157
157
  * 弹窗层级
158
158
  */
159
159
  zIndex: makeNumberProp(15),
160
+ /**
161
+ * 弹层最大宽度,支持 `rpx`、`px`、`%` 等单位;
162
+ * `%` 在弹层打开时按屏幕宽度换算为 `rpx`
163
+ */
164
+ popupMaxWidth: makeStringProp('1200rpx'),
160
165
  /**
161
166
  * 表单域 model 字段名,在使用表单校验功能的情况下,该属性是必填的
162
167
  */
@@ -26,7 +26,7 @@
26
26
  @include e(list) {
27
27
  display: flex;
28
28
  text-align: center;
29
- background-color: #fff;
29
+ background-color: $-drop-menu-bg;
30
30
  }
31
31
 
32
32
  @include e(item) {
@@ -66,9 +66,9 @@
66
66
  &::after {
67
67
  position: absolute;
68
68
  content: '';
69
- width: 19px;
69
+ width: 38rpx;
70
70
  height: $-drop-menu-line-height;
71
- bottom: 6px;
71
+ bottom: 12rpx;
72
72
  left: 50%;
73
73
  transform: translate(-50%, 0);
74
74
  background: $-drop-menu-line-color;
@@ -85,6 +85,6 @@
85
85
 
86
86
  @include edeep(arrow) {
87
87
  font-size: $-drop-menu-arrow-fs;
88
- margin-left: 2px;
88
+ margin-left: 8rpx;
89
89
  }
90
- }
90
+ }
@@ -47,7 +47,7 @@ export default {
47
47
  import { computed, getCurrentInstance, inject, onBeforeMount, ref, watch } from 'vue'
48
48
  import { closeOther } from '../common/clickoutside'
49
49
  import { type Queue, queueKey } from '../composables/useQueue'
50
- import { getRect, uuid } from '../common/util'
50
+ import { getRect, unitConvert, uuid } from '../common/util'
51
51
  import { useChildren } from '../composables/useChildren'
52
52
  import { DROP_MENU_KEY, dropMenuProps } from './types'
53
53
  import OxyOverlay from '../oxy-overlay/oxy-overlay.vue'
@@ -59,10 +59,10 @@ const offset = ref<number>(0)
59
59
  const windowHeight = ref<number>(0)
60
60
  const modalStyle = computed(() => {
61
61
  return props.direction === 'down'
62
- ? `top: calc(var(--window-top) + ${offset.value}px); bottom: 0;`
62
+ ? `top: calc(var(--window-top) + ${unitConvert(offset.value, 0, { output: 'px' })}); bottom: 0;`
63
63
  : props.direction === 'bottom'
64
64
  ? 'top: var(--window-top); bottom: 0;'
65
- : `top: 0; bottom: calc(var(--window-bottom) + ${offset.value}px)`
65
+ : `top: 0; bottom: calc(var(--window-bottom) + ${unitConvert(offset.value, 0, { output: 'px' })})`
66
66
  })
67
67
 
68
68
  const { proxy } = getCurrentInstance() as any
@@ -48,7 +48,7 @@
48
48
  display: inline-block;
49
49
  color: $-drop-menu-item-color-tip;
50
50
  font-size: $-drop-menu-item-fs-tip;
51
- margin-left: 2px;
51
+ margin-left: 4rpx;
52
52
  }
53
53
 
54
54
  @include edeep(icon) {
@@ -60,7 +60,7 @@
60
60
  position: fixed;
61
61
  left: 0;
62
62
  right: 0;
63
- background: rgba(0, 0, 0, 0.7);
63
+ background: $-drop-menu-modal-bg;
64
64
  height: 100%;
65
65
  }
66
- }
66
+ }
@@ -9,6 +9,7 @@
9
9
  :z-index="zIndex"
10
10
  :duration="duration"
11
11
  :position="position"
12
+ :max-width="popupMaxWidth"
12
13
  :custom-style="`position: absolute; pointer-events: auto; max-height: ${popupHeight ? popupHeight : '80%'}; ${customPopupStyle}`"
13
14
  :custom-class="customPopupClass"
14
15
  :modal="false"
@@ -61,7 +62,7 @@ import { type Queue, queueKey } from '../composables/useQueue'
61
62
  import type { PopupType } from '../oxy-popup/types'
62
63
  import { useParent } from '../composables/useParent'
63
64
  import { DROP_MENU_KEY } from '../oxy-drop-menu/types'
64
- import { isDef, isFunction } from '../common/util'
65
+ import { isDef, isFunction, unitConvert } from '../common/util'
65
66
  import { dorpMenuItemProps, type DropMenuItemExpose } from './types'
66
67
 
67
68
  const props = defineProps(dorpMenuItemProps)
@@ -90,10 +91,10 @@ const positionStyle = computed(() => {
90
91
  if (showWrapper.value && dropMenu) {
91
92
  style =
92
93
  dropMenu.props.direction === 'down'
93
- ? `top: calc(var(--window-top) + ${dropMenu.offset.value}px); bottom: 0;`
94
+ ? `top: calc(var(--window-top) + ${unitConvert(dropMenu.offset.value, 0, { output: 'px' })}); bottom: 0;`
94
95
  : dropMenu.props.direction === 'bottom'
95
96
  ? 'top: calc(var(--window-top); bottom: 0;'
96
- : `top: 0; bottom: calc(var(--window-bottom) + ${dropMenu.offset.value}px)`
97
+ : `top: 0; bottom: calc(var(--window-bottom) + ${unitConvert(dropMenu.offset.value, 0, { output: 'px' })})`
97
98
  } else {
98
99
  style = ''
99
100
  }
@@ -76,6 +76,11 @@ export const dorpMenuItemProps = {
76
76
  * 弹出层高度 这里设置了 就取这里的
77
77
  */
78
78
  popupHeight: makeStringProp(''),
79
+ /**
80
+ * 弹层最大宽度,支持 `rpx`、`px`、`%` 等单位;
81
+ * `%` 在弹层打开时按屏幕宽度换算为 `rpx`
82
+ */
83
+ popupMaxWidth: makeStringProp('1200rpx'),
79
84
  /**
80
85
  * 是否从页面中脱离出来,用于解决各种 fixed 失效问题 (H5: teleport, APP: renderjs, 小程序: root-portal)
81
86
  */
@@ -2,10 +2,16 @@ import type { ExtractPropTypes } from 'vue'
2
2
  import { type ComponentPublicInstance } from 'vue'
3
3
  import { type UniEchartsInst } from '../../uni-echarts'
4
4
 
5
+ /**
6
+ * Echarts 组件属性
7
+ */
5
8
  export const echartsProps = {}
6
9
 
7
10
  export type EchartsProps = ExtractPropTypes<typeof echartsProps>
8
11
  export type EchartsExpose = {
12
+ /**
13
+ * 当前图表实例
14
+ */
9
15
  echartsInstance: UniEchartsInst | null
10
16
  }
11
17
 
@@ -67,44 +67,44 @@
67
67
  @include e(transition-enter) {
68
68
  @include m(top) {
69
69
  opacity: 0;
70
- transform: translateY(40px);
70
+ transform: translateY(80rpx);
71
71
  }
72
72
 
73
73
  @include m(bottom) {
74
74
  opacity: 0;
75
- transform: translateY(-40px);
75
+ transform: translateY(-80rpx);
76
76
  }
77
77
 
78
78
  @include m(left) {
79
79
  opacity: 0;
80
- transform: translateX(40px);
80
+ transform: translateX(80rpx);
81
81
  }
82
82
 
83
83
  @include m(right) {
84
84
  opacity: 0;
85
- transform: translateX(-40px);
85
+ transform: translateX(-80rpx);
86
86
  }
87
87
  }
88
88
 
89
89
  @include e(transition-leave-to) {
90
90
  @include m(top) {
91
91
  opacity: 0;
92
- transform: translateY(40px);
92
+ transform: translateY(80rpx);
93
93
  }
94
94
 
95
95
  @include m(bottom) {
96
96
  opacity: 0;
97
- transform: translateY(-40px);
97
+ transform: translateY(-80rpx);
98
98
  }
99
99
 
100
100
  @include m(left) {
101
101
  opacity: 0;
102
- transform: translateX(40px);
102
+ transform: translateX(80rpx);
103
103
  }
104
104
 
105
105
  @include m(right) {
106
106
  opacity: 0;
107
- transform: translateX(-40px);
107
+ transform: translateX(-80rpx);
108
108
  }
109
109
  }
110
110