@smallwei/avue 3.8.1 → 3.8.3

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 (376) hide show
  1. package/README.md +206 -86
  2. package/dist/avue.js +37301 -0
  3. package/dist/avue.js.map +1 -0
  4. package/dist/avue.min.js +6 -0
  5. package/dist/avue.min.mjs +2 -0
  6. package/dist/avue.mjs +2 -0
  7. package/dist/index.css +1 -0
  8. package/es/avue.min.mjs +2 -0
  9. package/es/avue.min.ts +2 -0
  10. package/es/avue.mjs +2 -0
  11. package/es/avue.ts +2 -0
  12. package/es/core/create.mjs +8 -0
  13. package/es/core/create.ts +16 -0
  14. package/es/core/dataformat.mjs +184 -0
  15. package/es/core/dataformat.ts +190 -0
  16. package/es/core/detail.mjs +74 -0
  17. package/es/core/detail.ts +81 -0
  18. package/es/core/dic.mjs +213 -0
  19. package/es/core/dic.ts +235 -0
  20. package/es/core/locale.mjs +8 -0
  21. package/es/core/locale.ts +9 -0
  22. package/es/core/packages.mjs +61 -0
  23. package/es/core/packages.ts +62 -0
  24. package/es/core/slot.mjs +32 -0
  25. package/es/core/slot.ts +30 -0
  26. package/es/global/variable.mjs +80 -0
  27. package/es/global/variable.ts +84 -0
  28. package/es/icon.mjs +9 -0
  29. package/es/icon.ts +11 -0
  30. package/es/index.mjs +127 -0
  31. package/es/index.ts +177 -0
  32. package/es/locale/browser/en.mjs +288 -0
  33. package/es/locale/browser/zh-cn.mjs +288 -0
  34. package/es/locale/browser/zh.mjs +288 -0
  35. package/es/locale/index.mjs +141 -0
  36. package/es/locale/index.ts +196 -0
  37. package/es/locale/lang/en.mjs +282 -0
  38. package/es/locale/lang/en.ts +282 -0
  39. package/es/locale/lang/zh-cn.mjs +282 -0
  40. package/es/locale/lang/zh-cn.ts +282 -0
  41. package/es/locale/lang/zh.mjs +282 -0
  42. package/es/locale/lang/zh.ts +282 -0
  43. package/es/packages/core/common/event.mjs +58 -0
  44. package/es/packages/core/common/event.ts +56 -0
  45. package/es/packages/core/common/init.mjs +134 -0
  46. package/es/packages/core/common/init.ts +133 -0
  47. package/es/packages/core/common/props.mjs +239 -0
  48. package/es/packages/core/common/props.ts +240 -0
  49. package/es/packages/core/components/dialog-form/index.mjs +29 -0
  50. package/es/packages/core/components/dialog-form/index.ts +29 -0
  51. package/es/packages/core/components/dialog-form/index.vue +108 -0
  52. package/es/packages/core/components/form/custom.mjs +41 -0
  53. package/es/packages/core/components/form/custom.ts +41 -0
  54. package/es/packages/core/components/form/index.vue +176 -0
  55. package/es/packages/core/components/icon/index.vue +37 -0
  56. package/es/packages/core/components/image-preview/index.mjs +34 -0
  57. package/es/packages/core/components/image-preview/index.ts +37 -0
  58. package/es/packages/core/components/image-preview/index.vue +215 -0
  59. package/es/packages/core/directive/contextmenu.mjs +92 -0
  60. package/es/packages/core/directive/contextmenu.ts +103 -0
  61. package/es/packages/core/directive/permission.mjs +19 -0
  62. package/es/packages/core/directive/permission.ts +18 -0
  63. package/es/packages/data/box/index.vue +66 -0
  64. package/es/packages/data/card/index.vue +62 -0
  65. package/es/packages/data/cardText/index.vue +56 -0
  66. package/es/packages/data/countdown/index.vue +81 -0
  67. package/es/packages/data/dashboard/index.vue +72 -0
  68. package/es/packages/data/display/index.vue +63 -0
  69. package/es/packages/data/icons/index.vue +68 -0
  70. package/es/packages/data/imgText/index.vue +72 -0
  71. package/es/packages/data/list/index.vue +69 -0
  72. package/es/packages/data/notice/index.vue +63 -0
  73. package/es/packages/data/operaText/index.vue +62 -0
  74. package/es/packages/data/panel/index.vue +62 -0
  75. package/es/packages/data/pay/index.vue +92 -0
  76. package/es/packages/data/price/index.vue +55 -0
  77. package/es/packages/data/product/index.vue +106 -0
  78. package/es/packages/data/profile/index.vue +91 -0
  79. package/es/packages/data/progress/index.vue +64 -0
  80. package/es/packages/data/rank/index.vue +92 -0
  81. package/es/packages/data/rotate/index.vue +69 -0
  82. package/es/packages/data/statistic/index.vue +71 -0
  83. package/es/packages/data/tabs/index.vue +64 -0
  84. package/es/packages/data/task/index.vue +82 -0
  85. package/es/packages/data/weather/index.vue +103 -0
  86. package/es/packages/element-plus/array/index.vue +115 -0
  87. package/es/packages/element-plus/article/index.vue +73 -0
  88. package/es/packages/element-plus/card/index.vue +103 -0
  89. package/es/packages/element-plus/cascader/index.vue +132 -0
  90. package/es/packages/element-plus/chat/index.vue +513 -0
  91. package/es/packages/element-plus/checkbox/index.vue +84 -0
  92. package/es/packages/element-plus/comment/index.vue +76 -0
  93. package/es/packages/element-plus/count-up/index.vue +107 -0
  94. package/es/packages/element-plus/crud/column/column-default.vue +128 -0
  95. package/es/packages/element-plus/crud/column/column-dynamic.vue +86 -0
  96. package/es/packages/element-plus/crud/column/column-menu.vue +267 -0
  97. package/es/packages/element-plus/crud/column/column-slot.vue +348 -0
  98. package/es/packages/element-plus/crud/column/column.vue +119 -0
  99. package/es/packages/element-plus/crud/column/menu.vue +78 -0
  100. package/es/packages/element-plus/crud/config.mjs +74 -0
  101. package/es/packages/element-plus/crud/config.ts +74 -0
  102. package/es/packages/element-plus/crud/dialog/dialog-column.vue +102 -0
  103. package/es/packages/element-plus/crud/dialog/dialog-excel.vue +204 -0
  104. package/es/packages/element-plus/crud/dialog/dialog-filter.vue +159 -0
  105. package/es/packages/element-plus/crud/dialog/dialog-form.vue +352 -0
  106. package/es/packages/element-plus/crud/grid/index.vue +271 -0
  107. package/es/packages/element-plus/crud/grid/item.vue +39 -0
  108. package/es/packages/element-plus/crud/index.vue +1018 -0
  109. package/es/packages/element-plus/crud/menu/header-menu.vue +175 -0
  110. package/es/packages/element-plus/crud/menu/header-search.vue +228 -0
  111. package/es/packages/element-plus/crud/menu/table-page.vue +108 -0
  112. package/es/packages/element-plus/date/index.vue +81 -0
  113. package/es/packages/element-plus/draggable/index.vue +444 -0
  114. package/es/packages/element-plus/dynamic/index.vue +353 -0
  115. package/es/packages/element-plus/flow/index.vue +339 -0
  116. package/es/packages/element-plus/flow/node.vue +84 -0
  117. package/es/packages/element-plus/form/config.mjs +6 -0
  118. package/es/packages/element-plus/form/config.ts +6 -0
  119. package/es/packages/element-plus/form/index.vue +954 -0
  120. package/es/packages/element-plus/form/menu.vue +63 -0
  121. package/es/packages/element-plus/group/index.vue +90 -0
  122. package/es/packages/element-plus/input/index.vue +1264 -0
  123. package/es/packages/element-plus/input-color/index.vue +70 -0
  124. package/es/packages/element-plus/input-cron/index.vue +363 -0
  125. package/es/packages/element-plus/input-icon/index.vue +143 -0
  126. package/es/packages/element-plus/input-map/index.vue +311 -0
  127. package/es/packages/element-plus/input-number/index.vue +91 -0
  128. package/es/packages/element-plus/input-table/index.vue +279 -0
  129. package/es/packages/element-plus/input-tag/index.vue +79 -0
  130. package/es/packages/element-plus/input-tree/index.vue +194 -0
  131. package/es/packages/element-plus/license/index.vue +155 -0
  132. package/es/packages/element-plus/login/index.vue +203 -0
  133. package/es/packages/element-plus/mention/index.vue +117 -0
  134. package/es/packages/element-plus/radio/index.vue +38 -0
  135. package/es/packages/element-plus/rate/index.vue +51 -0
  136. package/es/packages/element-plus/search/index.vue +129 -0
  137. package/es/packages/element-plus/select/index.vue +292 -0
  138. package/es/packages/element-plus/sign/index.vue +230 -0
  139. package/es/packages/element-plus/slider/index.vue +66 -0
  140. package/es/packages/element-plus/switch/index.vue +72 -0
  141. package/es/packages/element-plus/tabs/index.vue +62 -0
  142. package/es/packages/element-plus/text-ellipsis/index.vue +104 -0
  143. package/es/packages/element-plus/time/index.vue +81 -0
  144. package/es/packages/element-plus/title/index.vue +30 -0
  145. package/es/packages/element-plus/tree/index.vue +460 -0
  146. package/es/packages/element-plus/upload/index.vue +728 -0
  147. package/es/packages/element-plus/verify/index.vue +62 -0
  148. package/es/packages/element-plus/video/index.vue +90 -0
  149. package/es/plugin/ali/index.mjs +4 -0
  150. package/es/plugin/ali/index.ts +6 -0
  151. package/es/plugin/clipboard/index.mjs +61 -0
  152. package/es/plugin/clipboard/index.ts +67 -0
  153. package/es/plugin/export/_blob.mjs +151 -0
  154. package/es/plugin/export/_blob.ts +176 -0
  155. package/es/plugin/export/_export2Excel.mjs +141 -0
  156. package/es/plugin/export/_export2Excel.ts +166 -0
  157. package/es/plugin/export/index.mjs +263 -0
  158. package/es/plugin/export/index.ts +274 -0
  159. package/es/plugin/logs/index.mjs +46 -0
  160. package/es/plugin/logs/index.ts +66 -0
  161. package/es/plugin/print/index.mjs +145 -0
  162. package/es/plugin/print/index.ts +155 -0
  163. package/es/plugin/qiniu/index.mjs +78 -0
  164. package/es/plugin/qiniu/index.ts +88 -0
  165. package/es/plugin/screenshot/index.mjs +8 -0
  166. package/es/plugin/screenshot/index.ts +9 -0
  167. package/es/plugin/video/index.mjs +52 -0
  168. package/es/plugin/video/index.ts +60 -0
  169. package/es/plugin/watermark/index.mjs +114 -0
  170. package/es/plugin/watermark/index.ts +127 -0
  171. package/es/plugin/watermark/watermark.mjs +109 -0
  172. package/es/plugin/watermark/watermark.ts +121 -0
  173. package/es/ui/data/index.mjs +49 -0
  174. package/es/ui/data/index.ts +51 -0
  175. package/es/ui/element-plus/index.mjs +87 -0
  176. package/es/ui/element-plus/index.ts +89 -0
  177. package/es/ui/index.mjs +4 -0
  178. package/es/ui/index.ts +6 -0
  179. package/es/utils/bem.mjs +29 -0
  180. package/es/utils/bem.ts +36 -0
  181. package/es/utils/mock.mjs +137 -0
  182. package/es/utils/mock.ts +151 -0
  183. package/es/utils/util.mjs +370 -0
  184. package/es/utils/util.ts +392 -0
  185. package/es/utils/validate.mjs +18 -0
  186. package/es/utils/validate.ts +23 -0
  187. package/es/version.mjs +1 -0
  188. package/es/version.ts +1 -0
  189. package/lib/avue.js +11 -31398
  190. package/lib/avue.min.js +11 -6
  191. package/lib/avue.min.ts +2 -0
  192. package/lib/avue.ts +2 -0
  193. package/lib/core/create.js +14 -0
  194. package/lib/core/create.ts +16 -0
  195. package/lib/core/dataformat.js +194 -0
  196. package/lib/core/dataformat.ts +190 -0
  197. package/lib/core/detail.js +81 -0
  198. package/lib/core/detail.ts +81 -0
  199. package/lib/core/dic.js +220 -0
  200. package/lib/core/dic.ts +235 -0
  201. package/lib/core/locale.js +10 -0
  202. package/lib/core/locale.ts +9 -0
  203. package/lib/core/packages.js +66 -0
  204. package/lib/core/packages.ts +62 -0
  205. package/lib/core/slot.js +34 -0
  206. package/lib/core/slot.ts +30 -0
  207. package/lib/global/variable.js +83 -0
  208. package/lib/global/variable.ts +84 -0
  209. package/lib/icon.js +44 -0
  210. package/lib/icon.ts +11 -0
  211. package/lib/index.css +1 -1
  212. package/lib/index.js +134 -0
  213. package/lib/index.ts +177 -0
  214. package/lib/locale/browser/en.js +288 -0
  215. package/lib/locale/browser/zh-cn.js +288 -0
  216. package/lib/locale/browser/zh.js +288 -0
  217. package/lib/locale/index.js +153 -47
  218. package/lib/locale/index.ts +196 -0
  219. package/lib/locale/lang/en.js +284 -100
  220. package/lib/locale/lang/en.ts +282 -0
  221. package/lib/locale/lang/zh-cn.js +284 -0
  222. package/lib/locale/lang/zh-cn.ts +282 -0
  223. package/lib/locale/lang/zh.js +284 -100
  224. package/lib/locale/lang/zh.ts +282 -0
  225. package/lib/packages/core/common/event.js +61 -0
  226. package/lib/packages/core/common/event.ts +56 -0
  227. package/lib/packages/core/common/init.js +140 -0
  228. package/lib/packages/core/common/init.ts +133 -0
  229. package/lib/packages/core/common/props.js +245 -0
  230. package/lib/packages/core/common/props.ts +240 -0
  231. package/lib/packages/core/components/dialog-form/index.js +35 -0
  232. package/lib/packages/core/components/dialog-form/index.ts +29 -0
  233. package/lib/packages/core/components/dialog-form/index.vue +108 -0
  234. package/lib/packages/core/components/form/custom.js +43 -0
  235. package/lib/packages/core/components/form/custom.ts +41 -0
  236. package/lib/packages/core/components/form/index.vue +176 -0
  237. package/lib/packages/core/components/icon/index.vue +37 -0
  238. package/lib/packages/core/components/image-preview/index.js +40 -0
  239. package/lib/packages/core/components/image-preview/index.ts +37 -0
  240. package/lib/packages/core/components/image-preview/index.vue +215 -0
  241. package/lib/packages/core/directive/contextmenu.js +94 -0
  242. package/lib/packages/core/directive/contextmenu.ts +103 -0
  243. package/lib/packages/core/directive/permission.js +21 -0
  244. package/lib/packages/core/directive/permission.ts +18 -0
  245. package/lib/packages/data/box/index.vue +66 -0
  246. package/lib/packages/data/card/index.vue +62 -0
  247. package/lib/packages/data/cardText/index.vue +56 -0
  248. package/lib/packages/data/countdown/index.vue +81 -0
  249. package/lib/packages/data/dashboard/index.vue +72 -0
  250. package/lib/packages/data/display/index.vue +63 -0
  251. package/lib/packages/data/icons/index.vue +68 -0
  252. package/lib/packages/data/imgText/index.vue +72 -0
  253. package/lib/packages/data/list/index.vue +69 -0
  254. package/lib/packages/data/notice/index.vue +63 -0
  255. package/lib/packages/data/operaText/index.vue +62 -0
  256. package/lib/packages/data/panel/index.vue +62 -0
  257. package/lib/packages/data/pay/index.vue +92 -0
  258. package/lib/packages/data/price/index.vue +55 -0
  259. package/lib/packages/data/product/index.vue +106 -0
  260. package/lib/packages/data/profile/index.vue +91 -0
  261. package/lib/packages/data/progress/index.vue +64 -0
  262. package/lib/packages/data/rank/index.vue +92 -0
  263. package/lib/packages/data/rotate/index.vue +69 -0
  264. package/lib/packages/data/statistic/index.vue +71 -0
  265. package/lib/packages/data/tabs/index.vue +64 -0
  266. package/lib/packages/data/task/index.vue +82 -0
  267. package/lib/packages/data/weather/index.vue +103 -0
  268. package/lib/packages/element-plus/array/index.vue +115 -0
  269. package/lib/packages/element-plus/article/index.vue +73 -0
  270. package/lib/packages/element-plus/card/index.vue +103 -0
  271. package/lib/packages/element-plus/cascader/index.vue +132 -0
  272. package/lib/packages/element-plus/chat/index.vue +513 -0
  273. package/lib/packages/element-plus/checkbox/index.vue +84 -0
  274. package/lib/packages/element-plus/comment/index.vue +76 -0
  275. package/lib/packages/element-plus/count-up/index.vue +107 -0
  276. package/lib/packages/element-plus/crud/column/column-default.vue +128 -0
  277. package/lib/packages/element-plus/crud/column/column-dynamic.vue +86 -0
  278. package/lib/packages/element-plus/crud/column/column-menu.vue +267 -0
  279. package/lib/packages/element-plus/crud/column/column-slot.vue +348 -0
  280. package/lib/packages/element-plus/crud/column/column.vue +119 -0
  281. package/lib/packages/element-plus/crud/column/menu.vue +78 -0
  282. package/lib/packages/element-plus/crud/config.js +76 -0
  283. package/lib/packages/element-plus/crud/config.ts +74 -0
  284. package/lib/packages/element-plus/crud/dialog/dialog-column.vue +102 -0
  285. package/lib/packages/element-plus/crud/dialog/dialog-excel.vue +204 -0
  286. package/lib/packages/element-plus/crud/dialog/dialog-filter.vue +159 -0
  287. package/lib/packages/element-plus/crud/dialog/dialog-form.vue +352 -0
  288. package/lib/packages/element-plus/crud/grid/index.vue +271 -0
  289. package/lib/packages/element-plus/crud/grid/item.vue +39 -0
  290. package/lib/packages/element-plus/crud/index.vue +1018 -0
  291. package/lib/packages/element-plus/crud/menu/header-menu.vue +175 -0
  292. package/lib/packages/element-plus/crud/menu/header-search.vue +228 -0
  293. package/lib/packages/element-plus/crud/menu/table-page.vue +108 -0
  294. package/lib/packages/element-plus/date/index.vue +81 -0
  295. package/lib/packages/element-plus/draggable/index.vue +444 -0
  296. package/lib/packages/element-plus/dynamic/index.vue +353 -0
  297. package/lib/packages/element-plus/flow/index.vue +339 -0
  298. package/lib/packages/element-plus/flow/node.vue +84 -0
  299. package/lib/packages/element-plus/form/config.js +8 -0
  300. package/lib/packages/element-plus/form/config.ts +6 -0
  301. package/lib/packages/element-plus/form/index.vue +954 -0
  302. package/lib/packages/element-plus/form/menu.vue +63 -0
  303. package/lib/packages/element-plus/group/index.vue +90 -0
  304. package/lib/packages/element-plus/input/index.vue +1264 -0
  305. package/lib/packages/element-plus/input-color/index.vue +70 -0
  306. package/lib/packages/element-plus/input-cron/index.vue +363 -0
  307. package/lib/packages/element-plus/input-icon/index.vue +143 -0
  308. package/lib/packages/element-plus/input-map/index.vue +311 -0
  309. package/lib/packages/element-plus/input-number/index.vue +91 -0
  310. package/lib/packages/element-plus/input-table/index.vue +279 -0
  311. package/lib/packages/element-plus/input-tag/index.vue +79 -0
  312. package/lib/packages/element-plus/input-tree/index.vue +194 -0
  313. package/lib/packages/element-plus/license/index.vue +155 -0
  314. package/lib/packages/element-plus/login/index.vue +203 -0
  315. package/lib/packages/element-plus/mention/index.vue +117 -0
  316. package/lib/packages/element-plus/radio/index.vue +38 -0
  317. package/lib/packages/element-plus/rate/index.vue +51 -0
  318. package/lib/packages/element-plus/search/index.vue +129 -0
  319. package/lib/packages/element-plus/select/index.vue +292 -0
  320. package/lib/packages/element-plus/sign/index.vue +230 -0
  321. package/lib/packages/element-plus/slider/index.vue +66 -0
  322. package/lib/packages/element-plus/switch/index.vue +72 -0
  323. package/lib/packages/element-plus/tabs/index.vue +62 -0
  324. package/lib/packages/element-plus/text-ellipsis/index.vue +104 -0
  325. package/lib/packages/element-plus/time/index.vue +81 -0
  326. package/lib/packages/element-plus/title/index.vue +30 -0
  327. package/lib/packages/element-plus/tree/index.vue +460 -0
  328. package/lib/packages/element-plus/upload/index.vue +728 -0
  329. package/lib/packages/element-plus/verify/index.vue +62 -0
  330. package/lib/packages/element-plus/video/index.vue +90 -0
  331. package/lib/plugin/ali/index.js +8 -0
  332. package/lib/plugin/ali/index.ts +6 -0
  333. package/lib/plugin/clipboard/index.js +64 -0
  334. package/lib/plugin/clipboard/index.ts +67 -0
  335. package/lib/plugin/export/_blob.js +151 -0
  336. package/lib/plugin/export/_blob.ts +176 -0
  337. package/lib/plugin/export/_export2Excel.js +145 -0
  338. package/lib/plugin/export/_export2Excel.ts +166 -0
  339. package/lib/plugin/export/index.js +268 -0
  340. package/lib/plugin/export/index.ts +274 -0
  341. package/lib/plugin/logs/index.js +48 -0
  342. package/lib/plugin/logs/index.ts +66 -0
  343. package/lib/plugin/print/index.js +147 -0
  344. package/lib/plugin/print/index.ts +155 -0
  345. package/lib/plugin/qiniu/index.js +82 -0
  346. package/lib/plugin/qiniu/index.ts +88 -0
  347. package/lib/plugin/screenshot/index.js +14 -0
  348. package/lib/plugin/screenshot/index.ts +9 -0
  349. package/lib/plugin/video/index.js +55 -0
  350. package/lib/plugin/video/index.ts +60 -0
  351. package/lib/plugin/watermark/index.js +121 -0
  352. package/lib/plugin/watermark/index.ts +127 -0
  353. package/lib/plugin/watermark/watermark.js +111 -0
  354. package/lib/plugin/watermark/watermark.ts +121 -0
  355. package/lib/ui/data/index.js +54 -0
  356. package/lib/ui/data/index.ts +51 -0
  357. package/lib/ui/element-plus/index.js +92 -0
  358. package/lib/ui/element-plus/index.ts +89 -0
  359. package/lib/ui/index.js +9 -0
  360. package/lib/ui/index.ts +6 -0
  361. package/lib/utils/bem.js +31 -0
  362. package/lib/utils/bem.ts +36 -0
  363. package/lib/utils/mock.js +142 -0
  364. package/lib/utils/mock.ts +151 -0
  365. package/lib/utils/util.js +403 -0
  366. package/lib/utils/util.ts +392 -0
  367. package/lib/utils/validate.js +21 -0
  368. package/lib/utils/validate.ts +23 -0
  369. package/lib/version.js +4 -0
  370. package/lib/version.ts +1 -0
  371. package/package.json +24 -11
  372. package/types/index.d.ts +141 -0
  373. package/types/shims-aliases.d.ts +4 -0
  374. package/types/shims-vue.d.ts +6 -0
  375. package/lib/avue.js.map +0 -1
  376. package/lib/locale/format.js +0 -44
@@ -0,0 +1,32 @@
1
+ export default {
2
+ methods: {
3
+ getSlotName(item = {}, type = 'D', slot) {
4
+ const result = {
5
+ F: '-form',
6
+ H: '-header',
7
+ E: '-error',
8
+ L: '-label',
9
+ S: '-search',
10
+ T: '-type',
11
+ D: '',
12
+ };
13
+ const name = item.prop + result[type];
14
+ if (slot)
15
+ return slot[name];
16
+ return name;
17
+ },
18
+ getSlotList(list = [], slot, propList) {
19
+ const propNames = propList.map((ele) => ele.prop);
20
+ return Object.keys(slot).filter((ele) => {
21
+ let result = false;
22
+ if (!propNames.includes(ele)) {
23
+ list.forEach((name) => {
24
+ if (ele.includes(name))
25
+ result = true;
26
+ });
27
+ }
28
+ return result;
29
+ });
30
+ },
31
+ },
32
+ };
@@ -0,0 +1,30 @@
1
+ export default {
2
+ methods: {
3
+ getSlotName(item: Record<string, any> = {}, type = 'D', slot?: Record<string, any>) {
4
+ const result: Record<string, string> = {
5
+ F: '-form',
6
+ H: '-header',
7
+ E: '-error',
8
+ L: '-label',
9
+ S: '-search',
10
+ T: '-type',
11
+ D: '',
12
+ };
13
+ const name = item.prop + result[type];
14
+ if (slot) return slot[name];
15
+ return name;
16
+ },
17
+ getSlotList(list: string[] = [], slot: Record<string, any>, propList: Array<Record<string, any>>) {
18
+ const propNames = propList.map((ele) => ele.prop);
19
+ return Object.keys(slot).filter((ele) => {
20
+ let result = false;
21
+ if (!propNames.includes(ele)) {
22
+ list.forEach((name) => {
23
+ if (ele.includes(name)) result = true;
24
+ });
25
+ }
26
+ return result;
27
+ });
28
+ },
29
+ },
30
+ };
@@ -0,0 +1,80 @@
1
+ export const KEY_COMPONENT_NAME = 'avue-';
2
+ export const KEY_ECHART_NAME = 'echart-';
3
+ export const DIC_PROPS = {
4
+ rowKey: 'id',
5
+ rowParentKey: 'parentId',
6
+ nodeKey: 'id',
7
+ label: 'label',
8
+ value: 'value',
9
+ type: 'type',
10
+ desc: 'desc',
11
+ groups: 'groups',
12
+ title: 'title',
13
+ leaf: 'leaf',
14
+ children: 'children',
15
+ hasChildren: 'hasChildren',
16
+ labelText: '名称',
17
+ disabled: 'disabled',
18
+ };
19
+ export const DIC_HTTP_PROPS = {
20
+ name: 'name',
21
+ url: 'url',
22
+ fileType: 'type',
23
+ fileName: 'file',
24
+ res: '',
25
+ };
26
+ export const DATE_LIST = [
27
+ 'dates',
28
+ 'date',
29
+ 'datetime',
30
+ 'datetimerange',
31
+ 'daterange',
32
+ 'time',
33
+ 'timerange',
34
+ 'week',
35
+ 'month',
36
+ 'months',
37
+ 'monthrange',
38
+ 'year',
39
+ 'years',
40
+ 'yearrange',
41
+ ];
42
+ export const CHILDREN_LIST = ['table', 'dynamic'];
43
+ export const INPUT_LIST = ['tree', 'number', 'icon', 'color', 'table', 'map', 'tag'];
44
+ export const ARRAY_LIST = ['img', 'array', 'url'];
45
+ export const MULTIPLE_LIST = ['cascader', 'tree', 'select', 'table'];
46
+ export const RANGE_LIST = ['slider'];
47
+ export const ARRAY_VALUE_LIST = ARRAY_LIST.concat([
48
+ 'tag',
49
+ 'upload',
50
+ 'dynamic',
51
+ 'map',
52
+ 'checkbox',
53
+ 'cascader',
54
+ 'timerange',
55
+ 'monthrange',
56
+ 'daterange',
57
+ 'yearrange',
58
+ 'datetimerange',
59
+ 'dates',
60
+ 'months',
61
+ 'years',
62
+ ]);
63
+ export const SELECT_LIST = DATE_LIST.concat([
64
+ 'select',
65
+ 'checkbox',
66
+ 'radio',
67
+ 'cascader',
68
+ 'tree',
69
+ 'color',
70
+ 'icon',
71
+ 'table',
72
+ 'map',
73
+ ]);
74
+ export const DIC_SHOW_SPLIT = ' | ';
75
+ export const DIC_SPLIT = ',';
76
+ export const typeList = {
77
+ img: /(\.|^)(gif|jpg|jpeg|png|webp|svg|GIF|JPG|JPEG|PNG|WEBP|SVG)/,
78
+ video: /(\.|^)(swf|avi|flv|mpg|rm|mov|wav|asf|3gp|mkv|rmvb|ogg|mp4)/,
79
+ audio: /(\.|^)(mp3|wav|MP3|WAV)/,
80
+ };
@@ -0,0 +1,84 @@
1
+ export const KEY_COMPONENT_NAME = 'avue-';
2
+ export const KEY_ECHART_NAME = 'echart-';
3
+
4
+ export const DIC_PROPS = {
5
+ rowKey: 'id',
6
+ rowParentKey: 'parentId',
7
+ nodeKey: 'id',
8
+ label: 'label',
9
+ value: 'value',
10
+ type: 'type',
11
+ desc: 'desc',
12
+ groups: 'groups',
13
+ title: 'title',
14
+ leaf: 'leaf',
15
+ children: 'children',
16
+ hasChildren: 'hasChildren',
17
+ labelText: '名称',
18
+ disabled: 'disabled',
19
+ } as const;
20
+
21
+ export const DIC_HTTP_PROPS = {
22
+ name: 'name',
23
+ url: 'url',
24
+ fileType: 'type',
25
+ fileName: 'file',
26
+ res: '',
27
+ } as const;
28
+
29
+ export const DATE_LIST = [
30
+ 'dates',
31
+ 'date',
32
+ 'datetime',
33
+ 'datetimerange',
34
+ 'daterange',
35
+ 'time',
36
+ 'timerange',
37
+ 'week',
38
+ 'month',
39
+ 'months',
40
+ 'monthrange',
41
+ 'year',
42
+ 'years',
43
+ 'yearrange',
44
+ ];
45
+
46
+ export const CHILDREN_LIST = ['table', 'dynamic'];
47
+ export const INPUT_LIST = ['tree', 'number', 'icon', 'color', 'table', 'map', 'tag'];
48
+ export const ARRAY_LIST = ['img', 'array', 'url'];
49
+ export const MULTIPLE_LIST = ['cascader', 'tree', 'select', 'table'];
50
+ export const RANGE_LIST = ['slider'];
51
+ export const ARRAY_VALUE_LIST = ARRAY_LIST.concat([
52
+ 'tag',
53
+ 'upload',
54
+ 'dynamic',
55
+ 'map',
56
+ 'checkbox',
57
+ 'cascader',
58
+ 'timerange',
59
+ 'monthrange',
60
+ 'daterange',
61
+ 'yearrange',
62
+ 'datetimerange',
63
+ 'dates',
64
+ 'months',
65
+ 'years',
66
+ ]);
67
+ export const SELECT_LIST = DATE_LIST.concat([
68
+ 'select',
69
+ 'checkbox',
70
+ 'radio',
71
+ 'cascader',
72
+ 'tree',
73
+ 'color',
74
+ 'icon',
75
+ 'table',
76
+ 'map',
77
+ ]);
78
+ export const DIC_SHOW_SPLIT = ' | ';
79
+ export const DIC_SPLIT = ',';
80
+ export const typeList = {
81
+ img: /(\.|^)(gif|jpg|jpeg|png|webp|svg|GIF|JPG|JPEG|PNG|WEBP|SVG)/,
82
+ video: /(\.|^)(swf|avi|flv|mpg|rm|mov|wav|asf|3gp|mkv|rmvb|ogg|mp4)/,
83
+ audio: /(\.|^)(mp3|wav|MP3|WAV)/,
84
+ };
package/es/icon.mjs ADDED
@@ -0,0 +1,9 @@
1
+ import * as Icons from '@element-plus/icons-vue';
2
+ export default (app) => {
3
+ for (const key in Icons) {
4
+ app.component(transElIconName(key), Icons[key]);
5
+ }
6
+ };
7
+ function transElIconName(iconName) {
8
+ return 'el-icon' + iconName.replace(/[A-Z]/g, (match) => '-' + match.toLowerCase());
9
+ }
package/es/icon.ts ADDED
@@ -0,0 +1,11 @@
1
+ import * as Icons from '@element-plus/icons-vue';
2
+
3
+ export default (app: any) => {
4
+ for (const key in Icons) {
5
+ app.component(transElIconName(key), (Icons as Record<string, any>)[key]);
6
+ }
7
+ };
8
+
9
+ function transElIconName(iconName: string) {
10
+ return 'el-icon' + iconName.replace(/[A-Z]/g, (match) => '-' + match.toLowerCase());
11
+ }
package/es/index.mjs ADDED
@@ -0,0 +1,127 @@
1
+ import components from "./ui/index.mjs";
2
+ import { version } from "./version.mjs";
3
+ import axios from "axios";
4
+ import { validatenull } from "./utils/validate.mjs";
5
+ import { randomId, deepClone, dataURLtoFile, findObject, validData, findArray, findNode, setPx, isJson, downFile, loadScript, } from "./utils/util.mjs";
6
+ import contextmenu from "./packages/core/directive/contextmenu.mjs";
7
+ import $Export from "./plugin/export/index.mjs";
8
+ import $Watermark from "./plugin/watermark/index.mjs";
9
+ import $Log from "./plugin/logs/index.mjs";
10
+ import locale from "./locale/index.mjs";
11
+ import $Screenshot from "./plugin/screenshot/index.mjs";
12
+ import $Clipboard from "./plugin/clipboard/index.mjs";
13
+ import $Print from "./plugin/print/index.mjs";
14
+ import $ImagePreview from "./packages/core/components/image-preview/index.mjs";
15
+ import $DialogForm from "./packages/core/components/dialog-form/index.mjs";
16
+ import createIcon from "./icon.mjs";
17
+ const UPLOAD_HOOK_KEYS = [
18
+ "uploadPreview",
19
+ "uploadBefore",
20
+ "uploadAfter",
21
+ "uploadDelete",
22
+ "uploadError",
23
+ "uploadExceed",
24
+ "uploadSized",
25
+ ];
26
+ const plugins = {
27
+ $DialogForm,
28
+ $ImagePreview,
29
+ $Export,
30
+ $Print,
31
+ $Clipboard,
32
+ $Watermark,
33
+ $Log,
34
+ $Screenshot,
35
+ deepClone,
36
+ dataURLtoFile,
37
+ isJson,
38
+ setPx,
39
+ validData,
40
+ findArray,
41
+ findNode,
42
+ validatenull,
43
+ downFile,
44
+ loadScript,
45
+ findObject,
46
+ randomId,
47
+ };
48
+ const directive = {
49
+ contextmenu,
50
+ };
51
+ export const install = function (app, opts = {}) {
52
+ var _a, _b, _c, _d, _e, _f, _g, _h;
53
+ const defaultOption = {
54
+ size: (_a = opts.size) !== null && _a !== void 0 ? _a : "default",
55
+ calcHeight: (_b = opts.calcHeight) !== null && _b !== void 0 ? _b : 0,
56
+ menuType: (_c = opts.menuType) !== null && _c !== void 0 ? _c : "text",
57
+ formOption: (_d = opts.formOption) !== null && _d !== void 0 ? _d : {},
58
+ crudOption: (_e = opts.crudOption) !== null && _e !== void 0 ? _e : {},
59
+ appendToBody: validData(opts.appendToBody, true),
60
+ canvas: {
61
+ text: "avuejs.com",
62
+ fontFamily: "microsoft yahei",
63
+ color: "#999",
64
+ fontSize: 16,
65
+ opacity: 100,
66
+ bottom: 10,
67
+ right: 10,
68
+ ratio: 1,
69
+ ...((_f = opts.canvas) !== null && _f !== void 0 ? _f : {}),
70
+ },
71
+ qiniu: {
72
+ AK: "",
73
+ SK: "",
74
+ scope: "",
75
+ url: "",
76
+ bucket: "https://upload.qiniup.com",
77
+ deadline: 1,
78
+ ...((_g = opts.qiniu) !== null && _g !== void 0 ? _g : {}),
79
+ },
80
+ ali: {
81
+ region: "",
82
+ endpoint: "",
83
+ stsToken: "",
84
+ accessKeyId: "",
85
+ accessKeySecret: "",
86
+ bucket: "",
87
+ ...((_h = opts.ali) !== null && _h !== void 0 ? _h : {}),
88
+ },
89
+ };
90
+ app.config.globalProperties.$AVUE = Object.assign({}, opts, defaultOption);
91
+ Object.keys(components).forEach((key) => {
92
+ const component = components[key];
93
+ app.component(component.name, component);
94
+ });
95
+ createIcon(app);
96
+ Object.keys(plugins).forEach((key) => {
97
+ if (["$DialogForm", "$ImagePreview"].includes(key)) {
98
+ app.config.globalProperties[key] = plugins[key](app._context);
99
+ return;
100
+ }
101
+ app.config.globalProperties[key] = plugins[key];
102
+ });
103
+ Object.keys(directive).forEach((key) => {
104
+ app.directive(key, directive[key]);
105
+ });
106
+ locale.use(opts.locale);
107
+ locale.i18n(opts.i18n);
108
+ app.config.globalProperties.$uploadFun = function (column = {}, safe) {
109
+ const ctx = safe !== null && safe !== void 0 ? safe : this;
110
+ const result = {};
111
+ UPLOAD_HOOK_KEYS.forEach((key) => {
112
+ if (column.type === "upload" && !column[key]) {
113
+ result[key] = ctx[key];
114
+ }
115
+ });
116
+ return result;
117
+ };
118
+ app.config.globalProperties.$axios = opts.axios || axios;
119
+ };
120
+ const Avue = {
121
+ version,
122
+ locale,
123
+ install,
124
+ ...components,
125
+ ...plugins,
126
+ };
127
+ export default Avue;
package/es/index.ts ADDED
@@ -0,0 +1,177 @@
1
+ import type { App } from "vue";
2
+ import components from "./ui/index";
3
+ import { version } from "./version";
4
+ import axios from "axios";
5
+ import { validatenull } from "./utils/validate";
6
+
7
+ import {
8
+ randomId,
9
+ deepClone,
10
+ dataURLtoFile,
11
+ findObject,
12
+ validData,
13
+ findArray,
14
+ findNode,
15
+ setPx,
16
+ isJson,
17
+ downFile,
18
+ loadScript,
19
+ } from "./utils/util";
20
+ import contextmenu from "./packages/core/directive/contextmenu";
21
+ import $Export from "./plugin/export/index";
22
+ import $Watermark from "./plugin/watermark/index";
23
+ import $Log from "./plugin/logs/index";
24
+ import locale from "./locale/index";
25
+ import $Screenshot from "./plugin/screenshot/index";
26
+ import $Clipboard from "./plugin/clipboard/index";
27
+ import $Print from "./plugin/print/index";
28
+ import $ImagePreview from "./packages/core/components/image-preview/index";
29
+ import $DialogForm from "./packages/core/components/dialog-form/index";
30
+ import createIcon from "./icon";
31
+
32
+ type AnyRecord = Record<string, any>;
33
+ type AppWithContext = App & { _context: any };
34
+ const UPLOAD_HOOK_KEYS = [
35
+ "uploadPreview",
36
+ "uploadBefore",
37
+ "uploadAfter",
38
+ "uploadDelete",
39
+ "uploadError",
40
+ "uploadExceed",
41
+ "uploadSized",
42
+ ] as const;
43
+
44
+ export interface AvueInstallOptions extends AnyRecord {
45
+ size?: string;
46
+ calcHeight?: number;
47
+ menuType?: string;
48
+ formOption?: AnyRecord;
49
+ crudOption?: AnyRecord;
50
+ appendToBody?: boolean;
51
+ canvas?: AnyRecord;
52
+ qiniu?: AnyRecord;
53
+ ali?: AnyRecord;
54
+ locale?: string | AnyRecord;
55
+ i18n?: any;
56
+ axios?: any;
57
+ }
58
+
59
+ const plugins: AnyRecord = {
60
+ $DialogForm,
61
+ $ImagePreview,
62
+ $Export,
63
+ $Print,
64
+ $Clipboard,
65
+ $Watermark,
66
+ $Log,
67
+ $Screenshot,
68
+ deepClone,
69
+ dataURLtoFile,
70
+ isJson,
71
+ setPx,
72
+ validData,
73
+ findArray,
74
+ findNode,
75
+ validatenull,
76
+ downFile,
77
+ loadScript,
78
+ findObject,
79
+ randomId,
80
+ };
81
+
82
+ const directive: AnyRecord = {
83
+ contextmenu,
84
+ };
85
+
86
+ export const install = function (app: App, opts: AvueInstallOptions = {}) {
87
+ const defaultOption = {
88
+ size: opts.size ?? "default",
89
+ calcHeight: opts.calcHeight ?? 0,
90
+ menuType: opts.menuType ?? "text",
91
+ formOption: opts.formOption ?? {},
92
+ crudOption: opts.crudOption ?? {},
93
+ appendToBody: validData(opts.appendToBody, true),
94
+ canvas: {
95
+ text: "avuejs.com",
96
+ fontFamily: "microsoft yahei",
97
+ color: "#999",
98
+ fontSize: 16,
99
+ opacity: 100,
100
+ bottom: 10,
101
+ right: 10,
102
+ ratio: 1,
103
+ ...(opts.canvas ?? {}),
104
+ },
105
+ qiniu: {
106
+ AK: "",
107
+ SK: "",
108
+ scope: "",
109
+ url: "",
110
+ bucket: "https://upload.qiniup.com",
111
+ deadline: 1,
112
+ ...(opts.qiniu ?? {}),
113
+ },
114
+ ali: {
115
+ region: "",
116
+ endpoint: "",
117
+ stsToken: "",
118
+ accessKeyId: "",
119
+ accessKeySecret: "",
120
+ bucket: "",
121
+ ...(opts.ali ?? {}),
122
+ },
123
+ };
124
+
125
+ app.config.globalProperties.$AVUE = Object.assign({}, opts, defaultOption);
126
+
127
+ Object.keys(components).forEach((key) => {
128
+ const component = components[key];
129
+ app.component(component.name, component);
130
+ });
131
+
132
+ createIcon(app);
133
+
134
+ Object.keys(plugins).forEach((key) => {
135
+ if (["$DialogForm", "$ImagePreview"].includes(key)) {
136
+ app.config.globalProperties[key] = plugins[key](
137
+ (app as AppWithContext)._context
138
+ );
139
+ return;
140
+ }
141
+
142
+ app.config.globalProperties[key] = plugins[key];
143
+ });
144
+
145
+ Object.keys(directive).forEach((key) => {
146
+ app.directive(key, directive[key]);
147
+ });
148
+
149
+ locale.use(opts.locale);
150
+ locale.i18n(opts.i18n);
151
+ app.config.globalProperties.$uploadFun = function (
152
+ column: AnyRecord = {},
153
+ safe: any
154
+ ) {
155
+ const ctx = safe ?? this;
156
+ const result: AnyRecord = {};
157
+
158
+ UPLOAD_HOOK_KEYS.forEach((key) => {
159
+ if (column.type === "upload" && !column[key]) {
160
+ result[key] = ctx[key];
161
+ }
162
+ });
163
+
164
+ return result;
165
+ };
166
+ app.config.globalProperties.$axios = opts.axios || axios;
167
+ };
168
+
169
+ const Avue = {
170
+ version,
171
+ locale,
172
+ install,
173
+ ...components,
174
+ ...plugins,
175
+ };
176
+
177
+ export default Avue;