fusions-ui 1.2.7 → 1.2.8

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 +1 -1
  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,393 +0,0 @@
1
- <template>
2
- <view class="fu-input" :class="inputClass" :style="[wrapperStyle]" @click="handleClick">
3
- <view class="fu-input__content">
4
- <view class="fu-input__content__prefix-icon">
5
- <slot name="prefix">
6
- <fu-icon :name="prefixIcon" :size="prefixSize" :color="prefixColor" />
7
- </slot>
8
- </view>
9
- <view class="fu-input__content__field-box">
10
- <input class="fu-input__content__field-box__field" :style="[inputStyle]" :type="type" :value="innerValue"
11
- :disabled="disabled || readonly"
12
- :focus="focus"
13
- :cursor="cursor"
14
- :auto-blur="autoBlur"
15
- :maxlength="maxlength"
16
- :placeholder="placeholder"
17
- :placeholder-style="placeholderStyle"
18
- :placeholder-class="placeholderClass"
19
- :confirm-type="confirmType"
20
- :confirm-hold="confirmHold"
21
- :hold-keyboard="holdKeyboard"
22
- :cursor-spacing="cursorSpacing"
23
- :adjust-position="adjustPosition"
24
- :selection-end="selectionEnd"
25
- :selection-start="selectionStart"
26
- :password="password || type === 'password' || undefined"
27
- :ignoreCompositionEvent="ignoreCompositionEvent"
28
- @input="handleInput"
29
- @blur="handleBlur"
30
- @focus="handleFocus"
31
- @confirm="handleConfirm"
32
- @keyboardheightchange="handleKeyboardheightchange" />
33
- </view>
34
- <view class="fu-input__content__clear" v-if="isShowClear" @tap="handleClear">
35
- <fu-icon name="close-fill" size="25" color="#CCCCCC" />
36
- </view>
37
- <view class="fu-input__content__subfix-icon">
38
- <slot name="suffix">
39
- <fu-icon :name="suffixIcon" :size="suffixSize" :color="suffixColor" />
40
- </slot>
41
- </view>
42
- </view>
43
- </view>
44
- </template>
45
-
46
- <script>
47
- import mpMixin from '../../libs/mixin/mpMixin.js'
48
- import mixin from '../../libs/mixin/mixin.js'
49
- import props from './props.js'
50
- /**
51
- * Input 输入框
52
- * @description 此组件为一个输入框,默认没有边框和样式,是专门为配合表单组件fu-form而设计的,利用它可以快速实现表单验证,输入内容,下拉选择等功能。
53
- * @property {String,Number} value input输入的值
54
- * @property {String} type 输入框类型 ( 默认 'text' )
55
- * @value text 文本输入键盘
56
- * @value password 密码输入键盘
57
- * @value number 数字输入键盘,注意iOS上app-vue弹出的数字键盘并非9宫格方式
58
- * @value idcard 身份证输入键盘,信、支付宝、百度、QQ小程序
59
- * @value digit 带小数点的数字键盘,App的nvue页面、微信、支付宝、百度、头条、QQ小程序支持
60
- * @property {Boolean} disabled = [true|false] 是否禁用输入框( 默认 false )
61
- * @property {Boolean} readonly = [true|false] 是否只读,与disabled不同之处在于disabled会置灰组件,而readonly则不会 ( 默认 false )
62
- * @property {String} disabledColor 禁用状态时的背景色(默认 '#F5F7FA')
63
- * @property {Boolean} clearable = [true|false] 是否显示清除控件 (默认false)
64
- * @property {Boolean} password = [true|false] 是否密码类型(默认false)
65
- * @property {String,Number} maxlength 最大输入长度,设置为 -1 的时候不限制最大长度 (默认 -1), 在支付宝小程序中 type="digit" 时IOS无法触发input事件
66
- * @property {String} placeholder 输入框为空时的占位符 (默认null)
67
- * @property {String} placeholderClass 指定placeholder的样式类,注意页面或组件的style中写了scoped时,需要在类名:deep()包裹 ( 默认 'input-placeholder' )
68
- * @property {String,Object} placeholderStyle 指定placeholder的样式,字符串/对象形式,如"color: red;"
69
- * @property {String} confirmType 设置右下角按钮的文字,兼容性详见uni-app文档 ( 默认 'done' )
70
- * @property {Boolean} confirmHold = [true|false] 点击键盘右下角按钮时是否保持键盘不收起,H5无效 ( 默认 false )
71
- * @property {Boolean} holdKeyboard = [true|false] focus时,点击页面的时候不收起键盘,微信小程序有效 ( 默认 false )
72
- * @property {Boolean} focus = [true|false] 自动获取焦点,在 H5 平台能否聚焦以及软键盘是否跟随弹出,取决于当前浏览器本身的实现。nvue 页面不支持,需使用组件的 focus()、blur() 方法控制焦点 ( 默认 false )
73
- * @property {Boolean} autoBlur = [true|false] 键盘收起时,是否自动失去焦点,目前仅App3.0.0+有效 ( 默认 false )
74
- * @property {String,Number} cursor 指定focus时光标的位置( 默认 -1 )
75
- * @property {String,Number} cursorSpacing 输入框聚焦时底部与键盘的距离 ( 默认 30 )
76
- * @property {String,Number} selectionStart 光标起始位置,自动聚集时有效,需与selection-end搭配使用 ( 默认 -1 )
77
- * @property {String,Number} selectionEnd 光标结束位置,自动聚集时有效,需与selection-start搭配使用 ( 默认 -1 )
78
- * @property {Boolean} adjustPosition = [true|false] 键盘弹起时,是否自动上推页面 ( 默认 true )
79
- * @property {String} align = [left|center|right] 输入框内容对齐方式( 默认 'left' )
80
- * @value left 左显示
81
- * @value center 居中显示
82
- * @value right 右显示
83
- * @property {String,Number} size 输入框字体的大小( 默认 14)
84
- * @property {String} color 输入框字体颜色( 默认 '#333333' )
85
- * @property {String} prefixIcon 输入框前置图标
86
- * @property {String,Number} prefixSize 输入框前置图标大小(默认 18)
87
- * @property {String} prefixColor 输入框前置图标颜色 默认(#8f9ca2)
88
- * @property {String} suffixIcon 输入框后置图标
89
- * @property {String,Number} suffixSize 输入框后置图标大小(默认18)
90
- * @property {String} suffixColor 输入框后置图标颜色 默认(#8f9ca2)
91
- * @property {String} border = [surround|bottom|none] 边框类型,surround-四周边框,bottom-底部边框,none-无边框 ( 默认 'surround' )
92
- * @value surround 四周边框
93
- * @value bottom 底部边框
94
- * @value none 无边框
95
- * @property {String} shape = [circle|square] 输入框形状,circle-圆形,square-方形(默认 'square')
96
- * @value circle 圆形
97
- * @value square 方形
98
- * @property {String} margin 自定义外间距(默认 '0')
99
- * @property {Function} formatter 内容式化函数
100
- * @property {String,Object} customStyle 定义需要用到的外部样式
101
- * @property {Boolean} ignoreCompositionEvent 是否忽略组件内对文本合成系统事件的处理
102
- *
103
- * @event {Function} click readonly或disabled为true时 点击input时触发
104
- * @event {Function} input 输入内容变化时触发
105
- * @event {Function} change 输入内容变化时触发
106
- * @event {Function} clear 点击清空内容
107
- * @event {Function} blur 输入框失去焦点时触发
108
- * @event {Function} confirm 点击完成按钮时触发
109
- * @event {Function} focus 输入框聚焦时触发
110
- * @event {Function} keyboardheightchange 键盘高度发生变化的时候触发此事件 微信小程序基础库2.7.0+、App 3.1.0+
111
- * @example <fu-input placeholder="请输入内容"></fu-input>
112
- */
113
- export default {
114
- name:"FuInput",
115
- mixins: [mpMixin, mixin, props],
116
- emits: ['input', 'update:modelValue', 'change', 'clear', 'blur', 'confirm', 'focus', 'click', 'keyboardheightchange'],
117
- model: {
118
- prop: 'modelValue',
119
- event: 'update:modelValue'
120
- },
121
- data() {
122
- return {
123
- // 输入框的值
124
- innerValue: "",
125
- // H5端的blur会先于点击清除控件的点击click事件触发,导致focused瞬间为false,从而隐藏了清除控件而无法被点击到
126
- focused: false,
127
- // value是否第一次变化,在watch中,由于加入immediate属性,会在第一次触发,此时不应该认为value发生了变化
128
- firstChange: true,
129
- // value绑定值的变化是由内部还是外部引起的
130
- changeFromInner: false,
131
- // 过滤处理方法
132
- innerFormatter: value => value
133
- };
134
- },
135
- computed: {
136
- // 是否显示清除控件
137
- isShowClear() {
138
- const { clearable, readonly, focused, innerValue } = this;
139
- return !!clearable && !readonly && !!focused && innerValue !== "";
140
- },
141
- // 组件的类名
142
- inputClass() {
143
- let classes = [], { border, disabled, shape } = this;
144
- border === 'surround' && (classes = classes.concat(['fu-border']));
145
- classes.push(`fu-input-${shape}`);
146
- border === 'bottom' && (classes = classes.concat(['fu-border-bottom', 'fu-input-no-radius']));
147
- return classes.join(' ');
148
- },
149
- // 组件的样式
150
- wrapperStyle() {
151
- const style = {
152
- margin: this.margin
153
- };
154
- // 禁用状态下,被背景色加上对应的样式
155
- if (this.disabled) {
156
- style.backgroundColor = this.disabledColor;
157
- }
158
- // 无边框时,去除内边距
159
- if (this.border === "none") {
160
- style.padding = "0";
161
- } else {
162
- // 由于uni-app的iOS开发者能力有限,导致需要分开写才有效
163
- style.paddingTop = '10px';
164
- style.paddingBottom = '10px';
165
- style.paddingLeft = '8px';
166
- style.paddingRight = '8px';
167
- }
168
- return this.$fu.deepMerge(style, this.$fu.addStyle(this.customStyle));
169
- },
170
- // 输入框的样式
171
- inputStyle() {
172
- let style = {
173
- color: this.color,
174
- fontSize: this.$fu.addUnit(this.size),
175
- textAlign: this.align,
176
- };
177
- if(this.disabled || this.readonly) {
178
- style['pointer-events'] = 'none';
179
- // 禁用状态下,被背景色加上对应的样式 兼容支付宝小程序
180
- if (this.disabled) {
181
- style.backgroundColor = this.disabledColor;
182
- }
183
- }
184
- return style;
185
- },
186
- },
187
- methods: {
188
- // 在微信小程序中,不支持将函数当做props参数,故只能通过ref形式调用
189
- setFormatter(e) {
190
- this.innerFormatter = e
191
- },
192
-
193
- // 当键盘输入时,触发input事件
194
- handleInput(e) {
195
- let { value = '' } = e.detail || {};
196
- // 格式化过滤方法
197
- const formatter = this.formatter || this.innerFormatter
198
- const formatValue = formatter(value)
199
- // 为了避免props的单向数据流特性,需要先将innerValue值设置为当前值,再在$nextTick中重新赋予设置后的值才有效
200
- this.innerValue = value
201
- this.$nextTick(() => {
202
- this.innerValue = formatValue;
203
- this.valueChange();
204
- })
205
- },
206
-
207
- // 内容发生变化,进行处理
208
- valueChange() {
209
- const value = this.innerValue;
210
- this.$nextTick(() => {
211
- // 兼容 Vue2
212
- this.$emit('input', value);
213
- // 兼容 Vue3
214
- this.$emit('update:modelValue', value);
215
- // 标识value值的变化是由内部引起的
216
- this.changeFromInner = true;
217
- this.$emit('change', value);
218
- });
219
- },
220
-
221
- // 输入框失去焦点时触发
222
- handleBlur(e) {
223
- this.$emit("blur", e.detail.value);
224
- // H5端的blur会先于点击清除控件的点击click事件触发,导致focused
225
- // 瞬间为false,从而隐藏了清除控件而无法被点击到
226
- this.$fu.sleep(50).then(() => {
227
- this.focused = false;
228
- });
229
- },
230
-
231
- // 输入框聚焦时触发
232
- handleFocus(e) {
233
- this.focused = true;
234
- this.$emit("focus");
235
- },
236
-
237
- // 点击清除控件
238
- handleClear() {
239
- this.innerValue = "";
240
- this.$nextTick(() => {
241
- this.valueChange();
242
- this.$emit("clear");
243
- });
244
- },
245
-
246
- // 点击完成按钮时触发
247
- handleConfirm(event) {
248
- this.$emit("confirm", this.innerValue);
249
- },
250
-
251
- // 键盘高度发生变化的时候触发此事件
252
- // 兼容性:微信小程序2.7.0+、App 3.1.0+
253
- handleKeyboardheightchange() {
254
- this.$emit("keyboardheightchange");
255
- },
256
-
257
- // 点击input时触发(仅readonly=true时生效)
258
- handleClick(event) {
259
- event.stopPropagation(); // 阻止事件向上传播
260
- if(this.readonly) {
261
- this.$emit('click')
262
- }
263
- }
264
- },
265
- watch: {
266
- // #ifndef VUE3
267
- value: {
268
- immediate: true,
269
- handler(newVal, oldVal) {
270
- this.innerValue = newVal;
271
- /* #ifdef H5 */
272
- // 在H5中,外部value变化后,修改input中的值,不会触发@input事件,此时手动调用值变化方法
273
- if (this.firstChange === false && this.changeFromInner === false) {
274
- this.valueChange();
275
- }
276
- /* #endif */
277
- this.firstChange = false;
278
- // 重置changeFromInner的值为false,标识下一次引起默认为外部引起的
279
- this.changeFromInner = false;
280
- },
281
- },
282
- // #endif
283
- // #ifdef VUE3
284
- modelValue: {
285
- immediate: true,
286
- handler(newVal) {
287
- this.innerValue = newVal;
288
- /* #ifdef H5 */
289
- // 在H5中,外部value变化后,修改input中的值,不会触发@input事件,此时手动调用值变化方法
290
- if (this.firstChange === false && this.changeFromInner === false) {
291
- this.valueChange();
292
- }
293
- /* #endif */
294
- this.firstChange = false;
295
- // 重置changeFromInner的值为false,标识下一次引起默认为外部引起的
296
- this.changeFromInner = false;
297
- }
298
- },
299
- // #endif
300
- }
301
- }
302
- </script>
303
-
304
- <style lang="scss" scoped>
305
- @import '../../libs/style/components.scss';
306
- $color_333333: #333333;
307
- $color_dadbde: #dadbde;
308
-
309
- .fu-input {
310
- @include flex(row);
311
- align-items: center;
312
- justify-content: space-between;
313
- flex: 1;
314
-
315
- &__content {
316
- @include flex(row);
317
- flex: 1;
318
- align-items: center;
319
- justify-content: space-between;
320
-
321
- &__field-box {
322
- @include flex(row);
323
- position: relative;
324
- margin: 0;
325
- flex: 1;
326
-
327
- &__field {
328
- text-align: left;
329
- color: $color_333333;
330
- font-size: 14px;
331
- flex: 1;
332
- /* #ifdef MP-ALIPAY */
333
- padding: 0;
334
- /* #endif */
335
- }
336
- }
337
-
338
- &__clear {
339
- width: 20px;
340
- height: 20px;
341
- border-radius: 100px;
342
- display: flex;
343
- /* #ifdef APP-NVUE */
344
- flex-direction: row;
345
- /* #endif */
346
- align-items: center;
347
- justify-content: center;
348
- transform: scale(0.82);
349
- margin-left: 4px;
350
- }
351
-
352
- &__subfix-icon {
353
- margin-left: 4px;
354
- }
355
-
356
- &__prefix-icon {
357
- margin-right: 4px;
358
- }
359
- }
360
- }
361
-
362
- .fu-border {
363
- border-width: 0.5px;
364
- border-color: $color_dadbde;
365
- border-style: solid;
366
- }
367
-
368
- .fu-border-bottom {
369
- border-bottom-width: 0.5px;
370
- border-color: $color_dadbde;
371
- border-bottom-style: solid;
372
- }
373
-
374
- .fu-input-circle {
375
- border-radius: 1000rpx !important;
376
- overflow: hidden;
377
- }
378
-
379
- .fu-input-square {
380
- border-radius: 5px;
381
- }
382
-
383
- .fu-input-no-radius {
384
- border-radius: 0;
385
- }
386
-
387
- .fu-input-password {
388
- :deep(.uni-input-input) {
389
- -webkit-text-security: disc;
390
- text-security:disc;
391
- }
392
- }
393
- </style>
@@ -1,291 +0,0 @@
1
- export default {
2
- props: {
3
- /**
4
- * @description value / v-model 输入的值
5
- */
6
- value: {
7
- type: [String,Number],
8
- default: ''
9
- },
10
- modelValue: {
11
- type: [String,Number],
12
- default: ''
13
- },
14
- /**
15
- * @description number-数字输入键盘,app-vue下可以输入浮点数,app-nvue和小程序平台下只能输入整数
16
- * idcard-身份证输入键盘,微信、支付宝、百度、QQ小程序
17
- * digit-带小数点的数字键盘,App的nvue页面、微信、支付宝、百度、头条、QQ小程序
18
- * text-文本输入键盘
19
- * @default 'text'
20
- */
21
- type: {
22
- type: String,
23
- default: 'text'
24
- },
25
- /**
26
- * @description 是否禁用输入框
27
- * @default false
28
- */
29
- disabled: {
30
- type: Boolean,
31
- default: false
32
- },
33
- /**
34
- * @description 是否只读,与disabled不同之处在于disabled会置灰组件,而readonly则不会
35
- * @default false
36
- */
37
- readonly: {
38
- type: Boolean,
39
- default: false
40
- },
41
- /**
42
- * @description 禁用状态时的背景色
43
- * @default '#F5F7FA'
44
- */
45
- disabledColor: {
46
- type: String,
47
- default: '#F5F7FA'
48
- },
49
- /**
50
- * @description 是否显示清除控件
51
- * @default false
52
- */
53
- clearable: {
54
- type: Boolean,
55
- default: false
56
- },
57
- /**
58
- * @description 是否密码类型
59
- * @default false
60
- */
61
- password: {
62
- type: Boolean,
63
- default: false
64
- },
65
- /**
66
- * @description 最大输入长度,设置为 -1 的时候不限制最大长度
67
- * @default -1
68
- */
69
- maxlength: {
70
- type: [String, Number],
71
- default: -1
72
- },
73
- /**
74
- * @description 输入框为空时的占位符
75
- * @default null
76
- */
77
- placeholder: {
78
- type: String,
79
- default: null
80
- },
81
- /**
82
- * @description 指定placeholder的样式类,注意页面或组件的style中写了scoped时,需要在类名前写:deep(...)
83
- * @default 'input-placeholder'
84
- */
85
- placeholderClass: {
86
- type: String,
87
- default: 'input-placeholder'
88
- },
89
- /**
90
- * @description 指定placeholder的样式
91
- * @default 'color: #CCCCCC'
92
- */
93
- placeholderStyle: {
94
- type: [String, Object],
95
- default: 'color: #CCCCCC'
96
- },
97
- /**
98
- * @description 设置右下角按钮的文字,有效值:send|search|next|go|done,兼容性详见uni-app文档https://uniapp.dcloud.io/component/input
99
- * @default 'done'
100
- */
101
- confirmType: {
102
- type: String,
103
- default: 'done'
104
- },
105
- /**
106
- * @description 点击键盘右下角按钮时是否保持键盘不收起,H5无效
107
- * @default false
108
- */
109
- confirmHold: {
110
- type: Boolean,
111
- default: false
112
- },
113
- /**
114
- * @description focus时,点击页面的时候不收起键盘,微信小程序有效
115
- * @default false
116
- */
117
- holdKeyboard: {
118
- type: Boolean,
119
- default: false
120
- },
121
- /**
122
- * @description 自动获取焦点
123
- * 在 H5 平台能否聚焦以及软键盘是否跟随弹出,取决于当前浏览器本身的实现。nvue 页面不支持,需使用组件的 focus()、blur() 方法控制焦点
124
- * @default false
125
- */
126
- focus: {
127
- type: Boolean,
128
- default: false
129
- },
130
- /**
131
- * @description 键盘收起时,是否自动失去焦点,目前仅App3.0.0+有效
132
- * @default false
133
- */
134
- autoBlur: {
135
- type: Boolean,
136
- default: false
137
- },
138
- /**
139
- * @description 指定focus时光标的位置
140
- * @default -1
141
- */
142
- cursor: {
143
- type: [String, Number],
144
- default: -1
145
- },
146
- /**
147
- * @description 输入框聚焦时底部与键盘的距离
148
- * @default 30
149
- */
150
- cursorSpacing: {
151
- type: [String, Number],
152
- default: 30
153
- },
154
- /**
155
- * @description 光标起始位置,自动聚集时有效,需与selection-end搭配使用
156
- * @default -1
157
- */
158
- selectionStart: {
159
- type: [String, Number],
160
- default: -1
161
- },
162
- /**
163
- * @description 光标结束位置,自动聚集时有效,需与selection-start搭配使用
164
- * @default -1
165
- */
166
- selectionEnd: {
167
- type: [String, Number],
168
- default: -1
169
- },
170
- /**
171
- * @description 键盘弹起时,是否自动上推页面
172
- * @default true
173
- */
174
- adjustPosition: {
175
- type: Boolean,
176
- default: true
177
- },
178
- /**
179
- * @description 输入框内容对齐方式
180
- * @values 'left' - 左对齐, 'center' - 居中, 'right' - 右对齐
181
- * @default 'left'
182
- */
183
- align: {
184
- type: String,
185
- default: 'left'
186
- },
187
- /**
188
- * @description 输入框字体的大小
189
- * @default 14
190
- */
191
- size: {
192
- type: [String, Number],
193
- default: 14
194
- },
195
- /**
196
- * @description 输入框字体颜色
197
- * @default '#333333'
198
- */
199
- color: {
200
- type: String,
201
- default: '#333333'
202
- },
203
- /**
204
- * @description 输入框前置图标
205
- */
206
- prefixIcon: {
207
- type: String,
208
- default: ''
209
- },
210
- /**
211
- * @description 输入框前置图标大小
212
- * @default 18
213
- */
214
- prefixSize: {
215
- type: [String,Number],
216
- default: 18
217
- },
218
- /**
219
- * @description 输入框前置图标颜色
220
- * @default '#8f9ca2'
221
- */
222
- prefixColor: {
223
- type: String,
224
- default: '#8f9ca2'
225
- },
226
- /**
227
- * @description 输入框后置图标
228
- */
229
- suffixIcon: {
230
- type: String,
231
- default: ''
232
- },
233
- /**
234
- * @description 输入框后置图标大小
235
- * @default 18
236
- */
237
- suffixSize: {
238
- type: [String,Number],
239
- default: 18
240
- },
241
- /**
242
- * @description 输入框后置图标颜色
243
- * @default '#8f9ca2'
244
- */
245
- suffixColor: {
246
- type: String,
247
- default: '#8f9ca2'
248
- },
249
- /**
250
- * @description 边框类型
251
- * @values 'surround' - 四周边框, 'bottom' - 底部边框, 'none' - 无边框
252
- * @default 'surround'
253
- */
254
- border: {
255
- type: String,
256
- default: 'surround'
257
- },
258
- /**
259
- * @description 输入框形状,circle-圆形,square-方形
260
- * @values 'circle' - 圆形, 'square' - 方形
261
- * @default 'square'
262
- */
263
- shape: {
264
- type: String,
265
- default: 'square'
266
- },
267
- /**
268
- * @description 设置外间距
269
- */
270
- margin: {
271
- type: String,
272
- default: '0'
273
- },
274
- /**
275
- * @description 用于处理或者过滤输入框内容的方法
276
- * @default null
277
- */
278
- formatter: {
279
- type: [Function, null],
280
- default: null
281
- },
282
- /**
283
- * @description 是否忽略组件内对文本合成系统事件的处理
284
- * @default true
285
- */
286
- ignoreCompositionEvent: {
287
- type: Boolean,
288
- default: true
289
- }
290
- }
291
- }