@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,392 @@
1
+ import { validatenull } from './validate';
2
+ import { CHILDREN_LIST, DIC_PROPS, typeList } from '../global/variable';
3
+ import _get from 'lodash/get';
4
+ import _set from 'lodash/set';
5
+ import _cloneDeep from 'lodash/cloneDeep';
6
+
7
+ type AnyRecord = Record<string, any>;
8
+
9
+ export const isMediaType = (url: any, type: any) => {
10
+ if (validatenull(url)) return;
11
+ if (typeList.audio.test(url) || typeList.audio.test(type) || type == 'audio') {
12
+ return 'audio';
13
+ } else if (typeList.video.test(url) || typeList.video.test(type) || type == 'video') {
14
+ return 'video';
15
+ } else if (typeList.img.test(url) || typeList.img.test(type) || type == 'img') {
16
+ return 'img';
17
+ }
18
+ return;
19
+ };
20
+
21
+ export const uuid = () => {
22
+ const s: string[] = [];
23
+ const hexDigits = '0123456789abcdef';
24
+ for (let i = 0; i < 36; i++) {
25
+ s[i] = hexDigits.substr(Math.floor(Math.random() * 0x10), 1);
26
+ }
27
+ s[14] = '4';
28
+ s[19] = hexDigits.substr((((s[19] as any) & 0x3) | 0x8) as any, 1);
29
+ s[8] = s[13] = s[18] = s[23] = '-';
30
+ return s.join('');
31
+ };
32
+
33
+ export function getFixed(val = 0, len = 2) {
34
+ return Number(val.toFixed(len));
35
+ }
36
+
37
+ export function getAsVal(obj: any, bind = '') {
38
+ const result = deepClone(obj);
39
+ if (validatenull(bind)) return result;
40
+ return _get(obj, bind);
41
+ }
42
+
43
+ export function setAsVal(obj: any, bind = '', value?: any) {
44
+ _set(obj, bind, value);
45
+ return obj;
46
+ }
47
+
48
+ export const loadScript = (type = 'js', url?: string, dom = 'body') => {
49
+ let flag = false;
50
+ return new Promise<void>((resolve) => {
51
+ const head =
52
+ dom == 'head' ? document.getElementsByTagName('head')[0] : document.body;
53
+ for (let i = 0; i < head.children.length; i++) {
54
+ const ele = head.children[i] as HTMLScriptElement & HTMLLinkElement;
55
+ if (((ele as any).src || '').indexOf(url) !== -1) {
56
+ flag = true;
57
+ resolve();
58
+ }
59
+ }
60
+ if (flag) return;
61
+ let script: HTMLScriptElement | HTMLLinkElement;
62
+ if (type === 'js') {
63
+ script = document.createElement('script');
64
+ script.type = 'text/javascript';
65
+ (script as HTMLScriptElement).src = url || '';
66
+ } else {
67
+ script = document.createElement('link');
68
+ (script as HTMLLinkElement).rel = 'stylesheet';
69
+ script.type = 'text/css';
70
+ (script as HTMLLinkElement).href = url || '';
71
+ }
72
+ head.appendChild(script);
73
+ script.onload = function () {
74
+ resolve();
75
+ };
76
+ });
77
+ };
78
+
79
+ export function downFile(url: string | Blob, saveName?: string) {
80
+ if (typeof url === 'object' && url instanceof Blob) {
81
+ url = URL.createObjectURL(url);
82
+ }
83
+ const aLink = document.createElement('a');
84
+ aLink.href = url;
85
+ aLink.download = saveName || '';
86
+ let event: MouseEvent;
87
+ if (window.MouseEvent) {
88
+ event = new MouseEvent('click');
89
+ } else {
90
+ event = document.createEvent('MouseEvents') as MouseEvent;
91
+ (event as any).initMouseEvent(
92
+ 'click',
93
+ true,
94
+ false,
95
+ window,
96
+ 0,
97
+ 0,
98
+ 0,
99
+ 0,
100
+ 0,
101
+ false,
102
+ false,
103
+ false,
104
+ false,
105
+ 0,
106
+ null
107
+ );
108
+ }
109
+ aLink.dispatchEvent(event);
110
+ }
111
+
112
+ export function extend(...args: any[]) {
113
+ let target = args[0] || {};
114
+ let deep = false;
115
+ const arr = Array.prototype.slice.call(args);
116
+ let i = 1;
117
+ let options;
118
+ let src;
119
+ let key;
120
+ let copy;
121
+ let isArray = false;
122
+ if (typeof target === 'boolean') {
123
+ deep = target;
124
+ i++;
125
+ target = args[1];
126
+ }
127
+ for (; i < arr.length; i++) {
128
+ if ((options = arr[i]) != null) {
129
+ for (key in options) {
130
+ copy = options[key];
131
+ src = target[key];
132
+ if (
133
+ deep &&
134
+ (Object.prototype.toString.call(copy) === '[object Object]' ||
135
+ (isArray = Object.prototype.toString.call(copy) == '[object Array]'))
136
+ ) {
137
+ if (isArray) {
138
+ src = Object.prototype.toString.call(src) === '[object Array]' ? src : [];
139
+ } else {
140
+ src = Object.prototype.toString.call(src) === '[object Object]' ? src : {};
141
+ }
142
+ target[key] = extend(deep, src, copy);
143
+ } else if (copy !== undefined && copy !== src) {
144
+ target[key] = copy;
145
+ }
146
+ }
147
+ }
148
+ }
149
+ return target;
150
+ }
151
+
152
+ export function createObj(obj: AnyRecord, bind: string) {
153
+ const list = bind.split('.');
154
+ const first = list.splice(0, 1)[0];
155
+ const deep: AnyRecord = {};
156
+ deep[first] = {};
157
+ if (list.length >= 2) {
158
+ let start = '{';
159
+ let end = '}';
160
+ let result = '';
161
+ list.forEach((ele) => {
162
+ result = `${result}${start}"${ele}":`;
163
+ });
164
+ result = `${result}""`;
165
+ for (let i = 0; i < list.length; i++) {
166
+ result = `${result}${end}`;
167
+ }
168
+ deep[first] = JSON.parse(result);
169
+ }
170
+ obj = extend(true, obj, deep);
171
+ return obj;
172
+ }
173
+
174
+ export function dataURLtoFile(dataurl: string, filename: string) {
175
+ const arr = dataurl.split(',');
176
+ const mime = arr[0].match(/:(.*?);/)?.[1] || '';
177
+ const bstr = atob(arr[1]);
178
+ let n = bstr.length;
179
+ const u8arr = new Uint8Array(n);
180
+ while (n--) {
181
+ u8arr[n] = bstr.charCodeAt(n);
182
+ }
183
+ return new File([u8arr], filename, { type: mime });
184
+ }
185
+
186
+ export function findObject(list: AnyRecord[] = [], value: any, prop = 'prop') {
187
+ const props = { value: prop };
188
+ let result = findNode(list, props, value);
189
+ if (result) return result;
190
+ for (const ele of list) {
191
+ const column =
192
+ ele.column ||
193
+ (ele.children && CHILDREN_LIST.includes(ele.type) ? ele.children.column : null);
194
+ if (column) {
195
+ result = findNode(column, props, value);
196
+ if (result) return result;
197
+ }
198
+ }
199
+ return result;
200
+ }
201
+
202
+ export function randomId() {
203
+ const chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz';
204
+ const maxPos = chars.length;
205
+ let id = '';
206
+ for (let i = 0; i < 16; i++) {
207
+ id += chars.charAt(Math.floor(Math.random() * maxPos));
208
+ }
209
+ return id;
210
+ }
211
+
212
+ export const getObjType = (obj: any) => {
213
+ const map: Record<string, string> = {
214
+ '[object Boolean]': 'boolean',
215
+ '[object Number]': 'number',
216
+ '[object String]': 'string',
217
+ '[object Function]': 'function',
218
+ '[object Array]': 'array',
219
+ '[object Date]': 'date',
220
+ '[object RegExp]': 'regExp',
221
+ '[object Undefined]': 'undefined',
222
+ '[object Null]': 'null',
223
+ '[object Object]': 'object',
224
+ };
225
+ if (obj instanceof Element) {
226
+ return 'element';
227
+ }
228
+ return map[Object.prototype.toString.call(obj)];
229
+ };
230
+
231
+ export const isJson = (str: any) => {
232
+ if (Array.isArray(str)) {
233
+ return str[0] instanceof Object;
234
+ } else if (str instanceof Object) {
235
+ return true;
236
+ }
237
+ return false;
238
+ };
239
+
240
+ export const deepClone = <T>(data: T): T => {
241
+ return _cloneDeep(data);
242
+ };
243
+
244
+ export const getColumn = (column: AnyRecord[] | AnyRecord) => {
245
+ let columnList: AnyRecord[] = [];
246
+ if (Array.isArray(column)) {
247
+ columnList = column;
248
+ } else {
249
+ for (const o in column) {
250
+ column[o].prop = o;
251
+ columnList.push(column[o]);
252
+ }
253
+ }
254
+ return columnList;
255
+ };
256
+
257
+ export const setPx = (val: any, defval = '') => {
258
+ if (validatenull(val)) val = defval;
259
+ if (validatenull(val)) return '';
260
+ val = val + '';
261
+ if (val.indexOf('%') === -1) {
262
+ val = val + 'px';
263
+ }
264
+ return val;
265
+ };
266
+
267
+ export const detailDataType = (value: any, type: any) => {
268
+ if (validatenull(value)) return value;
269
+ if (type === 'number') {
270
+ return Number(value);
271
+ } else if (type === 'string') {
272
+ return value + '';
273
+ } else {
274
+ return value;
275
+ }
276
+ };
277
+
278
+ export const getDicValue = (list: AnyRecord[], value: any, props: AnyRecord = {}) => {
279
+ if (validatenull(list)) return value;
280
+ const isArray = Array.isArray(value);
281
+ value = isArray ? value : [value];
282
+ const result: any[] = [];
283
+ const labelKey = props[DIC_PROPS.label] || DIC_PROPS.label;
284
+ const groupsKey = props[DIC_PROPS.groups] || DIC_PROPS.groups;
285
+ let dic = deepClone(list);
286
+ dic.forEach((ele) => {
287
+ if (ele[groupsKey]) {
288
+ dic = dic.concat(ele[groupsKey]);
289
+ delete ele[groupsKey];
290
+ }
291
+ });
292
+ value.forEach((val: any) => {
293
+ if (Array.isArray(val)) {
294
+ const arrayResult: any[] = [];
295
+ val.forEach((arrayVal) => {
296
+ const obj = findNode(dic, props, arrayVal) || {};
297
+ arrayResult.push(obj[labelKey] || arrayVal);
298
+ });
299
+ result.push(arrayResult);
300
+ } else {
301
+ const obj = findNode(dic, props, val) || {};
302
+ result.push(obj[labelKey] || val);
303
+ }
304
+ });
305
+ return isArray ? result : result.join('');
306
+ };
307
+
308
+ export const filterParams = (form: AnyRecord, list = ['', '$'], deep = true) => {
309
+ const data = deep ? deepClone(form) : form;
310
+ for (const o in data) {
311
+ if (list.includes('')) {
312
+ if (validatenull(data[o])) delete data[o];
313
+ }
314
+ if (list.includes('$')) {
315
+ if (o.indexOf('$') !== -1) delete data[o];
316
+ }
317
+ }
318
+ return data;
319
+ };
320
+
321
+ export const findArray = (
322
+ list: AnyRecord[] = [],
323
+ value: any,
324
+ valueKey = DIC_PROPS.value,
325
+ index = false
326
+ ) => {
327
+ if (index) {
328
+ return list.findIndex((ele) => ele[valueKey] == value);
329
+ }
330
+ return list.find((ele) => ele[valueKey] == value);
331
+ };
332
+
333
+ export const findNode = (list: AnyRecord[] = [], props: AnyRecord = {}, value: any) => {
334
+ const valueKey = props.value || DIC_PROPS.value;
335
+ const childrenKey = props.children || DIC_PROPS.children;
336
+ for (const ele of list) {
337
+ if (ele[valueKey] === value) {
338
+ return ele;
339
+ }
340
+ const children = ele[childrenKey];
341
+ if (Array.isArray(children)) {
342
+ const node = findNode(children, props, value);
343
+ if (node) return node;
344
+ }
345
+ }
346
+ return undefined;
347
+ };
348
+
349
+ export const getPasswordChar = (result = '', char?: string) => {
350
+ const len = result.toString().length;
351
+ result = '';
352
+ for (let i = 0; i < len; i++) {
353
+ result = result + char;
354
+ }
355
+ return result;
356
+ };
357
+
358
+ export const arraySort = (list: AnyRecord[] = [], prop: string, callback: (a: any, b: any) => number) => {
359
+ return list
360
+ .filter((ele) => !validatenull(ele[prop]))
361
+ .sort((a, b) => callback(a, b))
362
+ .concat(list.filter((ele) => validatenull(ele[prop])));
363
+ };
364
+
365
+ export const blankVal = (value: any) => {
366
+ if (validatenull(value)) return value;
367
+ const type = getObjType(value);
368
+ if (type === 'array') value = [];
369
+ else if (type === 'object') value = {};
370
+ else if (['number', 'boolean'].includes(type)) value = undefined;
371
+ else value = '';
372
+ return value;
373
+ };
374
+
375
+ export const clearVal = (obj: AnyRecord, propList: string[], list: string[] = []) => {
376
+ if (!obj) return {};
377
+ propList.forEach((ele) => {
378
+ if (list.includes(ele)) return;
379
+ else if (ele.includes('$')) delete obj[ele];
380
+ else if (!validatenull(obj[ele])) {
381
+ obj[ele] = blankVal(obj[ele]);
382
+ }
383
+ });
384
+ return obj;
385
+ };
386
+
387
+ export const validData = <T>(val: T, dafult: T) => {
388
+ if (typeof val === 'boolean') {
389
+ return val;
390
+ }
391
+ return !validatenull(val) ? val : dafult;
392
+ };
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.validatenull = validatenull;
4
+ function validatenull(val) {
5
+ if (val instanceof Date || typeof val === 'boolean' || typeof val === 'number') {
6
+ return false;
7
+ }
8
+ if (Array.isArray(val)) {
9
+ return val.length === 0;
10
+ }
11
+ if (val instanceof Object) {
12
+ for (const key in val) {
13
+ return false;
14
+ }
15
+ return true;
16
+ }
17
+ return (val === 'null' ||
18
+ val == null ||
19
+ val === 'undefined' ||
20
+ val === '');
21
+ }
@@ -0,0 +1,23 @@
1
+ export function validatenull(val: any): boolean {
2
+ if (val instanceof Date || typeof val === 'boolean' || typeof val === 'number') {
3
+ return false;
4
+ }
5
+
6
+ if (Array.isArray(val)) {
7
+ return val.length === 0;
8
+ }
9
+
10
+ if (val instanceof Object) {
11
+ for (const key in val) {
12
+ return false;
13
+ }
14
+ return true;
15
+ }
16
+
17
+ return (
18
+ val === 'null' ||
19
+ val == null ||
20
+ val === 'undefined' ||
21
+ val === ''
22
+ );
23
+ }
package/lib/version.js ADDED
@@ -0,0 +1,4 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.version = void 0;
4
+ exports.version = '3.8.2';
package/lib/version.ts ADDED
@@ -0,0 +1 @@
1
+ export const version = '3.8.2'
package/package.json CHANGED
@@ -1,14 +1,23 @@
1
1
  {
2
2
  "name": "@smallwei/avue",
3
- "version": "3.8.1",
3
+ "version": "3.8.3",
4
4
  "description": "A Magic Configurable Web Framework",
5
- "main": "lib/avue.min.js",
6
- "unpkg": "lib/avue.min.js",
7
- "jsdelivr": "lib/avue.min.js",
5
+ "main": "lib/avue.js",
6
+ "module": "es/index.mjs",
7
+ "style": "dist/index.css",
8
+ "types": "types/index.d.ts",
9
+ "unpkg": "dist/avue.min.js",
10
+ "jsdelivr": "dist/avue.min.js",
8
11
  "scripts": {
9
- "dev": "pnpm gen:version && cross-env TARGET=dev gulp watch",
12
+ "dev": "pnpm gen:version && pnpm gen:locale && cross-env TARGET=dev gulp watch",
13
+ "build:esm": "pnpm gen:version && cross-env OUTPUT_DIR=es MODULE_FORMAT=esm node build/esm.js",
14
+ "build:cjs": "pnpm gen:version && cross-env OUTPUT_DIR=lib MODULE_FORMAT=cjs node build/esm.js",
15
+ "build:dist:mjs": "node build/dist-mjs.js",
16
+ "build:browser": "cross-env OUTPUT_DIR=dist gulp compile && cross-env TARGET=dev OUTPUT_DIR=dist UINAME=element-plus gulp webpack && cross-env TARGET=prod OUTPUT_DIR=dist UINAME=element-plus gulp webpack && pnpm build:dist:mjs",
17
+ "gen:locale": "node build/locale.js",
10
18
  "gen:version": "node build/version.js",
11
- "build": "pnpm gen:version && cross-env TARGET=prod UINAME=element-plus gulp build",
19
+ "typecheck": "vue-tsc --noEmit -p tsconfig.json",
20
+ "build": "pnpm build:esm && pnpm build:cjs && gulp compile && pnpm build:browser",
12
21
  "all": "pnpm build && pnpm dev"
13
22
  },
14
23
  "keywords": [
@@ -25,7 +34,7 @@
25
34
  "bugs": {
26
35
  "url": "https://gitee.com/smallweigit/avue/issues"
27
36
  },
28
- "homepage": "https://gitee.com/smallweigit/avue/blob/master/README.md",
37
+ "homepage": "https://gitee.com/smallweigit/avue",
29
38
  "devDependencies": {
30
39
  "@babel/cli": "^7.12.1",
31
40
  "@babel/core": "^7.11.4",
@@ -34,11 +43,9 @@
34
43
  "@babel/runtime": "^7.26.0",
35
44
  "@vue/compiler-sfc": "^3.0.9",
36
45
  "@vue/component-compiler-utils": "^3.2.0",
37
- "axios": "^0.21.1",
38
46
  "babel-loader": "^8.2.2",
39
47
  "cross-env": "^3.1.3",
40
48
  "css-loader": "^5.2.0",
41
- "element-plus": "^2.10.1",
42
49
  "eslint": "4.14.0",
43
50
  "eslint-config-elemefe": "0.1.1",
44
51
  "eslint-loader": "^1.9.0",
@@ -51,25 +58,31 @@
51
58
  "gulp-sass": "^6.0.0",
52
59
  "progress-bar-webpack-plugin": "^1.11.0",
53
60
  "sass": "^1.52.1",
61
+ "ts-loader": "^8.4.0",
54
62
  "terser-webpack-plugin": "4",
55
- "vue": "^3.3.4",
63
+ "typescript": "^5.4.5",
64
+ "vue-tsc": "^2.2.10",
56
65
  "vue-loader": "^16.1.2",
57
66
  "webpack": "^4.27.0",
58
67
  "webpack-bundle-analyzer": "^3.0.3",
59
68
  "webpack-merge": "^4.1.4"
60
69
  },
61
70
  "peerDependencies": {
71
+ "@element-plus/icons-vue": ">=2.0.0",
62
72
  "element-plus": ">=2.2.0",
63
73
  "vue": ">=3.2.0"
64
74
  },
65
75
  "dependencies": {
66
- "@element-plus/icons-vue": "^2.0.6",
76
+ "axios": "^0.21.1",
67
77
  "countup.js": "^1.9.3",
68
78
  "dayjs": "^1.10.4",
69
79
  "lodash": "^4.17.21"
70
80
  },
71
81
  "files": [
82
+ "es",
72
83
  "lib",
84
+ "dist",
85
+ "types",
73
86
  "README.md",
74
87
  "LICENSE"
75
88
  ]
@@ -0,0 +1,141 @@
1
+ import type { App, Plugin } from "vue";
2
+
3
+ export interface AvueCanvasOptions {
4
+ text?: string;
5
+ fontFamily?: string;
6
+ color?: string;
7
+ fontSize?: number;
8
+ opacity?: number;
9
+ bottom?: number;
10
+ right?: number;
11
+ ratio?: number;
12
+ [key: string]: any;
13
+ }
14
+
15
+ export interface AvueQiniuOptions {
16
+ AK?: string;
17
+ SK?: string;
18
+ scope?: string;
19
+ url?: string;
20
+ bucket?: string;
21
+ deadline?: number;
22
+ [key: string]: any;
23
+ }
24
+
25
+ export interface AvueAliOptions {
26
+ region?: string;
27
+ endpoint?: string;
28
+ stsToken?: string;
29
+ accessKeyId?: string;
30
+ accessKeySecret?: string;
31
+ bucket?: string;
32
+ [key: string]: any;
33
+ }
34
+
35
+ export type AvueLocalePrimitive = string | number | boolean;
36
+
37
+ export interface AvueLocaleMessages {
38
+ [key: string]:
39
+ | AvueLocalePrimitive
40
+ | AvueLocaleMessages
41
+ | Array<AvueLocalePrimitive | AvueLocaleMessages>;
42
+ }
43
+
44
+ export interface AvueLocale {
45
+ register(code: string, locale: AvueLocaleMessages, aliases?: string[]): AvueLocaleMessages;
46
+ use(locale?: string | AvueLocaleMessages, override?: AvueLocaleMessages): AvueLocaleMessages;
47
+ t(path: string, options?: any): any;
48
+ i18n(handler?: any): any;
49
+ getLocale(code?: string): AvueLocaleMessages;
50
+ getLocaleCode(): string;
51
+ }
52
+
53
+ export interface AvueInstallOptions {
54
+ size?: string;
55
+ calcHeight?: number;
56
+ menuType?: string;
57
+ formOption?: Record<string, any>;
58
+ crudOption?: Record<string, any>;
59
+ appendToBody?: boolean;
60
+ canvas?: AvueCanvasOptions;
61
+ qiniu?: AvueQiniuOptions;
62
+ ali?: AvueAliOptions;
63
+ locale?: string | AvueLocaleMessages;
64
+ i18n?: any;
65
+ axios?: any;
66
+ [key: string]: any;
67
+ }
68
+
69
+ export interface AvuePlugin extends Plugin {
70
+ version: string;
71
+ locale: AvueLocale;
72
+ install(app: App, options?: AvueInstallOptions): void;
73
+ deepClone<T>(data: T): T;
74
+ dataURLtoFile(dataurl: string, filename: string): File;
75
+ isJson(value: any): boolean;
76
+ setPx(value: string | number, defaultValue?: string | number): string;
77
+ validData<T>(value: T, defaultValue: T): T;
78
+ findArray<T = any>(
79
+ list?: T[],
80
+ value?: any,
81
+ valueKey?: string,
82
+ index?: boolean
83
+ ): T | number | undefined;
84
+ findNode<T = Record<string, any>>(
85
+ list?: T[],
86
+ props?: Record<string, any>,
87
+ value?: any
88
+ ): T | undefined;
89
+ validatenull(value: any): boolean;
90
+ downFile(url: string | Blob, saveName?: string): void;
91
+ loadScript(type?: "js" | "css", url?: string, dom?: "head" | "body"): Promise<void>;
92
+ findObject<T = Record<string, any>>(list?: T[], value?: any, prop?: string): T | undefined;
93
+ randomId(): string;
94
+ [key: string]: any;
95
+ }
96
+
97
+ declare const Avue: AvuePlugin;
98
+
99
+ export const version: string;
100
+ export const locale: AvueLocale;
101
+ export function install(app: App, options?: AvueInstallOptions): void;
102
+ export default Avue;
103
+
104
+ declare module "@vue/runtime-core" {
105
+ interface ComponentCustomProperties {
106
+ $AVUE: Record<string, any>;
107
+ $DialogForm: any;
108
+ $ImagePreview: any;
109
+ $Export: any;
110
+ $Print: any;
111
+ $Clipboard: any;
112
+ $Watermark: any;
113
+ $Log: any;
114
+ $Screenshot: any;
115
+ $axios: any;
116
+ deepClone<T>(data: T): T;
117
+ dataURLtoFile(dataurl: string, filename: string): File;
118
+ isJson(value: any): boolean;
119
+ setPx(value: string | number, defaultValue?: string | number): string;
120
+ validData<T>(value: T, defaultValue: T): T;
121
+ findArray<T = any>(
122
+ list?: T[],
123
+ value?: any,
124
+ valueKey?: string,
125
+ index?: boolean
126
+ ): T | number | undefined;
127
+ findNode<T = Record<string, any>>(
128
+ list?: T[],
129
+ props?: Record<string, any>,
130
+ value?: any
131
+ ): T | undefined;
132
+ validatenull(value: any): boolean;
133
+ downFile(url: string | Blob, saveName?: string): void;
134
+ loadScript(type?: "js" | "css", url?: string, dom?: "head" | "body"): Promise<void>;
135
+ findObject<T = Record<string, any>>(list?: T[], value?: any, prop?: string): T | undefined;
136
+ randomId(): string;
137
+ $uploadFun: (column?: Record<string, any>, safe?: any) => Record<string, any>;
138
+ }
139
+ }
140
+
141
+ export {};
@@ -0,0 +1,4 @@
1
+ declare module "packages/*" {
2
+ const moduleValue: any;
3
+ export default moduleValue;
4
+ }
@@ -0,0 +1,6 @@
1
+ declare module "*.vue" {
2
+ import type { DefineComponent } from "vue";
3
+
4
+ const component: DefineComponent<Record<string, never>, Record<string, never>, any>;
5
+ export default component;
6
+ }