fusions-ui 1.2.6 → 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.css → 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 -107
  440. package/components/fu-icon/icon.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 -728
  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.ttf → 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
@@ -0,0 +1,152 @@
1
+ import type { ExtractPropTypes } from 'vue';
2
+ import { ZIndex } from '../../../constants';
3
+
4
+ /**
5
+ * 模态框 align 有效值
6
+ */
7
+ export const modalAligns = ['left', 'center', 'right'] as const;
8
+
9
+ export const modalProps = {
10
+ /**
11
+ * @description 标题
12
+ */
13
+ title: {
14
+ type: [String],
15
+ default: ''
16
+ },
17
+ /**
18
+ * @description 弹窗内容
19
+ */
20
+ content: {
21
+ type: String,
22
+ default: ''
23
+ },
24
+ /**
25
+ * @description 确认文案
26
+ * @default '确认'
27
+ */
28
+ confirmText: {
29
+ type: String,
30
+ default: '确认'
31
+ },
32
+ /**
33
+ * @description 取消文案
34
+ * @default '取消'
35
+ */
36
+ cancelText: {
37
+ type: String,
38
+ default: '取消'
39
+ },
40
+ /**
41
+ * @description 是否显示确认按钮
42
+ * @default true
43
+ */
44
+ showConfirmButton: {
45
+ type: Boolean,
46
+ default: true
47
+ },
48
+ /**
49
+ * @description 是否显示取消按钮
50
+ * @default true
51
+ */
52
+ showCancelButton: {
53
+ type: Boolean,
54
+ default: true
55
+ },
56
+ /**
57
+ * @description 确认按钮颜色
58
+ */
59
+ confirmColor: {
60
+ type: String,
61
+ default: ''
62
+ },
63
+ /**
64
+ * @description 取消文字颜色
65
+ * @default '#999999'
66
+ */
67
+ cancelColor: {
68
+ type: String,
69
+ default: '#999999'
70
+ },
71
+ /**
72
+ * @description 对调确认和取消的位置
73
+ * @default false
74
+ */
75
+ buttonReverse: {
76
+ type: Boolean,
77
+ default: false
78
+ },
79
+ /**
80
+ * @description 层级
81
+ */
82
+ zIndex: {
83
+ type: [String, Number],
84
+ default: ZIndex.modal
85
+ },
86
+ /**
87
+ * @description 是否异步关闭,只对确定按钮有效
88
+ * @default false
89
+ */
90
+ asyncClose: {
91
+ type: Boolean,
92
+ default: false
93
+ },
94
+ /**
95
+ * @description 是否允许点击遮罩关闭modal
96
+ * @default true
97
+ */
98
+ isMaskClick: {
99
+ type: Boolean,
100
+ default: true
101
+ },
102
+ /**
103
+ * @description 给一个负的margin-top,往上偏移,避免和键盘重合的情况
104
+ */
105
+ negativeTop: {
106
+ type: [String, Number],
107
+ default: 0
108
+ },
109
+ /**
110
+ * @description modal宽度,不支持百分比,可以数值,px,rpx单位
111
+ * @default '650rpx'
112
+ */
113
+ width: {
114
+ type: [String, Number],
115
+ default: '650rpx'
116
+ },
117
+ /**
118
+ * @description 文本对齐方式
119
+ * @values 'left' - 左对齐, 'center' - 居中, 'right' - 右对齐
120
+ * @default 'left'
121
+ */
122
+ align: {
123
+ type: String,
124
+ values: modalAligns,
125
+ default: 'left'
126
+ },
127
+ /**
128
+ * @description 文本自定义样式
129
+ */
130
+ textStyle: {
131
+ type: [Object, String],
132
+ default: ''
133
+ }
134
+ };
135
+
136
+ export const modalEmits = {
137
+ /**
138
+ * @description 点击确认按钮时触发回调
139
+ */
140
+ close: () => true,
141
+ /**
142
+ * @description 点击取消按钮时触发回调
143
+ */
144
+ cancel: () => true,
145
+ /**
146
+ * @description 点击遮罩关闭触发回调(仅isMaskClick为true有效)
147
+ */
148
+ confirm: () => true
149
+ };
150
+
151
+ export type ModalProps = ExtractPropTypes<typeof modalProps>;
152
+ export type ModalEmits = typeof modalEmits;
@@ -45,13 +45,11 @@
45
45
  </fu-popup>
46
46
  </template>
47
47
 
48
- <script>
49
- import mpMixin from '../../libs/mixin/mpMixin.js'
50
- import mixin from '../../libs/mixin/mixin.js'
51
- import props from './props.js';
48
+ <script setup>
52
49
  /**
53
50
  * Modal 模态框
54
51
  * @description 此组件弹出模态框,常用于消息提示、消息确认、在当前页面内完成特定的交互操作。
52
+ * @tutorial http://www.fusions.top/components/modal.html
55
53
  * @property {String} title 标题内容
56
54
  * @property {String} content 模态框内容,如传入slot内容,则此参数无效
57
55
  * @property {String} confirmText 确认按钮的文字 (默认 '确认' )
@@ -63,84 +61,58 @@
63
61
  * @property {Boolean} buttonReverse = [true|false] 对调确认和取消的位置 (默认 false )
64
62
  * @property {Boolean} asyncClose = [true|false] 是否异步关闭,只对确定按钮有效,见上方说明 (默认 false )
65
63
  * @property {Boolean} isMaskClick = [true|false] 是否允许点击遮罩关闭该组件 (默认 true )
66
- * @property {String,Number} negativeTop 往上偏移的值,给一个负的margin-top,往上偏移,避免和键盘重合的情况,单位任意,数值则默认为px单位 (默认 0 )
67
- * @property {String,Number} width modal宽度,不支持百分比,可以数值,px,rpx单位 (默认 '650rpx' )
64
+ * @property {String|Number} negativeTop 往上偏移的值,给一个负的margin-top,往上偏移,避免和键盘重合的情况,单位任意,数值则默认为px单位 (默认 0 )
65
+ * @property {String|Number} width modal宽度,不支持百分比,可以数值,px,rpx单位 (默认 '650rpx' )
68
66
  * @property {String} align = [left|center|right] 文本对齐方式 (默认'left')
69
67
  * @value left 左对齐
70
68
  * @value center 居中
71
69
  * @value right 右对齐
72
- * @property {String,Object} textStyle 文本扩展样式
70
+ * @property {String|Object} textStyle 文本扩展样式
73
71
  *
74
72
  * @event {Function} confirm 点击确认按钮时触发
75
73
  * @event {Function} cancel 点击取消按钮时触发
76
- * @event {Function} close 点击遮罩关闭出发,isMaskClick为true有效
74
+ * @event {Function} close 点击遮罩关闭触发(仅isMaskClick为true有效)
77
75
  * @example <fu-modal ref="modalRef" title="title" content="content"></fu-modal>
78
76
  */
79
- export default {
80
- name: 'FuModal',
81
- emits: ['confirm', 'cancel', 'close'],
82
- mixins: [mpMixin, mixin, props],
83
- data() {
84
- return {
85
- loading: false
86
- }
87
- },
88
- computed: {
89
- nvueStyle() {
90
- const style = {};
91
- // 避免nvue中不能换行的问题
92
- // #ifdef APP-NVUE
93
- style.width = this.$fu.addUnit(this.$fu.getPx(this.width) - 50, 'px');
94
- // #endif
95
- return style;
96
- }
97
- },
98
- methods: {
99
- open() {
100
- this.$refs.popupRef.open();
101
- if (this.loading) this.loading = false;
102
- },
103
- close() {
104
- this.$refs.popupRef.close();
105
- },
106
- popupChange(e) {
107
- if (!e.show) this.$emit('close');
108
- },
109
- // 点击确定按钮
110
- confirmHandler() {
111
- if (!this.loading) {
112
- this.$emit('confirm');
113
- }
114
- // 如果配置了异步关闭,将按钮值为loading状态
115
- if (this.asyncClose) {
116
- this.loading = true;
117
- } else {
118
- this.close();
119
- }
120
- },
121
- // 点击取消按钮
122
- cancelHandler() {
123
- this.$emit('cancel');
124
- this.close();
125
- },
126
- closeLoading() {
127
- this.$nextTick(() => {
128
- this.loading = false;
129
- })
130
- }
131
- }
132
- }
77
+ import { modalEmits, modalProps } from './modal';
78
+ import { useModal, useModalCustomStyle } from './composables';
79
+
80
+ defineOptions({ name: 'FuModal', options: { virtualHost: true } });
81
+
82
+ const props = defineProps(modalProps);
83
+ const $emit = defineEmits(modalEmits);
84
+
85
+ const {
86
+ popupRef,
87
+ loading,
88
+ open,
89
+ close,
90
+ popupChange,
91
+ confirmHandler,
92
+ cancelHandler,
93
+ closeLoading
94
+ } = useModal(props, $emit);
95
+
96
+ const {
97
+ nvueStyle
98
+ } = useModalCustomStyle(props);
99
+
100
+ // 暴露方法给父组件
101
+ defineExpose({
102
+ open,
103
+ close
104
+ })
133
105
  </script>
134
106
 
135
107
  <style lang="scss" scoped>
136
- @import '../../libs/style/components.scss';
137
- @import '../../libs/style/color.scss';
108
+ @use '../../../style/components.scss';
109
+ @use '../../../style/color.scss' as *;
138
110
  $fu-modal-border-radius: 6px;
139
111
  $fu-bg-color: #f3f4f6;
140
112
  $fu-content-color: #606266;
141
113
 
142
114
  .fu-modal {
143
- @include flex(column);
115
+ @include components.flex(column);
144
116
  width: 650rpx;
145
117
  border-radius: $fu-modal-border-radius;
146
118
  /* #ifndef APP-NVUE */
@@ -159,7 +131,7 @@
159
131
 
160
132
  &__content {
161
133
  padding: 12px 25px 25px 25px;
162
- @include flex;
134
+ @include components.flex;
163
135
  justify-content: center;
164
136
 
165
137
  &__text {
@@ -171,12 +143,12 @@
171
143
  }
172
144
 
173
145
  &__button-group {
174
- @include flex;
146
+ @include components.flex;
175
147
  height: 48px;
176
148
 
177
149
  &__wrapper {
178
150
  flex: 1;
179
- @include flex;
151
+ @include components.flex;
180
152
  justify-content: center;
181
153
  align-items: center;
182
154
  height: 48px;
@@ -201,7 +173,7 @@
201
173
  text-align: center;
202
174
 
203
175
  &--confirm {
204
- color: $fu-primary;
176
+ color: $fu-color-primary;
205
177
  }
206
178
  }
207
179
  }
@@ -0,0 +1 @@
1
+ export * from './src/navbar'
@@ -0,0 +1,2 @@
1
+ export * from './navbar-custom'
2
+ export * from './use-navbar'
@@ -0,0 +1,62 @@
1
+ import { computed } from 'vue';
2
+ import type { NavbarProps } from '../navbar';
3
+
4
+ export const useNavbarCustomStyle = (props: NavbarProps) => {
5
+ const themeBgColor = computed(() => {
6
+ if (props.dark) {
7
+ // 默认值
8
+ if (props.bgColor) {
9
+ return props.bgColor
10
+ } else {
11
+ return props.dark ? '#333333' : '#FFFFFF'
12
+ }
13
+ }
14
+ return props.bgColor || '#FFFFFF'
15
+ });
16
+
17
+ const themeColor = computed(() => {
18
+ if (props.dark) {
19
+ // 默认值
20
+ if (props.color) {
21
+ return props.color
22
+ } else {
23
+ return props.dark ? '#fff' : '#333'
24
+ }
25
+ }
26
+ return props.color || '#333'
27
+ });
28
+
29
+ const navbarHeight = computed(() => {
30
+ // #ifdef MP-WEIXIN
31
+ if (props.fixed && props.height === 0) {
32
+ const menuBtnInfo = uni.getMenuButtonBoundingClientRect()
33
+ const winInfo = uni.getWindowInfo()
34
+ const statusHeight = winInfo.statusBarHeight
35
+ const spaceHeight = menuBtnInfo.top - statusHeight
36
+ return uni.$fu.getPx(menuBtnInfo.height + spaceHeight * 2)
37
+ }
38
+ // #endif
39
+ // #ifndef MP-WEIXIN
40
+ if (props.fixed && props.height === 0) {
41
+ return uni.$fu.getPx(44)
42
+ }
43
+ // #endif
44
+ return uni.$fu.getPx(props.height, true)
45
+ });
46
+
47
+ const leftIconWidth = computed(() => {
48
+ return uni.$fu.getPx(props.leftWidth, true)
49
+ });
50
+
51
+ const rightIconWidth = computed(() => {
52
+ return uni.$fu.getPx(props.rightWidth, true)
53
+ });
54
+
55
+ return {
56
+ themeBgColor,
57
+ themeColor,
58
+ navbarHeight,
59
+ leftIconWidth,
60
+ rightIconWidth
61
+ }
62
+ }
@@ -0,0 +1,42 @@
1
+ import { onMounted, ref, type SetupContext } from 'vue';
2
+ import type { NavbarProps, NavbarEmits } from '../navbar';
3
+
4
+ export const useNavbar = (props: NavbarProps, $emit: SetupContext<NavbarEmits>['emit']) => {
5
+ const navWidth = ref<any>('auto');
6
+
7
+ // 左侧按钮点击时触发
8
+ const handleClickLeft = (e: any) => {
9
+ $emit("clickLeft", e);
10
+ };
11
+
12
+ // 右侧按钮点击时触发
13
+ const handleClickRight = (e: any) => {
14
+ $emit("clickRight", e);
15
+ };
16
+
17
+ // 中间标题点击时触发
18
+ const handleClickTitle = (e: any) => {
19
+ $emit("clickTitle", e);
20
+ };
21
+
22
+ // 生命周期
23
+ onMounted(() => {
24
+ // #ifdef MP-WEIXIN
25
+ if (props.fixed) {
26
+ const menuBtnInfo = uni.getMenuButtonBoundingClientRect()
27
+ navWidth.value = menuBtnInfo.left
28
+ }
29
+ // #endif
30
+
31
+ if (uni.report && props.stat && props.title !== '') {
32
+ uni.report('title', props.title)
33
+ }
34
+ });
35
+
36
+ return {
37
+ navWidth,
38
+ handleClickLeft,
39
+ handleClickRight,
40
+ handleClickTitle
41
+ }
42
+ }
@@ -0,0 +1,151 @@
1
+ import type { ExtractPropTypes } from 'vue';
2
+
3
+ export const navbarProps = {
4
+ /**
5
+ * @description 开启黑暗模式
6
+ * @default false
7
+ */
8
+ dark: {
9
+ type: Boolean,
10
+ default: false
11
+ },
12
+ /**
13
+ * @description 标题文字
14
+ */
15
+ title: {
16
+ type: String,
17
+ default: ""
18
+ },
19
+ /**
20
+ * @description 左侧按钮文本
21
+ */
22
+ leftText: {
23
+ type: String,
24
+ default: ""
25
+ },
26
+ /**
27
+ * @description 右侧按钮文本
28
+ */
29
+ rightText: {
30
+ type: String,
31
+ default: ""
32
+ },
33
+ /**
34
+ * @description 左侧按钮图标
35
+ */
36
+ leftIcon: {
37
+ type: String,
38
+ default: ""
39
+ },
40
+ /**
41
+ * @description 右侧按钮图标
42
+ */
43
+ rightIcon: {
44
+ type: String,
45
+ default: ""
46
+ },
47
+ /**
48
+ * @description 是否固定顶部
49
+ * @default false
50
+ */
51
+ fixed: {
52
+ type: [Boolean, String],
53
+ default: false
54
+ },
55
+ /**
56
+ * @description 图标和文字颜色
57
+ */
58
+ color: {
59
+ type: String,
60
+ default: ""
61
+ },
62
+ /**
63
+ * @description 导航栏背景颜色 transparent 设置透明色
64
+ */
65
+ bgColor: {
66
+ type: String,
67
+ default: ""
68
+ },
69
+ /**
70
+ * @description 是否包含状态栏
71
+ * @default true
72
+ */
73
+ statusBar: {
74
+ type: [Boolean, String],
75
+ default: false
76
+ },
77
+ /**
78
+ * @description 导航栏下是否有阴影
79
+ * @default false
80
+ */
81
+ shadow: {
82
+ type: [Boolean, String],
83
+ default: false
84
+ },
85
+ /**
86
+ * @description 导航栏下是否有边框
87
+ * @default true
88
+ */
89
+ border: {
90
+ type: [Boolean, String],
91
+ default: true
92
+ },
93
+ /**
94
+ * @description 导航栏高度
95
+ * @default 44
96
+ */
97
+ height: {
98
+ type: [Number, String],
99
+ default: 44
100
+ },
101
+ /**
102
+ * @description 导航栏左侧宽度
103
+ * @default 60
104
+ */
105
+ leftWidth: {
106
+ type: [Number, String],
107
+ default: 60
108
+ },
109
+ /**
110
+ * @description 导航栏右侧宽度
111
+ * @default 60
112
+ */
113
+ rightWidth: {
114
+ type: [Number,String],
115
+ default: 60
116
+ },
117
+ /**
118
+ * @description 是否开启统计标题上报
119
+ * @default false
120
+ */
121
+ stat: {
122
+ type: [Boolean, String],
123
+ default: false
124
+ },
125
+ /**
126
+ * @description 是否开启胶囊避让
127
+ * @default false
128
+ */
129
+ showMenuButtonWidth: {
130
+ type: [Boolean, String],
131
+ default: false
132
+ }
133
+ };
134
+
135
+ export const navbarEmits = {
136
+ /**
137
+ * @description 左侧按钮点击时触发
138
+ */
139
+ clickLeft: (_e: any) => true,
140
+ /**
141
+ * @description 右侧按钮点击时触发
142
+ */
143
+ clickRight: (_e: any) => true,
144
+ /**
145
+ * @description 中间标题点击时触发
146
+ */
147
+ clickTitle: (_e: any) => true
148
+ };
149
+
150
+ export type NavbarProps = ExtractPropTypes<typeof navbarProps>;
151
+ export type NavbarEmits = typeof navbarEmits;