oxy-uni-ui 1.2.0 → 2.0.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 (306) hide show
  1. package/attributes.json +1 -1
  2. package/components/common/abstracts/variable.scss +396 -321
  3. package/components/common/path.ts +9 -0
  4. package/components/common/util.ts +200 -5
  5. package/components/composables/index.ts +1 -0
  6. package/components/composables/useGlobalLoading.ts +42 -0
  7. package/components/composables/useGlobalMessage.ts +48 -0
  8. package/components/composables/useGlobalToast.ts +84 -0
  9. package/components/composables/usePopover.ts +24 -20
  10. package/components/composables/useVirtualScroll.ts +13 -11
  11. package/components/composables/useWindowResize.ts +35 -0
  12. package/components/oxy-action-sheet/index.scss +24 -11
  13. package/components/oxy-action-sheet/oxy-action-sheet.vue +27 -19
  14. package/components/oxy-action-sheet/types.ts +7 -0
  15. package/components/oxy-backtop/index.scss +3 -3
  16. package/components/oxy-backtop/oxy-backtop.vue +9 -6
  17. package/components/oxy-backtop/types.ts +7 -7
  18. package/components/oxy-badge/index.scss +4 -4
  19. package/components/oxy-badge/oxy-badge.vue +3 -3
  20. package/components/oxy-badge/types.ts +2 -2
  21. package/components/oxy-button/index.scss +5 -5
  22. package/components/oxy-button/oxy-button.vue +5 -1
  23. package/components/oxy-calendar/index.scss +11 -11
  24. package/components/oxy-calendar/oxy-calendar.vue +1 -0
  25. package/components/oxy-calendar/types.ts +5 -0
  26. package/components/oxy-calendar-view/month/index.scss +4 -4
  27. package/components/oxy-calendar-view/month/types.ts +36 -0
  28. package/components/oxy-calendar-view/monthPanel/index.scss +7 -7
  29. package/components/oxy-calendar-view/monthPanel/month-panel.vue +14 -8
  30. package/components/oxy-calendar-view/year/index.scss +4 -4
  31. package/components/oxy-calendar-view/yearPanel/index.scss +4 -4
  32. package/components/oxy-calendar-view/yearPanel/year-panel.vue +21 -5
  33. package/components/oxy-card/index.scss +2 -2
  34. package/components/oxy-cell/index.scss +8 -8
  35. package/components/oxy-cell/oxy-cell.vue +15 -2
  36. package/components/oxy-cell/types.ts +4 -0
  37. package/components/oxy-checkbox/index.scss +8 -8
  38. package/components/oxy-checkbox/oxy-checkbox.vue +2 -2
  39. package/components/oxy-checkbox-group/index.scss +2 -2
  40. package/components/oxy-circle/oxy-circle.vue +10 -7
  41. package/components/oxy-circle/types.ts +5 -5
  42. package/components/oxy-col/oxy-col.vue +2 -2
  43. package/components/oxy-col-picker/index.scss +4 -4
  44. package/components/oxy-col-picker/oxy-col-picker.vue +9 -5
  45. package/components/oxy-col-picker/types.ts +12 -3
  46. package/components/oxy-collapse/index.scss +2 -2
  47. package/components/oxy-collapse-item/oxy-collapse-item.vue +3 -3
  48. package/components/oxy-corner/index.scss +32 -32
  49. package/components/oxy-corner/oxy-corner.vue +15 -3
  50. package/components/oxy-corner/types.ts +15 -1
  51. package/components/oxy-count-to/oxy-count-to.vue +3 -3
  52. package/components/oxy-curtain/index.scss +15 -15
  53. package/components/oxy-curtain/oxy-curtain.vue +4 -2
  54. package/components/oxy-curtain/types.ts +6 -1
  55. package/components/oxy-date-strip/index.scss +10 -0
  56. package/components/oxy-date-strip/oxy-date-strip.vue +198 -0
  57. package/components/oxy-date-strip/types.ts +98 -0
  58. package/components/oxy-date-strip/utils.ts +67 -0
  59. package/components/oxy-date-strip-item/index.scss +94 -0
  60. package/components/oxy-date-strip-item/oxy-date-strip-item.vue +102 -0
  61. package/components/oxy-date-strip-item/types.ts +53 -0
  62. package/components/oxy-datetime-picker/index.scss +11 -11
  63. package/components/oxy-datetime-picker/oxy-datetime-picker.vue +4 -1
  64. package/components/oxy-datetime-picker/types.ts +10 -1
  65. package/components/oxy-drop-menu/index.scss +3 -3
  66. package/components/oxy-drop-menu/oxy-drop-menu.vue +3 -3
  67. package/components/oxy-drop-menu-item/index.scss +1 -1
  68. package/components/oxy-drop-menu-item/oxy-drop-menu-item.vue +4 -3
  69. package/components/oxy-drop-menu-item/types.ts +5 -0
  70. package/components/oxy-echarts/index.scss +17 -0
  71. package/components/oxy-echarts/index.ts +1 -0
  72. package/components/oxy-echarts/oxy-echarts.vue +32 -0
  73. package/components/oxy-echarts/types.ts +18 -0
  74. package/components/oxy-fab/index.scss +8 -8
  75. package/components/oxy-fab/oxy-fab.vue +22 -3
  76. package/components/oxy-file-list/index.scss +42 -15
  77. package/components/oxy-file-list/oxy-file-list.vue +208 -34
  78. package/components/oxy-file-list/types.ts +58 -2
  79. package/components/oxy-floating-panel/oxy-floating-panel.vue +13 -9
  80. package/components/oxy-floating-panel/{type.ts → types.ts} +8 -8
  81. package/components/oxy-footer/index.scss +19 -0
  82. package/components/oxy-footer/oxy-footer.vue +78 -0
  83. package/components/oxy-footer/types.ts +17 -0
  84. package/components/oxy-form-item/types.ts +22 -1
  85. package/components/oxy-gap/oxy-gap.vue +2 -2
  86. package/components/oxy-gap/types.ts +2 -2
  87. package/components/oxy-global-loading/oxy-global-loading.vue +53 -0
  88. package/components/oxy-global-message/oxy-global-message.vue +64 -0
  89. package/components/oxy-global-toast/oxy-global-toast.vue +53 -0
  90. package/components/oxy-grid/oxy-grid.vue +1 -1
  91. package/components/oxy-grid/types.ts +1 -1
  92. package/components/oxy-grid-item/index.scss +1 -1
  93. package/components/oxy-grid-item/oxy-grid-item.vue +7 -5
  94. package/components/oxy-grid-item/types.ts +1 -1
  95. package/components/oxy-guidance/index.scss +75 -0
  96. package/components/oxy-guidance/oxy-guidance.vue +201 -0
  97. package/components/oxy-guidance/types.ts +33 -0
  98. package/components/oxy-icon/oxy-icon.vue +2 -2
  99. package/components/oxy-icon/types.ts +1 -1
  100. package/components/oxy-img/oxy-img.vue +4 -4
  101. package/components/oxy-img/types.ts +3 -3
  102. package/components/oxy-img-cropper/index.scss +12 -12
  103. package/components/oxy-img-cropper/oxy-img-cropper.vue +97 -52
  104. package/components/oxy-img-cropper/types.ts +2 -2
  105. package/components/oxy-img-lazy/index.scss +17 -0
  106. package/components/oxy-img-lazy/oxy-img-lazy.vue +332 -0
  107. package/components/oxy-img-lazy/types.ts +69 -0
  108. package/components/oxy-index-anchor/index.scss +2 -2
  109. package/components/oxy-index-anchor/oxy-index-anchor.vue +2 -2
  110. package/components/oxy-index-anchor/{type.ts → types.ts} +3 -0
  111. package/components/oxy-index-bar/index.scss +3 -3
  112. package/components/oxy-index-bar/oxy-index-bar.vue +3 -3
  113. package/components/oxy-index-bar/{type.ts → types.ts} +2 -2
  114. package/components/oxy-input/index.scss +1 -1
  115. package/components/oxy-input-number/index.scss +5 -5
  116. package/components/oxy-input-number/oxy-input-number.vue +2 -2
  117. package/components/oxy-input-number/types.ts +3 -2
  118. package/components/oxy-keyboard/index.scss +5 -5
  119. package/components/oxy-keyboard/key/index.scss +3 -3
  120. package/components/oxy-keyboard/key/index.vue +2 -2
  121. package/components/oxy-keyboard/key/types.ts +15 -0
  122. package/components/oxy-keyboard/oxy-keyboard.vue +1 -0
  123. package/components/oxy-keyboard/types.ts +5 -0
  124. package/components/oxy-link/index.scss +57 -0
  125. package/components/oxy-link/oxy-link.vue +130 -0
  126. package/components/oxy-link/types.ts +81 -0
  127. package/components/oxy-list/index.scss +7 -1
  128. package/components/oxy-list/oxy-list.vue +4 -3
  129. package/components/oxy-list/types.ts +1 -1
  130. package/components/oxy-loading/oxy-loading.vue +8 -4
  131. package/components/oxy-loading/types.ts +1 -1
  132. package/components/oxy-loadmore/index.scss +3 -3
  133. package/components/oxy-long-press-menu/index.scss +93 -0
  134. package/components/oxy-long-press-menu/oxy-long-press-menu.vue +338 -0
  135. package/components/oxy-long-press-menu/types.ts +34 -0
  136. package/components/oxy-message-box/index.scss +12 -11
  137. package/components/oxy-message-box/oxy-message-box.vue +11 -3
  138. package/components/oxy-message-box/types.ts +14 -0
  139. package/components/oxy-navbar/index.scss +2 -2
  140. package/components/oxy-navbar/oxy-navbar.vue +58 -13
  141. package/components/oxy-navbar/types.ts +8 -1
  142. package/components/oxy-navbar-capsule/types.ts +3 -0
  143. package/components/oxy-notice-bar/index.scss +3 -3
  144. package/components/oxy-notice-bar/oxy-notice-bar.vue +9 -5
  145. package/components/oxy-notice-bar/types.ts +3 -3
  146. package/components/oxy-notify/index.ts +1 -0
  147. package/components/oxy-notify/oxy-notify.vue +3 -2
  148. package/components/oxy-notify/types.ts +7 -0
  149. package/components/oxy-pagination/index.scss +1 -1
  150. package/components/oxy-password-input/oxy-password-input.vue +2 -2
  151. package/components/oxy-password-input/types.ts +1 -1
  152. package/components/oxy-picker/index.scss +45 -2
  153. package/components/oxy-picker/oxy-picker.vue +103 -14
  154. package/components/oxy-picker/types.ts +33 -1
  155. package/components/oxy-picker-view/index.scss +3 -3
  156. package/components/oxy-picker-view/oxy-picker-view.vue +4 -4
  157. package/components/oxy-popover/index.scss +9 -9
  158. package/components/oxy-popup/index.scss +2 -2
  159. package/components/oxy-popup/oxy-popup.vue +35 -2
  160. package/components/oxy-popup/types.ts +8 -1
  161. package/components/oxy-progress/index.scss +3 -3
  162. package/components/oxy-qrcode/draw.ts +398 -0
  163. package/components/oxy-qrcode/index.scss +2 -0
  164. package/components/oxy-qrcode/oxy-qrcode.vue +124 -0
  165. package/components/oxy-qrcode/qrcode.ts +936 -0
  166. package/components/oxy-qrcode/types.ts +42 -0
  167. package/components/oxy-radio/index.scss +13 -13
  168. package/components/oxy-radio/oxy-radio.vue +1 -1
  169. package/components/oxy-radio-group/index.scss +2 -2
  170. package/components/oxy-rate/types.ts +4 -4
  171. package/components/oxy-resize/index.scss +2 -2
  172. package/components/oxy-resize/oxy-resize.vue +4 -4
  173. package/components/oxy-resize/types.ts +3 -0
  174. package/components/oxy-rich-text/icon/emjio.svg +1 -0
  175. package/components/oxy-rich-text/icon/quote.svg +1 -0
  176. package/components/oxy-rich-text/icon/text.svg +1 -0
  177. package/components/oxy-rich-text/icon/title.svg +1 -0
  178. package/components/oxy-rich-text/index.scss +160 -0
  179. package/components/oxy-rich-text/mp-html/card/card.vue +122 -0
  180. package/components/oxy-rich-text/mp-html/card/index.js +7 -0
  181. package/components/oxy-rich-text/mp-html/editable/config.js +15 -0
  182. package/components/oxy-rich-text/mp-html/editable/index.js +553 -0
  183. package/components/oxy-rich-text/mp-html/emoji/index.js +203 -0
  184. package/components/oxy-rich-text/mp-html/highlight/config.js +5 -0
  185. package/components/oxy-rich-text/mp-html/highlight/index.js +96 -0
  186. package/components/oxy-rich-text/mp-html/highlight/prism.css +1 -0
  187. package/components/oxy-rich-text/mp-html/highlight/prism.min.js +7 -0
  188. package/components/oxy-rich-text/mp-html/img-cache/index.js +138 -0
  189. package/components/oxy-rich-text/mp-html/latex/index.js +80 -0
  190. package/components/oxy-rich-text/mp-html/latex/katex.css +1 -0
  191. package/components/oxy-rich-text/mp-html/latex/katex.min.js +1 -0
  192. package/components/oxy-rich-text/mp-html/markdown/index.js +50 -0
  193. package/components/oxy-rich-text/mp-html/markdown/marked.min.js +71 -0
  194. package/components/oxy-rich-text/mp-html/mp-html.d.ts +184 -0
  195. package/components/oxy-rich-text/mp-html/mp-html.vue +684 -0
  196. package/components/oxy-rich-text/mp-html/node/node.vue +1172 -0
  197. package/components/oxy-rich-text/mp-html/parser.js +1428 -0
  198. package/components/oxy-rich-text/mp-html/search/index.js +132 -0
  199. package/components/oxy-rich-text/mp-html/style/index.js +129 -0
  200. package/components/oxy-rich-text/mp-html/style/parser.js +175 -0
  201. package/components/oxy-rich-text/mp-html/template/index.js +67 -0
  202. package/components/oxy-rich-text/mp-html/txv-video/index.js +46 -0
  203. package/components/oxy-rich-text/oxy-rich-text.vue +642 -0
  204. package/components/oxy-rich-text/types.ts +76 -0
  205. package/components/oxy-row/oxy-row.vue +3 -3
  206. package/components/oxy-row/types.ts +1 -1
  207. package/components/oxy-search/index.scss +3 -3
  208. package/components/oxy-segmented/index.scss +16 -16
  209. package/components/oxy-segmented/oxy-segmented.vue +23 -3
  210. package/components/oxy-select/index.scss +331 -0
  211. package/components/oxy-select/oxy-select.vue +456 -0
  212. package/components/oxy-select/types.ts +83 -0
  213. package/components/oxy-select-picker/index.scss +7 -7
  214. package/components/oxy-select-picker/oxy-select-picker.vue +4 -0
  215. package/components/oxy-select-picker/types.ts +7 -1
  216. package/components/oxy-sidebar-item/index.scss +1 -1
  217. package/components/oxy-signature/oxy-signature.vue +18 -10
  218. package/components/oxy-signature/types.ts +106 -13
  219. package/components/oxy-skeleton/oxy-skeleton.vue +6 -6
  220. package/components/oxy-skeleton/types.ts +1 -1
  221. package/components/oxy-slider/index.scss +3 -3
  222. package/components/oxy-sort-button/index.scss +8 -8
  223. package/components/oxy-status-tip/index.scss +4 -4
  224. package/components/oxy-status-tip/oxy-status-tip.vue +5 -5
  225. package/components/oxy-status-tip/types.ts +3 -3
  226. package/components/oxy-step/index.scss +14 -14
  227. package/components/oxy-sticky/oxy-sticky.vue +6 -6
  228. package/components/oxy-stream-render/index.scss +6 -0
  229. package/components/oxy-stream-render/oxy-stream-render.vue +204 -0
  230. package/components/oxy-stream-render/types.ts +8 -0
  231. package/components/oxy-swipe-action/oxy-swipe-action.vue +27 -2
  232. package/components/oxy-swiper/oxy-swiper.vue +6 -6
  233. package/components/oxy-swiper/types.ts +5 -5
  234. package/components/oxy-switch/index.scss +8 -8
  235. package/components/oxy-switch/oxy-switch.vue +2 -2
  236. package/components/oxy-switch/types.ts +1 -1
  237. package/components/oxy-tab/index.scss +11 -1
  238. package/components/oxy-tabbar/index.scss +1 -1
  239. package/components/oxy-tabbar/oxy-tabbar.vue +39 -10
  240. package/components/oxy-table/index.scss +5 -5
  241. package/components/oxy-table/oxy-table.vue +8 -6
  242. package/components/oxy-table/types.ts +2 -2
  243. package/components/oxy-table-col/oxy-table-col.vue +3 -3
  244. package/components/oxy-table-col/types.ts +2 -2
  245. package/components/oxy-tabs/index.scss +43 -15
  246. package/components/oxy-tabs/oxy-tabs.vue +53 -19
  247. package/components/oxy-tabs/types.ts +15 -3
  248. package/components/oxy-tag/index.scss +15 -15
  249. package/components/oxy-text/index.scss +5 -1
  250. package/components/oxy-text/oxy-text.vue +76 -7
  251. package/components/oxy-text/types.ts +12 -0
  252. package/components/oxy-textarea/index.scss +6 -6
  253. package/components/oxy-toast/oxy-toast.vue +24 -8
  254. package/components/oxy-tooltip/index.scss +9 -9
  255. package/components/oxy-tree/index.scss +61 -9
  256. package/components/oxy-tree/oxy-tree.vue +102 -17
  257. package/components/oxy-tree/types.ts +23 -10
  258. package/components/oxy-upload/index.scss +21 -21
  259. package/components/oxy-upload/types.ts +2 -2
  260. package/components/oxy-verification-code/index.scss +6 -0
  261. package/components/oxy-verification-code/oxy-verification-code.vue +187 -0
  262. package/components/oxy-verification-code/types.ts +82 -0
  263. package/components/oxy-video-preview/index.scss +4 -4
  264. package/components/oxy-virtual-scroll/index.scss +4 -4
  265. package/components/oxy-virtual-scroll/oxy-virtual-scroll.vue +11 -7
  266. package/components/oxy-virtual-scroll/types.ts +14 -14
  267. package/components/oxy-voice-player/index.scss +908 -0
  268. package/components/oxy-voice-player/oxy-voice-player.vue +821 -0
  269. package/components/oxy-voice-player/types.ts +567 -0
  270. package/components/oxy-waterfall/index.scss +18 -0
  271. package/components/oxy-waterfall/oxy-waterfall.vue +218 -0
  272. package/components/oxy-waterfall/types.ts +90 -0
  273. package/components/oxy-waterfall-item/index.scss +8 -0
  274. package/components/oxy-waterfall-item/oxy-waterfall-item.vue +89 -0
  275. package/components/oxy-waterfall-item/types.ts +16 -0
  276. package/components/oxy-watermark/oxy-watermark.vue +35 -13
  277. package/components/oxy-watermark/types.ts +14 -14
  278. package/global.d.ts +9 -0
  279. package/index.ts +3 -0
  280. package/locale/lang/ar-SA.ts +3 -0
  281. package/locale/lang/en-US.ts +29 -0
  282. package/locale/lang/zh-CN.ts +29 -0
  283. package/package.json +97 -1
  284. package/tags.json +1 -1
  285. package/uni-echarts/changelog.md +2 -0
  286. package/uni-echarts/components/index.js +1 -0
  287. package/uni-echarts/components/uni-echarts/events.js +95 -0
  288. package/uni-echarts/components/uni-echarts/types.d.ts +183 -0
  289. package/uni-echarts/components/uni-echarts/types.js +1 -0
  290. package/uni-echarts/components/uni-echarts/uni-echarts.vue +530 -0
  291. package/uni-echarts/components/uni-echarts/uni-echarts.vue.d.ts +19 -0
  292. package/uni-echarts/global.d.ts +7 -0
  293. package/uni-echarts/index.d.ts +440 -0
  294. package/uni-echarts/index.js +2 -0
  295. package/uni-echarts/package.json +105 -0
  296. package/uni-echarts/shared-core.d.ts +269 -0
  297. package/uni-echarts/shared-core.js +900 -0
  298. package/web-types.json +1 -1
  299. package/components/oxy-number-keyboard/index.scss +0 -78
  300. package/components/oxy-number-keyboard/key/index.scss +0 -81
  301. package/components/oxy-number-keyboard/key/index.vue +0 -78
  302. package/components/oxy-number-keyboard/key/types.ts +0 -11
  303. package/components/oxy-number-keyboard/oxy-number-keyboard.vue +0 -151
  304. package/components/oxy-number-keyboard/types.ts +0 -83
  305. package/components/oxy-tree/components/tree-node-content.vue +0 -72
  306. package/components/oxy-tree/index.ts +0 -51
@@ -0,0 +1,42 @@
1
+ import type { PropType } from 'vue'
2
+ import { baseProps, makeNumberProp, makeNumericProp, makeStringProp } from '../common/props'
3
+
4
+ // 二维码样式
5
+ export type ClQrcodeMode = 'rect' | 'circular' | 'line' | 'rectSmall'
6
+
7
+ export const qrcodeProps = {
8
+ ...baseProps,
9
+ /** 二维码内容 */
10
+ text: makeStringProp(''),
11
+ /** 二维码中心图标 */
12
+ logo: makeStringProp(''),
13
+ /** 二维码宽度,number 与纯数字字符串按 rpx 处理 */
14
+ width: makeNumericProp(400),
15
+ /** 二维码高度,number 与纯数字字符串按 rpx 处理 */
16
+ height: makeNumericProp(400),
17
+ /** 二维码中心图标大小,number 与纯数字字符串按 rpx 处理 */
18
+ logoSize: makeNumericProp(80),
19
+ /** 二维码内边距,number 与纯数字字符串按 rpx 处理 */
20
+ padding: makeNumericProp(0),
21
+ /** 二维码前景色 */
22
+ foreground: makeStringProp('#000'),
23
+ /** 二维码背景颜色 */
24
+ background: makeStringProp('#FFFFFF'),
25
+ /** 二维码错误级别
26
+ * 默认值:H
27
+ * 可选值:L、M、Q、H
28
+ * */
29
+ ecc: {
30
+ type: String as PropType<'L' | 'M' | 'Q' | 'H'>,
31
+ default: 'H'
32
+ },
33
+ /** 二维码样式 rect 普通矩形、circular 小圆点、line 线条、rectSmall 小方格*/
34
+ mode: {
35
+ type: String as PropType<ClQrcodeMode>,
36
+ default: 'circular'
37
+ },
38
+ /** 二维码边框颜色 */
39
+ pdColor: makeStringProp(''),
40
+ /** 二维码边框圆角,number 与纯数字字符串按 rpx 处理 */
41
+ pdRadius: makeNumericProp(0)
42
+ }
@@ -29,7 +29,7 @@
29
29
  color: $-dark-color-gray;
30
30
  }
31
31
  }
32
-
32
+
33
33
  @include when(button) {
34
34
  .oxy-radio__label {
35
35
  border-color: #c8c9cc;
@@ -44,7 +44,7 @@
44
44
  }
45
45
  }
46
46
  }
47
-
47
+
48
48
  @include when(dot) {
49
49
  .oxy-radio__shape {
50
50
  border-color: #c8c9cc;
@@ -64,7 +64,7 @@
64
64
  justify-content: space-between;
65
65
  align-items: center;
66
66
  text-align: center;
67
- line-height: 1.2;
67
+ // line-height: 1.2;
68
68
 
69
69
  @include when(first) {
70
70
  margin-top: 0;
@@ -92,7 +92,7 @@
92
92
  vertical-align: top;
93
93
  font-size: $-radio-label-fs;
94
94
  color: $-radio-label-color;
95
- line-height: 20px;
95
+ line-height: 40rpx;
96
96
  word-break: break-all;
97
97
  }
98
98
  @include when(checked) {
@@ -109,7 +109,7 @@
109
109
 
110
110
  @include when(dot) {
111
111
  .oxy-radio__shape {
112
- border: 2px solid $-radio-dot-border-color;
112
+ border: 4rpx solid $-radio-dot-border-color;
113
113
  border-radius: 50%;
114
114
  position: relative;
115
115
  display: inline-block;
@@ -145,7 +145,7 @@
145
145
  @include when(button) {
146
146
  display: inline-block;
147
147
  margin-top: 0;
148
- margin-right: 10px;
148
+ margin-right: 20rpx;
149
149
 
150
150
  .oxy-radio__shape {
151
151
  display: none;
@@ -154,7 +154,7 @@
154
154
  height: $-radio-button-height;
155
155
  min-width: $-radio-button-min-width;
156
156
  max-width: $-radio-button-max-width;
157
- padding: 5px 15px;
157
+ padding: 10rpx 30rpx;
158
158
  margin-right: 0;
159
159
  border-radius: $-radio-button-radius;
160
160
  background-color: $-radio-button-bg;
@@ -187,7 +187,7 @@
187
187
  }
188
188
  .oxy-radio__shape {
189
189
  display: block;
190
- margin-right: 4px;
190
+ margin-right: 8rpx;
191
191
  float: left;
192
192
  &::after {
193
193
  content: "";
@@ -198,7 +198,7 @@
198
198
 
199
199
  @include when(dot) {
200
200
  .oxy-radio__shape {
201
- margin-top: 2px;
201
+ margin-top: 4rpx;
202
202
  }
203
203
  @include when(large) {
204
204
  .oxy-radio__shape {
@@ -210,7 +210,7 @@
210
210
  &.icon-placement-right {
211
211
  .oxy-radio__shape {
212
212
  margin-right: 0;
213
- margin-left: 4px;
213
+ margin-left: 8rpx;
214
214
  float: right;
215
215
  }
216
216
  }
@@ -257,18 +257,18 @@
257
257
 
258
258
  // 以下内容用于解决父子组件样式隔离的问题 —— START
259
259
  @include when(cell-radio) {
260
- padding: 13px 15px;
260
+ padding: 26rpx 30rpx;
261
261
  margin: 0;
262
262
 
263
263
  @include when(large) {
264
- padding: 14px 15px;
264
+ padding: 28rpx 30rpx;
265
265
  }
266
266
  }
267
267
 
268
268
  @include when(button-radio) {
269
269
  display: inline-flex;
270
270
  width: 33.3333%;
271
- padding: 12px 12px 0px 0px;
271
+ padding: 24rpx 24rpx 0 0;
272
272
  box-sizing: border-box;
273
273
 
274
274
  .oxy-radio__label {
@@ -16,7 +16,7 @@
16
16
  >
17
17
  <slot></slot>
18
18
  </view>
19
- <view class="oxy-radio__shape" :style="isChecked && !disabledValue ? 'color: ' + checkedColorValue : ''">
19
+ <view v-if="shapeValue !== 'button'" class="oxy-radio__shape" :style="isChecked && !disabledValue ? 'color: ' + checkedColorValue : ''">
20
20
  <oxy-icon v-if="shapeValue === 'check'" :style="isChecked && !disabledValue ? 'color: ' + checkedColorValue : ''" name="check"></oxy-icon>
21
21
  </view>
22
22
  </view>
@@ -11,11 +11,11 @@
11
11
  background-color: $-radio-bg;
12
12
  font-size: 0;
13
13
 
14
- // 上下20px 左右15px 内部间隔12px
14
+ // 上下40rpx 左右30rpx 内部间隔24rpx
15
15
  @include when(button) {
16
16
  width: 100%;
17
17
  height: 100%;
18
- padding: 8px 3px 20px 15px;
18
+ padding: 16rpx 6rpx 40rpx 30rpx;
19
19
  box-sizing: border-box;
20
20
  overflow: hidden;
21
21
  height: auto;
@@ -31,16 +31,16 @@ export const rateProps = {
31
31
  /**
32
32
  * 图标大小
33
33
  * 类型: string
34
- * 默认值: '16px'
34
+ * 默认值: '32rpx'
35
35
  */
36
- size: makeStringProp('16px'),
36
+ size: makeStringProp('32rpx'),
37
37
 
38
38
  /**
39
39
  * 图标间距
40
40
  * 类型: string
41
- * 默认值: '4px'
41
+ * 默认值: '8rpx'
42
42
  */
43
- space: makeStringProp('4px'),
43
+ space: makeStringProp('8rpx'),
44
44
 
45
45
  /**
46
46
  * 未选中的图标颜色
@@ -5,8 +5,8 @@
5
5
 
6
6
  @include e(container) {
7
7
  position: absolute;
8
- min-width: 1px;
9
- min-height: 1px;
8
+ min-width: 2rpx;
9
+ min-height: 2rpx;
10
10
  }
11
11
 
12
12
  @include e(wrapper) {
@@ -13,7 +13,7 @@
13
13
  :scroll-left="expandScrollLeft"
14
14
  @scroll="onScrollHandler"
15
15
  >
16
- <view class="oxy-resize__wrapper--placeholder" style="height: 100000px; width: 100000px"></view>
16
+ <view class="oxy-resize__wrapper--placeholder" style="height: 200000rpx; width: 200000rpx"></view>
17
17
  </scroll-view>
18
18
  <!--监听插槽变小-->
19
19
  <scroll-view
@@ -43,7 +43,7 @@ export default {
43
43
 
44
44
  <script lang="ts" setup>
45
45
  import { computed, getCurrentInstance, onMounted, ref } from 'vue'
46
- import { addUnit, objToStyle, uuid } from '../common/util'
46
+ import { objToStyle, unitConvert, uuid } from '../common/util'
47
47
  import { resizeProps } from './types'
48
48
 
49
49
  const props = defineProps(resizeProps)
@@ -59,8 +59,8 @@ const scrollEventCount = ref<number>(0)
59
59
 
60
60
  const rootStyle = computed(() => {
61
61
  const style: Record<string, string | number> = {
62
- width: addUnit(width.value),
63
- height: addUnit(height.value)
62
+ width: unitConvert(width.value, 0, { output: 'px' }),
63
+ height: unitConvert(height.value, 0, { output: 'px' })
64
64
  }
65
65
  return `${objToStyle(style)}${props.customStyle}`
66
66
  })
@@ -2,5 +2,8 @@ import { baseProps, makeStringProp } from '../common/props'
2
2
 
3
3
  export const resizeProps = {
4
4
  ...baseProps,
5
+ /**
6
+ * 自定义容器类名
7
+ */
5
8
  customContainerClass: makeStringProp('')
6
9
  }
@@ -0,0 +1 @@
1
+ <?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1766975046008" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="1819" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><path d="M508.544 66.88A448 448 0 0 0 60.992 514.432a448 448 0 0 0 447.552 447.552 448 448 0 0 0 447.552-447.552 448 448 0 0 0-447.552-447.552z m0 831.104a384 384 0 0 1-383.552-383.552 384 384 0 0 1 383.552-383.552 384 384 0 0 1 383.552 383.552 384 384 0 0 1-383.552 383.552z" fill="#666666" p-id="1820"></path><path d="M367.488 404.48m-48 0a48 48 0 1 0 96 0 48 48 0 1 0-96 0Z" fill="#666666" p-id="1821"></path><path d="M635.52 404.48m-48 0a48 48 0 1 0 96 0 48 48 0 1 0-96 0Z" p-id="1822" fill="#666666"></path><path d="M669.248 613.056a31.936 31.936 0 0 0-44.16 9.664c-20.8 32.448-67.968 53.44-120.064 53.44-52.096 0-99.2-20.928-120-53.376a32 32 0 1 0-53.888 34.496c32.768 51.136 99.392 82.88 173.888 82.88 74.56 0 141.184-31.744 173.952-82.944a32 32 0 0 0-9.728-44.16z" fill="#666666" p-id="1823"></path></svg>
@@ -0,0 +1 @@
1
+ <?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1766975139977" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="4924" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><path d="M156.09136 606.57001a457.596822 457.596822 0 0 1 221.680239-392.516385 50.844091 50.844091 0 1 1 50.844091 86.943396 355.90864 355.90864 0 0 0-138.804369 152.532274h16.77855a152.532274 152.532274 0 1 1-152.532274 152.532274z m406.752731 0a457.596822 457.596822 0 0 1 221.680239-392.007944 50.844091 50.844091 0 1 1 50.844091 86.943396 355.90864 355.90864 0 0 0-138.804369 152.532274h16.77855a152.532274 152.532274 0 1 1-152.532274 152.532274z" fill="#666666" p-id="4925"></path></svg>
@@ -0,0 +1 @@
1
+ <?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1766975077860" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="2823" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><path d="M859.428571 256a18.285714 18.285714 0 0 1-18.285714-18.285714V146.285714H182.857143v91.428572a18.285714 18.285714 0 0 1-36.571429 0v-109.714286a18.285714 18.285714 0 0 1 18.285715-18.285714h694.857142a18.285714 18.285714 0 0 1 18.285715 18.285714v109.714286a18.285714 18.285714 0 0 1-18.285715 18.285714z" p-id="2824"></path><path d="M512 932.571429a18.285714 18.285714 0 0 1-18.285714-18.285715V128a18.285714 18.285714 0 0 1 36.571428 0V914.285714a18.285714 18.285714 0 0 1-18.285714 18.285715z" p-id="2825"></path><path d="M694.857143 932.571429H329.142857a18.285714 18.285714 0 0 1 0-36.571429h365.714286a18.285714 18.285714 0 0 1 0 36.571429z" fill="#666666" p-id="2826"></path></svg>
@@ -0,0 +1 @@
1
+ <?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1766975122092" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="3948" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><path d="M308.623635 461.155909h406.75273v-355.90864a50.844091 50.844091 0 1 1 101.688183 0v813.505462a50.844091 50.844091 0 0 1-101.688183 0v-355.90864h-406.75273v355.90864a50.844091 50.844091 0 0 1-101.688183 0v-813.505462a50.844091 50.844091 0 0 1 101.688183 0z" fill="#666666" p-id="3949"></path></svg>
@@ -0,0 +1,160 @@
1
+ @import '../common/abstracts/variable';
2
+ @import '../common/abstracts/mixin';
3
+
4
+ .oxy-rich-text {
5
+ display: flex;
6
+ flex-direction: column;
7
+ overflow: hidden;
8
+ height: 100%;
9
+ text-align: left;
10
+
11
+ &.editable {
12
+ border: 1px solid $-rich-text-editable-border-color;
13
+
14
+ }
15
+
16
+ .rich-text-main {
17
+ flex: 1;
18
+ overflow-y: auto;
19
+ padding: 16rpx;
20
+ position: relative;
21
+
22
+ }
23
+
24
+ :deep(.mp-html) {
25
+ // Styles are now handled via tagStyle prop
26
+ }
27
+
28
+ .editor_toolbox {
29
+ width: 100%;
30
+ background: linear-gradient(180deg, #ffffff 0%, #fafafa 100%);
31
+ padding: 8rpx 16rpx;
32
+ box-sizing: border-box;
33
+ flex-wrap: wrap;
34
+ gap: 8rpx;
35
+ display: flex;
36
+ align-items: center;
37
+ border-bottom: 1px solid $-color-border-light;
38
+ box-shadow: 0 2rpx 8rpx rgba(0, 0, 0, 0.03);
39
+
40
+ .oxy-icon {
41
+ cursor: pointer;
42
+ width: 64rpx;
43
+ height: 64rpx;
44
+ display: inline-flex;
45
+ align-items: center;
46
+ justify-content: center;
47
+ border-radius: 12rpx;
48
+ transition: all 0.2s ease;
49
+ color: $-color-secondary;
50
+ font-size: 36rpx;
51
+
52
+ &:hover {
53
+ background-color: rgba(0, 0, 0, 0.05);
54
+ color: $-color-theme;
55
+ }
56
+
57
+ &:active {
58
+ background-color: rgba(0, 0, 0, 0.08);
59
+ }
60
+ }
61
+
62
+ image {
63
+ width: 32rpx;
64
+ height: 32rpx;
65
+ cursor: pointer;
66
+ padding: 16rpx;
67
+ border-radius: 12rpx;
68
+ transition: all 0.2s ease;
69
+ box-sizing: content-box;
70
+ display: inline-block;
71
+ vertical-align: middle;
72
+
73
+ &:hover {
74
+ background-color: rgba(0, 0, 0, 0.05);
75
+ }
76
+
77
+ &:active {
78
+ background-color: rgba(0, 0, 0, 0.08);
79
+ }
80
+ }
81
+
82
+ svg {
83
+ cursor: pointer;
84
+ width: 32rpx;
85
+ height: 32rpx;
86
+ padding: 16rpx;
87
+ border-radius: 12rpx;
88
+ transition: all 0.2s ease;
89
+ box-sizing: content-box;
90
+ display: inline-block;
91
+ vertical-align: middle;
92
+
93
+ &:hover {
94
+ background-color: rgba(0, 0, 0, 0.05);
95
+ transform: translateY(-2rpx);
96
+ }
97
+
98
+ &:active {
99
+ background-color: rgba(0, 0, 0, 0.08);
100
+ transform: translateY(0);
101
+ }
102
+ }
103
+ }
104
+
105
+ .reverse {
106
+ transform: scaleX(-1);
107
+ }
108
+
109
+ .dialog-title {
110
+ font-size: 32rpx;
111
+ line-height: 92rpx;
112
+ text-align: center;
113
+ height: 92rpx;
114
+ font-weight: $-fw-semibold;
115
+ color: $-color-black;
116
+
117
+ }
118
+
119
+ .oxy-rich-text__popup {
120
+ padding: 0 24rpx 24rpx 24rpx;
121
+
122
+ .oxy-rich-text__emoji-content {
123
+ display: flex;
124
+ font-size: 40rpx;
125
+ line-height: 70rpx;
126
+ text-align: center;
127
+
128
+ .oxy-rich-text__emoji-block {
129
+ flex: 1;
130
+ }
131
+ }
132
+
133
+ .oxy-rich-text__popup-divider {
134
+ border-top: 1px dashed $-rich-text-popup-divider-color;
135
+ width: 80%;
136
+ height: 0;
137
+ margin: 40rpx auto;
138
+ }
139
+
140
+ .oxy-rich-text__link-input {
141
+ margin-bottom: 32rpx;
142
+
143
+ .oxy-rich-text__link-label {
144
+ font-size: 28rpx;
145
+ color: $-color-secondary;
146
+ margin-bottom: 16rpx;
147
+ }
148
+ }
149
+
150
+ .oxy-rich-text__link-buttons {
151
+ display: flex;
152
+ gap: 24rpx;
153
+ margin-top: 40rpx;
154
+
155
+ .oxy-button {
156
+ flex: 1;
157
+ }
158
+ }
159
+ }
160
+ }
@@ -0,0 +1,122 @@
1
+ <template>
2
+ <view class="card" @click="onClick" :style="[customStyle]" :data-i="$attrs['data-i']">
3
+ <image class="card-img" mode="aspectFill" :src="src" />
4
+ <view class="text-wrap text-wrap-width" v-if="!!desc">
5
+ <view class="title one-t">{{title}}</view>
6
+ <view class="desc one-t">{{desc}}</view>
7
+ </view>
8
+ <view v-else class="text-wrap-width title more-t">{{title}}</view>
9
+ <image class="card-icon" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGAAAABgCAMAAADVRocKAAABCFBMVEUAAAC/v7+qqqqZmZmLi6KJnZ2ImZmHlpaGlKGMjJmSkp6Li5eQkJuKlZ+Pj5mOjpeJkpuNjZ6IkJmHj5eLi5uKkpmGjZqJj5uLi5eIjpmIjZiKj5qKj5mJjpiHjJqJjZaGj5iKj5eIjJmKjpqHi5eGjZeIi5eHjZiIi5eHjJiIjpaHjJeIjZiGjJeIjZiGjJaGjJeIi5aGjJeHi5eHi5aHjJeHjJaHjJeGi5eHjJaHjJeGi5aGi5aHjJeHjJaGjJeGjJeHjJaHi5eGi5eHjJaHjJeGjJaGjJeHi5aHjJeHjJeHi5aGjJeHi5aGjJaHi5eGjJaHi5eHjJaGi5eGi5aHjJeGi5aGi5apAvjmAAAAV3RSTlMABAYKCw0PERMUFRYXGBkbHB0eICEjJiksLS8wMjQ1ODk7PD9ATFZXWFlaW1xdXl+Hi6msu7/Dx8vMzs/R0tTV19na3N3f4uTn6evs7e7v8PHy9PX7/P18cCTXAAABEklEQVRo3u2YWU5CQRQFn4qCM4LzhIoDAorzrIgCigiCimf/O/Gj3UIlmJxaQFXSea/T90aRMcYYY4zpG0ZPu9cZMnAi6SsLBjqS9LnJBcqSpC53Sjs/kqSPNaxwGAqtFbrQXKILjQW68DpPF17m6EI9TRdqM3TheZouVCbpQnkcK5RC4T5BF27jdOFqhC5cDtOFixhdOB+iC2cDdOEoggttLrDbk6QW5/+WJB1T/r1e+FAHWT/2q/35scsiF/w3cdZ/R13Y+8H/MMb6Hycgfz74n6ZYfzXJ+mspyF8I/vos68cep0X4eV2EB4SD4H9bZP3vy+yTtL3KjrGddXgQ34BXCVvwMmT7P69zjDHGGGP6gF83lHISOctsKQAAAABJRU5ErkJggg=="></image>
10
+ </view>
11
+ </template>
12
+
13
+ <script>
14
+ export default {
15
+ props: {
16
+ mode: {
17
+ type: Boolean,
18
+ default: false
19
+ },
20
+ src: String,
21
+ title: String,
22
+ desc: String,
23
+ url: String,
24
+ color: String,
25
+ bgcolor: String,
26
+ border: String
27
+ },
28
+ data () {
29
+ return {
30
+
31
+ }
32
+ },
33
+ computed: {
34
+ customStyle () {
35
+ return {
36
+ 'background-color': this.bgColor || '#a4d0ff',
37
+ border: this.border || '1px solid #FFF',
38
+ color: this.color || '#000'
39
+ }
40
+ }
41
+ },
42
+ methods: {
43
+ onClick (e) {
44
+ if (this.url && this.url.trim().length > 6 && !this.mode) {
45
+ uni.navigateTo({ url: this.url })
46
+ }
47
+ this.$emit('click', e)
48
+ }
49
+ }
50
+ }
51
+ </script>
52
+
53
+ <style lang="scss">
54
+ .one-t {
55
+ overflow: hidden;
56
+ white-space: nowrap;
57
+ text-overflow: ellipsis;
58
+ transition: all linear 0.2s;
59
+ }
60
+
61
+ .more-t {
62
+ overflow: hidden;
63
+ text-overflow: ellipsis;
64
+ word-break:break-all;
65
+ display: -webkit-box;
66
+ -webkit-line-clamp: 2;
67
+ -webkit-box-orient: vertical;
68
+ transition: all linear 0.2s;
69
+ }
70
+
71
+ .card {
72
+
73
+ width: 80%;
74
+ margin: 10rpx auto;
75
+ max-width: 700rpx;
76
+ max-height: 140rpx;
77
+
78
+ box-sizing: border-box;
79
+ overflow: hidden;
80
+
81
+ display: flex;
82
+ justify-content: space-between;
83
+ align-items: center;
84
+
85
+ padding: 20rpx 0 20rpx 10rpx;
86
+ border-radius: 12rpx;
87
+
88
+ &-img {
89
+ width: 96rpx;
90
+ height: 96rpx;
91
+ border-radius: 12rpx;
92
+ flex: 0 0 96rpx;
93
+ }
94
+
95
+ &-icon {
96
+ width: 30rpx;
97
+ height: 96rpx;
98
+ }
99
+
100
+ .text-wrap {
101
+
102
+ display: flex;
103
+ flex-direction: column;
104
+ justify-content: space-between;
105
+
106
+ &-width {
107
+ width: 72%;
108
+ }
109
+ }
110
+
111
+ .title {
112
+ font-weight: bold;
113
+ font-size: 34rpx;
114
+ line-height: 48rpx;
115
+ }
116
+
117
+ .desc {
118
+ font-size: 27rpx;
119
+ line-height: 37rpx;
120
+ }
121
+ }
122
+ </style>
@@ -0,0 +1,7 @@
1
+ /**
2
+ * @fileoverview Card 插件
3
+ */
4
+ function Card (vm) {
5
+ }
6
+
7
+ export default Card
@@ -0,0 +1,15 @@
1
+ // 以下项目可以删减或更换顺序,但不能添加或更改名字
2
+ export default {
3
+ // 普通标签的菜单项
4
+ node: ['大小', '颜色', '斜体', '粗体', '下划线', '居中', '缩进', '上移', '下移', '删除'],
5
+ // 可以设置的文字颜色,此项可以添加 css 颜色
6
+ color: ['red', 'yellow', 'blue', 'green', 'gray', 'white', 'black'],
7
+ // 图片的菜单项
8
+ img: ['换图', '宽度', '超链接', '预览图', '禁用预览', '上移', '下移', '删除'],
9
+ // 链接的菜单项
10
+ link: ['更换链接', '上移', '下移', '删除'],
11
+ // 音视频的菜单项
12
+ media: ['封面', '循环', '自动播放', '上移', '下移', '删除'],
13
+ // 卡片的菜单项
14
+ card: ['上移', '下移', '删除']
15
+ }