maxit-cli 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (715) hide show
  1. package/LICENSE +49 -0
  2. package/README.md +56 -0
  3. package/bin/maxit.js +75 -0
  4. package/lib/commands.js +142 -0
  5. package/lib/project.js +58 -0
  6. package/lib/registry.js +50 -0
  7. package/package.json +30 -0
  8. package/registry/components/action-sheet/action-sheet.js +1 -0
  9. package/registry/components/action-sheet/action-sheet.json +1 -0
  10. package/registry/components/action-sheet/action-sheet.wxml +1 -0
  11. package/registry/components/action-sheet/action-sheet.wxs +34 -0
  12. package/registry/components/action-sheet/action-sheet.wxss +197 -0
  13. package/registry/components/action-sheet/index.js +1 -0
  14. package/registry/components/action-sheet/props.js +1 -0
  15. package/registry/components/action-sheet/show.js +1 -0
  16. package/registry/components/action-sheet/template/grid.wxml +1 -0
  17. package/registry/components/avatar/avatar.js +1 -0
  18. package/registry/components/avatar/avatar.json +1 -0
  19. package/registry/components/avatar/avatar.wxml +1 -0
  20. package/registry/components/avatar/avatar.wxs +30 -0
  21. package/registry/components/avatar/avatar.wxss +105 -0
  22. package/registry/components/avatar/index.js +1 -0
  23. package/registry/components/avatar/props.js +1 -0
  24. package/registry/components/avatar-group/avatar-group.js +1 -0
  25. package/registry/components/avatar-group/avatar-group.json +1 -0
  26. package/registry/components/avatar-group/avatar-group.wxml +1 -0
  27. package/registry/components/avatar-group/avatar-group.wxss +248 -0
  28. package/registry/components/avatar-group/index.js +1 -0
  29. package/registry/components/avatar-group/props.js +1 -0
  30. package/registry/components/back-top/back-top.js +1 -0
  31. package/registry/components/back-top/back-top.json +1 -0
  32. package/registry/components/back-top/back-top.wxml +1 -0
  33. package/registry/components/back-top/back-top.wxss +77 -0
  34. package/registry/components/back-top/index.js +1 -0
  35. package/registry/components/back-top/props.js +1 -0
  36. package/registry/components/badge/badge.js +1 -0
  37. package/registry/components/badge/badge.json +1 -0
  38. package/registry/components/badge/badge.wxml +1 -0
  39. package/registry/components/badge/badge.wxs +64 -0
  40. package/registry/components/badge/badge.wxss +168 -0
  41. package/registry/components/badge/index.js +1 -0
  42. package/registry/components/badge/props.js +1 -0
  43. package/registry/components/balance-card/balance-card.js +34 -0
  44. package/registry/components/balance-card/balance-card.json +1 -0
  45. package/registry/components/balance-card/balance-card.wxml +33 -0
  46. package/registry/components/balance-card/balance-card.wxss +111 -0
  47. package/registry/components/balance-card/index.js +2 -0
  48. package/registry/components/balance-card/props.js +14 -0
  49. package/registry/components/balance-thumb-card/balance-thumb-card.js +39 -0
  50. package/registry/components/balance-thumb-card/balance-thumb-card.json +1 -0
  51. package/registry/components/balance-thumb-card/balance-thumb-card.wxml +26 -0
  52. package/registry/components/balance-thumb-card/balance-thumb-card.wxss +31 -0
  53. package/registry/components/balance-thumb-card/index.js +2 -0
  54. package/registry/components/balance-thumb-card/props.js +17 -0
  55. package/registry/components/bill-card/bill-card.js +23 -0
  56. package/registry/components/bill-card/bill-card.json +1 -0
  57. package/registry/components/bill-card/bill-card.wxml +30 -0
  58. package/registry/components/bill-card/bill-card.wxss +33 -0
  59. package/registry/components/bill-card/index.js +2 -0
  60. package/registry/components/bill-card/props.js +18 -0
  61. package/registry/components/button/button.js +1 -0
  62. package/registry/components/button/button.json +1 -0
  63. package/registry/components/button/button.wxml +1 -0
  64. package/registry/components/button/button.wxss +775 -0
  65. package/registry/components/button/index.js +1 -0
  66. package/registry/components/button/props.js +1 -0
  67. package/registry/components/calendar/calendar-header.wxml +1 -0
  68. package/registry/components/calendar/calendar.js +1 -0
  69. package/registry/components/calendar/calendar.json +1 -0
  70. package/registry/components/calendar/calendar.wxml +1 -0
  71. package/registry/components/calendar/calendar.wxs +44 -0
  72. package/registry/components/calendar/calendar.wxss +246 -0
  73. package/registry/components/calendar/index.js +1 -0
  74. package/registry/components/calendar/props.js +1 -0
  75. package/registry/components/calendar/template.wxml +1 -0
  76. package/registry/components/calendar/utils.js +1 -0
  77. package/registry/components/card/card.js +24 -0
  78. package/registry/components/card/card.json +1 -0
  79. package/registry/components/card/card.wxml +23 -0
  80. package/registry/components/card/card.wxss +103 -0
  81. package/registry/components/card/index.js +2 -0
  82. package/registry/components/card/props.js +16 -0
  83. package/registry/components/card-list/card-list.js +22 -0
  84. package/registry/components/card-list/card-list.json +1 -0
  85. package/registry/components/card-list/card-list.wxml +7 -0
  86. package/registry/components/card-list/card-list.wxss +30 -0
  87. package/registry/components/card-list/index.js +2 -0
  88. package/registry/components/card-list/props.js +16 -0
  89. package/registry/components/cascader/cascader.js +1 -0
  90. package/registry/components/cascader/cascader.json +1 -0
  91. package/registry/components/cascader/cascader.wxml +1 -0
  92. package/registry/components/cascader/cascader.wxss +178 -0
  93. package/registry/components/cascader/index.js +1 -0
  94. package/registry/components/cascader/props.js +1 -0
  95. package/registry/components/category-filter/category-filter.js +50 -0
  96. package/registry/components/category-filter/category-filter.json +1 -0
  97. package/registry/components/category-filter/category-filter.wxml +16 -0
  98. package/registry/components/category-filter/category-filter.wxss +47 -0
  99. package/registry/components/category-filter/index.js +2 -0
  100. package/registry/components/category-filter/props.js +10 -0
  101. package/registry/components/cell/cell.js +1 -0
  102. package/registry/components/cell/cell.json +1 -0
  103. package/registry/components/cell/cell.wxml +1 -0
  104. package/registry/components/cell/cell.wxss +136 -0
  105. package/registry/components/cell/index.js +1 -0
  106. package/registry/components/cell/props.js +1 -0
  107. package/registry/components/check-tag/check-tag.js +1 -0
  108. package/registry/components/check-tag/check-tag.json +1 -0
  109. package/registry/components/check-tag/check-tag.wxml +1 -0
  110. package/registry/components/check-tag/check-tag.wxss +275 -0
  111. package/registry/components/check-tag/index.js +1 -0
  112. package/registry/components/check-tag/props.js +1 -0
  113. package/registry/components/checkbox/checkbox.js +1 -0
  114. package/registry/components/checkbox/checkbox.json +1 -0
  115. package/registry/components/checkbox/checkbox.wxml +1 -0
  116. package/registry/components/checkbox/checkbox.wxss +230 -0
  117. package/registry/components/checkbox/index.js +1 -0
  118. package/registry/components/checkbox/props.js +1 -0
  119. package/registry/components/checkbox-group/checkbox-group.js +1 -0
  120. package/registry/components/checkbox-group/checkbox-group.json +1 -0
  121. package/registry/components/checkbox-group/checkbox-group.wxml +1 -0
  122. package/registry/components/checkbox-group/checkbox-group.wxss +7 -0
  123. package/registry/components/checkbox-group/index.js +1 -0
  124. package/registry/components/checkbox-group/props.js +1 -0
  125. package/registry/components/collapse/collapse.js +1 -0
  126. package/registry/components/collapse/collapse.json +1 -0
  127. package/registry/components/collapse/collapse.wxml +1 -0
  128. package/registry/components/collapse/collapse.wxss +8 -0
  129. package/registry/components/collapse/index.js +1 -0
  130. package/registry/components/collapse/props.js +1 -0
  131. package/registry/components/collapse-panel/collapse-panel.js +1 -0
  132. package/registry/components/collapse-panel/collapse-panel.json +1 -0
  133. package/registry/components/collapse-panel/collapse-panel.wxml +1 -0
  134. package/registry/components/collapse-panel/collapse-panel.wxss +186 -0
  135. package/registry/components/collapse-panel/index.js +1 -0
  136. package/registry/components/collapse-panel/props.js +1 -0
  137. package/registry/components/color-picker/color-picker.js +1 -0
  138. package/registry/components/color-picker/color-picker.json +1 -0
  139. package/registry/components/color-picker/color-picker.wxml +1 -0
  140. package/registry/components/color-picker/color-picker.wxss +312 -0
  141. package/registry/components/color-picker/constants.js +1 -0
  142. package/registry/components/color-picker/index.js +1 -0
  143. package/registry/components/color-picker/interfaces.js +1 -0
  144. package/registry/components/color-picker/props.js +1 -0
  145. package/registry/components/color-picker/template.wxml +1 -0
  146. package/registry/components/color-picker/utils.js +1 -0
  147. package/registry/components/common/bus.js +1 -0
  148. package/registry/components/common/config.js +1 -0
  149. package/registry/components/common/libs/tinycolor.js +1 -0
  150. package/registry/components/common/locale.js +20 -0
  151. package/registry/components/common/mixins/page-scroll.js +1 -0
  152. package/registry/components/common/mixins/touch.js +1 -0
  153. package/registry/components/common/mixins/transition.js +1 -0
  154. package/registry/components/common/mixins/using-config.js +24 -0
  155. package/registry/components/common/mixins/using-custom-navbar.js +1 -0
  156. package/registry/components/common/shared/calendar/index.js +1 -0
  157. package/registry/components/common/shared/color-picker/cmyk.js +1 -0
  158. package/registry/components/common/shared/color-picker/color.js +1 -0
  159. package/registry/components/common/shared/color-picker/gradient.js +1 -0
  160. package/registry/components/common/shared/color-picker/index.js +1 -0
  161. package/registry/components/common/shared/date.js +1 -0
  162. package/registry/components/common/shared/qrcode/qrcodegen.js +1 -0
  163. package/registry/components/common/shared/qrcode/utils.js +1 -0
  164. package/registry/components/common/src/control.js +1 -0
  165. package/registry/components/common/src/flatTool.js +1 -0
  166. package/registry/components/common/src/index.js +1 -0
  167. package/registry/components/common/src/instantiationDecorator.js +1 -0
  168. package/registry/components/common/src/superComponent.js +1 -0
  169. package/registry/components/common/style/card.wxss +245 -0
  170. package/registry/components/common/style/index.wxss +3 -0
  171. package/registry/components/common/style/tokens.wxss +233 -0
  172. package/registry/components/common/template/badge.wxml +1 -0
  173. package/registry/components/common/template/button.wxml +1 -0
  174. package/registry/components/common/template/icon.wxml +1 -0
  175. package/registry/components/common/template/image.wxml +1 -0
  176. package/registry/components/common/tslib.js +2 -0
  177. package/registry/components/common/typography/ellipsis.wxml +1 -0
  178. package/registry/components/common/typography/typography.wxs +49 -0
  179. package/registry/components/common/utils.js +1 -0
  180. package/registry/components/common/utils.wxs +149 -0
  181. package/registry/components/common/validator.js +1 -0
  182. package/registry/components/common/wechat.js +1 -0
  183. package/registry/components/consumption-card/consumption-card.js +23 -0
  184. package/registry/components/consumption-card/consumption-card.json +1 -0
  185. package/registry/components/consumption-card/consumption-card.wxml +16 -0
  186. package/registry/components/consumption-card/consumption-card.wxss +36 -0
  187. package/registry/components/consumption-card/index.js +2 -0
  188. package/registry/components/consumption-card/props.js +14 -0
  189. package/registry/components/contact-list/contact-list.js +60 -0
  190. package/registry/components/contact-list/contact-list.json +1 -0
  191. package/registry/components/contact-list/contact-list.wxml +24 -0
  192. package/registry/components/contact-list/contact-list.wxss +73 -0
  193. package/registry/components/contact-list/index.js +2 -0
  194. package/registry/components/contact-list/props.js +13 -0
  195. package/registry/components/description-tile/description-tile.js +22 -0
  196. package/registry/components/description-tile/description-tile.json +1 -0
  197. package/registry/components/description-tile/description-tile.wxml +11 -0
  198. package/registry/components/description-tile/description-tile.wxss +21 -0
  199. package/registry/components/description-tile/index.js +2 -0
  200. package/registry/components/description-tile/props.js +10 -0
  201. package/registry/components/details-card/details-card.js +38 -0
  202. package/registry/components/details-card/details-card.json +1 -0
  203. package/registry/components/details-card/details-card.wxml +37 -0
  204. package/registry/components/details-card/details-card.wxss +119 -0
  205. package/registry/components/details-card/index.js +2 -0
  206. package/registry/components/details-card/props.js +22 -0
  207. package/registry/components/dialog/dialog.js +1 -0
  208. package/registry/components/dialog/dialog.json +1 -0
  209. package/registry/components/dialog/dialog.wxml +1 -0
  210. package/registry/components/dialog/dialog.wxs +13 -0
  211. package/registry/components/dialog/dialog.wxss +123 -0
  212. package/registry/components/dialog/index.js +1 -0
  213. package/registry/components/dialog/props.js +1 -0
  214. package/registry/components/divider/divider.js +1 -0
  215. package/registry/components/divider/divider.json +1 -0
  216. package/registry/components/divider/divider.wxml +1 -0
  217. package/registry/components/divider/divider.wxss +69 -0
  218. package/registry/components/divider/index.js +1 -0
  219. package/registry/components/divider/props.js +1 -0
  220. package/registry/components/drawer/drawer.js +1 -0
  221. package/registry/components/drawer/drawer.json +1 -0
  222. package/registry/components/drawer/drawer.wxml +1 -0
  223. package/registry/components/drawer/drawer.wxss +75 -0
  224. package/registry/components/drawer/index.js +1 -0
  225. package/registry/components/drawer/props.js +1 -0
  226. package/registry/components/dropdown-item/dropdown-item.js +1 -0
  227. package/registry/components/dropdown-item/dropdown-item.json +1 -0
  228. package/registry/components/dropdown-item/dropdown-item.wxml +1 -0
  229. package/registry/components/dropdown-item/dropdown-item.wxss +116 -0
  230. package/registry/components/dropdown-item/index.js +1 -0
  231. package/registry/components/dropdown-item/index.wxs +9 -0
  232. package/registry/components/dropdown-item/props.js +1 -0
  233. package/registry/components/dropdown-menu/dropdown-menu.js +1 -0
  234. package/registry/components/dropdown-menu/dropdown-menu.json +1 -0
  235. package/registry/components/dropdown-menu/dropdown-menu.wxml +1 -0
  236. package/registry/components/dropdown-menu/dropdown-menu.wxss +72 -0
  237. package/registry/components/dropdown-menu/index.js +1 -0
  238. package/registry/components/dropdown-menu/props.js +1 -0
  239. package/registry/components/empty/empty.js +1 -0
  240. package/registry/components/empty/empty.json +1 -0
  241. package/registry/components/empty/empty.wxml +1 -0
  242. package/registry/components/empty/empty.wxss +28 -0
  243. package/registry/components/empty/index.js +1 -0
  244. package/registry/components/empty/props.js +1 -0
  245. package/registry/components/entry-card/entry-card.js +23 -0
  246. package/registry/components/entry-card/entry-card.json +1 -0
  247. package/registry/components/entry-card/entry-card.wxml +14 -0
  248. package/registry/components/entry-card/entry-card.wxss +30 -0
  249. package/registry/components/entry-card/index.js +2 -0
  250. package/registry/components/entry-card/props.js +11 -0
  251. package/registry/components/file-drop/file-drop.js +23 -0
  252. package/registry/components/file-drop/file-drop.json +1 -0
  253. package/registry/components/file-drop/file-drop.wxml +13 -0
  254. package/registry/components/file-drop/file-drop.wxss +35 -0
  255. package/registry/components/file-drop/index.js +2 -0
  256. package/registry/components/file-drop/props.js +9 -0
  257. package/registry/components/grid/grid.js +1 -0
  258. package/registry/components/grid/grid.json +1 -0
  259. package/registry/components/grid/grid.wxml +1 -0
  260. package/registry/components/grid/grid.wxss +18 -0
  261. package/registry/components/grid/index.js +1 -0
  262. package/registry/components/grid/props.js +1 -0
  263. package/registry/components/grid-item/grid-item.js +1 -0
  264. package/registry/components/grid-item/grid-item.json +1 -0
  265. package/registry/components/grid-item/grid-item.wxml +1 -0
  266. package/registry/components/grid-item/grid-item.wxss +130 -0
  267. package/registry/components/grid-item/index.js +1 -0
  268. package/registry/components/grid-item/props.js +1 -0
  269. package/registry/components/guide/content.wxml +1 -0
  270. package/registry/components/guide/guide.js +1 -0
  271. package/registry/components/guide/guide.json +1 -0
  272. package/registry/components/guide/guide.wxml +1 -0
  273. package/registry/components/guide/guide.wxss +79 -0
  274. package/registry/components/guide/index.js +1 -0
  275. package/registry/components/guide/props.js +1 -0
  276. package/registry/components/icon/icon.js +1 -0
  277. package/registry/components/icon/icon.json +1 -0
  278. package/registry/components/icon/icon.wxml +1 -0
  279. package/registry/components/icon/icon.wxss +2361 -0
  280. package/registry/components/icon/index.js +1 -0
  281. package/registry/components/icon/props.js +1 -0
  282. package/registry/components/image/image.js +1 -0
  283. package/registry/components/image/image.json +1 -0
  284. package/registry/components/image/image.wxml +1 -0
  285. package/registry/components/image/image.wxss +55 -0
  286. package/registry/components/image/index.js +1 -0
  287. package/registry/components/image/props.js +1 -0
  288. package/registry/components/image-viewer/image-viewer.js +1 -0
  289. package/registry/components/image-viewer/image-viewer.json +1 -0
  290. package/registry/components/image-viewer/image-viewer.wxml +1 -0
  291. package/registry/components/image-viewer/image-viewer.wxs +7 -0
  292. package/registry/components/image-viewer/image-viewer.wxss +90 -0
  293. package/registry/components/image-viewer/index.js +1 -0
  294. package/registry/components/image-viewer/props.js +1 -0
  295. package/registry/components/info-card/index.js +2 -0
  296. package/registry/components/info-card/info-card.js +22 -0
  297. package/registry/components/info-card/info-card.json +1 -0
  298. package/registry/components/info-card/info-card.wxml +14 -0
  299. package/registry/components/info-card/info-card.wxss +56 -0
  300. package/registry/components/info-card/props.js +11 -0
  301. package/registry/components/input/index.js +1 -0
  302. package/registry/components/input/input.js +1 -0
  303. package/registry/components/input/input.json +1 -0
  304. package/registry/components/input/input.wxml +1 -0
  305. package/registry/components/input/input.wxs +16 -0
  306. package/registry/components/input/input.wxss +313 -0
  307. package/registry/components/input/props.js +1 -0
  308. package/registry/components/insight-card/index.js +2 -0
  309. package/registry/components/insight-card/insight-card.js +19 -0
  310. package/registry/components/insight-card/insight-card.json +1 -0
  311. package/registry/components/insight-card/insight-card.wxml +17 -0
  312. package/registry/components/insight-card/insight-card.wxss +35 -0
  313. package/registry/components/insight-card/props.js +12 -0
  314. package/registry/components/link/index.js +1 -0
  315. package/registry/components/link/link.js +1 -0
  316. package/registry/components/link/link.json +1 -0
  317. package/registry/components/link/link.wxml +1 -0
  318. package/registry/components/link/link.wxss +155 -0
  319. package/registry/components/link/props.js +1 -0
  320. package/registry/components/list-item/index.js +2 -0
  321. package/registry/components/list-item/list-item.js +39 -0
  322. package/registry/components/list-item/list-item.json +1 -0
  323. package/registry/components/list-item/list-item.wxml +22 -0
  324. package/registry/components/list-item/list-item.wxss +110 -0
  325. package/registry/components/list-item/props.js +22 -0
  326. package/registry/components/loading/index.js +1 -0
  327. package/registry/components/loading/loading.js +1 -0
  328. package/registry/components/loading/loading.json +1 -0
  329. package/registry/components/loading/loading.wxml +1 -0
  330. package/registry/components/loading/loading.wxss +281 -0
  331. package/registry/components/loading/props.js +1 -0
  332. package/registry/components/main-card/index.js +2 -0
  333. package/registry/components/main-card/main-card.js +23 -0
  334. package/registry/components/main-card/main-card.json +1 -0
  335. package/registry/components/main-card/main-card.wxml +37 -0
  336. package/registry/components/main-card/main-card.wxss +63 -0
  337. package/registry/components/main-card/props.js +24 -0
  338. package/registry/components/media-card/index.js +2 -0
  339. package/registry/components/media-card/media-card.js +23 -0
  340. package/registry/components/media-card/media-card.json +1 -0
  341. package/registry/components/media-card/media-card.wxml +11 -0
  342. package/registry/components/media-card/media-card.wxss +51 -0
  343. package/registry/components/media-card/props.js +8 -0
  344. package/registry/components/message/index.js +1 -0
  345. package/registry/components/message/message.interface.js +1 -0
  346. package/registry/components/message/message.js +1 -0
  347. package/registry/components/message/message.json +1 -0
  348. package/registry/components/message/message.wxml +1 -0
  349. package/registry/components/message/message.wxss +2 -0
  350. package/registry/components/message/props.js +1 -0
  351. package/registry/components/message-item/index.js +1 -0
  352. package/registry/components/message-item/message-item.js +1 -0
  353. package/registry/components/message-item/message-item.json +1 -0
  354. package/registry/components/message-item/message-item.wxml +1 -0
  355. package/registry/components/message-item/message-item.wxs +31 -0
  356. package/registry/components/message-item/message-item.wxss +141 -0
  357. package/registry/components/navbar/index.js +1 -0
  358. package/registry/components/navbar/navbar.js +1 -0
  359. package/registry/components/navbar/navbar.json +1 -0
  360. package/registry/components/navbar/navbar.wxml +1 -0
  361. package/registry/components/navbar/navbar.wxss +126 -0
  362. package/registry/components/navbar/props.js +1 -0
  363. package/registry/components/notice-bar/index.js +1 -0
  364. package/registry/components/notice-bar/notice-bar.js +1 -0
  365. package/registry/components/notice-bar/notice-bar.json +1 -0
  366. package/registry/components/notice-bar/notice-bar.wxml +1 -0
  367. package/registry/components/notice-bar/notice-bar.wxss +95 -0
  368. package/registry/components/notice-bar/props.js +1 -0
  369. package/registry/components/notification-item/index.js +2 -0
  370. package/registry/components/notification-item/notification-item.js +35 -0
  371. package/registry/components/notification-item/notification-item.json +1 -0
  372. package/registry/components/notification-item/notification-item.wxml +14 -0
  373. package/registry/components/notification-item/notification-item.wxss +47 -0
  374. package/registry/components/notification-item/props.js +10 -0
  375. package/registry/components/offer-card/index.js +2 -0
  376. package/registry/components/offer-card/offer-card.js +22 -0
  377. package/registry/components/offer-card/offer-card.json +1 -0
  378. package/registry/components/offer-card/offer-card.wxml +33 -0
  379. package/registry/components/offer-card/offer-card.wxss +37 -0
  380. package/registry/components/offer-card/props.js +21 -0
  381. package/registry/components/om-card/index.js +2 -0
  382. package/registry/components/om-card/om-card.js +40 -0
  383. package/registry/components/om-card/om-card.json +1 -0
  384. package/registry/components/om-card/om-card.wxml +35 -0
  385. package/registry/components/om-card/om-card.wxss +90 -0
  386. package/registry/components/om-card/props.js +14 -0
  387. package/registry/components/overlay/index.js +1 -0
  388. package/registry/components/overlay/overlay.js +1 -0
  389. package/registry/components/overlay/overlay.json +1 -0
  390. package/registry/components/overlay/overlay.wxml +1 -0
  391. package/registry/components/overlay/overlay.wxss +22 -0
  392. package/registry/components/overlay/props.js +1 -0
  393. package/registry/components/paragraph/index.js +1 -0
  394. package/registry/components/paragraph/paragraph.js +1 -0
  395. package/registry/components/paragraph/paragraph.json +1 -0
  396. package/registry/components/paragraph/paragraph.wxml +1 -0
  397. package/registry/components/paragraph/paragraph.wxss +151 -0
  398. package/registry/components/paragraph/props.js +1 -0
  399. package/registry/components/picker/index.js +1 -0
  400. package/registry/components/picker/picker.js +1 -0
  401. package/registry/components/picker/picker.json +1 -0
  402. package/registry/components/picker/picker.wxml +1 -0
  403. package/registry/components/picker/picker.wxs +9 -0
  404. package/registry/components/picker/picker.wxss +84 -0
  405. package/registry/components/picker/props.js +1 -0
  406. package/registry/components/picker/template.wxml +1 -0
  407. package/registry/components/picker-item/index.js +1 -0
  408. package/registry/components/picker-item/picker-item.js +1 -0
  409. package/registry/components/picker-item/picker-item.json +1 -0
  410. package/registry/components/picker-item/picker-item.wxml +1 -0
  411. package/registry/components/picker-item/picker-item.wxss +41 -0
  412. package/registry/components/picker-item/props.js +1 -0
  413. package/registry/components/popover/index.js +1 -0
  414. package/registry/components/popover/popover.js +1 -0
  415. package/registry/components/popover/popover.json +1 -0
  416. package/registry/components/popover/popover.wxml +1 -0
  417. package/registry/components/popover/popover.wxss +336 -0
  418. package/registry/components/popover/props.js +1 -0
  419. package/registry/components/popup/index.js +1 -0
  420. package/registry/components/popup/popup.js +1 -0
  421. package/registry/components/popup/popup.json +1 -0
  422. package/registry/components/popup/popup.wxml +1 -0
  423. package/registry/components/popup/popup.wxs +21 -0
  424. package/registry/components/popup/popup.wxss +96 -0
  425. package/registry/components/popup/props.js +1 -0
  426. package/registry/components/post-item/index.js +2 -0
  427. package/registry/components/post-item/post-item.js +22 -0
  428. package/registry/components/post-item/post-item.json +1 -0
  429. package/registry/components/post-item/post-item.wxml +5 -0
  430. package/registry/components/post-item/post-item.wxss +37 -0
  431. package/registry/components/post-item/props.js +7 -0
  432. package/registry/components/progress/index.js +1 -0
  433. package/registry/components/progress/progress.js +1 -0
  434. package/registry/components/progress/progress.json +1 -0
  435. package/registry/components/progress/progress.wxml +1 -0
  436. package/registry/components/progress/progress.wxs +80 -0
  437. package/registry/components/progress/progress.wxss +161 -0
  438. package/registry/components/progress/props.js +1 -0
  439. package/registry/components/progress/utils.js +1 -0
  440. package/registry/components/purchase-card/index.js +2 -0
  441. package/registry/components/purchase-card/props.js +13 -0
  442. package/registry/components/purchase-card/purchase-card.js +40 -0
  443. package/registry/components/purchase-card/purchase-card.json +1 -0
  444. package/registry/components/purchase-card/purchase-card.wxml +22 -0
  445. package/registry/components/purchase-card/purchase-card.wxss +19 -0
  446. package/registry/components/qrcode/components/qrcode-canvas/props.js +1 -0
  447. package/registry/components/qrcode/components/qrcode-canvas/qrcode-canvas.js +1 -0
  448. package/registry/components/qrcode/components/qrcode-canvas/qrcode-canvas.json +1 -0
  449. package/registry/components/qrcode/components/qrcode-canvas/qrcode-canvas.wxml +1 -0
  450. package/registry/components/qrcode/components/qrcode-canvas/qrcode-canvas.wxss +10 -0
  451. package/registry/components/qrcode/components/qrcode-status/props.js +1 -0
  452. package/registry/components/qrcode/components/qrcode-status/qrcode-status.js +1 -0
  453. package/registry/components/qrcode/components/qrcode-status/qrcode-status.json +1 -0
  454. package/registry/components/qrcode/components/qrcode-status/qrcode-status.wxml +1 -0
  455. package/registry/components/qrcode/components/qrcode-status/qrcode-status.wxss +32 -0
  456. package/registry/components/qrcode/hooks/useQRCode.js +1 -0
  457. package/registry/components/qrcode/index.js +1 -0
  458. package/registry/components/qrcode/props.js +1 -0
  459. package/registry/components/qrcode/qrcode.js +1 -0
  460. package/registry/components/qrcode/qrcode.json +1 -0
  461. package/registry/components/qrcode/qrcode.wxml +1 -0
  462. package/registry/components/qrcode/qrcode.wxss +36 -0
  463. package/registry/components/quick-action/index.js +2 -0
  464. package/registry/components/quick-action/props.js +10 -0
  465. package/registry/components/quick-action/quick-action.js +22 -0
  466. package/registry/components/quick-action/quick-action.json +1 -0
  467. package/registry/components/quick-action/quick-action.wxml +15 -0
  468. package/registry/components/quick-action/quick-action.wxss +80 -0
  469. package/registry/components/radio/index.js +1 -0
  470. package/registry/components/radio/props.js +1 -0
  471. package/registry/components/radio/radio.js +1 -0
  472. package/registry/components/radio/radio.json +1 -0
  473. package/registry/components/radio/radio.wxml +1 -0
  474. package/registry/components/radio/radio.wxss +219 -0
  475. package/registry/components/radio-group/index.js +1 -0
  476. package/registry/components/radio-group/props.js +1 -0
  477. package/registry/components/radio-group/radio-group.js +1 -0
  478. package/registry/components/radio-group/radio-group.json +1 -0
  479. package/registry/components/radio-group/radio-group.wxml +1 -0
  480. package/registry/components/radio-group/radio-group.wxss +7 -0
  481. package/registry/components/rate/index.js +1 -0
  482. package/registry/components/rate/props.js +1 -0
  483. package/registry/components/rate/rate.js +1 -0
  484. package/registry/components/rate/rate.json +1 -0
  485. package/registry/components/rate/rate.wxml +1 -0
  486. package/registry/components/rate/rate.wxs +65 -0
  487. package/registry/components/rate/rate.wxss +99 -0
  488. package/registry/components/rating-card/index.js +2 -0
  489. package/registry/components/rating-card/props.js +12 -0
  490. package/registry/components/rating-card/rating-card.js +42 -0
  491. package/registry/components/rating-card/rating-card.json +1 -0
  492. package/registry/components/rating-card/rating-card.wxml +24 -0
  493. package/registry/components/rating-card/rating-card.wxss +49 -0
  494. package/registry/components/recap-card/index.js +2 -0
  495. package/registry/components/recap-card/props.js +21 -0
  496. package/registry/components/recap-card/recap-card.js +38 -0
  497. package/registry/components/recap-card/recap-card.json +1 -0
  498. package/registry/components/recap-card/recap-card.wxml +43 -0
  499. package/registry/components/recap-card/recap-card.wxss +60 -0
  500. package/registry/components/result/illustrations.js +2 -0
  501. package/registry/components/result/index.js +1 -0
  502. package/registry/components/result/props.js +1 -0
  503. package/registry/components/result/result.js +1 -0
  504. package/registry/components/result/result.json +1 -0
  505. package/registry/components/result/result.wxml +1 -0
  506. package/registry/components/result/result.wxss +97 -0
  507. package/registry/components/review-item/index.js +2 -0
  508. package/registry/components/review-item/props.js +13 -0
  509. package/registry/components/review-item/review-item.js +38 -0
  510. package/registry/components/review-item/review-item.json +1 -0
  511. package/registry/components/review-item/review-item.wxml +19 -0
  512. package/registry/components/review-item/review-item.wxss +65 -0
  513. package/registry/components/search/index.js +1 -0
  514. package/registry/components/search/props.js +1 -0
  515. package/registry/components/search/search.js +1 -0
  516. package/registry/components/search/search.json +1 -0
  517. package/registry/components/search/search.wxml +1 -0
  518. package/registry/components/search/search.wxs +6 -0
  519. package/registry/components/search/search.wxss +100 -0
  520. package/registry/components/section-title/index.js +2 -0
  521. package/registry/components/section-title/props.js +6 -0
  522. package/registry/components/section-title/section-title.js +22 -0
  523. package/registry/components/section-title/section-title.json +1 -0
  524. package/registry/components/section-title/section-title.wxml +6 -0
  525. package/registry/components/section-title/section-title.wxss +19 -0
  526. package/registry/components/segmented/index.js +1 -0
  527. package/registry/components/segmented/props.js +1 -0
  528. package/registry/components/segmented/segmented.js +1 -0
  529. package/registry/components/segmented/segmented.json +1 -0
  530. package/registry/components/segmented/segmented.wxml +1 -0
  531. package/registry/components/segmented/segmented.wxss +113 -0
  532. package/registry/components/selection-card/index.js +2 -0
  533. package/registry/components/selection-card/props.js +11 -0
  534. package/registry/components/selection-card/selection-card.js +25 -0
  535. package/registry/components/selection-card/selection-card.json +1 -0
  536. package/registry/components/selection-card/selection-card.wxml +7 -0
  537. package/registry/components/selection-card/selection-card.wxss +27 -0
  538. package/registry/components/shortcut-chip/index.js +2 -0
  539. package/registry/components/shortcut-chip/props.js +7 -0
  540. package/registry/components/shortcut-chip/shortcut-chip.js +24 -0
  541. package/registry/components/shortcut-chip/shortcut-chip.json +1 -0
  542. package/registry/components/shortcut-chip/shortcut-chip.wxml +4 -0
  543. package/registry/components/shortcut-chip/shortcut-chip.wxss +29 -0
  544. package/registry/components/skeleton/index.js +1 -0
  545. package/registry/components/skeleton/props.js +1 -0
  546. package/registry/components/skeleton/skeleton.js +1 -0
  547. package/registry/components/skeleton/skeleton.json +1 -0
  548. package/registry/components/skeleton/skeleton.wxml +1 -0
  549. package/registry/components/skeleton/skeleton.wxss +92 -0
  550. package/registry/components/slider/index.js +1 -0
  551. package/registry/components/slider/props.js +1 -0
  552. package/registry/components/slider/slider.js +1 -0
  553. package/registry/components/slider/slider.json +1 -0
  554. package/registry/components/slider/slider.wxml +1 -0
  555. package/registry/components/slider/slider.wxs +10 -0
  556. package/registry/components/slider/slider.wxss +287 -0
  557. package/registry/components/slider/tool.js +1 -0
  558. package/registry/components/step-item/index.js +1 -0
  559. package/registry/components/step-item/props.js +1 -0
  560. package/registry/components/step-item/step-item.js +1 -0
  561. package/registry/components/step-item/step-item.json +1 -0
  562. package/registry/components/step-item/step-item.wxml +1 -0
  563. package/registry/components/step-item/step-item.wxs +7 -0
  564. package/registry/components/step-item/step-item.wxss +226 -0
  565. package/registry/components/stepper/index.js +1 -0
  566. package/registry/components/stepper/props.js +1 -0
  567. package/registry/components/stepper/stepper.js +1 -0
  568. package/registry/components/stepper/stepper.json +1 -0
  569. package/registry/components/stepper/stepper.wxml +1 -0
  570. package/registry/components/stepper/stepper.wxss +130 -0
  571. package/registry/components/steps/index.js +1 -0
  572. package/registry/components/steps/props.js +1 -0
  573. package/registry/components/steps/steps.js +1 -0
  574. package/registry/components/steps/steps.json +1 -0
  575. package/registry/components/steps/steps.wxml +1 -0
  576. package/registry/components/steps/steps.wxss +27 -0
  577. package/registry/components/sticky/index.js +1 -0
  578. package/registry/components/sticky/props.js +1 -0
  579. package/registry/components/sticky/sticky.js +1 -0
  580. package/registry/components/sticky/sticky.json +1 -0
  581. package/registry/components/sticky/sticky.wxml +1 -0
  582. package/registry/components/sticky/sticky.wxss +6 -0
  583. package/registry/components/story-item/index.js +2 -0
  584. package/registry/components/story-item/props.js +8 -0
  585. package/registry/components/story-item/story-item.js +22 -0
  586. package/registry/components/story-item/story-item.json +1 -0
  587. package/registry/components/story-item/story-item.wxml +9 -0
  588. package/registry/components/story-item/story-item.wxss +43 -0
  589. package/registry/components/swipe-cell/index.js +1 -0
  590. package/registry/components/swipe-cell/props.js +1 -0
  591. package/registry/components/swipe-cell/swipe-cell.js +1 -0
  592. package/registry/components/swipe-cell/swipe-cell.json +1 -0
  593. package/registry/components/swipe-cell/swipe-cell.wxml +1 -0
  594. package/registry/components/swipe-cell/swipe-cell.wxs +185 -0
  595. package/registry/components/swipe-cell/swipe-cell.wxss +40 -0
  596. package/registry/components/swiper/index.js +1 -0
  597. package/registry/components/swiper/index.wxs +25 -0
  598. package/registry/components/swiper/props.js +1 -0
  599. package/registry/components/swiper/swiper.js +1 -0
  600. package/registry/components/swiper/swiper.json +1 -0
  601. package/registry/components/swiper/swiper.wxml +1 -0
  602. package/registry/components/swiper/swiper.wxss +28 -0
  603. package/registry/components/swiper-nav/index.js +1 -0
  604. package/registry/components/swiper-nav/props.js +1 -0
  605. package/registry/components/swiper-nav/swiper-nav.js +1 -0
  606. package/registry/components/swiper-nav/swiper-nav.json +1 -0
  607. package/registry/components/swiper-nav/swiper-nav.wxml +1 -0
  608. package/registry/components/swiper-nav/swiper-nav.wxss +155 -0
  609. package/registry/components/switch/index.js +1 -0
  610. package/registry/components/switch/props.js +1 -0
  611. package/registry/components/switch/switch.js +1 -0
  612. package/registry/components/switch/switch.json +1 -0
  613. package/registry/components/switch/switch.wxml +1 -0
  614. package/registry/components/switch/switch.wxss +169 -0
  615. package/registry/components/tab-bar/index.js +1 -0
  616. package/registry/components/tab-bar/props.js +1 -0
  617. package/registry/components/tab-bar/tab-bar.js +1 -0
  618. package/registry/components/tab-bar/tab-bar.json +1 -0
  619. package/registry/components/tab-bar/tab-bar.wxml +1 -0
  620. package/registry/components/tab-bar/tab-bar.wxss +50 -0
  621. package/registry/components/tab-bar-item/index.js +1 -0
  622. package/registry/components/tab-bar-item/props.js +1 -0
  623. package/registry/components/tab-bar-item/tab-bar-item.js +1 -0
  624. package/registry/components/tab-bar-item/tab-bar-item.json +1 -0
  625. package/registry/components/tab-bar-item/tab-bar-item.wxml +1 -0
  626. package/registry/components/tab-bar-item/tab-bar-item.wxss +177 -0
  627. package/registry/components/tab-panel/index.js +1 -0
  628. package/registry/components/tab-panel/props.js +1 -0
  629. package/registry/components/tab-panel/tab-panel.js +1 -0
  630. package/registry/components/tab-panel/tab-panel.json +1 -0
  631. package/registry/components/tab-panel/tab-panel.wxml +1 -0
  632. package/registry/components/tab-panel/tab-panel.wxss +20 -0
  633. package/registry/components/tabs/index.js +1 -0
  634. package/registry/components/tabs/props.js +1 -0
  635. package/registry/components/tabs/tabs.js +1 -0
  636. package/registry/components/tabs/tabs.json +1 -0
  637. package/registry/components/tabs/tabs.wxml +1 -0
  638. package/registry/components/tabs/tabs.wxs +30 -0
  639. package/registry/components/tabs/tabs.wxss +233 -0
  640. package/registry/components/tag/index.js +1 -0
  641. package/registry/components/tag/props.js +1 -0
  642. package/registry/components/tag/tag.js +1 -0
  643. package/registry/components/tag/tag.json +1 -0
  644. package/registry/components/tag/tag.wxml +1 -0
  645. package/registry/components/tag/tag.wxss +268 -0
  646. package/registry/components/text/index.js +1 -0
  647. package/registry/components/text/props.js +1 -0
  648. package/registry/components/text/text.js +1 -0
  649. package/registry/components/text/text.json +1 -0
  650. package/registry/components/text/text.wxml +1 -0
  651. package/registry/components/text/text.wxss +151 -0
  652. package/registry/components/textarea/index.js +1 -0
  653. package/registry/components/textarea/props.js +1 -0
  654. package/registry/components/textarea/textarea.js +1 -0
  655. package/registry/components/textarea/textarea.json +1 -0
  656. package/registry/components/textarea/textarea.wxml +1 -0
  657. package/registry/components/textarea/textarea.wxs +15 -0
  658. package/registry/components/textarea/textarea.wxss +151 -0
  659. package/registry/components/ticket/index.js +2 -0
  660. package/registry/components/ticket/props.js +19 -0
  661. package/registry/components/ticket/ticket.js +19 -0
  662. package/registry/components/ticket/ticket.json +1 -0
  663. package/registry/components/ticket/ticket.wxml +31 -0
  664. package/registry/components/ticket/ticket.wxss +57 -0
  665. package/registry/components/title/index.js +1 -0
  666. package/registry/components/title/props.js +1 -0
  667. package/registry/components/title/title.js +1 -0
  668. package/registry/components/title/title.json +1 -0
  669. package/registry/components/title/title.wxml +1 -0
  670. package/registry/components/title/title.wxss +151 -0
  671. package/registry/components/toast/index.js +1 -0
  672. package/registry/components/toast/props.js +1 -0
  673. package/registry/components/toast/toast.js +1 -0
  674. package/registry/components/toast/toast.json +1 -0
  675. package/registry/components/toast/toast.wxml +1 -0
  676. package/registry/components/toast/toast.wxss +87 -0
  677. package/registry/components/toggle-card/index.js +2 -0
  678. package/registry/components/toggle-card/props.js +7 -0
  679. package/registry/components/toggle-card/toggle-card.js +37 -0
  680. package/registry/components/toggle-card/toggle-card.json +1 -0
  681. package/registry/components/toggle-card/toggle-card.wxml +12 -0
  682. package/registry/components/toggle-card/toggle-card.wxss +11 -0
  683. package/registry/components/top-item/index.js +2 -0
  684. package/registry/components/top-item/props.js +10 -0
  685. package/registry/components/top-item/top-item.js +22 -0
  686. package/registry/components/top-item/top-item.json +1 -0
  687. package/registry/components/top-item/top-item.wxml +8 -0
  688. package/registry/components/top-item/top-item.wxss +37 -0
  689. package/registry/components/transaction-card/index.js +2 -0
  690. package/registry/components/transaction-card/props.js +25 -0
  691. package/registry/components/transaction-card/transaction-card.js +43 -0
  692. package/registry/components/transaction-card/transaction-card.json +1 -0
  693. package/registry/components/transaction-card/transaction-card.wxml +44 -0
  694. package/registry/components/transaction-card/transaction-card.wxss +45 -0
  695. package/registry/components/transfer-item/index.js +2 -0
  696. package/registry/components/transfer-item/props.js +18 -0
  697. package/registry/components/transfer-item/transfer-item.js +40 -0
  698. package/registry/components/transfer-item/transfer-item.json +1 -0
  699. package/registry/components/transfer-item/transfer-item.wxml +34 -0
  700. package/registry/components/transfer-item/transfer-item.wxss +66 -0
  701. package/registry/components/upload/drag.wxs +242 -0
  702. package/registry/components/upload/index.js +1 -0
  703. package/registry/components/upload/props.js +1 -0
  704. package/registry/components/upload/upload.js +1 -0
  705. package/registry/components/upload/upload.json +1 -0
  706. package/registry/components/upload/upload.wxml +1 -0
  707. package/registry/components/upload/upload.wxs +129 -0
  708. package/registry/components/upload/upload.wxss +354 -0
  709. package/registry/components/wheel-select/index.js +2 -0
  710. package/registry/components/wheel-select/props.js +8 -0
  711. package/registry/components/wheel-select/wheel-select.js +38 -0
  712. package/registry/components/wheel-select/wheel-select.json +1 -0
  713. package/registry/components/wheel-select/wheel-select.wxml +9 -0
  714. package/registry/components/wheel-select/wheel-select.wxss +22 -0
  715. package/registry/registry.json +1033 -0
@@ -0,0 +1,242 @@
1
+ var classPrefix = '';
2
+ var startIndex = 0;
3
+ var endIndex = 0;
4
+ var dragCollisionList = [];
5
+
6
+ var isOutRange = function (x1, y1, x2, y2, x3, y3) {
7
+ return x1 < 0 || x1 >= y1 || x2 < 0 || x2 >= y2 || x3 < 0 || x3 >= y3;
8
+ };
9
+
10
+ var sortCore = function (sKey, eKey, st) {
11
+ var _ = st.dragBaseData;
12
+
13
+ var excludeFix = function (cKey, type) {
14
+ if (st.list[cKey].fixed) {
15
+ // fixed 元素位置不会变化, 这里直接用 cKey(sortKey) 获取, 更加快捷
16
+ type ? --cKey : ++cKey;
17
+ return excludeFix(cKey, type);
18
+ }
19
+ return cKey;
20
+ };
21
+
22
+ // 先获取到 endKey 对应的 realKey, 防止下面排序过程中该 realKey 被修改
23
+ var endRealKey = -1;
24
+ st.list.forEach(function (item) {
25
+ if (item.sortKey === eKey) endRealKey = item.realKey;
26
+ });
27
+
28
+ return st.list.map(function (item) {
29
+ if (item.fixed) return item;
30
+ var cKey = item.sortKey;
31
+ var rKey = item.realKey;
32
+
33
+ if (sKey < eKey) {
34
+ // 正序拖动
35
+ if (cKey > sKey && cKey <= eKey) {
36
+ --rKey;
37
+ cKey = excludeFix(--cKey, true);
38
+ } else if (cKey === sKey) {
39
+ rKey = endRealKey;
40
+ cKey = eKey;
41
+ }
42
+ } else if (sKey > eKey) {
43
+ // 倒序拖动
44
+ if (cKey >= eKey && cKey < sKey) {
45
+ ++rKey;
46
+ cKey = excludeFix(++cKey, false);
47
+ } else if (cKey === sKey) {
48
+ rKey = endRealKey;
49
+ cKey = eKey;
50
+ }
51
+ }
52
+
53
+ if (item.sortKey !== cKey) {
54
+ item.tranX = (cKey % _.columns) * 100 + '%';
55
+ item.tranY = Math.floor(cKey / _.columns) * 100 + '%';
56
+ item.sortKey = cKey;
57
+ item.realKey = rKey;
58
+ }
59
+ return item;
60
+ });
61
+ };
62
+
63
+ var triggerCustomEvent = function (list, type, ins) {
64
+ var _list = [],
65
+ listData = [];
66
+
67
+ list.forEach(function (item) {
68
+ _list[item.sortKey] = item;
69
+ });
70
+
71
+ _list.forEach(function (item) {
72
+ if (!item.extraNode) {
73
+ listData.push(item.data);
74
+ }
75
+ });
76
+
77
+ ins.triggerEvent(type, { listData: listData });
78
+ };
79
+
80
+ var longPress = function (event, ownerInstance) {
81
+ var ins = event.instance;
82
+ var st = ownerInstance.getState();
83
+ var _ = st.dragBaseData;
84
+
85
+ var sTouch = event.changedTouches[0];
86
+ if (!sTouch) return;
87
+
88
+ st.cur = ins.getDataset().index;
89
+ longPressIndex = st.cur;
90
+
91
+ // 初始项是固定项则返回
92
+ var item = st.list[st.cur];
93
+ if (item && item.fixed) return;
94
+
95
+ // 如果已经在 drag 中则返回, 防止多指触发 drag 动作, touchstart 事件中有效果
96
+ if (st.dragging) return;
97
+ st.dragging = true;
98
+ ownerInstance.callMethod('dragStatusChange', { dragging: true });
99
+
100
+ // 计算X,Y轴初始位移, 使 item 中心移动到点击处, 单列时候X轴初始不做位移
101
+ st.tranX = _.columns === 1 ? 0 : sTouch.pageX - (_.itemWidth / 2 + _.wrapLeft);
102
+ st.tranY = sTouch.pageY - (_.itemHeight / 2 + _.wrapTop);
103
+ st.sId = sTouch.identifier;
104
+ ins.setStyle({
105
+ transform: 'translate3d(' + st.tranX + 'px, ' + st.tranY + 'px, 0)',
106
+ });
107
+ st.itemsInstance.forEach(function (item, index) {
108
+ item.removeClass(classPrefix + '__drag--tran').removeClass(classPrefix + '__drag--cur');
109
+ item.addClass(index === st.cur ? classPrefix + '__drag--cur' : classPrefix + '__drag--tran');
110
+ });
111
+ ownerInstance.callMethod('dragVibrate', { vibrateType: 'longPress' });
112
+ };
113
+
114
+ var touchMove = function (event, ownerInstance) {
115
+ var ins = event.instance;
116
+ var st = ownerInstance.getState();
117
+ var _ = st.dragBaseData;
118
+
119
+ var mTouch = event.changedTouches[0];
120
+ if (!mTouch) return;
121
+
122
+ if (!st.dragging) return;
123
+
124
+ // 如果不是同一个触发点则返回
125
+ if (st.sId !== mTouch.identifier) return;
126
+
127
+ // 计算X,Y轴位移, 单列时候X轴初始不做位移
128
+ var tranX = _.columns === 1 ? 0 : mTouch.pageX - (_.itemWidth / 2 + _.wrapLeft);
129
+ var tranY = mTouch.pageY - (_.itemHeight / 2 + _.wrapTop);
130
+
131
+ // 到顶到底自动滑动
132
+ if (mTouch.clientY > _.windowHeight - _.itemHeight - _.realBottomSize) {
133
+ // 当前触摸点pageY + item高度 - (屏幕高度 - 底部固定区域高度)
134
+ ownerInstance.callMethod('pageScroll', {
135
+ scrollTop: mTouch.pageY + _.itemHeight - (_.windowHeight - _.realBottomSize),
136
+ });
137
+ } else if (mTouch.clientY < _.itemHeight + _.realTopSize) {
138
+ // 当前触摸点pageY - item高度 - 顶部固定区域高度
139
+ ownerInstance.callMethod('pageScroll', {
140
+ scrollTop: mTouch.pageY - _.itemHeight - _.realTopSize,
141
+ });
142
+ }
143
+
144
+ // 设置当前激活元素偏移量
145
+ ins.setStyle({
146
+ transform: 'translate3d(' + tranX + 'px, ' + tranY + 'px, 0)',
147
+ });
148
+
149
+ var startKey = st.list[st.cur].sortKey;
150
+ var curX = Math.round(tranX / _.itemWidth);
151
+ var curY = Math.round(tranY / _.itemHeight);
152
+ var endKey = curX + _.columns * curY;
153
+
154
+ // 目标项是固定项则返回
155
+ var item = st.list[endKey];
156
+ if (item && item.fixed) return;
157
+
158
+ // X轴或Y轴超出范围则返回
159
+ if (isOutRange(curX, _.columns, curY, _.rows, endKey, st.list.length)) return;
160
+
161
+ // 防止拖拽过程中发生乱序问题
162
+ if (startKey === endKey || startKey === st.preStartKey) return;
163
+ st.preStartKey = startKey;
164
+
165
+ dragCollisionList = sortCore(startKey, endKey, st);
166
+ startIndex = startKey;
167
+ endIndex = endKey;
168
+ st.itemsInstance.forEach(function (itemIns, index) {
169
+ var item = dragCollisionList[index];
170
+ if (index !== st.cur) {
171
+ itemIns.setStyle({
172
+ transform: 'translate3d(' + item.tranX + ',' + item.tranY + ', 0)',
173
+ });
174
+ }
175
+ });
176
+
177
+ ownerInstance.callMethod('dragVibrate', { vibrateType: 'touchMove' });
178
+ ownerInstance.callMethod('dragCollision', {
179
+ dragCollisionList: dragCollisionList,
180
+ startIndex: startIndex,
181
+ endIndex: endIndex,
182
+ });
183
+ triggerCustomEvent(dragCollisionList, 'change', ownerInstance);
184
+ };
185
+
186
+ var touchEnd = function (event, ownerInstance) {
187
+ var ins = event.instance;
188
+ var st = ownerInstance.getState();
189
+
190
+ if (!st.dragging) return;
191
+ triggerCustomEvent(st.list, 'sortend', ownerInstance);
192
+ ins.removeClass(classPrefix + '__drag--cur');
193
+ ins.addClass(classPrefix + '__drag--tran');
194
+ ins.setStyle({
195
+ transform: 'translate3d(' + st.list[st.cur].tranX + ',' + st.list[st.cur].tranY + ', 0)',
196
+ });
197
+ st.preStartKey = -1;
198
+ st.dragging = false;
199
+ ownerInstance.callMethod('dragStatusChange', { dragging: false });
200
+ ownerInstance.callMethod('dragEnd', {
201
+ dragCollisionList: dragCollisionList,
202
+ startIndex: startIndex,
203
+ endIndex: endIndex,
204
+ });
205
+ st.cur = -1;
206
+ st.tranX = 0;
207
+ st.tranY = 0;
208
+ };
209
+
210
+ var baseDataObserver = function (newVal, oldVal, ownerInstance, ins) {
211
+ var st = ownerInstance.getState();
212
+ st.dragBaseData = newVal;
213
+ classPrefix = newVal.classPrefix;
214
+ };
215
+
216
+ var listObserver = function (newVal, oldVal, ownerInstance, ins) {
217
+ var st = ownerInstance.getState();
218
+ // 兼容 grid 拖拽(__drag-item)和 list 拖拽(__list-drag-item)
219
+ var gridItems = ownerInstance.selectAllComponents('.' + classPrefix + '__drag-item');
220
+ var listItems = ownerInstance.selectAllComponents('.' + classPrefix + '__list-drag-item');
221
+ st.itemsInstance = gridItems && gridItems.length > 0 ? gridItems : listItems;
222
+ st.list = newVal || [];
223
+ st.list.forEach(function (item, index) {
224
+ var itemIns = st.itemsInstance[index];
225
+ if (item && itemIns) {
226
+ itemIns.removeClass(classPrefix + '__drag--tran');
227
+ itemIns.setStyle({
228
+ transform: 'translate3d(' + item.tranX + ',' + item.tranY + ', 0)',
229
+ });
230
+ if (item.fixed) itemIns.addClass(classPrefix + '__drag--fixed');
231
+ }
232
+ });
233
+ dragCollisionList = [];
234
+ };
235
+
236
+ module.exports = {
237
+ longPress: longPress,
238
+ touchMove: touchMove,
239
+ touchEnd: touchEnd,
240
+ baseDataObserver: baseDataObserver,
241
+ listObserver: listObserver,
242
+ };
@@ -0,0 +1 @@
1
+ export*from"./props";export*from"./upload";
@@ -0,0 +1 @@
1
+ const props={addBtn:{type:Boolean,value:!0},addContent:{type:String},allowUploadDuplicateFile:{type:Boolean,value:!1},config:{type:Object},disabled:{type:null,value:void 0},draggable:{type:null},files:{type:Array,value:null},defaultFiles:{type:Array},gridConfig:{type:Object},gutter:{type:Number,value:16},imageProps:{type:Object},max:{type:Number,value:0},mediaType:{type:Array,value:["image","video"]},preview:{type:Boolean,value:!0},removeBtn:{type:null,value:!0},requestMethod:{type:null},sizeLimit:{type:null},source:{type:String,value:"media"},theme:{type:String,value:"grid"},transition:{type:Object,value:{backTransition:!0,duration:300,timingFunction:"ease"}}};export default props;
@@ -0,0 +1 @@
1
+ import{__decorate,__rest}from"../common/tslib";import{SuperComponent,wxComponent}from"../common/src/index";import props from"./props";import config from"../common/config";import{calcIcon,isOverSize,isWxWork,isPC}from"../common/utils";import{isObject}from"../common/validator";import usingConfig from"../common/mixins/using-config";const{prefix:prefix}=config,componentName="upload";let Upload=class extends SuperComponent{constructor(){super(...arguments),this.behaviors=[usingConfig({componentName:"upload"})],this.externalClasses=[`${prefix}-class`],this.options={multipleSlots:!0},this.data={classPrefix:`${prefix}-upload`,prefix:prefix,_removeBtn:{name:"close"},current:!1,proofs:[],customFiles:[],customLimit:0,column:4,dragBaseData:{},rows:0,dragWrapStyle:"",dragList:[],dragging:!0,dragLayout:!1},this.properties=props,this.controlledProps=[{key:"files",event:"success"}],this.observers={"files, max, draggable"(e,t){this.handleLimit(e,t)},gridConfig(){this.updateGrid()},"removeBtn, theme"(e,t){this.setRemoveBtn(e,t)}},this.lifetimes={ready(){this.updateGrid(),this.handleLimit(this.data.customFiles,this.data.max),this.setRemoveBtn(this.data.removeBtn,this.data.theme)}},this.methods={isMediaFile(e){return"image"===e.type||"video"===e.type||this.isImageUrl(e.url)},isPreviewable(e){return this.isMediaFile(e)&&(!e.status||"done"===e.status)},getPreviewMediaSources(){const e=[];return this.data.customFiles.forEach(t=>{if(!this.isPreviewable(t))return;const i={url:t.url,type:t.type,poster:t.thumb||void 0};e.push(i)}),e},getMediaIndex(e){const{customFiles:t}=this.data;let i=0;for(let s=0;s<e;s+=1)this.isPreviewable(t[s])&&(i+=1);return i},onPreview(e){this.onFileClick(e);const{preview:t}=this.properties;if(!t)return;const{file:i}=e.currentTarget.dataset;if(i&&!this.isMediaFile(i))return;const s=this.data.customFiles.some(e=>"video"===e.type);s?this.onPreviewMedia(e):this.onPreviewImage(e)},isImageUrl(e){if(!e)return!1;const t=e.toLowerCase();return["jpg","jpeg","png","gif","bmp","webp","svg","tiff"].some(e=>t.includes(`.${e}`))},onPreviewImage(e){var t;const{index:i}=e.currentTarget.dataset,s=this.data.customFiles.filter(e=>this.isPreviewable(e)).map(e=>e.url),r=null===(t=this.data.customFiles[i])||void 0===t?void 0:t.url;wx.previewImage({urls:s,current:r,fail(){wx.showToast({title:"Impossible d'afficher l'image",icon:"none"})}})},onPreviewMedia(e){const{index:t}=e.currentTarget.dataset,i=this.getPreviewMediaSources(),s=this.getMediaIndex(t);wx.previewMedia({sources:i,current:s,fail(){wx.showToast({title:"Impossible de lire la vidéo",icon:"none"})}})},uploadFiles(e){return Promise.resolve().then(()=>{const t=this.data.requestMethod(e);return t instanceof Promise?t:Promise.resolve({})})},startUpload(e){return"function"==typeof this.data.requestMethod?this.uploadFiles(e).then(()=>{e.forEach(e=>{e.percent=100}),this.triggerSuccessEvent(e)}).catch(e=>{this.triggerFailEvent(e)}):(this.triggerSuccessEvent(e),this.handleLimit(this.data.customFiles,this.data.max),Promise.resolve())},onAddTap(){const{disabled:e,mediaType:t,source:i}=this.properties;e||("media"===i?this.chooseMedia(t):this.chooseMessageFile(t))},chooseMedia(e){const{customLimit:t}=this.data,{config:i,sizeLimit:s}=this.properties;isWxWork||isPC?wx.chooseImage(Object.assign(Object.assign({count:Math.min(20,t)},i),{success:e=>{const t=[];e.tempFiles.forEach(e=>{const{path:i,size:r}=e;if(this.checkFileSize(r,s,"image"))return;const a=this.getRandFileName(i);t.push({name:a,type:"image",url:i,size:r,percent:0})}),this.afterSelect(t)},fail:e=>{this.triggerFailEvent(e)},complete:e=>{this.triggerEvent("complete",e)}})):wx.chooseMedia(Object.assign(Object.assign({count:Math.min(20,t),mediaType:e},i),{success:t=>{const i=[];t.tempFiles.forEach(t=>{const{size:r,fileType:a,tempFilePath:o,width:n,height:l,duration:c,thumbTempFilePath:h}=t,g=__rest(t,["size","fileType","tempFilePath","width","height","duration","thumbTempFilePath"]);if(this.checkFileSize(r,s,a))return;const d=this.getRandFileName(o);i.push(Object.assign({name:d,type:this.getFileType(e,o,a),url:o,size:r,width:n,height:l,duration:c,thumb:h,percent:0},g))}),this.afterSelect(i)},fail:e=>{this.triggerFailEvent(e)},complete:e=>{this.triggerEvent("complete",e)}}))},chooseMessageFile(e){const{customLimit:t}=this.data,{config:i,sizeLimit:s,extension:r}=this.properties;wx.chooseMessageFile(Object.assign(Object.assign(Object.assign({count:Math.min(100,t),type:Array.isArray(e)?"all":e},r&&r.length>0?{extension:r}:{}),i),{success:t=>{const i=[];t.tempFiles.forEach(t=>{const{size:r,type:a,path:o}=t,n=__rest(t,["size","type","path"]);if(this.checkFileSize(r,s,a))return;const l=this.getRandFileName(o);i.push(Object.assign({name:l,type:this.getFileType(e,o,a),url:o,size:r,percent:0},n))}),this.afterSelect(i)},fail:e=>this.triggerFailEvent(e),complete:e=>this.triggerEvent("complete",e)}))},afterSelect(e){this._trigger("select-change",{files:[...this.data.customFiles],currentSelectedFiles:[e]}),this._trigger("add",{files:e}),this.startUpload(e)},dragVibrate(e){var t;const{vibrateType:i}=e,{draggable:s}=this.data,r=null===(t=null==s?void 0:s.vibrate)||void 0===t||t,a=null==s?void 0:s.collisionVibrate;(r&&"longPress"===i||a&&"touchMove"===i)&&wx.vibrateShort({type:"light"})},dragStatusChange(e){const{dragging:t}=e;this.setData({dragging:t})},dragEnd(e){const{dragCollisionList:t}=e;let i=[];i=0===t.length?this.data.customFiles:t.reduce((e,t)=>{const{realKey:i,data:s,fixed:r}=t;return r||(e[i]=Object.assign({},s)),e},[]),this.triggerDropEvent(i)},triggerDropEvent(e){const{transition:t}=this.properties;if(t.backTransition){const i=setTimeout(()=>{this.triggerEvent("drop",{files:e}),clearTimeout(i)},t.duration)}else this.triggerEvent("drop",{files:e})}}}setRemoveBtn(e,t){const i="list"===t?"delete":"close";this.setData({_removeBtn:"boolean"==typeof e?{name:i}:calcIcon(e)||{name:i}})}handleLimit(e,t){0===t&&(t=Number.MAX_SAFE_INTEGER),this.setData({customFiles:e.length>t?e.slice(0,t):e,customLimit:t-e.length,dragging:!0}),this.initDragLayout()}triggerSuccessEvent(e){this._trigger("success",{files:[...this.data.customFiles,...e]})}triggerFailEvent(e){this.triggerEvent("fail",e)}onFileClick(e){const{file:t,index:i}=e.currentTarget.dataset;this.triggerEvent("click",{index:i,file:t})}getFileType(e,t,i){if(i)return i;if(1===e.length&&"mix"!==e[0])return e[0];const s=t.split("."),r=s[s.length-1];return["avi","wmv","mkv","mp4","mov","rm","3gp","flv","mpg","rmvb"].includes(r.toLocaleLowerCase())?"video":"image"}getRandFileName(e){const t=e.lastIndexOf("."),i=-1===t?"":e.substr(t);return parseInt(`${Date.now()}${Math.floor(900*Math.random()+100)}`,10).toString(36)+i}checkFileSize(e,t,i){if(isOverSize(e,t)){let e=("video"===i?"La vidéo":"L'image")+" dépasse la taille autorisée";if(isObject(t)){const{size:i,message:s}=t;e=null==s?void 0:s.replace("{sizeLimit}",String(i))}return wx.showToast({icon:"none",title:e}),!0}return!1}onDelete(e){const{index:t}=e.currentTarget.dataset;this.deleteHandle(t)}deleteHandle(e){const{customFiles:t}=this.data,i=t[e];this.triggerEvent("remove",{index:e,file:i})}updateGrid(){let{gridConfig:e={}}=this.properties;isObject(e)||(e={});const{column:t=4,width:i=160,height:s=160}=e;this.setData({gridItemStyle:`width:${i}rpx;height:${s}rpx`,column:t})}resetDragLayout(){this.setData({dragBaseData:{},dragWrapStyle:"",dragLayout:!1})}initDragLayout(){const{draggable:e,disabled:t}=this.properties,{customFiles:i}=this.data;e&&!t&&0!==i.length?(this.initDragList(),this.initDragBaseData()):this.resetDragLayout()}initDragList(){let e=0;const{customFiles:t,customLimit:i}=this.data,s=this.properties.theme,r=this.getDragColumn(),a="list"===s,o=[];if(t.forEach((t,i)=>{o.push({realKey:e,sortKey:i,tranX:i%r*100+"%",tranY:100*Math.floor(i/r)+"%",data:Object.assign({},t)}),e+=1}),i>0&&!a){const e=o.length;o.push({realKey:e,sortKey:e,tranX:e%r*100+"%",tranY:100*Math.floor(e/r)+"%",fixed:!0})}this.data.rows=Math.ceil(o.length/r),this.setData({dragList:o})}getDragSelectors(){const{classPrefix:e}=this.data,t="list"===this.properties.theme;return{itemSelector:t?`.${e}__list-item`:`.${e} >>> .o-grid-item`,wrapSelector:t?`.${e}__list`:`.${e} >>> .o-grid`}}getDragColumn(){return"list"===this.properties.theme?1:this.data.column}getDragItemGap(){if("list"!==this.properties.theme)return 0;return wx.getSystemInfoSync().windowWidth/750*24}initDragBaseData(){const{classPrefix:e,rows:t}=this.data,i=this.getDragColumn(),{itemSelector:s,wrapSelector:r}=this.getDragSelectors(),a=this.createSelectorQuery();a.select(s).boundingClientRect(),a.select(r).boundingClientRect(),a.selectViewport().scrollOffset(),a.exec(s=>{if(!s||!s[0]||!s[1])return;const[{width:r,height:a},{left:o,top:n},{scrollTop:l}]=s,c=a+this.getDragItemGap(),h={rows:t,classPrefix:e,itemWidth:r,itemHeight:c,wrapLeft:o,wrapTop:n+l,columns:i},g=`height: ${t*c}px`;this.setData({dragBaseData:h,dragWrapStyle:g,dragLayout:!0},()=>{const e=setTimeout(()=>{this.setData({dragging:!1}),clearTimeout(e)},0)})})}};Upload=__decorate([wxComponent()],Upload);export default Upload;
@@ -0,0 +1 @@
1
+ {"component":true,"styleIsolation":"apply-shared","usingComponents":{"o-grid":"../grid/grid","o-grid-item":"../grid-item/grid-item","o-icon":"../icon/icon","o-image":"../image/image","o-button":"../button/button"}}
@@ -0,0 +1 @@
1
+ <import src="../common/template/icon.wxml"/><wxs src="../common/utils.wxs" module="_"/><wxs src="./upload.wxs" module="_this"/><wxs src="./drag.wxs" module="handler"/><template name="list-item-content"><block wx:if="{{file.status == 'loading'}}"><o-icon o-class="{{classPrefix}}__list-item-loading" name="loading" size="48rpx" aria-hidden/></block><block wx:elif="{{file.status == 'failed' || file.status == 'reload'}}"><o-icon o-class="{{classPrefix}}__list-item-error-icon" name="error-circle-filled" aria-hidden/></block><block wx:elif="{{_this.isImageType(file) && file.url}}"><view style="position: relative; flex-shrink: 0"><o-image o-class="{{classPrefix}}__list-item-thumbnail" src="{{file.thumb || file.url}}" mode="{{imageProps && imageProps.mode || 'aspectFill'}}" shape="round"/><view wx:if="{{disabled}}" class="{{classPrefix}}__disabled-mask"/></view></block><block wx:else><view class="{{classPrefix}}__list-item-icon"><o-icon o-class="{{classPrefix}}__file-type {{_this.getFileTypeIconColorClass(file, classPrefix)}}" name="{{_this.getFileTypeIcon(file)}}"/></view></block><view class="{{classPrefix}}__list-item-content"><view class="{{classPrefix}}__list-item-name">{{file.name || ''}}</view><view class="{{classPrefix}}__list-item-size">{{file.status == 'loading' ? (file.percent ? globalConfig.progress.uploadingText + ' ' + file.percent + '%' : globalConfig.progress.uploadingText) : file.status == 'failed' || file.status == 'reload' ? globalConfig.progress.failText : _this.formatSize(file.size)}}</view></view><view wx:if="{{_.isBoolean(file.removeBtn) ? file.removeBtn : removeBtn}}" class="{{classPrefix}}__list-item-action" data-index="{{index}}" aria-role="button" aria-label="Supprimer" catchtap="onDelete"><template is="icon" data="{{oClass: classPrefix + '__list-item-delete', ..._removeBtn}}"/></view></template><template name="grid-item-content"><view class="{{classPrefix}}__wrapper {{!_this.isImageType(file) && file.type !== 'video' ? classPrefix + '__wrapper--file' : ''}}" style="{{gridItemStyle}}" aria-role="{{ariaRole || _this.getWrapperAriaRole(file)}}" aria-label="{{ariaLabel || _this.getWrapperAriaLabel(file)}}"><o-image wx:if="{{_this.isImageType(file)}}" data-file="{{file}}" data-index="{{index}}" o-class="{{classPrefix}}__thumbnail" style="{{imageProps && imageProps.style || ''}}" src="{{ file.thumb || file.url }}" mode="{{imageProps && imageProps.mode || 'aspectFill'}}" error="{{imageProps && imageProps.error || 'default'}}" lazy="{{imageProps && imageProps.lazy || false}}" loading="{{imageProps && imageProps.loading || 'default'}}" shape="{{imageProps && imageProps.shape || 'round'}}" webp="{{imageProps && imageProps.webp || false}}" showMenuByLongpress="{{imageProps && imageProps.showMenuByLongpress || false}}" bind:tap="onPreview"/><video wx:elif="{{file.type === 'video'}}" class="{{classPrefix}}__thumbnail" src="{{file.url}}" poster="{{ file.thumb }}" controls autoplay="{{false}}" objectFit="contain" data-file="{{file}}" data-index="{{index}}" bind:tap="onPreview"/><view wx:elif="{{!file.status || file.status == 'done'}}" class="{{classPrefix}}__file-content" data-file="{{file}}" data-index="{{index}}" bind:tap="onFileClick"><view class="{{classPrefix}}__file-icon"><o-icon o-class="{{classPrefix}}__file-type {{_this.getFileTypeIconColorClass(file, classPrefix)}}" name="{{_this.getFileTypeIcon(file)}}"/></view><view class="{{classPrefix}}__file-name">{{file.name || ''}}</view></view><view wx:if="{{!_this.isImageType(file) && file.type !== 'video' && file.status && file.status != 'done'}}" class="{{classPrefix}}__progress-mask {{classPrefix}}__progress-mask--file" data-index="{{index}}" data-file="{{file}}" bind:tap="onFileClick"><block wx:if="{{file.status == 'loading'}}"><o-icon o-class="{{classPrefix}}__progress-loading" name="loading" size="48rpx" aria-hidden/><view class="{{classPrefix}}__progress-text">{{file.percent ? file.percent + '%' : globalConfig.progress.uploadingText}}</view></block><o-icon wx:else name="{{file.status == 'reload' ? 'refresh' : 'close-circle'}}" size="48rpx" aria-hidden/><view wx:if="{{file.status == 'reload' || file.status == 'failed'}}" class="{{classPrefix}}__progress-text">{{file.status == 'reload' ? globalConfig.progress.reloadText : globalConfig.progress.failText}}</view></view><view wx:if="{{(_this.isImageType(file) || file.type === 'video') && file.status && file.status != 'done'}}" class="{{classPrefix}}__progress-mask" data-index="{{index}}" data-file="{{file}}" bind:tap="onFileClick"><block wx:if="{{file.status == 'loading'}}"><o-icon o-class="{{classPrefix}}__progress-loading" name="loading" size="48rpx" aria-hidden/><view class="{{classPrefix}}__progress-text">{{file.percent ? file.percent + '%' : globalConfig.progress.uploadingText}}</view></block><o-icon wx:else name="{{file.status == 'reload' ? 'refresh' : 'close-circle'}}" size="48rpx" aria-hidden/><view wx:if="{{file.status == 'reload' || file.status == 'failed'}}" class="{{classPrefix}}__progress-text">{{file.status == 'reload' ? globalConfig.progress.reloadText : globalConfig.progress.failText}}</view></view><view wx:if="{{disabled && (_this.isImageType(file) || file.type === 'video') && file.status !== 'loading' && file.status !== 'failed' && file.status !== 'reload'}}" class="{{classPrefix}}__disabled-mask"/><view wx:if="{{ _.isBoolean(file.removeBtn) ? file.removeBtn : removeBtn}}" class="{{classPrefix}}__close-btn hotspot-expanded" data-index="{{index}}" aria-role="button" aria-label="Supprimer" bindtap="onDelete"><template is="icon" data="{{oClass: '', size: '32rpx', color: '#fff', ..._removeBtn}}"/></view></view></template><view style="{{_._style([style, customStyle])}}" class="{{classPrefix}} {{classPrefix}}--{{theme || 'grid'}} {{disabled ? classPrefix + '--disabled' : ''}} class {{prefix}}-class"><block wx:if="{{theme === 'list'}}"><view wx:if="{{addBtn && customLimit > 0}}" class="{{classPrefix}}__list-trigger" bindtap="onAddTap"><slot wx:if="{{addContent === 'slot'}}" name="add-content"/><block wx:elif="{{addContent}}">{{addContent}}</block><o-button wx:else theme="primary" size="medium" disabled="{{disabled}}" icon="upload" bindtap="onAddTap">Upload</o-button></view><block wx:if="{{!dragLayout}}"><view wx:if="{{customFiles.length > 0}}" class="{{classPrefix}}__list"><view wx:for="{{customFiles}}" wx:key="url" wx:for-item="file" class="{{classPrefix}}__list-item {{file.status == 'failed' || file.status == 'reload' ? classPrefix + '__list-item--fail' : ''}} {{file.status == 'loading' ? classPrefix + '__list-item--progress' : ''}}" data-file="{{file}}" data-index="{{index}}" bind:tap="onPreview"><template is="list-item-content" data="{{file, index, classPrefix, disabled, imageProps, removeBtn, _removeBtn, globalConfig}}"/></view></view></block><block wx:else><view class="{{classPrefix}}__list-drag" list="{{dragList}}" style="{{dragWrapStyle}}" dragBaseData="{{dragBaseData}}" change:list="{{handler.listObserver}}" change:dragBaseData="{{handler.baseDataObserver}}"><view class="{{classPrefix}}__list-drag-item" style="--o-upload-drag-transition-duration: {{transition.duration}}ms; --o-upload-drag-transition-timing-function: {{transition.timingFunction}}" wx:for="{{customFiles}}" wx:key="url" wx:for-item="file" data-index="{{index}}" bind:longpress="{{handler.longPress}}" catch:touchmove="{{dragging ? handler.touchMove : ''}}" catch:touchend="{{dragging ? handler.touchEnd : ''}}"><view class="{{classPrefix}}__list-item {{file.status == 'failed' || file.status == 'reload' ? classPrefix + '__list-item--fail' : ''}} {{file.status == 'loading' ? classPrefix + '__list-item--progress' : ''}}" data-file="{{file}}" data-index="{{index}}" bind:tap="onPreview"><template is="list-item-content" data="{{file, index, classPrefix, disabled, imageProps, removeBtn, _removeBtn, globalConfig}}"/></view></view></view></block></block><block wx:else><o-grid gutter="{{gutter}}" border="{{false}}" align="center" column="{{column}}" style="{{draggable? 'overflow: visible' : ''}}"><block wx:if="{{!dragLayout}}"><o-grid-item wx:for="{{customFiles}}" wx:key="url" wx:for-item="file" o-class="{{classPrefix}}__grid {{classPrefix}}__grid-file" o-class-content="{{classPrefix}}__grid-content" aria-role="presentation"><template is="grid-item-content" data="{{file, index, classPrefix, disabled, gridItemStyle, ariaRole, ariaLabel, imageProps, removeBtn, _removeBtn, globalConfig}}"/></o-grid-item><o-grid-item wx:if="{{ addBtn && customLimit > 0}}" o-class="{{classPrefix}}__grid" o-class-content="{{classPrefix}}__grid-content" aria-label="Ajouter" bindclick="onAddTap"><view class="{{classPrefix}}__wrapper" style="{{gridItemStyle}}"><slot wx:if="{{addContent === 'slot'}}" name="add-content"/><block wx:elif="{{addContent}}">{{addContent}}</block><view wx:else class="{{classPrefix}}__add-icon"><o-icon name="add"/></view></view></o-grid-item></block><block wx:else><view class="{{classPrefix}}__drag" list="{{dragList}}" style="{{dragWrapStyle}}" dragBaseData="{{dragBaseData}}" change:list="{{handler.listObserver}}" change:dragBaseData="{{handler.baseDataObserver}}"><view class="{{classPrefix}}__drag-item" style="width: {{100 / column}}%; --o-upload-drag-transition-duration: {{transition.duration}}ms; --o-upload-drag-transition-timing-function: {{transition.timingFunction}}" wx:for="{{customFiles}}" wx:key="url" wx:for-item="file" data-index="{{index}}" bind:longpress="{{handler.longPress}}" catch:touchmove="{{dragging ? handler.touchMove : ''}}" catch:touchend="{{dragging ? handler.touchEnd : ''}}"><o-grid-item o-class="{{classPrefix}}__grid {{classPrefix}}__grid-file" o-class-content="{{classPrefix}}__grid-content" aria-role="presentation" style="width: 100%"><template is="grid-item-content" data="{{file, index, classPrefix, disabled, gridItemStyle, ariaRole, ariaLabel, imageProps, removeBtn, _removeBtn, globalConfig}}"/></o-grid-item></view><view wx:if="{{addBtn && customLimit > 0}}" class="{{classPrefix}}__drag-item" style="width: {{100 / column}}%"><o-grid-item o-class="{{classPrefix}}__grid" o-class-content="{{classPrefix}}__grid-content" aria-label="Ajouter" style="width: 100%" bindclick="onAddTap"><view class="{{classPrefix}}__wrapper" style="{{gridItemStyle}}"><slot wx:if="{{addContent === 'slot'}}" name="add-content"/><block wx:elif="{{addContent}}">{{addContent}}</block><view wx:else class="{{classPrefix}}__add-icon"><o-icon name="add"/></view></view></o-grid-item></view></view></block></o-grid></block></view>
@@ -0,0 +1,129 @@
1
+ module.exports.getWrapperAriaRole = function (file) {
2
+ return file.status && file.status != 'done' ? 'text' : 'button';
3
+ };
4
+
5
+ module.exports.getWrapperAriaLabel = function (file) {
6
+ if (file.status && file.status != 'done') {
7
+ if (file.status == 'loading') {
8
+ return file.percent ? 'Envoi : ' + file.percent + '%' : 'Envoi...';
9
+ } else {
10
+ return file.status == 'reload' ? 'Réessayer' : 'Échec de l\'envoi';
11
+ }
12
+ } else {
13
+ return file.type === 'video' ? 'Vidéo' : 'Image';
14
+ }
15
+ };
16
+
17
+ module.exports.isImageType = function (file) {
18
+ if (file.type === 'image') return true;
19
+ if (file.url) {
20
+ var imageExts = ['jpg', 'jpeg', 'png', 'gif', 'bmp', 'webp', 'svg', 'tiff'];
21
+ var url = file.url.toLowerCase();
22
+ for (var i = 0; i < imageExts.length; i++) {
23
+ if (url.indexOf('.' + imageExts[i]) !== -1) return true;
24
+ }
25
+ }
26
+ return false;
27
+ };
28
+
29
+ function getFileExt(file) {
30
+ var name = file.name || '';
31
+ var url = file.url || '';
32
+ var ext = '';
33
+ var dotIndex = name.lastIndexOf('.');
34
+ if (dotIndex !== -1) {
35
+ ext = name.substring(dotIndex).toLowerCase();
36
+ }
37
+ if (ext === '' && url) {
38
+ var urlDotIndex = url.lastIndexOf('.');
39
+ if (urlDotIndex !== -1) {
40
+ var qIndex = url.indexOf('?', urlDotIndex);
41
+ if (qIndex !== -1) {
42
+ ext = url.substring(urlDotIndex, qIndex).toLowerCase();
43
+ } else {
44
+ ext = url.substring(urlDotIndex).toLowerCase();
45
+ }
46
+ }
47
+ }
48
+ return ext;
49
+ }
50
+
51
+ function getFileCategory(ext) {
52
+ if (ext === '.pdf') return 'pdf';
53
+ if (
54
+ ext === '.xlsx' ||
55
+ ext === '.xls' ||
56
+ ext === '.csv' ||
57
+ ext === '.xlc' ||
58
+ ext === '.xlm' ||
59
+ ext === '.xlt' ||
60
+ ext === '.xlw'
61
+ )
62
+ return 'excel';
63
+ if (ext === '.pptx' || ext === '.ppt' || ext === '.key') return 'ppt';
64
+ if (ext === '.docx' || ext === '.doc' || ext === '.document' || ext === '.wps' || ext === '.wdb' || ext === '.msword')
65
+ return 'word';
66
+ if (
67
+ ext === '.avi' ||
68
+ ext === '.mp4' ||
69
+ ext === '.wmv' ||
70
+ ext === '.mpg' ||
71
+ ext === '.mpeg' ||
72
+ ext === '.mov' ||
73
+ ext === '.rm' ||
74
+ ext === '.ram' ||
75
+ ext === '.swf' ||
76
+ ext === '.flv' ||
77
+ ext === '.rmvb' ||
78
+ ext === '.3gp' ||
79
+ ext === '.mp2' ||
80
+ ext === '.mp3' ||
81
+ ext === '.ogg' ||
82
+ ext === '.3gpp' ||
83
+ ext === '.ac3' ||
84
+ ext === '.au'
85
+ )
86
+ return 'media';
87
+ if (
88
+ ext === '.zip' ||
89
+ ext === '.rar' ||
90
+ ext === '.7z' ||
91
+ ext === '.tar' ||
92
+ ext === '.gz' ||
93
+ ext === '.bz2' ||
94
+ ext === '.xz'
95
+ )
96
+ return 'zip';
97
+ return 'other';
98
+ }
99
+
100
+ var FILE_CATEGORY_ICON_MAP = {
101
+ pdf: 'file-pdf-filled',
102
+ excel: 'file-excel-filled',
103
+ ppt: 'file-powerpoint-filled',
104
+ word: 'file-word-filled',
105
+ media: 'video-filled',
106
+ zip: 'file-zip-filled',
107
+ other: 'file-1',
108
+ };
109
+
110
+ module.exports.getFileTypeIcon = function (file) {
111
+ var ext = getFileExt(file);
112
+ var category = getFileCategory(ext);
113
+ return FILE_CATEGORY_ICON_MAP[category];
114
+ };
115
+
116
+ module.exports.getFileTypeIconColorClass = function (file, classPrefix) {
117
+ var ext = getFileExt(file);
118
+ var category = getFileCategory(ext);
119
+ return classPrefix + '__file-type--' + category;
120
+ };
121
+
122
+ module.exports.formatSize = function (size) {
123
+ if (size == null || size === undefined) return '';
124
+ var num = +size;
125
+ if (num < 1024) return num + 'B';
126
+ if (num < 1024 * 1024) return (num / 1024).toFixed(1) + 'KB';
127
+ if (num < 1024 * 1024 * 1024) return (num / (1024 * 1024)).toFixed(1) + 'MB';
128
+ return (num / (1024 * 1024 * 1024)).toFixed(1) + 'GB';
129
+ };