fusions-ui 1.2.7 → 1.2.9

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 (547) hide show
  1. package/LICENSE +1 -1
  2. package/changelog.md +2 -0
  3. package/components/avatar/index.ts +1 -0
  4. package/components/avatar/src/avatar.ts +131 -0
  5. package/components/avatar/src/avatar.vue +104 -0
  6. package/components/avatar/src/composables/index.ts +1 -0
  7. package/components/avatar/src/composables/use-avatar.ts +61 -0
  8. package/components/avatar-group/index.ts +1 -0
  9. package/components/avatar-group/src/avatar-group.ts +86 -0
  10. package/components/{fu-avatar-group/fu-avatar-group.vue → avatar-group/src/avatar-group.vue} +27 -34
  11. package/components/avatar-group/src/composables/index.ts +1 -0
  12. package/components/avatar-group/src/composables/use-avatar-group.ts +17 -0
  13. package/components/badge/index.ts +1 -0
  14. package/components/badge/src/badge.ts +126 -0
  15. package/components/{fu-badge/fu-badge.vue → badge/src/badge.vue} +26 -62
  16. package/components/badge/src/composables/badge-custom.ts +51 -0
  17. package/components/badge/src/composables/index.ts +1 -0
  18. package/components/banner-arc/index.ts +1 -0
  19. package/components/banner-arc/src/banner-arc.ts +41 -0
  20. package/components/banner-arc/src/banner-arc.vue +49 -0
  21. package/components/banner-arc/src/composables/banner-arc-custom.ts +19 -0
  22. package/components/banner-arc/src/composables/index.ts +1 -0
  23. package/components/button/index.ts +1 -0
  24. package/components/button/src/button.ts +332 -0
  25. package/components/{fu-button/fu-button.vue → button/src/button.vue} +57 -163
  26. package/components/button/src/composables/button-custom.ts +90 -0
  27. package/components/button/src/composables/index.ts +2 -0
  28. package/components/button/src/composables/use-button.ts +137 -0
  29. package/components/cell/index.ts +1 -0
  30. package/components/cell/src/cell.ts +167 -0
  31. package/components/{fu-cell/fu-cell.vue → cell/src/cell.vue} +29 -38
  32. package/components/cell/src/composables/index.ts +1 -0
  33. package/components/cell/src/composables/use-cell.ts +20 -0
  34. package/components/cell-group/index.ts +1 -0
  35. package/components/cell-group/src/cell-group.ts +23 -0
  36. package/components/{fu-cell-group/fu-cell-group.vue → cell-group/src/cell-group.vue} +8 -13
  37. package/components/checkbox/index.ts +1 -0
  38. package/components/checkbox/src/checkbox.ts +144 -0
  39. package/components/checkbox/src/checkbox.vue +270 -0
  40. package/components/checkbox/src/composables/checkbox-custom.ts +15 -0
  41. package/components/checkbox/src/composables/index.ts +2 -0
  42. package/components/checkbox/src/composables/use-checkbox.ts +200 -0
  43. package/components/code-input/index.ts +1 -0
  44. package/components/code-input/src/code-input.ts +157 -0
  45. package/components/code-input/src/code-input.vue +158 -0
  46. package/components/code-input/src/composables/code-input-custom.ts +74 -0
  47. package/components/code-input/src/composables/index.ts +2 -0
  48. package/components/code-input/src/composables/use-code-input.ts +67 -0
  49. package/components/code-verify/index.ts +1 -0
  50. package/components/code-verify/src/code-verify.ts +160 -0
  51. package/components/code-verify/src/code-verify.vue +87 -0
  52. package/components/code-verify/src/composables/code-verify-custom.ts +23 -0
  53. package/components/code-verify/src/composables/index.ts +2 -0
  54. package/components/code-verify/src/composables/use-code-verify.ts +132 -0
  55. package/components/collapse/index.ts +1 -0
  56. package/components/collapse/src/collapse.ts +41 -0
  57. package/components/collapse/src/collapse.vue +48 -0
  58. package/components/collapse/src/composables/index.ts +1 -0
  59. package/components/collapse/src/composables/use-collapse.ts +150 -0
  60. package/components/collapse-item/index.ts +1 -0
  61. package/components/collapse-item/src/collapse-item.ts +102 -0
  62. package/components/{fu-collapse-item/fu-collapse-item.vue → collapse-item/src/collapse-item.vue} +20 -159
  63. package/components/collapse-item/src/composables/index.ts +1 -0
  64. package/components/collapse-item/src/composables/use-collapse-item.ts +139 -0
  65. package/components/countdown/index.ts +1 -0
  66. package/components/countdown/src/composables/index.ts +1 -0
  67. package/components/countdown/src/composables/use-countdown.ts +133 -0
  68. package/components/countdown/src/countdown.ts +63 -0
  69. package/components/countdown/src/countdown.vue +60 -0
  70. package/components/{fu-countdown/util.js → countdown/src/util.ts} +5 -5
  71. package/components/datetime-picker/index.ts +1 -0
  72. package/components/datetime-picker/src/composables/index.ts +1 -0
  73. package/components/datetime-picker/src/composables/use-datetime-picker.ts +325 -0
  74. package/components/datetime-picker/src/datetime-picker.ts +223 -0
  75. package/components/datetime-picker/src/datetime-picker.vue +96 -0
  76. package/components/form/index.ts +1 -0
  77. package/components/form/src/composables/index.ts +1 -0
  78. package/components/form/src/composables/use-form.ts +256 -0
  79. package/components/form/src/form.ts +108 -0
  80. package/components/form/src/form.vue +64 -0
  81. package/components/{fu-form/utils.js → form/src/utils.ts} +49 -42
  82. package/components/{fu-form/validate.js → form/src/validate.ts} +58 -49
  83. package/components/form-item/index.ts +1 -0
  84. package/components/form-item/src/composables/index.ts +1 -0
  85. package/components/form-item/src/composables/use-form-item.ts +292 -0
  86. package/components/form-item/src/form-item.ts +81 -0
  87. package/components/form-item/src/form-item.vue +229 -0
  88. package/components/fusions-ui/src/fusions-ui.vue +8 -0
  89. package/components/grid/index.ts +1 -0
  90. package/components/grid/src/composables/index.ts +1 -0
  91. package/components/grid/src/composables/use-grid.ts +67 -0
  92. package/components/grid/src/grid.ts +54 -0
  93. package/components/grid/src/grid.vue +69 -0
  94. package/components/grid-item/index.ts +1 -0
  95. package/components/grid-item/src/composables/grid-item-custom.ts +16 -0
  96. package/components/grid-item/src/composables/index.ts +2 -0
  97. package/components/grid-item/src/composables/use-grid-item.ts +55 -0
  98. package/components/grid-item/src/grid-item.ts +15 -0
  99. package/components/grid-item/src/grid-item.vue +102 -0
  100. package/components/icon/index.ts +1 -0
  101. package/components/icon/src/composables/icon-custom.ts +41 -0
  102. package/components/icon/src/composables/index.ts +2 -0
  103. package/components/icon/src/composables/use-icon.ts +14 -0
  104. package/components/{fu-icon → icon/src}/fuicon.css +584 -584
  105. package/components/icon/src/fuicon.ts +1023 -0
  106. package/components/icon/src/icon.ts +84 -0
  107. package/components/icon/src/icon.vue +92 -0
  108. package/components/image/index.ts +1 -0
  109. package/components/image/src/composables/image-custom.ts +36 -0
  110. package/components/image/src/composables/index.ts +2 -0
  111. package/components/image/src/composables/use-image.ts +135 -0
  112. package/components/image/src/image.ts +185 -0
  113. package/components/image/src/image.vue +152 -0
  114. package/components/index-anchor/index.ts +1 -0
  115. package/components/index-anchor/src/composables/index.ts +1 -0
  116. package/components/index-anchor/src/composables/use-index-anchor.ts +44 -0
  117. package/components/index-anchor/src/index-anchor.ts +45 -0
  118. package/components/index-anchor/src/index-anchor.vue +60 -0
  119. package/components/index-item/index.ts +1 -0
  120. package/components/index-item/src/composables/index.ts +1 -0
  121. package/components/index-item/src/composables/use-index-item.ts +75 -0
  122. package/components/index-item/src/index-item.ts +13 -0
  123. package/components/index-item/src/index-item.vue +32 -0
  124. package/components/index-list/index.ts +1 -0
  125. package/components/index-list/src/composables/index.ts +1 -0
  126. package/components/index-list/src/composables/use-index-list.ts +297 -0
  127. package/components/index-list/src/index-list.ts +52 -0
  128. package/components/index-list/src/index-list.vue +178 -0
  129. package/components/index.ts +62 -0
  130. package/components/input/index.ts +1 -0
  131. package/components/input/src/composables/index.ts +2 -0
  132. package/components/input/src/composables/input-custom.ts +69 -0
  133. package/components/input/src/composables/use-input.ts +117 -0
  134. package/components/input/src/input.ts +360 -0
  135. package/components/input/src/input.vue +241 -0
  136. package/components/keyboard/index.ts +1 -0
  137. package/components/keyboard/src/composables/index.ts +3 -0
  138. package/components/keyboard/src/composables/use-keyboard-car.ts +99 -0
  139. package/components/keyboard/src/composables/use-keyboard-number.ts +81 -0
  140. package/components/keyboard/src/composables/use-keyboard.ts +61 -0
  141. package/components/keyboard/src/keyboard-car.ts +53 -0
  142. package/components/{fu-keyboard → keyboard/src}/keyboard-car.vue +37 -199
  143. package/components/keyboard/src/keyboard-number.ts +44 -0
  144. package/components/keyboard/src/keyboard-number.vue +108 -0
  145. package/components/keyboard/src/keyboard.ts +174 -0
  146. package/components/{fu-keyboard/fu-keyboard.vue → keyboard/src/keyboard.vue} +38 -63
  147. package/components/line/index.ts +1 -0
  148. package/components/line/src/composables/index.ts +1 -0
  149. package/components/line/src/composables/line-custom.ts +30 -0
  150. package/components/line/src/line.ts +82 -0
  151. package/components/line/src/line.vue +44 -0
  152. package/components/link/index.ts +1 -0
  153. package/components/link/src/composables/index.ts +2 -0
  154. package/components/link/src/composables/link-custom.ts +19 -0
  155. package/components/link/src/composables/use-link.ts +33 -0
  156. package/components/link/src/link.ts +61 -0
  157. package/components/link/src/link.vue +62 -0
  158. package/components/loading/index.ts +1 -0
  159. package/{libs/function/colorGradient.js → components/loading/src/composables/colorGradient.ts} +4 -4
  160. package/components/loading/src/composables/index.ts +2 -0
  161. package/components/loading/src/composables/loading-custom.ts +21 -0
  162. package/components/loading/src/composables/use-loading.ts +100 -0
  163. package/components/loading/src/loading.ts +77 -0
  164. package/components/{fu-loading/fu-loading.vue → loading/src/loading.vue} +23 -119
  165. package/components/loading-more/index.ts +1 -0
  166. package/components/loading-more/src/loading-more.ts +75 -0
  167. package/components/{fu-loading-more/fu-loading-more.vue → loading-more/src/loading-more.vue} +18 -19
  168. package/components/modal/index.ts +1 -0
  169. package/components/modal/src/composables/index.ts +2 -0
  170. package/components/modal/src/composables/modal-custom.ts +17 -0
  171. package/components/modal/src/composables/use-modal.ts +56 -0
  172. package/components/modal/src/modal.ts +152 -0
  173. package/components/{fu-modal/fu-modal.vue → modal/src/modal.vue} +41 -69
  174. package/components/navbar/index.ts +1 -0
  175. package/components/navbar/src/composables/index.ts +2 -0
  176. package/components/navbar/src/composables/navbar-custom.ts +62 -0
  177. package/components/navbar/src/composables/use-navbar.ts +42 -0
  178. package/components/navbar/src/navbar.ts +151 -0
  179. package/components/navbar/src/navbar.vue +249 -0
  180. package/components/notice-bar/index.ts +3 -0
  181. package/components/notice-bar/src/composables/index.ts +5 -0
  182. package/components/notice-bar/src/composables/notice-column-custom.ts +43 -0
  183. package/components/notice-bar/src/composables/notice-row-custom.ts +26 -0
  184. package/components/notice-bar/src/composables/use-notice-bar.ts +34 -0
  185. package/components/notice-bar/src/composables/use-notice-column.ts +31 -0
  186. package/components/notice-bar/src/composables/use-notice-row.ts +88 -0
  187. package/components/notice-bar/src/notice-bar.ts +197 -0
  188. package/components/{fu-notice-bar/fu-notice-bar.vue → notice-bar/src/notice-bar.vue} +28 -41
  189. package/components/notice-bar/src/notice-column.ts +172 -0
  190. package/components/notice-bar/src/notice-column.vue +129 -0
  191. package/components/notice-bar/src/notice-row.ts +155 -0
  192. package/components/notice-bar/src/notice-row.vue +135 -0
  193. package/components/number-box/index.ts +1 -0
  194. package/components/number-box/src/composables/index.ts +2 -0
  195. package/components/number-box/src/composables/number-box-custom.ts +16 -0
  196. package/components/number-box/src/composables/use-number-box.ts +84 -0
  197. package/components/number-box/src/number-box.ts +98 -0
  198. package/components/number-box/src/number-box.vue +123 -0
  199. package/components/parse/index.ts +1 -0
  200. package/components/parse/src/app-plus/html/js/handler.js +254 -0
  201. package/components/parse/src/app-plus/html/js/uni.webview.min.js +188 -0
  202. package/components/parse/src/app-plus/html/local.html +32 -0
  203. package/components/parse/src/composables/index.ts +1 -0
  204. package/components/parse/src/composables/use-parse.ts +428 -0
  205. package/components/parse/src/node/node.vue +635 -0
  206. package/components/parse/src/parse.ts +156 -0
  207. package/components/parse/src/parse.vue +131 -0
  208. package/components/parse/src/parser.ts +1402 -0
  209. package/components/picker/index.ts +1 -0
  210. package/components/picker/src/composables/index.ts +2 -0
  211. package/components/picker/src/composables/picker-custom.ts +40 -0
  212. package/components/picker/src/composables/use-picker.ts +179 -0
  213. package/components/picker/src/picker.ts +172 -0
  214. package/components/picker/src/picker.vue +197 -0
  215. package/components/popup/index.ts +1 -0
  216. package/components/popup/src/composables/index.ts +1 -0
  217. package/components/popup/src/composables/use-popup.ts +346 -0
  218. package/components/popup/src/keypress.ts +55 -0
  219. package/components/popup/src/popup.ts +101 -0
  220. package/components/popup/src/popup.vue +204 -0
  221. package/components/progress/index.ts +1 -0
  222. package/components/progress/src/composables/index.ts +2 -0
  223. package/components/progress/src/composables/progress-custom.ts +24 -0
  224. package/components/progress/src/composables/use-progress.ts +159 -0
  225. package/components/progress/src/progress.ts +84 -0
  226. package/components/progress/src/progress.vue +150 -0
  227. package/components/rate/index.ts +1 -0
  228. package/components/rate/src/composables/index.ts +1 -0
  229. package/components/rate/src/composables/use-rate.ts +196 -0
  230. package/components/rate/src/rate.ts +114 -0
  231. package/components/rate/src/rate.vue +113 -0
  232. package/components/read-more/index.ts +1 -0
  233. package/components/read-more/src/composables/index.ts +2 -0
  234. package/components/read-more/src/composables/read-more-custom.ts +46 -0
  235. package/components/read-more/src/composables/use-read-more.ts +72 -0
  236. package/components/read-more/src/read-more.ts +102 -0
  237. package/components/read-more/src/read-more.vue +104 -0
  238. package/components/safe-bottom/index.ts +1 -0
  239. package/components/safe-bottom/src/composables/index.ts +2 -0
  240. package/components/safe-bottom/src/composables/safe-bottom-custom.ts +18 -0
  241. package/components/safe-bottom/src/composables/use-safe-bottom.ts +17 -0
  242. package/components/safe-bottom/src/safe-bottom.ts +8 -0
  243. package/components/safe-bottom/src/safe-bottom.vue +43 -0
  244. package/components/scroll-list/index.ts +1 -0
  245. package/components/scroll-list/src/composables/index.ts +2 -0
  246. package/components/scroll-list/src/composables/scroll-list-custom.ts +41 -0
  247. package/components/scroll-list/src/composables/use-scroll-list.ts +126 -0
  248. package/components/scroll-list/src/scroll-list.ts +57 -0
  249. package/components/scroll-list/src/scroll-list.vue +143 -0
  250. package/components/{fu-scroll-list/scrollWxs.wxs → scroll-list/src/scroll-wxs.wxs} +2 -2
  251. package/components/search/index.ts +1 -0
  252. package/components/search/src/composables/index.ts +2 -0
  253. package/components/search/src/composables/search-custom.ts +25 -0
  254. package/components/search/src/composables/use-search.ts +106 -0
  255. package/components/search/src/search.ts +186 -0
  256. package/components/{fu-search/fu-search.vue → search/src/search.vue} +42 -154
  257. package/components/section/index.ts +1 -0
  258. package/components/section/src/composables/index.ts +1 -0
  259. package/components/section/src/composables/use-section.ts +19 -0
  260. package/components/section/src/section.ts +83 -0
  261. package/components/{fu-section/fu-section.vue → section/src/section.vue} +36 -35
  262. package/components/sign-board/index.ts +1 -0
  263. package/components/sign-board/src/composables/index.ts +1 -0
  264. package/components/sign-board/src/composables/use-sign-board.ts +552 -0
  265. package/components/sign-board/src/sign-board.ts +48 -0
  266. package/components/sign-board/src/sign-board.vue +191 -0
  267. package/components/skeleton/index.ts +1 -0
  268. package/components/skeleton/src/composables/index.ts +2 -0
  269. package/components/skeleton/src/composables/skeleton-custom.ts +23 -0
  270. package/components/skeleton/src/composables/use-skeleton.ts +102 -0
  271. package/components/skeleton/src/skeleton.ts +37 -0
  272. package/components/skeleton/src/skeleton.vue +147 -0
  273. package/components/status-bar/src/composables/index.ts +1 -0
  274. package/components/status-bar/src/composables/use-status-bar.ts +29 -0
  275. package/components/status-bar/src/status-bar.vue +21 -0
  276. package/components/steps/index.ts +1 -0
  277. package/components/steps/src/composables/index.ts +1 -0
  278. package/components/steps/src/composables/use-steps.ts +27 -0
  279. package/components/steps/src/steps.ts +65 -0
  280. package/components/steps/src/steps.vue +46 -0
  281. package/components/steps-item/index.ts +1 -0
  282. package/components/steps-item/src/composables/index.ts +2 -0
  283. package/components/steps-item/src/composables/steps-item-custom.ts +81 -0
  284. package/components/steps-item/src/composables/use-steps-item.ts +87 -0
  285. package/components/steps-item/src/steps-item.ts +38 -0
  286. package/components/steps-item/src/steps-item.vue +224 -0
  287. package/components/sticky/index.ts +1 -0
  288. package/components/sticky/src/composables/index.ts +2 -0
  289. package/components/sticky/src/composables/sticky-custom.ts +57 -0
  290. package/components/sticky/src/composables/use-sticky.ts +152 -0
  291. package/components/sticky/src/sticky.ts +62 -0
  292. package/components/sticky/src/sticky.vue +65 -0
  293. package/components/subsection/index.ts +1 -0
  294. package/components/subsection/src/composables/index.ts +2 -0
  295. package/components/subsection/src/composables/subsection-custom.ts +71 -0
  296. package/components/subsection/src/composables/use-subsection.ts +85 -0
  297. package/components/subsection/src/subsection.ts +107 -0
  298. package/components/subsection/src/subsection.vue +165 -0
  299. package/components/swipe-action/src/composables/index.ts +1 -0
  300. package/components/swipe-action/src/composables/use-swipe-action.ts +58 -0
  301. package/components/swipe-action/src/swipe-action.vue +81 -0
  302. package/components/swipe-action-item/index.ts +1 -0
  303. package/components/{fu-swipe-action-item/mpwxs.js → swipe-action-item/src/mpwxs.ts} +22 -27
  304. package/components/swipe-action-item/src/swipe-action-item.ts +68 -0
  305. package/components/{fu-swipe-action-item/fu-swipe-action-item.vue → swipe-action-item/src/swipe-action-item.vue} +24 -17
  306. package/components/{fu-swipe-action-item → swipe-action-item/src}/wx.wxs +2 -2
  307. package/components/swiper/index.ts +1 -0
  308. package/components/swiper/src/composables/index.ts +2 -0
  309. package/components/swiper/src/composables/swiper-custom.ts +40 -0
  310. package/components/swiper/src/composables/use-swiper.ts +75 -0
  311. package/components/swiper/src/swiper.ts +189 -0
  312. package/components/{fu-swiper/fu-swiper.vue → swiper/src/swiper.vue} +49 -118
  313. package/components/switch/index.ts +1 -0
  314. package/components/switch/src/composables/index.ts +2 -0
  315. package/components/switch/src/composables/switch-custom.ts +32 -0
  316. package/components/switch/src/composables/use-switch.ts +38 -0
  317. package/components/switch/src/switch.ts +115 -0
  318. package/components/{fu-switch/fu-switch.vue → switch/src/switch.vue} +25 -73
  319. package/components/tabs/index.ts +1 -0
  320. package/components/tabs/src/composables/index.ts +2 -0
  321. package/components/tabs/src/composables/tabs-custom.ts +43 -0
  322. package/components/tabs/src/composables/use-tabs.ts +210 -0
  323. package/components/tabs/src/tabs.ts +123 -0
  324. package/components/tabs/src/tabs.vue +153 -0
  325. package/components/tag/index.ts +1 -0
  326. package/components/tag/src/composables/index.ts +2 -0
  327. package/components/tag/src/composables/tag-custom.ts +61 -0
  328. package/components/tag/src/composables/use-tag.ts +23 -0
  329. package/components/tag/src/tag.ts +159 -0
  330. package/components/{fu-tag/fu-tag.vue → tag/src/tag.vue} +53 -93
  331. package/components/text/index.ts +1 -0
  332. package/components/text/src/composables/index.ts +2 -0
  333. package/components/text/src/composables/text-custom.ts +120 -0
  334. package/components/text/src/composables/use-text.ts +83 -0
  335. package/components/text/src/text.ts +261 -0
  336. package/components/text/src/text.vue +186 -0
  337. package/components/textarea/index.ts +1 -0
  338. package/components/textarea/src/composables/index.ts +2 -0
  339. package/components/textarea/src/composables/textarea-custom.ts +50 -0
  340. package/components/textarea/src/composables/use-textarea.ts +88 -0
  341. package/components/textarea/src/textarea.ts +250 -0
  342. package/components/textarea/src/textarea.vue +162 -0
  343. package/components/{fu-timeaxis/fu-timeaxis.vue → timeaxis/src/timeaxis.vue} +3 -9
  344. package/components/timeaxis-item/index.ts +1 -0
  345. package/components/timeaxis-item/src/timeaxis-item.ts +20 -0
  346. package/components/timeaxis-item/src/timeaxis-item.vue +50 -0
  347. package/components/transition/index.ts +1 -0
  348. package/components/transition/src/composables/createAnimation.ts +171 -0
  349. package/components/transition/src/composables/index.ts +2 -0
  350. package/components/transition/src/composables/transform-custom.ts +18 -0
  351. package/components/transition/src/composables/use-transition.ts +251 -0
  352. package/components/transition/src/transition.ts +64 -0
  353. package/components/transition/src/transition.vue +70 -0
  354. package/components/upload/index.ts +1 -0
  355. package/components/upload/src/composables/index.ts +5 -0
  356. package/components/upload/src/composables/upload-file-custom.ts +68 -0
  357. package/components/upload/src/composables/upload-image-custom.ts +76 -0
  358. package/components/upload/src/composables/use-upload-file.ts +27 -0
  359. package/components/upload/src/composables/use-upload-image.ts +38 -0
  360. package/components/upload/src/composables/use-upload.ts +388 -0
  361. package/components/upload/src/upload-file.ts +84 -0
  362. package/components/upload/src/upload-file.vue +193 -0
  363. package/components/upload/src/upload-image.ts +90 -0
  364. package/components/upload/src/upload-image.vue +158 -0
  365. package/components/upload/src/upload.ts +196 -0
  366. package/components/upload/src/upload.vue +151 -0
  367. package/components/{fu-upload/utils.js → upload/src/utils.ts} +12 -12
  368. package/components/vtabs/index.ts +1 -0
  369. package/components/vtabs/src/composables/index.ts +2 -0
  370. package/components/vtabs/src/composables/use-vtabs.ts +276 -0
  371. package/components/vtabs/src/composables/vtabs-custom.ts +54 -0
  372. package/components/vtabs/src/vtabs.ts +130 -0
  373. package/components/vtabs/src/vtabs.vue +189 -0
  374. package/components/vtabs-item/index.ts +1 -0
  375. package/components/vtabs-item/src/composables/index.ts +1 -0
  376. package/components/vtabs-item/src/composables/use-vtabs-item.ts +60 -0
  377. package/components/vtabs-item/src/vtabs-item.ts +10 -0
  378. package/components/vtabs-item/src/vtabs-item.vue +20 -0
  379. package/components/waterfall/index.ts +1 -0
  380. package/components/waterfall/src/composables/index.ts +2 -0
  381. package/components/waterfall/src/composables/use-waterfall.ts +139 -0
  382. package/components/waterfall/src/composables/waterfall-custom.ts +18 -0
  383. package/components/waterfall/src/waterfall.ts +114 -0
  384. package/components/waterfall/src/waterfall.vue +104 -0
  385. package/{libs/config/config.js → config/config.ts} +13 -7
  386. package/constants/images.ts +18 -0
  387. package/constants/index.ts +6 -0
  388. package/constants/open-types.ts +33 -0
  389. package/constants/props.ts +18 -0
  390. package/constants/shapes.ts +6 -0
  391. package/constants/types.ts +10 -0
  392. package/constants/z-index.ts +27 -0
  393. package/global.d.ts +103 -0
  394. package/hooks/index.ts +25 -0
  395. package/index.scss +3 -5
  396. package/index.ts +56 -0
  397. package/package.json +12 -5
  398. package/{libs/route/min.route.config.js → route/min.route.config.ts} +62 -23
  399. package/route/route.config.ts +93 -0
  400. package/style/color.scss +26 -0
  401. package/{libs/style → style}/common.scss +1 -14
  402. package/{libs/function/applyEven.js → utils/applyEven.ts} +21 -12
  403. package/utils/check.ts +276 -0
  404. package/{libs/function/chooseUploadFile.js → utils/chooseUploadFile.ts} +22 -26
  405. package/utils/common.ts +609 -0
  406. package/{libs/function/digit.js → utils/digit.ts} +63 -33
  407. package/{components/fu-swipe-action-item/isPC.js → utils/isPC.ts} +1 -1
  408. package/utils/toast.ts +42 -0
  409. package/components/fu-avatar/fu-avatar.vue +0 -157
  410. package/components/fu-avatar/props.js +0 -117
  411. package/components/fu-avatar-group/props.js +0 -74
  412. package/components/fu-badge/props.js +0 -112
  413. package/components/fu-banner-arc/fu-banner-arc.vue +0 -58
  414. package/components/fu-banner-arc/props.js +0 -35
  415. package/components/fu-button/props.js +0 -228
  416. package/components/fu-cell/props.js +0 -108
  417. package/components/fu-cell-group/props.js +0 -19
  418. package/components/fu-checkbox/fu-checkbox.vue +0 -469
  419. package/components/fu-checkbox/props.js +0 -126
  420. package/components/fu-code-input/fu-code-input.vue +0 -269
  421. package/components/fu-code-input/props.js +0 -136
  422. package/components/fu-code-verify/fu-code-verify.vue +0 -221
  423. package/components/fu-code-verify/props.js +0 -136
  424. package/components/fu-collapse/fu-collapse.vue +0 -143
  425. package/components/fu-collapse/props.js +0 -29
  426. package/components/fu-collapse-item/props.js +0 -101
  427. package/components/fu-countdown/fu-countdown.vue +0 -164
  428. package/components/fu-countdown/props.js +0 -35
  429. package/components/fu-datetime-picker/fu-datetime-picker.vue +0 -375
  430. package/components/fu-datetime-picker/props.js +0 -194
  431. package/components/fu-form/fu-form.vue +0 -284
  432. package/components/fu-form/props.js +0 -74
  433. package/components/fu-form-item/fu-form-item.vue +0 -535
  434. package/components/fu-form-item/props.js +0 -66
  435. package/components/fu-grid/fu-grid.vue +0 -113
  436. package/components/fu-grid/props.js +0 -44
  437. package/components/fu-grid-item/fu-grid-item.vue +0 -136
  438. package/components/fu-grid-item/props.js +0 -27
  439. package/components/fu-icon/fu-icon.vue +0 -110
  440. package/components/fu-icon/fuicon.js +0 -1031
  441. package/components/fu-icon/props.js +0 -55
  442. package/components/fu-image/fu-image.vue +0 -268
  443. package/components/fu-image/props.js +0 -145
  444. package/components/fu-index-anchor/fu-index-anchor.vue +0 -91
  445. package/components/fu-index-anchor/props.js +0 -43
  446. package/components/fu-index-item/fu-index-item.vue +0 -79
  447. package/components/fu-index-list/fu-index-list.vue +0 -426
  448. package/components/fu-index-list/props.js +0 -42
  449. package/components/fu-input/fu-input.vue +0 -393
  450. package/components/fu-input/props.js +0 -291
  451. package/components/fu-keyboard/keyboard-number.vue +0 -195
  452. package/components/fu-keyboard/props.js +0 -138
  453. package/components/fu-line/fu-line.vue +0 -64
  454. package/components/fu-line/props.js +0 -58
  455. package/components/fu-link/fu-link.vue +0 -91
  456. package/components/fu-link/props.js +0 -49
  457. package/components/fu-loading/props.js +0 -60
  458. package/components/fu-loading-more/props.js +0 -59
  459. package/components/fu-modal/props.js +0 -128
  460. package/components/fu-navbar/fu-navbar.vue +0 -271
  461. package/components/fu-navbar/props.js +0 -72
  462. package/components/fu-navbar/status-bar.vue +0 -27
  463. package/components/fu-notice-bar/notice-column.vue +0 -313
  464. package/components/fu-notice-bar/notice-row.vue +0 -363
  465. package/components/fu-notice-bar/props.js +0 -173
  466. package/components/fu-number-box/fu-number-box.vue +0 -210
  467. package/components/fu-number-box/props.js +0 -79
  468. package/components/fu-parse/fu-parse.vue +0 -508
  469. package/components/fu-parse/node/node.vue +0 -576
  470. package/components/fu-parse/parser.js +0 -1335
  471. package/components/fu-picker/fu-picker.vue +0 -347
  472. package/components/fu-picker/props.js +0 -150
  473. package/components/fu-popup/fu-popup.vue +0 -475
  474. package/components/fu-popup/keypress.js +0 -45
  475. package/components/fu-popup/props.js +0 -83
  476. package/components/fu-progress/fu-progress.vue +0 -292
  477. package/components/fu-progress/props.js +0 -76
  478. package/components/fu-rate/fu-rate.vue +0 -301
  479. package/components/fu-rate/props.js +0 -103
  480. package/components/fu-read-more/fu-read-more.vue +0 -191
  481. package/components/fu-read-more/props.js +0 -72
  482. package/components/fu-ribbon/fu-ribbon.vue +0 -106
  483. package/components/fu-ribbon/props.js +0 -35
  484. package/components/fu-safe-area/fu-safe-area.vue +0 -61
  485. package/components/fu-scroll-list/fu-scroll-list.vue +0 -196
  486. package/components/fu-scroll-list/nvue.js +0 -28
  487. package/components/fu-scroll-list/props.js +0 -43
  488. package/components/fu-search/props.js +0 -149
  489. package/components/fu-section/props.js +0 -59
  490. package/components/fu-sign-board/fu-sign-board.vue +0 -730
  491. package/components/fu-sign-board/props.js +0 -34
  492. package/components/fu-skeleton/fu-skeleton.vue +0 -238
  493. package/components/fu-skeleton/props.js +0 -35
  494. package/components/fu-steps/fu-steps.vue +0 -81
  495. package/components/fu-steps/props.js +0 -55
  496. package/components/fu-steps-item/fu-steps-item.vue +0 -274
  497. package/components/fu-steps-item/props.js +0 -34
  498. package/components/fu-sticky/fu-sticky.vue +0 -232
  499. package/components/fu-sticky/props.js +0 -54
  500. package/components/fu-subsection/fu-subsection.vue +0 -288
  501. package/components/fu-subsection/props.js +0 -88
  502. package/components/fu-swipe-action/fu-swipe-action.vue +0 -64
  503. package/components/fu-swipe-action-item/props.js +0 -54
  504. package/components/fu-swiper/props.js +0 -163
  505. package/components/fu-switch/props.js +0 -102
  506. package/components/fu-tabs/fu-tabs.vue +0 -361
  507. package/components/fu-tabs/props.js +0 -109
  508. package/components/fu-tag/props.js +0 -135
  509. package/components/fu-text/button.js +0 -13
  510. package/components/fu-text/fu-text.vue +0 -254
  511. package/components/fu-text/openType.js +0 -47
  512. package/components/fu-text/props.js +0 -173
  513. package/components/fu-text/value.js +0 -88
  514. package/components/fu-textarea/fu-textarea.vue +0 -288
  515. package/components/fu-textarea/props.js +0 -206
  516. package/components/fu-timeaxis-item/fu-timeaxis-item.vue +0 -68
  517. package/components/fu-transition/createAnimation.js +0 -131
  518. package/components/fu-transition/fu-transition.vue +0 -292
  519. package/components/fu-transition/props.js +0 -21
  520. package/components/fu-upload/fu-upload.vue +0 -563
  521. package/components/fu-upload/props.js +0 -171
  522. package/components/fu-upload/upload-file.vue +0 -332
  523. package/components/fu-upload/upload-image.vue +0 -304
  524. package/components/fu-vtabs/fu-vtabs.vue +0 -443
  525. package/components/fu-vtabs/props.js +0 -114
  526. package/components/fu-vtabs-item/fu-vtabs-item.vue +0 -71
  527. package/components/fu-waterfall/fu-waterfall.vue +0 -238
  528. package/components/fu-waterfall/props.js +0 -85
  529. package/index.js +0 -71
  530. package/libs/function/check.js +0 -215
  531. package/libs/function/common.js +0 -527
  532. package/libs/function/message.js +0 -47
  533. package/libs/mixin/button.js +0 -85
  534. package/libs/mixin/mixin.js +0 -94
  535. package/libs/mixin/mpMixin.js +0 -8
  536. package/libs/mixin/mpShare.js +0 -15
  537. package/libs/route/route.config.js +0 -66
  538. package/libs/style/color.scss +0 -24
  539. /package/components/{fu-icon → icon/src}/fuicon.ttf +0 -0
  540. /package/components/{fu-swipe-action-item → swipe-action-item/src}/bindingx.js +0 -0
  541. /package/components/{fu-swipe-action-item → swipe-action-item/src}/mpalipay.js +0 -0
  542. /package/components/{fu-swipe-action-item → swipe-action-item/src}/mpother.js +0 -0
  543. /package/components/{fu-swipe-action-item → swipe-action-item/src}/render.js +0 -0
  544. /package/{libs/style → style}/components.scss +0 -0
  545. /package/{libs/style → style}/style.h5.scss +0 -0
  546. /package/{libs/style → style}/style.mp.scss +0 -0
  547. /package/{libs/function → utils}/dayjs.js +0 -0
@@ -1,55 +0,0 @@
1
- export default {
2
- props: {
3
- /**
4
- * @description 图标名称
5
- */
6
- name: {
7
- type: String,
8
- default: ''
9
- },
10
- /**
11
- * @description 图标颜色
12
- * @default '#333333'
13
- */
14
- color: {
15
- type: String,
16
- default: '#333333'
17
- },
18
- /**
19
- * @description 图标大小
20
- * @default 16
21
- */
22
- size: {
23
- type: [Number, String],
24
- default: 16
25
- },
26
- /**
27
- * @description 自定义图标
28
- */
29
- fontFamily: {
30
- type: String,
31
- default: ''
32
- },
33
- /**
34
- * @description 图片模式,当name为图片地址时生效
35
- */
36
- imgMode: {
37
- type: String,
38
- default: 'aspectFill'
39
- },
40
- /**
41
- * @description 显示图片小图标时,图片的宽度
42
- */
43
- width: {
44
- type: [String, Number],
45
- default: () => ''
46
- },
47
- /**
48
- * @description 显示图片小图标时,图片的高度
49
- */
50
- height: {
51
- type: [String, Number],
52
- default: () => ''
53
- }
54
- }
55
- }
@@ -1,268 +0,0 @@
1
- <template>
2
- <fu-transition mode="fade" :show="show" :duration="fade? duration : 0" :customStyle="wrapStyle" v-if="show">
3
- <view class="fu-image" :class="[`fu-image--${elId}`]" :style="[wrapStyle, backgroundStyle]" @tap="handleClick">
4
- <image
5
- class="fu-image__image"
6
- :src="src"
7
- :mode="mode"
8
- @error="onErrorHandler"
9
- @load="onLoadHandler"
10
- :show-menu-by-longpress="showMenuByLongpress"
11
- :lazy-load="lazyLoad"
12
- :style="[imageStyle]"
13
- :webp="webp"
14
- v-if="!isError && observeShow"></image>
15
- <view v-if="showLoading && loading" class="fu-image__loading"
16
- :style="{borderRadius: shape == 'circle' ? '50%' : $fu.addUnit(this.radius), backgroundColor: this.bgColor}">
17
- <slot name="loading">
18
- <fu-icon :name="loadingIcon" size="20" color="#999999"></fu-icon>
19
- </slot>
20
- </view>
21
- <view v-if="showError && isError && !loading" class="fu-image__error"
22
- :style="{borderRadius: shape == 'circle' ? '10000px' : $fu.addUnit(this.radius)}">
23
- <slot name="error">
24
- <fu-icon :name="errorIcon" size="20" color="#999999"></fu-icon>
25
- </slot>
26
- </view>
27
- <view class="fu-image__inner" :style="[wrapStyle]" v-if="dim"></view>
28
- </view>
29
- </fu-transition>
30
- </template>
31
-
32
- <script>
33
- import mpMixin from '../../libs/mixin/mpMixin.js'
34
- import mixin from '../../libs/mixin/mixin.js'
35
- import props from './props.js';
36
- /**
37
- * Image 图片
38
- * @description 此组件为uni-app的image组件的加强版,在继承了原有功能外,还支持淡入动画、加载中、加载失败提示、圆角值和形状等。
39
- * @property {String} src 图片地址
40
- * @property {String} mode 裁剪模式(默认 'aspectFill' ),详细见官网说明 https://uniapp.dcloud.net.cn/component/image.html#image
41
- * @value scaleToFill 缩放 不保持纵横比缩放图片,使图片的宽高完全拉伸至填满 image 元素
42
- * @value aspectFit 缩放 保持纵横比缩放图片,使图片的长边能完全显示出来。也就是说,可以完整地将图片显示出来。
43
- * @value aspectFill 缩放 保持纵横比缩放图片,只保证图片的短边能完全显示出来。也就是说,图片通常只在水平或垂直方向是完整的,另一个方向将会发生截取。
44
- * @value widthFix 缩放 宽度不变,高度自动变化,保持原图宽高比不变
45
- * @value heightFix 缩放 高度不变,宽度自动变化,保持原图宽高比不变 App 和 H5 平台 HBuilderX 2.9.3+ 支持、微信小程序需要基础库 2.10.3
46
- * @value top 裁剪 不缩放图片,只显示图片的顶部区域
47
- * @value bottom 裁剪 不缩放图片,只显示图片的底部区域
48
- * @value center 裁剪 不缩放图片,只显示图片的中间区域
49
- * @value left 裁剪 不缩放图片,只显示图片的左边区域
50
- * @value right 裁剪 不缩放图片,只显示图片的右边区域
51
- * @value top left 裁剪 不缩放图片,只显示图片的左上边区域
52
- * @value top right 裁剪 不缩放图片,只显示图片的右上边区域
53
- * @value bottom left 裁剪 不缩放图片,只显示图片的左下边区域
54
- * @value bottom right 裁剪 不缩放图片,只显示图片的右下边区域
55
- * @property {String,Number} width 设置宽度,单位任意,如果为数值,则为px单位 (默认 '100%' )
56
- * @property {String,Number} height 设置高度,单位任意,如果为数值,则为px单位 (默认 'auto' )
57
- * @property {String} shape = [circle|square] 图片形状,circle-圆形,square-方形 (默认 'square' )
58
- * @property {String,Number} radius 圆角值,单位任意,如果为数值,则为px单位 (默认 0 )
59
- * @property {Boolean} lazyLoad = [true|false] 是否懒加载,仅微信小程序、App、百度小程序、字节跳动小程序有效 (默认 true )
60
- * @property {Boolean} observeLazyLoad = [true|false] 是否开启observer懒加载,nvue不生效(默认 false)
61
- * @property {Boolean} showMenuByLongpress = [true|false] 是否开启长按图片显示识别小程序码菜单,仅微信小程序有效 (默认 true )
62
- * @property {String} loadingIcon 加载中的图标 (默认 'image' )
63
- * @property {String} errorIcon 加载失败的图标 (默认 'error' )
64
- * @property {Boolean} showLoading = [true|false] 是否显示加载中的图标或者自定义的slot (默认 true )
65
- * @property {Boolean} showError = [true|false] 是否显示加载错误的图标或者自定义的slot (默认 true )
66
- * @property {Boolean} fade = [true|false] 是否需要淡入效果 (默认 true )
67
- * @property {Boolean} webp = [true|false] 只支持网络资源,只对微信小程序有效 (默认 false )
68
- * @property {String,Number} duration 搭配fade参数的过渡时间,单位ms (默认 300 )
69
- * @property {String} bgColor 背景颜色,用于深色页面加载图片时,为了和背景色融合
70
- * @property {String,Number} dim 定义图片模糊 默认0
71
- * @property {Object,String} customStyle 定义需要用到的外部样式
72
- *
73
- * @event {Function} click 点击图片时触发
74
- * @event {Function} error 图片加载失败时触发
75
- * @event {Function} load 图片加载成功时触发
76
- * @example <fu-image width="100%" height="300px" :src="src"></fu-image>
77
- */
78
- export default {
79
- name: 'FuImage',
80
- mixins: [mpMixin, mixin, props],
81
- emits: ['click', 'load', 'error'],
82
- data() {
83
- const elId = this.$fu.uuid()
84
- return {
85
- elId,
86
- // 图片是否加载错误,如果是,则显示错误占位图
87
- isError: false,
88
- // 初始化组件时,默认为加载中状态
89
- loading: true,
90
- // 不透明度,为了实现淡入淡出的效果
91
- opacity: 1,
92
- // 过渡时间,因为props的值无法修改,故需要一个中间值
93
- durationTime: this.duration,
94
- // 图片加载完成时,去掉背景颜色,因为如果是png图片,就会显示灰色的背景
95
- backgroundStyle: {},
96
- // 用于fade模式的控制组件显示与否
97
- show: false,
98
- // 是否开启图片出现在可视范围进行加载(另一种懒加载)
99
- observeShow: !this.observeLazyLoad,
100
- // 因为props的值无法修改,故需要一个中间值
101
- imgWidth: this.width,
102
- // 因为props的值无法修改,故需要一个中间值
103
- imgHeight: this.height
104
- };
105
- },
106
- computed: {
107
- wrapStyle() {
108
- let style = {};
109
- // 通过调用addUnit()方法,如果有单位,如百分比,px单位等,直接返回,如果是纯粹的数值,则加上px单位
110
- style.width = this.$fu.addUnit(this.width);
111
- style.height = this.mode !== 'widthFix'? this.height? this.$fu.addUnit(this.height): 'auto': 'auto';
112
- style['backdrop-filter'] = `blur(${this.$fu.addUnit(this.dim)})`;
113
- // 如果是显示圆形,设置一个很多的半径值即可
114
- style.borderRadius = this.shape == 'circle' ? '10000px' : this.$fu.addUnit(this.radius)
115
- // 如果设置圆角,必须要有hidden,否则可能圆角无效
116
- style.overflow = this.radius > 0 ? 'hidden' : 'visible';
117
- if (this.fade) {
118
- style.opacity = this.opacity
119
- // nvue下,这几个属性必须要分开写
120
- style.transitionDuration = `${this.durationTime}ms`
121
- style.transitionTimingFunction = 'ease-in-out'
122
- style.transitionProperty = 'opacity'
123
- }
124
- return this.$fu.deepMerge(style, this.$fu.addStyle(this.customStyle));
125
- },
126
- imageStyle() {
127
- let style = {};
128
- style.borderRadius = this.shape == 'circle' ? '10000px' : this.$fu.addUnit(this.radius);
129
- // #ifdef APP-NVUE
130
- style.width = this.$fu.addUnit(this.imgWidth);
131
- style.height = this.$fu.addUnit(this.imgHeight);
132
- // #endif
133
- return style;
134
- }
135
- },
136
- mounted() {
137
- this.show = true;
138
- this.$nextTick(()=>{
139
- if(this.observeLazyLoad) this.observerFn();
140
- })
141
- },
142
- methods: {
143
- // 点击图片触发
144
- handleClick(e) {
145
- this.$emit('click', e)
146
- },
147
-
148
- // 图片加载失败
149
- onErrorHandler(err) {
150
- this.loading = false
151
- this.isError = true
152
- this.$emit('error', err)
153
- },
154
-
155
- // 图片加载完成,标记loading结束
156
- onLoadHandler() {
157
- this.loading = false
158
- this.isError = false
159
- this.$emit('load')
160
- this.removeBgColor()
161
- },
162
-
163
- // 移除图片的背景色
164
- removeBgColor() {
165
- // 淡入动画过渡完成后,将背景设置为透明色,否则png图片会看到灰色的背景
166
- this.backgroundStyle = {
167
- backgroundColor: 'transparent'
168
- };
169
- },
170
-
171
- // 观察图片是否在可见视口
172
- observerFn(){
173
- // 在需要用到懒加载的页面,在触发底部的时候触发tOnLazyLoadReachBottom事件,保证所有图片进行加载
174
- this.$nextTick(() => {
175
- uni.$once('onLazyLoadReachBottom', () => {
176
- if (!this.observeShow) this.observeShow = true
177
- })
178
- })
179
- setTimeout(() => {
180
- // #ifndef APP-NVUE
181
- this.disconnectObserver(this.observerName)
182
- const contentObserver = uni.createIntersectionObserver(this)
183
- contentObserver.relativeToViewport({
184
- bottom: this.thresholdValue
185
- }).observe(`.fu-image--${this.elId}`, (res) => {
186
- if (res.intersectionRatio > 0) {
187
- // 懒加载状态改变
188
- this.observeShow = true
189
- // 如果图片已经加载,去掉监听,减少性能消耗
190
- this.disconnectObserver(this.observerName)
191
- }
192
- })
193
- this[this.observerName] = contentObserver
194
- // #endif
195
- // #ifdef APP-NVUE
196
- this.observeShow = true;
197
- // #endif
198
- }, 50)
199
- },
200
-
201
- disconnectObserver(observerName) {
202
- const observer = this[observerName]
203
- observer && observer.disconnect()
204
- }
205
- },
206
- watch: {
207
- src: {
208
- immediate: true,
209
- handler(n) {
210
- if (!n) {
211
- // 如果传入null或者'',或者false,或者undefined,标记为错误状态
212
- this.isError = true
213
- } else {
214
- this.isError = false;
215
- this.loading = true;
216
- }
217
- }
218
- }
219
- }
220
- }
221
- </script>
222
-
223
- <style lang="scss" scoped>
224
- $fu-image-error-top:0px !default;
225
- $fu-image-error-left:0px !default;
226
- $fu-image-error-width:100% !default;
227
- $fu-image-error-hight:100% !default;
228
- $fu-image-error-background-color: #f2f3f4 !default;
229
- $fu-image-error-color: #959698 !default;
230
- $fu-image-error-font-size: 23px !default;
231
-
232
- .fu-image {
233
- position: relative;
234
- transition: opacity 0.5s ease-in-out;
235
-
236
- &__image {
237
- width: 100%;
238
- height: 100%;
239
- /* #ifndef APP-NVUE */
240
- display: block;
241
- /* #endif */
242
- }
243
-
244
- &__loading,
245
- &__error {
246
- position: absolute;
247
- top: $fu-image-error-top;
248
- left: $fu-image-error-left;
249
- width: $fu-image-error-width;
250
- height: $fu-image-error-hight;
251
- display: flex;
252
- /* #ifdef APP-NVUE */
253
- flex-direction: row;
254
- /* #endif */
255
- align-items: center;
256
- justify-content: center;
257
- background-color: $fu-image-error-background-color;
258
- color: $fu-image-error-color;
259
- font-size: $fu-image-error-font-size;
260
- }
261
-
262
- &__inner {
263
- position: fixed;
264
- top: 0;
265
- left: 0;
266
- }
267
- }
268
- </style>
@@ -1,145 +0,0 @@
1
- export default {
2
- props: {
3
- /**
4
- * @description 图片地址
5
- */
6
- src: {
7
- type: String,
8
- default: ''
9
- },
10
- /**
11
- * @description 裁剪模式
12
- * @default 'aspectFill'
13
- */
14
- mode: {
15
- type: String,
16
- default: 'aspectFill'
17
- },
18
- /**
19
- * @description 设置宽度,单位任意
20
- * @default '100%'
21
- */
22
- width: {
23
- type: [String,Number],
24
- default: '100%'
25
- },
26
- /**
27
- * @description 设置高度,单位任意
28
- * @default 120
29
- */
30
- height: {
31
- type: [String,Number],
32
- default: 150
33
- },
34
- /**
35
- * @description 图片形状
36
- * @values 'circle' - 圆形, 'square' - 方形
37
- * @default 'square'
38
- */
39
- shape: {
40
- type: String,
41
- default: 'square'
42
- },
43
- /**
44
- * @description 设置圆角,单位任意
45
- */
46
- radius: {
47
- type: [String,Number],
48
- default: 0
49
- },
50
- /**
51
- * @description 是否懒加载,微信小程序、App、百度小程序、字节跳动小程序
52
- * @default true
53
- */
54
- lazyLoad: {
55
- type: Boolean,
56
- default: true
57
- },
58
- /**
59
- * @description 是否开启 observer 懒加载,nvue不生效
60
- * @default false
61
- */
62
- observeLazyLoad: {
63
- type: Boolean,
64
- default: false
65
- },
66
- /**
67
- * @description 开启长按图片显示识别微信小程序码菜单
68
- * @default true
69
- */
70
- showMenuByLongpress: {
71
- type: Boolean,
72
- default: true
73
- },
74
- /**
75
- * @description 加载中的图标
76
- * @default 'image'
77
- */
78
- loadingIcon: {
79
- type: String,
80
- default: 'image'
81
- },
82
- /**
83
- * @description 加载失败的图标
84
- * @default 'error'
85
- */
86
- errorIcon: {
87
- type: String,
88
- default: 'error'
89
- },
90
- /**
91
- * @description 是否显示加载中的图标或者自定义的slot
92
- * @default true
93
- */
94
- showLoading: {
95
- type: Boolean,
96
- default: true
97
- },
98
- /**
99
- * @description 是否显示加载错误的图标或者自定义的slot
100
- * @default true
101
- */
102
- showError: {
103
- type: Boolean,
104
- default: true
105
- },
106
- /**
107
- * @description 是否需要淡入效果
108
- * @default true
109
- */
110
- fade: {
111
- type: Boolean,
112
- default: true
113
- },
114
- /**
115
- * @description 只支持网络资源,只对微信小程序有效
116
- * @default true
117
- */
118
- webp: {
119
- type: Boolean,
120
- default: true
121
- },
122
- /**
123
- * @description 过渡时间,单位ms
124
- * @default 300
125
- */
126
- duration: {
127
- type: [String,Number],
128
- default: 300
129
- },
130
- /**
131
- * @description 背景颜色,用于深色页面加载图片时,为了和背景色融合
132
- */
133
- bgColor: {
134
- type: String,
135
- default: ''
136
- },
137
- /**
138
- * @description 图片模糊
139
- */
140
- dim: {
141
- type: [String,Number],
142
- default: 0
143
- }
144
- }
145
- }
@@ -1,91 +0,0 @@
1
- <template>
2
- <!-- #ifdef APP-NVUE -->
3
- <header>
4
- <!-- #endif -->
5
- <view
6
- :ref="`fu-index-anchor-${text}`"
7
- :class="['fu-index-anchor', {'fu-index-anchor-sticky': parentData.sticky}]"
8
- :style="{
9
- height: $fu.addUnit(height),
10
- backgroundColor: bgColor
11
- }">
12
- <text class="fu-index-anchor__text" :style="{ fontSize: $fu.addUnit(size), color: color }">{{ text }}</text>
13
- </view>
14
- <!-- #ifdef APP-NVUE -->
15
- </header>
16
- <!-- #endif -->
17
- </template>
18
-
19
- <script>
20
- import mpMixin from '../../libs/mixin/mpMixin.js'
21
- import mixin from '../../libs/mixin/mixin.js'
22
- import props from './props.js';
23
- // #ifdef APP-NVUE
24
- const dom = uni.requireNativePlugin('dom')
25
- // #endif
26
- /**
27
- * IndexAnchor 列表锚点
28
- * @description 此组件需配合fu-index-list组件一起使用
29
- * @property {String,Number} text 列表锚点文本内容
30
- * @property {String} color 列表锚点文字颜色 (默认 '#606266')
31
- * @property {String,Number} size 列表锚点文字大小 (默认 14)
32
- * @property {String} bgColor 列表锚点背景颜色 (默认 '#f6f6f6')
33
- * @property {String,Number} height 列表锚点高度 (默认 32)
34
- *
35
- * @example <fu-index-anchor :text="indexList[index]"></fu-index-anchor>
36
- */
37
- export default {
38
- name: 'FuIndexAnchor',
39
- mixins: [mpMixin, mixin, props],
40
- data() {
41
- return {
42
- parentData: {
43
- sticky: true
44
- }
45
- }
46
- },
47
- created() {
48
- this.init()
49
- },
50
- methods: {
51
- init() {
52
- // 此处会活动父组件实例,并赋值给实例的parent属性
53
- const indexList = this.$fu.$parent.call(this, 'FuIndexList');
54
- if (!indexList) {
55
- return this.$fu.error('fu-index-anchor必须要搭配fu-index-list组件使用')
56
- }
57
- this.parentData.sticky = indexList.sticky;
58
- // 将当前实例放入到fu-index-list中
59
- indexList.anchors.push(this)
60
- const indexListItem = this.$fu.$parent.call(this, 'FuIndexItem');
61
- // #ifndef APP-NVUE
62
- // 只有在非nvue下,fu-index-anchor才是嵌套在fu-index-item中的
63
- if (!indexListItem) {
64
- return this.$fu.error('fu-index-anchor必须要搭配fu-index-item组件使用')
65
- }
66
- // 设置fu-index-item的id为anchor的text标识符,因为非nvue下滚动列表需要依赖scroll-view滚动到元素的特性
67
- indexListItem.id = this.text.charCodeAt(0);
68
- // #endif
69
- }
70
- }
71
- }
72
- </script>
73
-
74
- <style lang="scss" scoped>
75
- @import '../../libs/style/components.scss';
76
-
77
- .fu-index-anchor {
78
- @include flex;
79
- align-items: center;
80
- padding-left: 15px;
81
- z-index: 1;
82
- &-sticky {
83
- position: sticky;
84
- top: 0;
85
- }
86
- &__text {
87
- @include flex;
88
- align-items: center;
89
- }
90
- }
91
- </style>
@@ -1,43 +0,0 @@
1
- export default {
2
- props: {
3
- /**
4
- * @description 列表锚点文本内容
5
- */
6
- text: {
7
- type: [String, Number],
8
- default: ''
9
- },
10
- /**
11
- * @description 列表锚点文字颜色
12
- * @default '#606266'
13
- */
14
- color: {
15
- type: String,
16
- default: '#606266'
17
- },
18
- /**
19
- * @description 列表锚点文字大小
20
- * @default 14
21
- */
22
- size: {
23
- type: [String, Number],
24
- default: 14
25
- },
26
- /**
27
- * @description 列表锚点背景颜色
28
- * @default '#f6f6f6'
29
- */
30
- bgColor: {
31
- type: String,
32
- default: '#f6f6f6'
33
- },
34
- /**
35
- * @description 列表锚点高度
36
- * @default 32
37
- */
38
- height: {
39
- type: [String, Number],
40
- default: 32
41
- }
42
- }
43
- }
@@ -1,79 +0,0 @@
1
- <template>
2
- <!-- #ifdef APP-NVUE -->
3
- <cell ref="fu-index-item">
4
- <!-- #endif -->
5
- <view :id="`fu-index-item-${id}`" class="fu-index-item" :class="[`fu-index-item-${id}`]">
6
- <slot />
7
- </view>
8
- <!-- #ifdef APP-NVUE -->
9
- </cell>
10
- <!-- #endif -->
11
- </template>
12
-
13
- <script>
14
- import mpMixin from '../../libs/mixin/mpMixin.js'
15
- import mixin from '../../libs/mixin/mixin.js'
16
- // #ifdef APP-NVUE
17
- // 由于weex为阿里的KPI业绩考核的产物,所以不支持百分比单位,这里需要通过dom查询组件的宽度
18
- const dom = uni.requireNativePlugin('dom')
19
- // #endif
20
- /**
21
- * IndexItem 组件
22
- * @description 此组件需配合fu-index-list组件一起使用
23
- */
24
- export default {
25
- name: 'FuIndexItem',
26
- mixins: [mpMixin, mixin],
27
- data() {
28
- return {
29
- // 本组件到滚动条顶部的距离
30
- top: 0,
31
- height: 0,
32
- id: ''
33
- }
34
- },
35
- created() {
36
- // 子组件fu-index-anchor的实例
37
- this.anchor = {};
38
- },
39
- mounted() {
40
- this.init()
41
- },
42
- methods: {
43
- init() {
44
- // 此处会活动父组件实例,并赋值给实例的parent属性
45
- this.getParentData('FuIndexList')
46
- if (!this.parent) {
47
- return this.$fu.error('fu-index-item必须要搭配fu-index-list组件使用')
48
- }
49
- this.$fu.sleep().then(() =>{
50
- this.getIndexItemRect().then(size => {
51
- // 由于对象的引用特性,此处会同时生效到父组件的children数组的本实例的top属性中,供父组件判断读取
52
- this.top = Math.ceil(size.top);
53
- this.height = Math.ceil(size.height);
54
- })
55
- })
56
- },
57
- getIndexItemRect() {
58
- return new Promise(resolve => {
59
- // #ifndef APP-NVUE
60
- this.$fuGetRect('.fu-index-item').then(size => {
61
- resolve(size)
62
- })
63
- // #endif
64
-
65
- // #ifdef APP-NVUE
66
- const ref = this.$refs['fu-index-item']
67
- dom.getComponentRect(ref, res => {
68
- resolve(res.size)
69
- })
70
- // #endif
71
- })
72
- }
73
- }
74
- }
75
- </script>
76
-
77
- <style>
78
-
79
- </style>